Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

Overview

The WXM_CONFIG_RESOLVER plugin toolkit provides a set of tools to analyze the configuration. It can be accessed via the plugin's URL page:

...

Main menu

The main menu looks like this:

...

Configuration debug

...

This page allows you to analyze the configuration for a mapping in order to know the reason for each property, possible errors, redefinitions, location of files, processors involved, etc.

...

  1. Select here the mapping;

  2. Click this button to launch the calculation of the configuration of the mapping selected in (1);

  3. Click this button to set up the configuration calculation and the information to be obtained;

  4. Click this button to paste the result of an invocation of API /config/explain (only results without node selection are supported at this time);

  5. Click this button to access a form with an edit field for pasting a result, possibly editing it, etc;

  6. The ℹ️ icon displays the detailed information for a property;

  7. The line number (from 0 to n-1) is displayed at the head of the line;

  8. Fold or unfold JSON objects or arrays with the »… / « icon

    • Click to fold or unfold the element

    • Ctrl+click to fold or unfold the element and all its children

    • Alt+click to fold or unfold the sibling elements

    • Shift-click shows the JSON in another window in raw mode

    • Ctrl+Shift+click copies the JSON to clipboard

  9. The configuration JSON appears here.

    • The areas marked in yellow are the redefined areas.

    • The path of the properties in error is in red

    • Deleted properties (with a delete extension file) are indicated in yellow by the following icon:

Configuration Layers

...

This page allows you to see the configuration by layer.

...

  1. Select here the mapping

  2. Select here the user (for processors)

  3. Select the type of view

    • View by layers

    • Simple view

  4. Check this checkbox to activate “auto refresh”
    If this checkbox is not checked, changing mapping or user selection will not reload data until you click on the refresh button (5)

  5. Click this button refresh configuration

  6. JSON view options

    • Raw JSON
      Display JSON indented and copiable as valid JSON

    • Foldable JSON
      Display JSON with the ability to fold or unfold objects, arrays or long strings

    • Colored JSON
      Check to enable syntax colorization

    • Show line numbers
      Check to activate the display of line numbers (from 1 to n)

  7. Container filters
    After loading the configuration, displays the list of configuration containers involved. This list allows you to select the containers you want to see (by default, they are all selected).

  8. Layer filters
    After loading the configuration, displays the list of configuration layerss involved. This list allows you to select the layers you want to see (by default, they are all selected).

  9. View
    The configuration is displayed here according to the type of view selected. A contextual menu on the view allows to copy the configuration to the clipboard

Simple view

In this mode, we see the final configuration corresponding to the containers and layers selected in the filters (7) and (8).

View by layers

In this mode, the layers are separated and we see the configuration produced by each of them.

...

  1. Check to display layers that do not physically exist (unfilterable)

  2. Check to see deleted or replaced properties (with delete extension files)

  3. Check to see the properties in error.

  4. Each layer is displayed separately with a title bar showing its name, location and counters for deleted, replaced or error properties

  5. Click this button to fold or unfold this layer

Files

...

This page shows the tree of files and folders involved in the configuration.

...

  1. Select the configuration container

  2. Reload selected container data

  3. Unfold all folders

  4. Fold all folders

  5. If you delete files, it is necessary to flush the cache to update it

  6. The view displays 6 columns, from left to right:

    1. The tree, with

      • folders (6)

      • empty folders (7)

      • files (8)

    2. The type

      • base

      • layer

      • file

      • directory

      • unknown:

    3. The plugin where the file is located (unless it is a client configuration file)

    4. The date and time of the file (lastModified)

    5. The size

    6. Information and possible actions

      • actions

        • “prohibited sign” for ignored

        • “exclamation” for error

        • “eye” for action to display the content of a file

        • “trash can” for action to delete

      • informations

        • for the bases, we see the mappings that use these bases

        • we see the name of the final JSON property

        • the JSON type, or the error, if any

    7. click to see the full physical path of the file

...

Cache manager

...

This page allows to see the cache entries, to check their validity and eventually to flush the cache.

