Restore
Introduction
The restore operation corresponds to a move operation from an area, trash or archive, to the authoring
Implementation
Similar to the operation move
Parameters
Required parameters:
- the area for the source document
- the document id for the source document
- the task id
usecase
Delete screen
URL :
{document-URL}?lenya.usecase=restore&lenya.step=showscreen
usecase sitemap:
<map:match pattern="restore" type="usecase"> <map:match pattern="showscreen" type="step"> <map:generate src="content/info/restore.xsp" type="serverpages"/> <map:transform src="xslt/info/restore.xsl"> <map:parameter name="use-request-parameters" value="true"/> </map:transform> <map:call resource="style-cms-page"/> </map:match> </map:match>
The parameters for the source are get with the serverpage through the page envelope input module. The destination document id is computed in the serverpage from the identifier. The destination source is set to area in the stylesheet. A form (build with the xslt transformation) sends then the parameters as request parameters with the new URL.
Restore confirmation
URL :
{document-URL}?lenya.usecase=restore&lenya.step=restore&...{source parameters}
usecase sitemap:
<map:match pattern="restore" type="usecase"> <map:match pattern="restore" type="step"> <map:act type="task"> <map:redirect-to session="true" uri="{request:contextPath}/{../../../1}/{../../../2}/"/> </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 restoreDocument
is in the publication :
{publication}/config/tasks/targets.xml
The target for the restore operation depends on the different targets
-
firstareaproperties
, to set the needed properties dependent of the area of the source -
secareaproperties
, to set the needed properties dependent of the area of the destination -
newcopydocumentid
, to compute the unique destination id (Same logic like for the copy operation). -
firstdocumentpath
, to compute the directory of the contents for the source (Needed for the revisions and the rcml files) -
secdocumentpath
, to compute the directory where are the contents for the destination (Needed for the revisions and the rcml files) -
move
, to execute the different move operations
For more information about the Ant task, see the documentation Ant Task and the Javadocs.