anchor.diff:        replicas: "${{REPLICA_COUNT}}" <2>
   parameters:
     - name: SOURCE_REPOSITORY_URL <3>
  -    description: The URL of the repository with your application source code <4>
  -    value: https://github.com/openshift/cakephp-ex.git <5>
  -    required: true <6>
  +    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 <7>
  -    from: "[a-zA-Z0-9]{40}" <8>
  +    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} ..." <9>
  +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 displayed to users and used to
  +<3> The name of the parameter. This value is used to
   reference the parameter within the template.
  -<4> A description of the parameter.
  -<5> A default value for the parameter which will be used if the user does not
  -override the value when instantiating the template.
  -<6> Indicates this parameter is required, meaning the user cannot override it
  +<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.
  -<7> A parameter which has its value generated.
  -<8> The input to the generator. In this case, the generator will produce a 40
  +<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.
  -<9> Parameters can be included in the template message. This informs the
  +<10> Parameters can be included in the template message. This informs the
   user about generated values.
   ====
   
  
positive.code:   name: "cakephp-mysql-example" <1>
    annotations:
      openshift.io/display-name: "CakePHP MySQL Example" <2>
      description: "An example CakePHP application with a MySQL database" <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.
  <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.
  ====
  
  [[writing-labels]]
  
negative.code: namespace.
  ====
  
  [[other-recommendations]]
  === Other Recommendations
  
  * Group related services together in the management console by adding the `service.alpha.openshift.io/dependencies` annotation
  to the Service object in your template.
  +
  .Group the frontend and database services together on the management console overview
  ====
  [source,yaml]
  ----
  kind: "Template"
  apiVersion: "v1"
  objects:
    - kind: "Service"
      apiVersion: "v1"
      metadata:
        name: "frontend"
        annotations:
          "service.alpha.openshift.io/dependencies": "[{\"name\": \"database\", \"kind\": \"Service\"}]"
  ...
    - kind: "Service"
      apiVersion: "v1"
      metadata:
        name: "database"
  ----
  ====
  * Set xref:compute_resources.html#dev-compute-resources[memory, CPU], and xref:../architecture/additional_concepts/storage.html#pvc-resources[storage] default sizes to make sure your application is given enough resources to run smoothly.
  
  * Avoid referencing the `latest` tag from images if that tag is used across major versions. This may cause
  running applications to break when new images are pushed to that tag.
  
  * A good template should build and deploy cleanly without requiring modifications after the template is deployed.
  
  
  [[export-as-template]]
  
  === Creating a Template from Existing Objects
  