Versions Compared

Key

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

 

DigiMonitor: ItemWatcher

ItemWatcher logic has been rewritten for these purposes:

1) To provide unittestable code and in turn make sure functionality is tested thoroughly before release.

2) To provide better logging.

3) To fix specific issues with integer parsing which resulted in events not being handled and not correctly marked as failed either.

Nothing has changed regarding the configuration of ItemWatchers except an old bug which reversed 'greater than' and 'less than' when comparing values has finally been fixed.

In a users perspective the one and only major change from before to now is all ItemWatcher configurations are validated when starting up - even if they are not active. Any invalid configuration will result in an exception written to the digimonitor log in order to catch this at the earliest possible time.

Search2 security type ItemSecurityReadAccessOnlyPublic implemented for Solr

Not only that: it is now also the recommended security type to use with any Solr enabled search.

How to access/use the new implementation?

DigiMonitor: ItemWatcher

As before access ItemWatcher configuration via System Tools → Workflow → ItemWatcher.

 

How the new implementation works?

DigiMonitor: ItemWatcher

Logging has been overhauled. Messages are all in english and have been tightened up in wording and debug data.

Almost all parts of the configuration and certainly all of the common parts are now validated upon startup. As always it is important to check digimonitor logs. When an ItemWatcher is rejected due to error in configuration a clear exception message is written about this in the log for DigiMonitorPluginExecutor.

'Process only for this language ID' may now be omitted in which case a lookup is performed for digizuite constant 'LANGUAGE_DEFAULT_METADATA_ID'.

Some situations where events were marked as handled even though they failed they are now marked as failed instead. These situations are generally about when exceptions are thrown. Be aware that an event is marked as failed if 1 ItemWatchers fails in its "event matchmaking". So other ItemWatchers might have succesfully worked the event. This is as before.

Regarding configuration everything works as before. It should not be necessary to do anything differently. The exception is if any of the operators 'greater than' or 'less than' are used. See section below for details.

Security type 'ItemSecurityReadAccessOnlyPublic'

Works as before but now also works with Solr. With 'ItemSecurityReadAccessOnlyPublic' these 4 filters are applied in addition to the standard readaccess check:

1) deleted = 0: deleted assets are filtered out.

2) is_public = 1: non public assets are filtered out.

3) expiration: an unused feature but nonetheless expired assets are filtered out.

4) published: an asset needs to have been fully through a publish otherwise it is also filtered out.

How to configure the new implementation?

DigiMonitor: ItemWatcher

SpecialValidator: Isnumeric

...

No changes except validation is done at startup.

How to manually change Digizuite_system_framework_search to use ItemSecurityReadAccessOnlyPublic

Delete these 3 sections (if present) as they are now obsolete:

Code Block
languagexml
titleSections to delete
<searchField id="isPublic" fieldName="asset.is_public" valueHandler="Equals" operator="AND">
    <values valueType="String">
        <value>1</value>
    </values>
</searchField>
<searchField id="sIsNotDeleted" fieldName="asset.deleted" valueHandler="Equals" operator="AND">
    <values valueType="String">
        <value>0</value>
    </values>
</searchField>
<searchField id="sFirstPublished" fieldName="asset_layoutfolder.FirstPublished" operator="AND" valueHandler="NotEmpty" visible="false" />

Then change security to ItemSecurityReadAccessOnlyPublic

Code Block
languagexml
titleEdit security type
<searchField id="security" securityType="ItemSecurityReadAccessOnlyPublic" visible="false" operator="AND" />

 

DOs

DON'Ts

Tips & Tricks

What has been released?

...