Deactivate a document
Introduction
We have to :
- look if there are some live children, if no other language version is live
- delete the live contents (xml file) for the given document id and the given language
- delete the live resources for the given document id only if no other language version is live
- delete the language from the node corresponding to given the document id or all the node, if no other language version is live.
Implementation
It is implemented in a sequence of usecases to get all needed parameters, and uses the task concept to execute some ant task
Parameters
The parameters are string-value parameters
Required parameters:
- the document id
- the language
- the task id
usecase
They are implemented in the usecase sitmap (core)
Deactivate screen
URL :
{document-URL}?lenya.usecase=deactivate&lenya.step=showscreen 
	    usecase sitemap:
          <map:match pattern="deactivate" type="usecase">
            <map:match pattern="showscreen" type="step">
              <map:generate src="content/info/deactivate.xsp" type="serverpages"/>
              <map:transform src="xslt/info/deactivate.xsl">
                <map:parameter name="use-request-parameters" value="true"/>
              </map:transform>
              <map:transform src="cocoon:/notification/{../../1}/deactivate.xsl"/>
              <map:transform src="cocoon://scheduler/{../../1}/{../../2}/{../../3}.xsl"/>
              <map:call resource="style-cms-page"/>
            </map:match>
          </map:match>
        
	    
        In the serverpage, we get the required parameters and if no other language version is live, we look for the live children.
	    The stylesheet xslt/info/deactivate.xsl builds a form, if the requirement are achieved, else shows a message.
Deactivate confirmation
URL :
{document-URL}?lenya.usecase=deactivate&lenya.step=deactivate&...{source parameters} 
	    usecase sitemap:
          <map:match pattern="deactivate" type="usecase">
            <map:match pattern="deactivate" type="step">
              <map:act type="task">
                <map:redirect-to session="true" uri="{request:requestURI}"/>
              </map:act>
            </map:match>
          </map:match>
        
	    The action org.apache.lenya.cms.cocoon.acting.TaskAction calls the execution of the ant task.
Ant Task
The ant target deactivateDocumentis in the publication :
{publication}/config/tasks/targets.xml
      and depends on the target livedocumentpath, to compute the live directory of the contents
For more information about the Ant task, see the documentation Ant Task and the Javadocs.

 
      