diff --git a/technology.md b/technology.md index 4f7fe27..e690105 100644 --- a/technology.md +++ b/technology.md @@ -17,10 +17,25 @@ The following sub-pages describe the various technology related aspect of the co * [Existing Approaches](existing) : Descriptions of existing approaches among project partners. * [Inspiration](inspiration) from other projects -## Technical Goals -* TOC -{:toc} + + +- [Technical Goals](#technical-goals) + - [CMS Parity](#cms-parity) + - [Flexible structure](#flexible-structure) + - [Interoperable and extensible](#interoperable-and-extensible) + - [Streamlined and extensible](#streamlined-and-extensible) +- [Components / Stack](#components--stack) + - [Source](#source) + - [Author](#author) + - [Generate](#generate) + - [Collaborate](#collaborate) + - [Integrate](#integrate) + - [Publish](#publish) + + + +## Technical Goals ### CMS Parity @@ -42,15 +57,61 @@ Have clear, integrated and open source solutions to deal with comments, visit st Composed of many different software parts, the workflow is nonetheless streamlined and integrated. When deployed with default settings, it can be used immediately. Authors, editors, translators as well as software and systems engineer can understand how the pieces fit together. -## Previous Architecture +## Components / Stack + +This table aims to represent which components affect which stages of the content as code framework. + - Key : means that this component is a key component for this stage. + - Change : means that this component modifies or applies to this stage. + - + component : means that this component works better with the specified component. + - = component : means that this component only works with the specified component. + - - component : means that this component doesn't work with the specified component. + +| Component \ Stack | Source | Author | Integrate | Collaborate | Generate | Translate | Publish | +|-------------------|----------|--------|-------------|-------------|----------|-----------|------------| +| github | Key | | + travis | | | | + gh-pages | +| gitlab | Key | | + gitlab-ci | | | | | +|-------------------|----------|--------|-------------|-------------|----------|-----------|------------| +| prose | + github | Key | | | + jekyll | | | +|-------------------|----------|--------|-------------|-------------|----------|-----------|------------| +| travis | | | Key | | | | | +| gitlab-ci | - github | | Key | | | | | +|-------------------|----------|--------|-------------|-------------|----------|-----------|------------| +| validate | | | Change | | | | | +| validate links | | | Change | | | | | +| validate style | | | Change | | | | | +|-------------------|----------|--------|-------------|-------------|----------|-----------|------------| +| jekyll | | | | | Key | | | +| metalsmith | | | | | Key | | | +|-------------------|----------|--------|-------------|-------------|----------|-----------|------------| +| transifex | | | | | | Key | | +|-------------------|----------|--------|-------------|-------------|----------|-----------|------------| +| gh-pages | + github | | | | | | Key | +|-------------------|----------|--------|-------------|-------------|----------|-----------|------------| + +### Source + +Source repositories which contain the sources for the current project. + +Note: These are not upstream dependencies which will be managed with metadata inside and alongside the source files. + + +### Author + +This is where the content is edited, manipulated and so on. Different authoring environment will have different capabilities (for instance for validation without a server round-trip or workflow aspects...). + +### Generate + +The static site generator used. + +### Collaborate -In the below diagram the following approach is proposed: +Collaborating on the planning, authoring, editing, reviewing, commenting of content. - - Content Partners : Adhere to content guidelines in order to facilitate interoperability at the editorial level (adaptation of content to various audience - profile, region... - and learning situations - training, self-paced, mobile,...). - - Curation Layer: A content catalogue helps to understand and coordinate where content is available and where it is missing. It will also aim at collecting feedback metrics from publication partners (aggregated and anonymized). - - Curation Tools: Will help draw from the Content Ecosystem to generate content ready for publication (for Open Mentoring this would generate StoryPath compatible Content Packs, alongside Markdown files ready for publication on the wen and generation as a printed guide / for others it might mean importing content into a CMS) - - Publication Layer: Will consist of the layer which presents and makes the content accessible to the Learning End User. +### Integrate -![](architecture.png) +These are the tools used to prepare and validate content and give feedback to authors and editors, including presenting staging or testing environments/artifacts of various versions that are being worked on. +Note: Maybe this should be included in the publish component. +### Publish +These are the various channels where published versions will be available from. diff --git a/technology/implementation.md b/technology/implementation.md index 67b8e53..e646623 100644 --- a/technology/implementation.md +++ b/technology/implementation.md @@ -67,7 +67,7 @@ This table aims to represent which components affect which stages of the content | transifex | | | | | Key | | | gh-pages | +1 github | | | | | Key | -| Components \ Worfklow | Store | Edit | Share | Check | Translate | Publish | -|-----------------------|-------|------|-------|-------|-----------|---------| +| Components \ Stages | Store | Edit | Share | Check | Translate | Publish | +|---------------------|-------|------|-------|-------|-----------|---------| diff --git a/technology/taxonomies.md b/technology/taxonomies.md new file mode 100644 index 0000000..f685b4c --- /dev/null +++ b/technology/taxonomies.md @@ -0,0 +1,58 @@ +# Taxonomies + +There are a number of categorisations and naming going on so here they are grouped. + + + +- [Stages](#stages) +- [Stacks / Systems](#stacks--systems) +- [Components](#components) +- [Collaboration](#collaboration) + + + +## Stages + +These are moments in the content management workflow or life cycle, from the point of view of the authors and other content stakeholders. + + - Store + - Edit + - Share + - Check + - Translate + - Publish + +## Stacks / Systems + +These are groups of software tools, formats, protocols and norms that underly content management work. + + - Source + - Author + - Integrate + - Collaborate + - Generate + - Translate + - Publish + +## Components + +Are actual software tools, formats, protocols that can be added/supported by particular implementations of content as code. Such as Github. Gitlab, Prose, Markdown, Jekyll, Metalsmith... Each component might server a purpose for a stage (or several) and is generally within a particular stack. A choice of component in one particular area of a stack might enable or limit choices elsewhere in the stack. + +## Collaboration + +This is very much [under heavy thinking](/technology/workflow). + +Progress Tags (waffle/kanban) + +Category (WBS) Tags + - `Meta` + - `Design` + - `API` + - `Documentation` + - `Features` + +Milestones +- + +Pull requests + -