anchor.diff:    name: "cakephp-mysql-example" <1>
     annotations:
       openshift.io/display-name: "CakePHP MySQL Example" <2>
  -    description: "An example CakePHP application with a MySQL database" <3>
  +    description: "An example CakePHP application with a MySQL database.\n\nFor more information see https://github.com/openshift/cakephp-ex" <3>
       tags: "instant-app,php,cakephp,mysql" <4>
       iconClass: "icon-php" <5>
   message: "Your admin credentials are ${ADMIN_USERNAME}:${ADMIN_PASSWORD}" <6>
   ----
  -<1> The name of the template as it will appear to users.
  -<2> A user-friendly name, which can be employed by user interfaces.
  -<3> A description of the template.
  -<4> Tags to be associated with the template for searching and grouping.
  -<5> An icon to be displayed with your template in the web console.
  +<1> The unique name of the template.
  +<2> A user-friendly name, which can be employed by user interfaces. This should be short.
  +<3> A description of the template. Include enough detail that the user will understand what
  +is being deployed and any caveats they need to know before deploying. It should also provide links
  +to additional information such as a README. Newline characters `\n` can be included to create paragraphs.
  +<4> Tags to be associated with the template for searching and grouping. Add tags that will include it into one
  +of the out of the box catalog categories.  Refer to the `id` and `categoryAliases` in `CATALOG_CATEGORIES` in the console's
  +https://github.com/openshift/origin-web-console/blob/master/app/scripts/constants.js[constants file]. The categories can also be
  +xref:../install_config/web_console_customization.html#configuring-catalog-categories[customized] for the whole cluster.
  +<5> An icon to be displayed with your template in the web console. Pick from our existing
  +https://rawgit.com/openshift/origin-web-console/master/app/styles/fonts/openshift-logos-icon/demo.html[logo icons]
  +when possible. Icons from http://fontawesome.io/icons/[FontAwesome] and https://www.patternfly.org/styles/icons/[Patternfly]
  +can also be used. Alternatively provide icons through xref:../install_config/web_console_customization.html#loading-custom-scripts-and-stylesheets[CSS customizations]
  +that can be added to an OpenShift cluster that uses your template. You must specify an iconClass that exists
  +or it will prevent falling back to the generic icon.
   <6> An instructional message that is displayed when this template is instantiated.
   This field should inform the user how to use the newly created resources.
   Parameter substitution is performed on the message before being displayed so
  -that generated credentials and other parameters can be included in the output.
  +that generated credentials and other parameters can be included in the output. Include links to any
  +next steps documentation that users should follow.
   ====
   
   [[writing-labels]]
  
positive.code: namespace.
  ====
  
  [[export-as-template]]
  
  === Creating a Template from Existing Objects
  
negative.code:       replicas: "${{REPLICA_COUNT}}" <2>
  parameters:
    - name: SOURCE_REPOSITORY_URL <3>
      displayName: Source Repository URL <4>
      description: The URL of the repository with your application source code <5>
      value: https://github.com/openshift/cakephp-ex.git <6>
      required: true <7>
    - name: GITHUB_WEBHOOK_SECRET
      description: A secret string used to configure the GitHub webhook
      generate: expression <8>
      from: "[a-zA-Z0-9]{40}" <9>
    - name: REPLICA_COUNT
      description: Number of replicas to run
      value: "2"
      required: true
  message: "... The GitHub webhook secret is ${GITHUB_WEBHOOK_SECRET} ..." <10>
  ----
  <1> This value will be replaced with the value of the `*SOURCE_REPOSITORY_URL*`
  parameter when the template is instantiated.
  <2> This value will be replaced with the unquoted value of the `*REPLICA_COUNT*`
  parameter when the template is instantiated.
  <3> The name of the parameter. This value is used to
  reference the parameter within the template.
  <4> The user-friendly name for the parameter. This will be displayed to users.
  <5> A description of the parameter. Provide more detailed information for the purpose
  of the parameter, including any constraints on the expected value. Descriptions should
  use complete sentences to follow the console's https://www.patternfly.org/styles/terminology-and-wording/[text standards].
  Don't make this a duplicate of the display name.
  <6> A default value for the parameter which will be used if the user does not
  override the value when instantiating the template. Avoid using default values for things like passwords, instead
  use generated parameters in combination with Secrets.
  <7> Indicates this parameter is required, meaning the user cannot override it
  with an empty value. If the parameter does not provide a default or generated
  value, the user must supply a value.
  <8> A parameter which has its value generated.
  <9> The input to the generator. In this case, the generator will produce a 40
  character alphanumeric value including upper and lowercase characters.
  <10> Parameters can be included in the template message. This informs the
  user about generated values.
  ====
  
  