Uploaded image for project: 'Identity Gateway'
  1. Identity Gateway
  2. OPENIG-369

Inline global decorations with top-level config/route config parameters.

    XMLWordPrintable

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.1.0
    • 3.1.0
    • Core
    • None
    • 3.1 - final dev sprint

    Description

      IMO the configuration model for global decorations and per-component decorations is inconsistent.

      Reference: http://openig.forgerock.org/doc/reference/index.html#decorators-conf

      Global (route) decorations are configured using a separate decorations field and are a little isolated from the rest of the route's core config (handler, baseURI, etc):

      {
          "heap": {
              "objects": array,
              "decorations": {
                  "decorator name": "capture point(s)",
                  ...
              }
          },
          "handler": "handler",
          "baseURI": "uri",
          ...
      }
      

      Component decorations are inlined with the component's core config (name, type, etc):

      {
          "name": string,
          "type": string,
          "config": object,
          "decorator name": "capture point(s)",
          ...
      }
      

      The nesting level for global decorations is somewhat surprising to a user as well (I noted that even the developer - Guillaume - got it wrong during the demo ). It would be more intuitive and consistent if the decorations were modeled in the same way as component decorations, i.e. inlined with the route's core config as follows:

      {
          "heap": {
              "objects": array
          },
          "handler": "handler",
          "baseURI": "uri",
          "decorator name": "capture point(s)",
          ...
      }
      

      On the same subject, for a user the nested "objects" field is also surprising. Is it necessary? I don't think so - it's only there for implementation reasons. A cleaner model would therefore be:

      {
          "heap": array,
          "handler": "handler",
          "baseURI": "uri",
          "decorator name": "capture point(s)",
          ...
      }
      

      Attachments

        Issue Links

          Activity

            People

              matthew Matthew Swift
              matthew Matthew Swift
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: