Architect the content classifier component
The content classifier is responsible for reorganizing the vinyl catalog gathered by the content aggregator into streams for processing. A stream is defined as a collection of vinyl files that will be processed in the same way, or which can be used to locate a file on demand.
It's not necessary that every file is in exactly one stream. A file could be in multiple streams if that makes sense for processing. Generally, though, a file has a primary stream that will take it through the necessary processing. For example, AsciiDoc files in the content folder get converted to pages, so we need some sort of pages stream.
Here's a draft of streams we think we need, per component version:
- pages
- component navigation descriptors
- should be based on entries/patterns in docs-component.yml; don't make an assumption about the file name or location
- fragments (which, for now, includes samples)
- images
- attachments
Here are the global streams:
- aspect navigation descriptors
- should be based on entries/patterns in docs-component.yml; don't make an assumption about the file name or location
- UI files*
* right now we are not dealing with the UI. We just want to think about where it would go once we get to it.
Acceptance criteria:
-
Define behavior of content classifier component -
Define API methods, inputs, and outputs -
Decide the name of the package -
Define the state, if any, the component maintains