Reserved Checkout
Table of Contents
- Revision Controller
- The ReservedCheckoutAction
- URL
- The ReservedCheckoutTestAction
- FileReservedCheckOutException
- Exception
Revision Controller
To check out a file call the method :
org.apache.lenya.cms.rc.RevisionController.reservedCheckOut(String source, String identity)
where the source is the path of the file from the publication and the identity is the identity of the user.
This method is called from the ReservedCheckoutAction.
The ReservedCheckoutAction
To invoke a reserved check out from a sitemap pipeline, you use The ReservedCheckoutAction.
<map:components> ... <map:actions> <map:action name="reserved-checkout" src="org.apache.lenya.cms.cocoon.acting.ReservedCheckoutAction" logger="sitemap.action.reserved-checkout"/> </map:actions> ... </map:components>
<map:act type="reserved-checkout"> <map:generate src="content/rc/{exception}.xsp" type="serverpages"> <map:parameter name="user" value="{user}"/> <map:parameter name="filename" value="{filename}"/> <map:parameter name="date" value="{date}"/> </map:generate> <map:transform src="xslt/rc/rco-exception.xsl"/> <map:serialize/> </map:act>
URL
The call
{document-URL}?lenya.usecase=checkout&lenya usecase.step=checkout
invokes a check-out of the document
The ReservedCheckoutTestAction
The ReservedCheckoutTestAction checks out a document only if this isn't already checked out
<map:components> ... <map:actions> <map:action name="reserved-checkout-test" src="org.apache.lenya.cms.cocoon.acting.ReservedCheckoutTestAction" logger="sitemap.action.reserved-checkout-test"/> </map:actions> ... </map:components>
<map:act type="reserved-checkout-test"> <map:generate type="serverpages" src="../../content/rc/{exception}.xsp"> <map:parameter name="user" value="{user}"/> <map:parameter name="filename" value="{filename}"/> <map:parameter name="date" value="{date}"/> </map:generate> <map:transform src="../../xslt/rc/rco-exception.xsl"/> <map:serialize/> </map:act>
FileReservedCheckOutException
When the file cannot be checked out because another user has already checked it out, a fileReservedCheckOutException is thrown:
File Reserved Checkout Exception Could not check out the file Reason : The resource has already been checked out by another user User: lenya Date: Wed Oct 22 12:02:28 CEST 2003 Filename: /content/authoring/index/index_de.xml
The serverpage
lenya/src/webapp/lenya/content/rc/fileReservedCheckOutException.xsp
generates the xml which will be transformed with
lenya/src/webapp/lenya/xslt/rc/rco-exception.xsl
Exception
The errors are catched as generic Exception
Generic Exception Check the log files :-) Filename: /content/authoring/malaVida/index_de.xml
The serverpage
lenya/src/webapp/lenya/content/rc/exception.xsp
generates the xml which will be transformed with
lenya/src/webapp/lenya/xslt/rc/rco-exception.xsl