Author: kwin Date: Tue Apr 25 11:30:00 2017 New Revision: 1792600 URL: http://svn.apache.org/viewvc?rev=1792600&view=rev Log: add documentation about SlingPostProcessors
Modified: sling/site/trunk/content/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.mdtext Modified: sling/site/trunk/content/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.mdtext URL: http://svn.apache.org/viewvc/sling/site/trunk/content/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.mdtext?rev=1792600&r1=1792599&r2=1792600&view=diff ============================================================================== --- sling/site/trunk/content/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.mdtext (original) +++ sling/site/trunk/content/documentation/bundles/manipulating-content-the-slingpostservlet-servlets-post.mdtext Tue Apr 25 11:30:00 2017 @@ -882,5 +882,9 @@ Two examples (old and new style) of addi ### SlingPostProcessor -TODO: document the SlingPostProcessor extension point, and related tests +OSGi services of the `org.apache.sling.servlets.post.SlingPostOperation` type can be used to post process `PostOperation`s. They are called after the operation has performed its changes but before the changes are persisted (via commit). All registered SlingPostProcessors are always called in the reverse order of their service ranking (i.e. the one with the highest service ranking first). + +A `SlingPostProcessor` may perform additional changes or revert previous ones. It is important that the `SlingPostProcessor` does not commit its changes but rather only performs the changes in the transient space (with the resource resolver bound to the current request) and in addition reports the changes through the 2nd parameter of the method `process(SlingHttpServletRequest, List<Modification>)`. + +Two examples of SlingPostProcessors are found in the [test-services](http://svn.apache.org/repos/asf/sling/trunk/launchpad/test-services/src/main/java/org/apache/sling/launchpad/testservices/post/) module, with the corresponding test code in the [integration-tests](http://svn.apache.org/repos/asf/sling/trunk/launchpad/integration-tests/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/servlets/post/SlingPostProcessorTest) module.