-
Notifications
You must be signed in to change notification settings - Fork 13
Content Ecosystem (Technical)
Jun Matsushita edited this page Dec 3, 2015
·
1 revision
Open Mentoring will exist as a learning content delivery system within a broader ecosystem of content which includes:
- Security in a Box (Tactical Tech)
- Umbrella (Security First)
- Story Maker (FPU, Scalio, Guardian Project)
- SSD (EFF)
- Digital First Aid Kit (DDP)
- Level Up (Internews)
- Panic Button (iilab)
- TOTEM (Greenhost)
See Contextual Security Concept for more about interoperability and practical reuse of content in our sector.
- SIAB uses Drupal and aims to publish or manage content as markdown files. Possibly evolving towards a static Markdown files, possibly evolving to provide a Content API. https://github.com/securityinabox/siabguide
- Umbrella is a native Android app, the content is generated from csv files into an asset database (probably sqlite) in the APK. https://github.com/securityfirst/Umbrella_android
- Story Maker is an Android app using the StoryPath (formerly liger) library to load content packs stored as YAML files. There is a transifex workflow but I'm not sure about how the content is authored. https://github.com/StoryMaker/content-packs https://github.com/StoryMaker/storypath
- EFF uses Drupal. The repo doesn't seem to have the content of the guide. https://github.com/EFForg/ssd
- Panic Button is a native Android app using a custom made JSON file parser to generate its interface (similar but less mature concept than StoryPath). Content is authored in Prose as Markdown and Jekyll generates the JSON files. There's an ongoing effort to interop with Transifex.
- Digital First Aid Kit's source is a git repository of markdown files. Not sure about how the website and printed versions are generated. https://github.com/RaReNet/DFAK
- Level Up uses Drupal. No source code or content I could find.
Content Format | Content Authoring | Content Publication | Content Delivery | |
---|---|---|---|---|
SIAB | Wyswiwyg | Drupal | Drupal | Drupal Web |
Umbrella | Markdown | Manual | SQL -> SQlite DB | Native Android |
Story Maker | YAML | Git / tx | YAML -> Zipped JSON (Python) | Native Android (StoryPath/Liger) |
SSD | ? | Drupal | Drupal | Drupal Web |
Panic Button | Markdown | Prose / tx | md -> JSON (Jekyll) | Native Android (custom) |
Interop Maturity | Rationale | |
---|---|---|
SIAB | ++ | Markdown in Git / Close to Content API |
Umbrella | - | CSV / Not Git |
Story Maker | +++ | Spec and Library |
SSD | - | No content source ? |
Panic Button | + | Markdown in Git |
Digital First Aid Kit | + | Markdown in Git |
Level Up | -- | No content source / No repo |
Export from SIAB:
- Ideally access Drupal Nodes through a granular API (at the level of sections, community snippets), keep track of upstream last modified date and translation dependencies to flag downstream update needs and generate/transform into static source for content packs.
Import in SIAB:
- Drupal Remote Entity or Web Service Data module consuming a statically generated
Integration Path
- Possible to reuse Open Mentoring/StoryPath approach to generate content packs from SIAB to create a SIAB Mobile App.
Export from Umbrella:
- Directly by transforming source csv files
Import in Umbrella:
- Exporting Open Mentoring Content Packs as Umbrella compatible CSV
Integration Path
- Umbrella could reuse a Content Pack approach and propose to StoryPath to integrate Checklist in the spec
Export/Import from Story Maker
- Compatibility with OBB Content Pack binaries should mean that they can just be an additional source to download from.
Integration Path
- Working with StoryPath to upstream different approaches to content management and developing NativeScript/Cordova plugins might pay off.
To be discussed but if the Panic Button help section was rewritten to allow loading StoryPath content packs that would probably be a good thing.
Interop with practical tests is a strong lead.
In the below diagram the following approach is proposed:
- 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.
- Git managed static content approach
- Transifex workflow
- Known interop path with all content ecosystem
Format
- Markdown with YAML Frontmatter in smaller chunks than StoryMaker Content Packs (to allow markdown bodies in cards)
Authoring
- Prose
Publication
- Maybe Liger content pack interop?
Delivery
- Native Android with StoryPath/Liger and different git static content publication scripts.
- NativeScript App with StoryPath/Liger
- NativeScript App with StoryPath/Liger compatible approach
- Corbova App with StoryPath/Liger
- Corbova App with StoryPath/Liger compatible approach
See Technical Research Wiki Page for more about platform choice.