Documentation/ContentSharing
< Documentation
Revision as of 21:28, 15 March 2012 by AnneGentle (talk)
OpenStack Content Sharing
Requirements
- Non-proprietary OpenStack content resides in OpenStack repository.
- Ability to substitute variables for product name, endpoints, and so on.
- Source remains consumable by OpenStack and non-OpenStack consumers.
- Proprietary content resides in non-OpenStack repositories. Consumable by non-OpenStack consumers.
- When consumers create content, they include both OpenStack and proprietary source files in their master book files, as needed. Source files can reside in different repositories.
- When consumers generate output, they enter values for substitution variables. Ex: productname="Rackspace Cloud Servers"
Risks
- OpenStack source updates break non-OpenStack books that include that content.
- OpenStack contributors find the added abstraction layer (substitution variables) annoying to work with.
Implementation
- Proof of concept: Verify possibility of cross-repository communication. Work out how to implement substitution variables.
- Determine which substitution variables are required. Product name? Endpoints? Version number?
- Update OpenStack source with substitution variables and publish these for public consumption.
- Update non-OpenStack book files to include OpenStack source.
- Content developers subscribe to OpenStack source file changes to ensure any updates do not break their content.
Phases include:
- Variable substitution
- Conditional inclusions/exclusions of sections or chapters with branding changes in a single repo
- Cross-repo inclusions/exclusions
- Public/private inclusions/exclusions where one repo is source repo (this is not necessarily ideal for OpenStack content sharing)