Skip to content

Commit

Permalink
Add content workflow steps and how components fit. #1 #15
Browse files Browse the repository at this point in the history
  • Loading branch information
jmatsushita committed Apr 18, 2016
1 parent 38dd52f commit da4f748
Show file tree
Hide file tree
Showing 3 changed files with 131 additions and 12 deletions.
81 changes: 71 additions & 10 deletions technology.md
Original file line number Diff line number Diff line change
Expand Up @@ -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}
<!-- MarkdownTOC -->

- [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)

<!-- /MarkdownTOC -->

## Technical Goals

### CMS Parity

Expand All @@ -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.
4 changes: 2 additions & 2 deletions technology/implementation.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
|---------------------|-------|------|-------|-------|-----------|---------|


58 changes: 58 additions & 0 deletions technology/taxonomies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Taxonomies

There are a number of categorisations and naming going on so here they are grouped.

<!-- MarkdownTOC -->

- [Stages](#stages)
- [Stacks / Systems](#stacks--systems)
- [Components](#components)
- [Collaboration](#collaboration)

<!-- /MarkdownTOC -->

## 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
-

0 comments on commit da4f748

Please sign in to comment.