...

  1. In this area, a general description of the state of the cache

    • ID
      A uniq ID of cache. Each time a cache is dropped, a new ID is generated

    • Type
      This information indicates which trigger generated this cache.

      • type I: it is a cache loaded at plugin startup from a previous runtime session;

      • type II: it is a cache generated when the plugin starts;

      • type III: it is a cache generated after a flush.

    • Status
      The status of the cache (If you see any of the conditions marked with an asterisk, please report it with a ticket providing environment description, engine/plugin version, and logs)

      • UP_TO_DATE means that the last cache generation request has been completed.

      • LOADING means that we have a type I cache being loaded

      • UPDATING means that we have a cache other than type I under construction

      • OBSOLETE means that we are accessing an old version of the cache which is being regenerated (we should not have this state displayed in this page*)

      • RENEW means that a type III cache generation is started (this state should not be displayed, it lasts for a very short time, and then normally go to state UPDATING*)

      • RESTART means that a type II cache generation is started (this state should not be displayed, it lasts for a very short time, and then normally go to state UPDATING*)

      • INITIALIZING means that a type I cache generation is started (this state should not be displayed, it lasts for a very short time, and then normally go to state LOADING*)

      • NO_CACHE means that the cache is not disabled, but that there is no instance*

      • UNKNOWN means that the state of the cache cannot be determined*

      • DISABLED means that the cache is disabled

    • stamp
      An integer incremented each time a new cache is generated. Can be considered as the number of caches generated since the start of the plugin.

    • date (init)
      The start date of the generation of this cache

    • time
      The time it took to generate this cache

    • entries
      The number of entries in this cache

    • last flush
      The date of the last flush request, and an icon indicating that this request succeed or failed*

  2. In this area, the action buttons

    • refresh: to refresh this page

    • flush cache: to flush the cache

    • reset cache: flush the cache only on this cluster node (same action as flush cache if we are on an environment without cluster except that "last flush" will not be updated)

  3. In this area, the list of current cache entries
    We have for each input the following data, from left to right:

    • index
      This index is just an incremental number. It is preceded by an icon indicating the validity of this entry. When this page is refreshed, the cache is recalculated and compared to its current state. If there is no difference, it means that this cache entry is up to date and a green dot (check) is displayed. If there is a difference, a red dot (exclamation) is displayed and that there has been a change in configuration and that the cache has not been flushed (no request, or failed request*)

    • mapping
      The name of the mapping

    • date
      The start date of the generation of this entry

    • paths
      The folder paths used as key for this entry

    • entry ID
      Entry ID

    • ETag
      Associated ETag. It is preceded by an icon indicating the validity of this ETag. When this page is refreshed, the ETag is recalculated and compared to its current value. If there is no difference, it means that this cache entry is the ETag is correct and a green dot (check) is displayed. If there is a difference, a red dot (exclamation) is displayed and the ETag is not correct*

Customer Configurations Manager

...

This page allows you to temporarily save the client configuration or to restore it.

...

  1. Click this button to refresh the list

  2. Click this button to save customer configuration files to a new version

  3. Click this button to import (upload) a version file from file system

  4. Click this button to export (dowload) a selected version to file system

  5. Click this button to restore customer configuration files from selected version file

  6. Click this button to delete selected version files

  7. Check this checkbox to select or unselect all version files

  8. Check the checkbox to select or unselect the corresponding version file

  9. Each line displays a saved version with the following columns

    1. a version selection checkbox

    2. a file name possibly preceded by a badge (9) indicating that the version file has been validated

    3. a save date

    4. the customer name (the "Company Name" property of the server on which the backup was made)

    5. the type of server environment on which the backup was made

      • DEV

      • STAGING

      • PROD

      • UNKNOWN

      • or NA

    6. the engine version of the server on which the backup was made

    7. a distinctive index for automatically named files

    8. the size of the file

    9. the date of the file (last modified)

    10. buttons (see 10,11,12,13)

  10. Click this button to export (download) this version file

  11. Click this button to restore customer configuration files from this version file

  12. Click this button to delete this version file

  13. Click this button to compare this version file

    1. to another selected single version

    2. to customer storage folder otherwise

Comparing

The comparison display window shows on the left the reference (the version for which you clicked the compare button) and on the right the version to compare. In the center, the differences are shown.

Plugin Configuration

...

This page allows you to see how the configuration of the WXM_RESOLVER plugin is determined:

...

  • Configuration loading logs

  • Contributions

  • Configuration extensions

  • Processors

  • Mappings

Configuration loading logs

This tab displays the logs of the loading of the WXM_CONFIG_RESOLVER plugin configuration. The logs for the last ten days are kept.

...

  1. Click this button to refresh list of logs

  2. Click this button to delete all logs except the one from the last startup

  3. The list displays for each log 3 columns

    • The name of the log file

    • The date of the log file

    • The size of the log file

  4. The log of the last startup is shown in bold

  5. Click this button to remove this log

  6. Click this button to view this log

Contributions

The contributions are all external configurations, which are not configured in the config_setting parameter of the WXM_CONFIG_RESOLVER plugin.

