- addFiles – Executed during a checkin just before the files are added to the vault directory. This is a good place to modify, scan or otherwise mess with the files being uploaded.
- alterUserCredentials – Executed before every request in WebCenter Content. This is a good place to make invasive changes to security.
- checkScheduledEvents – Executed every five minutes. This is a good place to add functionality that needs to be scheduled. Generally, I would recommend building a custom service which does the actual work and then simply calling the service from this filter.
- computeDocName – Executed during a checkin. This is the place to alter the dDocName (Content ID).
- executeSubServiceCode – Executed before every subservice is called. This is a good place to override subservice functionality by changing the subservice to be called or changing the service actions.
- extraAfterServicesLoadInit – Executed during start-up of WebCenter Content. This is good place to add metadata fields or make changes to database tables. It is used by components such as RecordsManagement and SiteStudio.
- prepareQueryText – Executed before a search. This is a good place to modify the QueryText.
- onEndScriptSubServiceActions – Executed at the end of every service call executed from Idoc Script. This is a good place to override the response returned from executing services in Idoc Script.
- onEndServiceRequestActions – Executed at the end of all successful service requests just before the response is sent back. This is a good place to execute additional services or functionality. This can be very handy but also dangerous if you do not write quick and efficient code.
- serviceCleanUp – Executed at the end of every single service call. Similar to onEndServiceRequestActions, this filter should be used with caution to ensure proper and efficient code.
- validateStandard – Executed during every checkin and metadata update. This is the filter I seem to hook into most often.
Filters are called using the following Java code:
intradoc.shared.PluginFilters.filter("filterName", m_workspace, m_binder, m_service);
For a very detailed list of filter names and their descriptions, visit the readme for the How-To Component Samples for Oracle UCM 11g. Keep in mind that this list, while very detailed, is incomplete. Additional filters can be found by enabling the services tracing section along with full verbose tracing. This will output a lot of information so you may need to set the configuration variable UseRedirectedOutput=true, otherwise you may miss some output.
Leave a comment below, and let me know what your favorite WebCenter Content filters are.