lenya/src/webapp/lenya usecase.xmap,NONE,1.1

Andreas Hartmann <[email protected]> Fri, 16 May 2003 17:29:33 +0200
Newsgroups gmane.comp.cms.wyona.cvs
Message-ID <[email protected]>
Update of /repository/lenya/src/webapp/lenya
In directory erbium:/tmp/cvs-serv29927/src/webapp/lenya

Added Files:
	usecase.xmap 
Log Message:
- added PageEnvelopeModule docs
- added PEM to cocoon.xconf
- moved workflow.xmap to usecase.xmap
- added common publishing pipeline + xsp + xslt
- added shared scheduling XSP

--- NEW FILE: usecase.xmap ---
<?xml version="1.0"?>

<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">

  <!-- =========================== Components ================================ -->

  <map:components>
    <map:generators default="file"/>
    <map:transformers default="xslt"/>
    <map:readers default="resource"/>
    <map:serializers default="html"/>
    <map:matchers default="wildcard"/>
    <map:actions/>
    <map:selectors/>
  </map:components>
  
  <map:views>
    <map:view name="aggregation" from-label="aggregation">
      <map:serialize type="xml"/>
    </map:view>
    <map:view name="xsp" from-label="xsp">
      <map:serialize type="xml"/>
    </map:view>
  </map:views>

  <!-- =========================== Resources ================================ -->
  
  <map:resources>
  
    <map:resource name="scheduler-page">
        
      <map:aggregate element="scheduler" prefix="sch" ns="http://www.lenya.org/2002/sch" label="aggregation">
        <map:part src="cocoon:/document-types/{publication-id}"/>
        <map:part src="cocoon:/tasks/{publication-id}"/>
        <map:part src="cocoon:/scheduler-xsp" strip-root="true"/>
        <map:part src="cocoon:/scheduler-servlet" strip-root="true"/>
      </map:aggregate>
      <map:transform src="xslt/scheduler/filter.xsl"/>
        
      <map:act type="uriparametrizer" src="{uri}">
        <map:parameter name="doctype" value="cocoon://uri-parameter/{publication-id}/doctype"/>
        <map:transform src="xslt/scheduler/filterTasks-new.xsl">
          <map:parameter name="documentType" value="{doctype}"/>
        </map:transform>
      </map:act>
    </map:resource>
  
  </map:resources>
  
  <!-- =========================== Pipelines ================================ -->
  
  <map:pipelines>

    <map:pipeline>
    
      <!-- load document types -->    
      <map:match pattern="document-types/*">
        <map:generate src="pubs/{1}/config/doctypes/doctypes.xconf"/>
        <map:serialize type="xml"/>
      </map:match>
      
      <!-- load task list -->
      <map:match pattern="tasks/*">
        <map:generate src="pubs/{1}/config/tasks/tasks.xconf"/>
        <map:serialize type="xml"/>
      </map:match>
      
      <!-- create the current date -->
      <map:match pattern="scheduler-xsp">
        <map:generate type="serverpages" src="content/scheduler/scheduler-new.xsp"/>
        <map:serialize type="xml"/>
      </map:match>
      
      <!-- create the current job snapshot -->
      <map:match pattern="scheduler-servlet">
        <map:generate type="servletproxy" src="/lenya/servlet/QuartzSchedulerServlet"/>
        <map:transform src="xslt/scheduler/sort.xsl"/>
        <map:serialize type="xml"/>
      </map:match>
      
    </map:pipeline>

    <map:pipeline>
    
    <!-- {publication-id}/{area}/{uri}-->
    <map:match pattern="*/*/**">
      
      <!--
      Scheduler
      -->
      
      <!-- Schedule Document: View, Add, Edit, Delete Jobs -->
      <map:match type="usecase" pattern="schedule">
      
          <map:call resource="scheduler-page">
            <map:parameter name="publication-id" value="{../1}"/>
            <map:parameter name="uri" value="{../2}/{../3}"/>
          </map:call>
          <map:transform src="xslt/scheduler/scheduler-page.xsl">
            <map:parameter name="context-prefix" value="{request:contextPath}"/>
            <map:parameter name="publication-id" value="{../1}"/>
            <map:parameter name="area" value="{../2}"/>
            <map:parameter name="document-uri" value="{../3}"/>
          </map:transform>
          <map:transform src="xslt/util/page2xhtml.xsl">
            <map:parameter name="context-prefix" value="{request:contextPath}"/>
          </map:transform>
          <map:serialize type="html"/>

      </map:match>
      
      <!-- Schedule Publication -->
      <map:match type="usecase" pattern="schedule-publication">
        <map:match type="step" pattern="showscreen">
          <map:call resource="scheduler-page">
            <map:parameter name="publication-id" value="{../../1}"/>
            <map:parameter name="uri" value="{../../2}"/>
          </map:call>
          <map:transform src="xslt/scheduler/admin-publication.xsl"/>
          <map:serialize type="html"/>
        </map:match>
      </map:match>
      
      <!--
      View Logs
      -->
      <map:match type="usecase" pattern="view-logs">
      
        <map:match type="step" pattern="overview">
          <map:generate type="directory" src="pubs/{../../1}/logs/tasks"/>
          <map:transform src="xslt/logs/directory2html.xsl"/>
          <map:transform src="xslt/util/page2xhtml.xsl">
            <map:parameter name="context-prefix" value="{request:contextPath}"/>
          </map:transform>
          <map:serialize/>
        </map:match>
      
        <map:match type="step" pattern="log">
          <map:act type="request">
            <map:parameter name="parameters" value="true"/>
            <map:generate src="pubs/{../../../1}/logs/tasks/{logfile}"/>
          </map:act>
          <map:transform src="xslt/logs/antlog2html.xsl"/>
          <map:transform src="xslt/logs/antlog2page.xsl"/>
          <map:transform src="xslt/util/page2xhtml.xsl">
            <map:parameter name="context-prefix" value="{request:contextPath}"/>
          </map:transform>
        <map:serialize/>
        </map:match>
      
      </map:match>
      
      <!--
      Publish
      -->
      <map:match type="usecase" pattern="publish">
      
        <map:match type="step" pattern="showscreen">
          <map:generate
            type="serverpages"
            src="pubs/{../../1}/content/publishing/publish-screen.xsp"
            label="xsp"/>
          <map:act type="uriparametrizer" src="{../../2}/{../../3}">
            <map:parameter name="document-id" value="cocoon://uri-parameter/{../../1}/document-id"/>
            <map:transform src="xslt/publishing/screen.xsl">
              <map:parameter name="use-request-parameters" value="true"/>
              <map:parameter name="document-id" value="{document-id}"/>
            </map:transform>
          </map:act>
          <map:transform src="xslt/util/page2xhtml.xsl">
            <map:parameter name="context-prefix" value="{request:contextPath}"/>
          </map:transform>
          <map:serialize type="html"/>
        </map:match>
        
        <map:match type="step" pattern="publish">
          <map:act type="task">
            <map:parameter name="publication-id" value="{../../1}"/>
            <map:parameter name="task-id" value="{request-param:task-id}"/>
            <map:redirect-to uri="{request:requestURI}" session="true"/>
          </map:act>
        </map:match>
        
      </map:match>
        
      </map:match>
      
    </map:pipeline>
    
  </map:pipelines>
  
</map:sitemap>