apache > lenya
 

Reserved Checkin

Revision Controller

To check in a file call:

org.apache.lenya.cms.rc.RevisionController.reservedCheckIn(
    String destination, String identity, boolean backup)

where the destination is the path of the file from the publication, the identity is the identity of the user and backup is a boolean.

This method is called from the ReservedCheckinAction.

Rem: if no backup (and no rollback is needed) set in the ReservedCheckinAction the backup boolean to false.

The ReservedCheckinAction

To invoke a reserved check-in from a sitemap pipeline, you use The ReservedCheckinAction.

      <map:components>
        ...
        <map:actions>
      	  <map:action name="reserved-checkin"
      	      src="org.apache.lenya.cms.cocoon.acting.ReservedCheckinAction"
      	      logger="sitemap.action.reserved-checkin"/>
        </map:actions>
        ...
      </map:components>
      
            <map:act type="reserved-checkin">
              <map:generate src="../../content/rc/{exception}.xsp"
                  type="serverpages">
                <map:parameter name="user" value="{user}"/>
                <map:parameter name="filename" value="{filename}"/>
                <map:parameter name="checkType" value="{checkType}"/>
                <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=checkin&lenya.step=checkin

invokes a check-in of the document

fileReservedCheckInException

When the file cannot be checked in because another user has already checked it out, a fileReservedCheckInException is thrown:

	  File Reserved Checkin Exception
      File not checked in yet

      The resource has already been checked out:
      User:	roger
      Date:	Wed Oct 22 14:31:05 CEST 2003
      Filename:	/content/authoring/index/index_de.xml
	  

The serverpage

lenya/src/webapp/lenya/content/rc/fileReservedCheckInException.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