Jump to: navigation, search

Difference between revisions of "Documentation/ContentSharing"

(Separated out requirements more detailed, put exclamation marks on CamelCase words like OpenStack so they don't appear as links)
Line 4: Line 4:
 
== Requirements ==
 
== Requirements ==
  
* Non-proprietary [[OpenStack]] content resides in [[OpenStack]] repository. Includes substitution variables for product name, endpoints, and so on. Consumable by [[OpenStack]] and non-[[OpenStack]] consumers.
+
* 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.
 
* 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 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"
 
* When consumers generate output, they enter values for substitution variables. Ex: productname="Rackspace Cloud Servers"
  
 
== Risks ==
 
== Risks ==
  
* [[OpenStack]] source updates break non-[[OpenStack]] books that include that content.
+
* OpenStack source updates break non-[[OpenStack]] books that include that content.
*  
+
* OpenStack consumers find the added abstraction layer (substitution variables) annoying to work with.
  
 
== Implementation ==
 
== Implementation ==
Line 18: Line 20:
 
* Proof of concept: Verify possibility of cross-repository communication. Work out how to implement substitution variables.  
 
* 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?
 
* Determine which substitution variables are required. Product name? Endpoints? Version number?
* Update [[OpenStack]] source with substitution variables and publish these for public consumption.
+
* Update OpenStack source with substitution variables and publish these for public consumption.
* Update non-[[OpenStack]] book files to include [[OpenStack]] source.
+
* 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.
+
* Content developers subscribe to OpenStack source file changes to ensure any updates do not break their content.

Revision as of 21:05, 15 March 2012

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 consumers 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.