...
...
...
The purpose of the plugin is to allow to set up a specific configuration for a Wedia portal application, by overriding a basic configuration provided by the product.
The base of the configuration is a JSON file. Any element of this JSON can be overriden in a folder, through a tree of files and folders that correspond to the tree of the base JSON. Multiple folders can be added to redefine the configuration redefined by the previous folders.
Mappings
A configuration is thus defined by a series of files that will redefine the basic configuration successively, in order to obtain a final configuration, the fusion of the whole.
This series of folder constitutes a path designated by a unique identifier. A client application will retrieve its final configuration via this ID. Mappings define the correspondence between IDs and paths. The configuration of mappings is done in the plugin settings.
Adaptation to the context
...
a list of possible values, at least one, but preferably several (for a single value, you might as well use a static file).
a function to convert the invocation context into a value that must be one of the possible values
Plugin settings
Mappings
Mappings associate configuration identifiers with paths defining a configuration.
...
_portal
_portal@config
_portal@config@picker
The path _portal@$config@picker designates a configuration defined in 3 folders whose relative paths are successively :
...
as it is a folder name, there must not be any forbidden characters in the file names (slash (
/
), backslash(\
), column(:
), pipe (|
), chevrons (<
and>
), question mark (?
), double-quotes ("
)...)do not use arobase (
@
), this character being used as a name separator in configuration folder names, to avoid possible conflicts. Avoid also other separators, like dot (.
), whitespaces…generally avoid characters other than letters (without accent), numbers, underscore and dash (avoid dash if possible, this character can cause problems within URLs
the initial dollar character (
$
) is always considered as a cutting ordervalues should be considered case insensitive, but use lower case (as folders can be deployed by nar)
the blank values are always ignored (skip the processor value in the final path). For example, if a path is defined by
x@:processor@y
, and the corresponding postprocessor returns a blank string, the path will bex@y
.
Since 2023.2
A processor can return a value
composed of several paths (thus containing @, for example
x@y
)referring to another processor (for example the returned value is
x@:otherproc@y
beware however of an infinite recursion, there is no test. In general, limit the depth of recursion to limit computing time.in addition we can escape a character with the backslash
Set-up
You can configure a custom postprocessor via its declaration in the plugin configuration.
...