Admin: Pre- and post-processing plugins
The Plugins section is used to record details of the pre- and post-processing plugins configured at the current RPI installation.
Pre-processing plugins can be used to manipulate visitor profiles prior to a call being made for a Realtime decision content.
A pre-processing plugin is defined as per the following example:
{
"Name": "PreProcessing",
"Factory": {
"Assembly": "Redpoint.Resonance.Web.Shared",
"Type": "Redpoint.Resonance.Web.Shared.Plugins.PreDecisionExampleFactory"
},
"Type": {
"Name": "Predecision",
"ApiContentFilterOperator": "Include",
"ApiContextFilters": [
"PrePluginTest"
]
},
"Settings": [
{
"Key": "Param",
"Value": "Foo"
}
]
}
The value passed in an API call's apiContext property is used to determine whether a pre-processing plugin is to be applied. You can specify multiple comma-delimited values in a list. apiContentFilterOperator is used to Include or Exclude whether a pre-processing plugin is to be invoked.
For example, if a value passed in apiContext when an API call is made matches a value in the web config setting ‘apiContextFilter’, and apiContentFilterOperator is set to Include, pre-processing plugin functionality will be called. The functionality would not be called if apiContentFilterOperator was set to Exclude.
Post-processing plugins are defined as per the following example:
{
"Name": "PostProcessingExample",
"Factory": {
"Assembly": "Redpoint.Resonance.Web.Shared",
"Type": "Redpoint.Resonance.Web.Shared.Plugins.PostDecisionExampleFactory"
},
"Settings": [
{
"Key": "Prefix",
"Value": "pre "
},
{
"Key": "Suffix",
"Value": "post"
}
]
}
For more information, please see the RealtimeContentPlugins configuration setting in the RPI Reference guide.
RPI will look for plugin files in a location defined by the following application setting:
RealtimeAPIConfiguration__AppSettings__PluginAssemblyPath
The setting defaults to "/app/plugins".