blob: 7cc39f2b0cc646d87cadc040777bc3841fd3d6bf [file] [log] [blame]
<?xml version="1.0"?>
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<!-- =========================== Components ================================ -->
<map:components>
<map:generators default="file">
<map:generator name="file" src="org.apache.cocoon.generation.FileGenerator"/>
<map:generator name="servletproxy" src="org.wyona.cms.cocoon.generation.ProxyGenerator"/>
</map:generators>
<map:transformers default="xslt">
<map:transformer name="xslt" src="org.apache.cocoon.transformation.TraxTransformer" pool-min="20" pool-max="30" pool-grow="5"/>
<map:transformer name="xlink" src="org.wyona.cms.cocoon.transformation.IncludeTransformer" pool-min="20" pool-max="30" pool-grow="5">
<publication type="computerworld"/>
</map:transformer>
<map:transformer name="xinclude" src="org.apache.cocoon.transformation.XIncludeTransformer" pool-min="20" pool-max="30" pool-grow="5"/>
</map:transformers>
<map:readers default="resource"/>
<map:serializers default="html"/>
<map:matchers default="wildcard">
<map:matcher name="usecase" logger="sitemap.matcher.usecase" src="org.apache.cocoon.matching.WildcardRequestParameterMatcher">
<parameter-name>usecase</parameter-name>
</map:matcher>
<map:matcher name="step" logger="sitemap.matcher.step" src="org.apache.cocoon.matching.WildcardRequestParameterMatcher">
<parameter-name>step</parameter-name>
</map:matcher>
</map:matchers>
<!-- =========================== Actions ================================ -->
<map:actions>
<map:action name="reserved-checkout" src="org.wyona.cms.cocoon.acting.ReservedCheckoutAction" logger="sitemap.action.reserved-checkout">
<rcmlDirectory href="docs/publication/rcml"/>
<backupDirectory href="docs/publication/rcbak"/>
</map:action>
<map:action name="reserved-checkin" src="org.wyona.cms.cocoon.acting.ReservedCheckinAction" logger="sitemap.action.reserved-checkin">
<rcmlDirectory href="docs/publication/rcml"/>
<backupDirectory href="docs/publication/rcbak"/>
</map:action>
<map:action name="rollback" src="org.wyona.cms.cocoon.acting.RollbackAction">
<rcmlDirectory href="docs/publication/rcml"/>
<backupDirectory href="docs/publication/rcbak"/>
</map:action>
<!-- tasks -->
<map:action name="task" src="org.wyona.cms.cocoon.acting.TaskAction"/>
<!-- request parameters -->
<map:action name="request-parameters" src="org.apache.cocoon.acting.RequestParamAction"/>
<map:action name="parent-child" src="org.wyona.cms.cocoon.acting.ParentChildCreatorAction">
<tree-authoring href="docs/publication/authoring/tree.xml"/>
<docs href="docs/publication/authoring"/>
<doctypes href="docs/publication/doctypes/"/>
</map:action>
<map:action logger="action.upload" name="file-upload" src="org.wyona.cms.cocoon.acting.ArticleImageUploadCreatorAction">
<resources-root href="resources/publication/images/live"/>
<docs-root href="docs/publication/authoring"/>
<meta-root href="docs/publication/authoring"/>
<insert-image-before value="false"/>
</map:action>
</map:actions>
<!-- =========================== Selectors ================================ -->
<map:selectors default="browser">
<map:selector name="browser" logger="sitemap.selector.browser" src="org.apache.cocoon.selection.BrowserSelector">
<!--
# NOTE: The appearance indicates the search order. This is very important since
# some words may be found in more than one browser description. (MSIE is
# presented as "Mozilla/4.0 (Compatible; MSIE 4.01; ...")
-->
<browser name="explorer" useragent="MSIE"/>
<browser name="pocketexplorer" useragent="MSPIE"/>
<browser name="handweb" useragent="HandHTTP"/>
<browser name="avantgo" useragent="AvantGo"/>
<browser name="imode" useragent="DoCoMo"/>
<browser name="opera" useragent="Opera"/>
<browser name="lynx" useragent="Lynx"/>
<browser name="java" useragent="Java"/>
<browser name="wap" useragent="Nokia"/>
<browser name="wap" useragent="UP"/>
<browser name="wap" useragent="Wapalizer"/>
<browser name="mozilla5" useragent="Mozilla/5"/>
<browser name="mozilla5" useragent="Netscape6/"/>
<browser name="netscape" useragent="Mozilla"/>
</map:selector>
</map:selectors>
</map:components>
<!-- =========================== Views ================================ -->
<map:views>
<map:view name="orig" from-position="first">
<map:serialize type="xml"/>
</map:view>
<map:view name="xhtml" from-position="last">
<map:serialize type="xml"/>
</map:view>
<map:view name="output" from-label="gregor">
<map:serialize type="xml"/>
</map:view>
<map:view name="content" from-label="content">
<map:serialize type="xml"/>
</map:view>
</map:views>
<!-- =========================== Pipelines ================================ -->
<map:pipelines>
<!-- Rollback -->
<map:pipeline>
<map:match pattern="revision/*">
<map:generate type="serverpages" src="../../docs/cms/revision-control/versions-screen.xsp">
<map:parameter name="filename" value="docs/publication/authoring/{1}"/>
<map:parameter name="rcmlDirectory" value="docs/publication/rcml"/>
<map:parameter name="backupDirectory" value="docs/publication/rcbak"/>
<map:parameter name="articleId" value="{4}"/>
</map:generate>
<map:transform src="../../stylesheets/cms/Page/rollback.xsl"/>
<map:serialize type="html"/>
</map:match>
<map:match pattern="rollback/*">
<map:act type="rollback">
<map:parameter name="filename" value="docs/publication/authoring/{1}"/>
<map:redirect-to uri="{location}" session="true"/>
</map:act>
</map:match>
<map:match pattern="view/*">
<map:generate type="serverpages" src="../../docs/cms/revision-control/view.xsp">
<map:parameter name="filename" value="docs/publication/authoring/{1}"/>
<map:parameter name="rcmlDirectory" value="docs/publication/rcml"/>
<map:parameter name="backupDirectory" value="docs/publication/rcbak"/>
</map:generate>
<map:transform src="stylesheets/publication/Page/Article/Authoring/toArticle.xsl"/>
<map:transform src="stylesheets/publication/Page/Article/Authoring/main.xsl"/>
<map:serialize type="html"/>
</map:match>
</map:pipeline>
<!-- /Rollback -->
<!-- Publisher -->
<map:pipeline>
<!-- ===================================================================== -->
<!-- Publish
The task ID of the publishing task is forwarded as request parameter
from the menu. This simplifies publishing of different document types. -->
<!-- ===================================================================== -->
<map:match pattern="wyona/publishScreen*">
<map:generate type="serverpages" src="../../docs/cms/publish-screen.xsp"/>
<map:transform src="../../stylesheets/cms/Page/Publish/main.xsl">
<map:parameter name="use-request-parameters" value="true"/>
</map:transform>
<map:serialize type="html"/>
</map:match>
<map:match pattern="wyona/publish*">
<map:act type="request-parameters">
<map:parameter name="parameters" value="true"/>
<map:act type="task">
<map:parameter name="task-id" value="{task-id}"/>
<map:redirect-to uri="{parent_uri}" session="true"/>
</map:act>
<map:redirect-to uri="publishScreen?status=failed" session="true"/>
</map:act>
</map:match>
</map:pipeline>
<!-- /Publisher -->
<!-- ParentChild Content Creator: New Document -->
<map:pipeline>
<map:match pattern="wyona/ParentChildScreenNewArticle*">
<map:generate type="serverpages" src="../../docs/cms/parent-child.xsp"/>
<map:transform src="../../stylesheets/cms/Page/new-document.xsl"/>
<map:serialize type="html"/>
</map:match>
<map:match pattern="wyona/create*">
<map:act type="parent-child">
<map:redirect-to uri="{parent_uri}" session="true"/>
</map:act>
<map:redirect-to uri="ParentChildScreenNewArticle?status=failed" session="true"/>
</map:match>
</map:pipeline>
<!-- /ParentChild Content Creator: New Document -->
<!-- Authoring -->
<!-- Menus -->
<map:pipeline>
<map:match pattern="menus/front.xml">
<map:generate type="serverpages" src="docs/publication/menus/front.xsp"/>
<map:serialize type="xml"/>
</map:match>
<map:match pattern="menus/*/article.xml">
<map:generate type="serverpages" src="docs/publication/menus/article.xsp">
<map:parameter name="articleId" value="{1}"/>
</map:generate>
<map:serialize type="xml"/>
</map:match>
<map:match pattern="menus/**.xml">
<map:generate type="serverpages" src="docs/publication/menus/front.xsp"/>
<map:serialize type="xml"/>
</map:match>
</map:pipeline>
<!-- graphics -->
<map:pipeline>
<!-- General Wyona -->
<map:match pattern="images/wyona/cms/**.gif">
<map:read src="../../resources/cms/images/{1}.gif" mime-type="images/gif">
<map:parameter name="expires" value="2000000000"/>
</map:read>
</map:match>
<!-- /General Wyona -->
<map:match pattern="css/**.css">
<map:read mime-type="text/css" src="resources/publication/styles/live/{1}.css"/>
</map:match>
<map:match pattern="img/layout/**.*">
<map:read mime-type="image/{2}" src="resources/publication/images/live/layout/{1}.{2}"/>
</map:match>
<map:match pattern="img/categories/**.*">
<map:read mime-type="image/{2}" src="resources/publication/images/live/categories/{1}.{2}"/>
</map:match>
</map:pipeline>
<!-- Upload and append image -->
<map:pipeline>
<map:match type="usecase" pattern="uploadimage">
<map:match type="step" pattern="showxml">
<map:generate type="serverpages" src="../../docs/cms/upload-image.xsp"/>
<map:serialize type="xml"/>
</map:match>
<map:match type="step" pattern="showscreen">
<map:generate type="serverpages" src="../../docs/cms/upload-image.xsp"/>
<map:transform src="stylesheets/cms/Page/upload-image.xsl"/>
<map:serialize type="html"/>
</map:match>
<map:match type="step" pattern="showteaserscreen">
<map:generate type="serverpages" src="../../docs/cms/upload-image.xsp"/>
<map:transform src="stylesheets/cms/Page/upload-teaserimage.xsl"/>
<map:serialize type="html"/>
</map:match>
<map:match type="step" pattern="upload">
<map:act type="file-upload">
<!-- if the action suceeds it returns the referer and we simply redirect to it. -->
<map:redirect-to uri="{$referer}"/>
</map:act>
<!-- otherwise the action could not validate some of the input and we present the upload form again -->
<map:generate type="serverpages" src="../../docs/cms/upload-image.xsp"/>
<map:transform src="../../stylesheets/cms/Page/upload-image.xsl"/>
<map:serialize type="html"/>
</map:match>
</map:match>
</map:pipeline>
<!-- Frontpage -->
<map:pipeline>
<map:match pattern="">
<map:redirect-to uri="index.html" session="true"/>
</map:match>
<map:match pattern="index.html">
<map:aggregate element="wyona" label="gregor">
<map:part src="cocoon:/menus/front.xml"/>
<map:part element="cmsbody" src="docs/publication/authoring/index.html"/>
<map:part src="docs/publication/authoring/preview.xml"/>
<map:part src="docs/publication/authoring/small-preview.xml"/>
<map:part src="docs/publication/authoring/sitetree.xml"/>
<map:part src="cocoon:/all-headlines"/>
</map:aggregate>
<map:transform src="stylesheets/publication/Page/Authoring/main.xsl" label="content">
<map:parameter name="id" value="/index.html"/>
</map:transform>
<map:transform src="stylesheets/publication/Page/Authoring/images.xsl"/>
<map:serialize type="html"/>
</map:match>
<!-- Include ALL articles -->
<map:match pattern="all-headlines">
<map:generate type="directory" src="docs/publication/authoring/news/"/>
<map:transform src="stylesheets/publication/Page/Authoring/xinclude.xsl"/>
<map:transform type="xlink">
<map:parameter name="href" value="docs/publication/live/news/dummy.xml"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
</map:pipeline>
<!-- Used to build the bitflux stylesheets for headlines dynamically -->
<map:pipeline>
<map:match pattern="headlines.xml">
<map:generate src="docs/publication/authoring/headlines.xml"/>
<map:transform src="stylesheets/publication/Page/xinclude.xsl"/>
<map:transform type="xlink">
<map:parameter name="href" value="docs/publication/authoring/headlines.xml"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
<!-- did not work for some reason
<map:match pattern="xinclude-index">
<map:generate src="docs/publication/live/index.html"/>
<map:transform src="stylesheets/publication/Page/Live/xinclude-index.xsl"/>
<map:transform type="xlink">
<map:parameter name="href" value="docs/publication/live/index.html"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
-->
</map:pipeline>
<!-- Article -->
<!-- Checkout -->
<map:pipeline>
<map:match pattern="rco/*">
<map:act type="reserved-checkout">
<map:parameter name="filename" value="docs/publication/authoring/{1}"/>
<!--
<map:generate src="../../docs/cms/revision-control/file-reserved-checkout-exception.xml">
-->
<!--
<map:generate type="serverpages" src="../../docs/cms/revision-control/file-reserved-checkout-exception.xsp">
-->
<map:generate type="serverpages" src="../../docs/cms/revision-control/{exception}.xsp">
<map:parameter name="user" value="{user}"/>
<map:parameter name="filename" value="{filename}"/>
<map:parameter name="date" value="{date}"/>
</map:generate>
<map:serialize type="xml"/>
</map:act>
<map:generate src="docs/publication/authoring/{1}"/>
<map:serialize type="xml"/>
</map:match>
</map:pipeline>
<!-- Checkin -->
<map:pipeline>
<map:match pattern="rci/*">
<map:act type="reserved-checkin">
<map:parameter name="filename" value="docs/publication/authoring/{1}"/>
<!--
<map:generate type="serverpages" src="../../docs/cms/revision-control/file-reserved-checkin-exception.xsp">
-->
<map:generate type="serverpages" src="../../docs/cms/revision-control/{exception}.xsp">
<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:serialize type="xml"/>
</map:act>
<map:generate src="docs/publication/authoring/{1}"/>
<map:serialize type="xml"/>
</map:match>
<map:match pattern="*/index.xhtml">
<map:generate src="docs/publication/authoring/{1}/index.xhtml"/>
<map:transform src="stylesheets/publication/Page/Article/migrate-xhtml2xml.xsl"/>
<map:serialize type="xml"/>
</map:match>
<!-- Not needed -->
<!--
<map:match pattern="*/*/*/*/article.xml">
<map:generate type="serverpages" src="docs/publication/authoring/article.xsp">
<map:parameter name="channel" value="{1}"/>
<map:parameter name="section" value="{2}"/>
<map:parameter name="year" value="{3}"/>
<map:parameter name="id" value="{4}"/>
</map:generate>
<map:transform type="xlink"/>
<map:serialize type="xml"/>
</map:match>
-->
<map:match pattern="*/*/*/*/">
<map:redirect-to uri="index.html" session="true"/>
</map:match>
</map:pipeline>
<!-- Article Main -->
<map:pipeline>
<map:match pattern="*/index.html">
<map:aggregate element="wyona">
<map:part src="cocoon:/menus/{1}/article.xml"/>
<map:part src="cocoon:/{1}/index.xml" element="cmsbody"/>
</map:aggregate>
<map:transform src="stylesheets/publication/Page/Article/xinclude.xsl"/>
<map:transform type="xlink">
<map:parameter name="href" value="docs/publication/authoring/{1}/index.xml"/>
</map:transform>
<map:transform src="stylesheets/publication/Page/Article/Authoring/main.xsl">
<map:parameter name="documentid" value="{1}//index.xml"/>
<map:parameter name="authoring" value="true"/>
</map:transform>
<map:transform src="stylesheets/publication/Page/Authoring/images.xsl"/>
<map:serialize type="html"/>
</map:match>
<!-- Detail Article view -->
<map:match pattern="news/**.html">
<map:aggregate element="wyona" label="gregor">
<map:part src="cocoon:/menus/front.xml"/>
<map:part element="cmsbody" src="docs/publication/authoring/index.html"/>
<map:part src="docs/publication/authoring/news/{1}.xml"/>
<map:part src="docs/publication/authoring/small-preview.xml"/>
<map:part src="docs/publication/authoring/sitetree.xml"/>
<map:part src="cocoon:/all-headlines"/>
</map:aggregate>
<map:transform src="stylesheets/publication/Page/Authoring/news.xsl">
<map:parameter name="id" value="/news/"/>
<map:parameter name="documentid" value="news/{1}.xml"/>
</map:transform>
<map:transform src="stylesheets/publication/Page/Authoring/images.xsl" label="content"/>
<map:serialize type="html"/>
</map:match>
<!-- All Articles view -->
<map:match pattern="overview.html">
<map:aggregate element="wyona" label="gregor">
<map:part src="cocoon:/menus/front.xml"/>
<map:part elemcent="cmsbody" src="cocoon:/all-headlines"/>
</map:aggregate>
<map:transform src="stylesheets/publication/Page/Authoring/overview.xsl" label="content"/>
<map:serialize type="html"/>
</map:match>
</map:pipeline>
<!-- Samples for resource/document creation -->
<map:pipeline>
<map:match pattern="doctypes/samples/*.xml">
<map:generate src="docs/publication/doctypes/samples/{1}.xml"/>
<map:serialize type="xml"/>
</map:match>
</map:pipeline>
<!-- XML -->
<map:pipeline>
<map:match pattern="**.xml">
<map:generate src="docs/publication/authoring/{1}.xml"/>
<map:serialize type="xml"/>
</map:match>
</map:pipeline>
</map:pipelines>
</map:sitemap>