...

  1. Click this button to refresh data

  2. Filters allow you to show or hide contributions (see https://crossmedia.atlassian.net/wiki/spaces/~5570582eb3e7db09b041c4ab2aff710c3bbf47WD/pages/edit-v2/2597158925?draftShareId=8316a759-5887-433e-a888-4a2ad12d7df8#Behavior-of-toggle-filter-button-sets )

  3. The list displays the following columns for each contribution:

    • type of contribution

      • Base location

      • Configuration, i.e. configuration containers

      • Mapping

      • Processor

    • preceded by status icon

      • OK: the contribution is loaded

      • Ignored: the contribution is ignored (see column info to know why)

      • Warn: a non-blocking problem has been detected. Possibly an incorrect value replaced by a default value.

      • Error: an error has occured and the contribution is ignored

      • Initialized: the contribution was loaded without error, but an error occurred during processing and the contributed components are not activated

    • Path: the relative path of the contribution definition file

    • Plugin: the contribution plugin

    • Overriden: if true, the configuration of the contribution component is overridden by the configuration of the WXM_CONFIG_RESOLVER plugin (in config_settings)

    • Time (loading): The date and time the contribution was loaded

    • Time (file): the date (last modified) of the contribution definition file

    • Size (file): the size of the contribution file

    • Info: additional information

      • when the status is OK, the number of associated entries in the configuration loading log and the number of entities involved

      • in case of error or alert, contextual information

    • Buttons:

      • Click on the view button to see the details

      • Other buttons may be present depending on the context

Configuration extensions

This tab displays all extensions that contribute configuration containers.

...

  1. Click this button to refresh data

  2. By default, only activated containers are visible. Use this button to display the deactivated containers

  3. Filters allow you to show or hide containers (see https://crossmedia.atlassian.net/wiki/spaces/~5570582eb3e7db09b041c4ab2aff710c3bbf47WD/pages/edit-v2/2597158925?draftShareId=8316a759-5887-433e-a888-4a2ad12d7df8#Behavior-of-toggle-filter-button-sets )

  4. The list displays the following columns for each container:

    • Activated or deactivated

    • The identifier of the configuration container, preceded by the icon of the status

      • OK

      • Warn

      • Error

    • The plugin

    • Order (if any configured)

    • Location: the path of the configuration folder, followed by a pink astetisk if it is the default path (not configured explicitly)

    • Source: where the configuration of this container comes from

      • Configuration: means parameter config_settings of the plugin WXM_CONFIG_RESOLVER

      • Contribution

    • Info: additional information

    • Buttons:

      • Click on the view button to see the details

      • Other buttons may be present depending on the context

Processors

This tab displays all processors

...

  1. Click this button to refresh data

  2. Filters allow you to show or hide containers (see https://crossmedia.atlassian.net/wiki/spaces/~5570582eb3e7db09b041c4ab2aff710c3bbf47WD/pages/edit-v2/2597158925?draftShareId=8316a759-5887-433e-a888-4a2ad12d7df8#Behavior-of-toggle-filter-button-sets )

  3. The list displays the following columns for each processor:

    • The name of the processor

    • Source: where the configuration of this container comes from

      • Configuration: means parameter config_settings of the plugin WXM_CONFIG_RESOLVER

      • Contribution

    • Type

      • java

      • groovy

    • Plugin

    • The definition

      • could be a classname

      • a path (to a groovy file)

    • Info: additional information

    • Buttons:

      • Click on the view button to see the details

      • Other buttons may be present depending on the context

Mappings

This tab displays all mappings

...

  1. Click this button to refresh data

  2. The list displays the following columns for each mapping:

    • Name of mapping

    • Source: where the configuration of this container comes from

      • Configuration: means parameter config_settings of the plugin WXM_CONFIG_RESOLVER

      • Contribution

    • Path: the path of the mapping

    • Plugin

    • Info: additional information

Behavior of toggle filter button sets

The filter buttons are two-state buttons:

...

  • When you click on a button, all the others are deactivated and you only see the elements that have the value corresponding to the filter

  • Control and click toggles the clicked button

  • Alt, shift and click resets all buttons to enabled: all elements are visible

Administration services

...

List of API end point accessible with a "tomcat" authentication, with their rights and a direct access to their API documentation

...

  1. Methode: the HTTP method

  2. Path: the URI path

  3. Click this icon to see ReDoc API documentation of the end point

  4. Service name: the service name

  5. Action: the action name

  6. Operation ID: the OAS operation ID

  7. Authorized role(s): the list of roles allowed to invoke this end point

API Documentation

...

Access to API documentation (ReDoc)

Services

...

List of API end point accessible with a "user" authentication, with their rights and a direct access to their API documentation

...

  1. Methode: the HTTP method

  2. Path: the URI path

  3. Click this icon to see ReDoc API documentation of the end point

  4. Service name: the service name

  5. Action: the action name

  6. Operation ID: the OAS operation ID

  7. The command ID for the command API

  8. Type of rights: the name of the security rule of the domain ConfigResolver tested when this end point is invoked

Debug Tookit

...

Tools to support the development of the plugin and the testing of these developments