Search:

Apache » Lenya
project logo
  • Project
  • Developer
  • Community
  • Version 2.2
  • Version 2.0
  • Version 1.2
  • Version 1.2
    • Installation
      • Download
      • Subversion Access
      • Install Instructions
    • Tutorial
      • Introduction
      • 1. Understanding Lenya
      • 2. Installing Lenya
      • 3. Anatomy of the Pipeline
      • 4. Editing in Lenya
      • 5. Custom Navigation in Lenya
      • 6a. Mod Proxy and Lenya
      • 6b. Mod Proxy and Lenya
    • How-To
      • FAQ
      • New Publication
      • Deploy Publication
      • Look and Feel
      • Custom Resource Type
      • Adding Mime Types
      • Site Navigation
      • LDAP Authentication
      • CMS Menus
      • CMS Screens
      • Search Publications
      • External Data
      • Unit Tests
    • Components
      • Access Control
        • Basic Terms
        • Access Controllers
        • Access Controller Resolvers
        • Authenticators
        • Authorizers
        • Policies and Policy Managers
        • Accreditable Managers
        • SSL Encryption
      • Authoring
        • Adding a new document creator
        • Image Upload
        • OpenOffice
      • Deployment
        • Proxying
      • Editors
        • HTML Form Editor
        • HTML One Form Editor
        • Bitflux Editor
        • Kupu
        • Xopus
      • Layout
        • Navigation
        • XHTML templating
        • Serving static resources
        • Lenya Menubar
      • Publication
        • PageEnvelopeModule
        • Site tree
      • Resource Types
        • Resource Types
      • Revision Control
        • Revision Controller
        • RCML
        • Check In
        • Check Out
        • Revisions
        • Rollback
      • Repository
        • WebDAV Servers
      • Search
        • Searching with Lucene
      • URI Handling
        • URI Parametrizer
        • URI Scheme
        • Usecases
      • Asset Management
        • Asset Management
      • Link Management
        • Link Management
      • Meta Data
        • Meta Data Handling
      • Multilingual Documents
        • Multilingual Document Handling
      • Tasks
        • The Task Concept
        • Defining Tasks
        • The TaskAction
        • Scheduling a Task
        • Included tasks
          • AntTask
          • DefaultFilePublisher
          • StaticHTMLExporter
          • MailTask
        • Developing Tasks
      • Workflow
        • Terms
        • The State Machine
        • Configuration
        • Implementation
      • Site Management
        • Archive
        • Copy
        • Deactivate
        • Delete
        • Delete the trash
        • Move
        • Move Up/Down
        • Rename
        • Restore
    • Miscellaneous
      • Namespaces
      • Reserved Names
      • XInclude Processor
    • 1.2 API (Javadoc)

Current Event

Meeting Bad Säckingen 2009

Built with Apache Lenya

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

Copyright © 1999-2009 The Apache Software Foundation. All rights reserved.