Uploaded image for project: 'Sling'
  1. Sling
  2. SLING-7768

Add String Interpolation support to /etc/map

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • Resource Resolver 1.7.0
    • ResourceResolver
    • None
    • Sling 11-SNAPSHOT, JDK 1.8

    Description

      Having worked on migrations of a Sling derivate Ruben & I ran into issues where the /etc/map would map to production instead of testing environment.
      Many big customer have extensive /etc/maps and also many different environments like dev, qa, staging, prod etc.
      It would be great to have a tool where for example items like the host name or external links in /etc/map could be configured outside so that just one entry has to adjusted rather than creating a full copy of the /etc/map tree.
       
      Example:
       
      /etc/map/http/{{phv.fq.host.name}}.8080
       
      Placeholder provides:
      DEV: phv.fq.host.name=localhost
      QA: phv.fq.host.name=qa.author.acme.com
      STAGING: phv.fq.host.name=staging.author.acme.com
      PROD: phv.fq.host.name=acme.com
       
      At runtime these are the resolved values:
      DEV: http/localhost.8080
      QA: http/qa.author.acme.com.8080
      STAGING: http/staging.author.acme.com.8080
      PROD: http/acme.com.8080
       
      Not only does that make it easier and faster to create new test environments but it also cuts down on the chance of copy-n-paste errors.
       
      I have a working POC with an PlaceholderProvider OSGi service and an enhanced MapEntries that resolved any placeholders if found.
       
      Attached are 3 screenshots:
      1. OSGi Placeholder Provider Configuration
      2. /etc/map (Composum)
      3. Result of http://andreass.local:8080/ call

      Attachments

        1. Screenshot 2018-07-06 11.41.58.png
          133 kB
          Andreas Schaefer
        2. Screenshot 2018-07-06 11.42.41.png
          138 kB
          Andreas Schaefer
        3. Screenshot 2018-07-06 11.43.34.png
          176 kB
          Andreas Schaefer

        Issue Links

          Activity

            People

              andysch Andreas Schaefer
              andysch Andreas Schaefer
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: