This PR changes the way that we select which is the most important body text OctopusArticle in an OctopusBundle, and consequently which body text becomes part of the Thrift StoryBundle that is passed to Composer and/or Workflow. The rules we ought to follow (as outlined on the Trello card by @blishen and @hoyla):
This is how we pick which one we care about.
We identify "source" components as having a component type of Body Text, Panel Text, or Tabular Text
Discarding any information that might appear in square brackets afterwards. We take the list of "text" elements.
If some are print and some are web/both, discard the print ones
If we still have more than one and the types are mixed discard all tabular components
If we still have more than one and the types are mixed discard all panel components
If we still have more than one, pick the one with the lowest number.
The key changes to the ArticleFinder implementation are that:
1) we no longer discard articles that are marked for_publication in print
2) we establish that Panel Text is preferrable to Tabular Text
How can we measure success?
We should select the most appropriate body text article in any given situation.
What does this change?
This PR changes the way that we select which is the most important body text
OctopusArticle
in anOctopusBundle
, and consequently which body text becomes part of the ThriftStoryBundle
that is passed to Composer and/or Workflow. The rules we ought to follow (as outlined on the Trello card by @blishen and @hoyla):The key changes to the
ArticleFinder
implementation are that: 1) we no longer discard articles that are markedfor_publication
in print 2) we establish that Panel Text is preferrable to Tabular TextHow can we measure success?
We should select the most appropriate body text article in any given situation.