ASF Bugzilla – Attachment 14522 Details for
Bug 34088
Provide patch to upgrade publications from 1.2 to 2.0
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch to upgrade publications based on the default publication from 1.2 to 1.4. Patch is relative to the root of the default publication
default-diff.txt (text/plain), 147.29 KB, created by
Gregor J. Rothfuss
on 2005-03-20 23:35:37 UTC
(
hide
)
Description:
Patch to upgrade publications based on the default publication from 1.2 to 1.4. Patch is relative to the root of the default publication
Filename:
MIME Type:
Creator:
Gregor J. Rothfuss
Created:
2005-03-20 23:35:37 UTC
Size:
147.29 KB
patch
obsolete
>Index: java/src/org/apache/lenya/defaultpub/cms/usecases/Delete.java >=================================================================== >--- java/src/org/apache/lenya/defaultpub/cms/usecases/Delete.java (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ java/src/org/apache/lenya/defaultpub/cms/usecases/Delete.java (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1,90 @@ >+/* >+ * Copyright 1999-2004 The Apache Software Foundation >+ * >+ * Licensed under the Apache License, Version 2.0 (the "License"); >+ * you may not use this file except in compliance with the License. >+ * You may obtain a copy of the License at >+ * >+ * http://www.apache.org/licenses/LICENSE-2.0 >+ * >+ * Unless required by applicable law or agreed to in writing, software >+ * distributed under the License is distributed on an "AS IS" BASIS, >+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >+ * See the License for the specific language governing permissions and >+ * limitations under the License. >+ * >+ */ >+package org.apache.lenya.defaultpub.cms.usecases; >+ >+import org.apache.lenya.cms.publication.Document; >+import org.apache.lenya.cms.publication.util.DocumentSet; >+import org.apache.lenya.cms.site.SiteException; >+import org.apache.lenya.cms.site.SiteManager; >+import org.apache.lenya.cms.workflow.WorkflowManager; >+ >+/** >+ * Delete usecase handler. >+ * >+ * @version $Id:$ >+ */ >+public class Delete extends org.apache.lenya.cms.site.usecases.Delete { >+ >+ /** >+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckPreconditions() >+ */ >+ protected void doCheckPreconditions() throws Exception { >+ super.doCheckPreconditions(); >+ DocumentSet set = getSubset(); >+ WorkflowManager wfManager = null; >+ try { >+ wfManager = (WorkflowManager) this.manager.lookup(WorkflowManager.ROLE); >+ if (!wfManager.canInvoke(set, getEvent())) { >+ addErrorMessage("The workflow event cannot be invoked on all documents."); >+ } >+ } finally { >+ if (wfManager != null) { >+ this.manager.release(wfManager); >+ } >+ } >+ } >+ >+ /** >+ * @return The workflow event. >+ */ >+ protected String getEvent() { >+ return "delete"; >+ } >+ >+ /** >+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute() >+ */ >+ protected void doExecute() throws Exception { >+ >+ DocumentSet set = getSubset(); >+ WorkflowManager wfManager = null; >+ try { >+ wfManager = (WorkflowManager) this.manager.lookup(WorkflowManager.ROLE); >+ wfManager.invoke(set, getEvent(), true); >+ } finally { >+ if (wfManager != null) { >+ this.manager.release(wfManager); >+ } >+ } >+ >+ super.doExecute(); >+ } >+ >+ /** >+ * @return A document set containing all requiring resources and the source >+ * document itself. >+ * @throws SiteException if an error occurs. >+ */ >+ protected DocumentSet getSubset() throws SiteException { >+ Document document = getSourceDocument(); >+ SiteManager manager = document.getPublication().getSiteManager(); >+ DocumentSet set = new DocumentSet(manager.getRequiringResources(document)); >+ set.add(document); >+ return set; >+ } >+ >+} >\ No newline at end of file >Index: java/src/org/apache/lenya/defaultpub/cms/usecases/Publish.java >=================================================================== >--- java/src/org/apache/lenya/defaultpub/cms/usecases/Publish.java (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ java/src/org/apache/lenya/defaultpub/cms/usecases/Publish.java (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1,270 @@ >+/* >+ * Copyright 1999-2004 The Apache Software Foundation >+ * >+ * Licensed under the Apache License, Version 2.0 (the "License"); >+ * you may not use this file except in compliance with the License. >+ * You may obtain a copy of the License at >+ * >+ * http://www.apache.org/licenses/LICENSE-2.0 >+ * >+ * Unless required by applicable law or agreed to in writing, software >+ * distributed under the License is distributed on an "AS IS" BASIS, >+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >+ * See the License for the specific language governing permissions and >+ * limitations under the License. >+ * >+ */ >+package org.apache.lenya.defaultpub.cms.usecases; >+ >+import java.text.DateFormat; >+import java.text.ParseException; >+import java.text.SimpleDateFormat; >+import java.util.ArrayList; >+import java.util.Date; >+import java.util.GregorianCalendar; >+import java.util.List; >+ >+import org.apache.lenya.cms.publication.Document; >+import org.apache.lenya.cms.publication.DocumentFactory; >+import org.apache.lenya.cms.publication.Publication; >+import org.apache.lenya.cms.publication.PublicationException; >+import org.apache.lenya.cms.publication.util.DocumentVisitor; >+import org.apache.lenya.cms.publication.util.OrderedDocumentSet; >+import org.apache.lenya.cms.site.SiteManager; >+import org.apache.lenya.cms.usecase.DocumentUsecase; >+import org.apache.lenya.cms.usecase.scheduling.UsecaseScheduler; >+import org.apache.lenya.cms.workflow.WorkflowManager; >+import org.apache.lenya.workflow.WorkflowException; >+ >+/** >+ * Publish usecase handler. >+ * >+ * @version $Id$ >+ */ >+public class Publish extends DocumentUsecase implements DocumentVisitor { >+ >+ protected static final String MISSING_DOCUMENTS = "missingDocuments"; >+ protected static final String SUBTREE = "subtree"; >+ protected static final String ALLOW_SINGLE_DOCUMENT = "allowSingleDocument"; >+ protected static final String SCHEDULE = "schedule"; >+ protected static final String SCHEDULE_TIME = "schedule.time"; >+ >+ /** >+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters() >+ */ >+ protected void initParameters() { >+ super.initParameters(); >+ >+ Date now = new GregorianCalendar().getTime(); >+ DateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); >+ setParameter(SCHEDULE_TIME, format.format(now)); >+ } >+ >+ /** >+ * Checks if the workflow event is supported and the parent of the document exists in the live >+ * area. >+ * >+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckPreconditions() >+ */ >+ protected void doCheckPreconditions() throws Exception { >+ super.doCheckPreconditions(); >+ if (getErrorMessages().isEmpty()) { >+ >+ String event = getEvent(); >+ Document document = getSourceDocument(); >+ >+ if (!document.getArea().equals(Publication.AUTHORING_AREA)) { >+ addErrorMessage("This usecase can only be invoked from the authoring area."); >+ return; >+ } >+ >+ WorkflowManager wfManager = null; >+ try { >+ wfManager = (WorkflowManager) this.manager.lookup(WorkflowManager.ROLE); >+ if (!wfManager.canInvoke(getSourceDocument(), event)) { >+ setParameter(ALLOW_SINGLE_DOCUMENT, Boolean.toString(false)); >+ addInfoMessage("The single document cannot be published because the workflow event cannot be invoked."); >+ } else { >+ setParameter(ALLOW_SINGLE_DOCUMENT, Boolean.toString(true)); >+ } >+ } finally { >+ if (wfManager != null) { >+ this.manager.release(wfManager); >+ } >+ } >+ >+ Publication publication = document.getPublication(); >+ >+ Document liveDocument = publication.getAreaVersion(document, Publication.LIVE_AREA); >+ >+ List missingDocuments = new ArrayList(); >+ >+ SiteManager manager = publication.getSiteManager(); >+ Document[] requiredDocuments = manager.getRequiredResources(liveDocument); >+ for (int i = 0; i < requiredDocuments.length; i++) { >+ if (!manager.containsInAnyLanguage(requiredDocuments[i])) { >+ Document authoringVersion = publication.getAreaVersion(requiredDocuments[i], >+ Publication.AUTHORING_AREA); >+ missingDocuments.add(authoringVersion); >+ } >+ } >+ >+ if (!missingDocuments.isEmpty()) { >+ addErrorMessage("Cannot publish document unless the following documents are published:"); >+ setParameter(MISSING_DOCUMENTS, missingDocuments); >+ } >+ } >+ } >+ >+ /** >+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute() >+ */ >+ protected void doExecute() throws Exception { >+ >+ boolean schedule = Boolean.valueOf(getBooleanCheckboxParameter(SCHEDULE)).booleanValue(); >+ if (schedule) { >+ deleteParameter(SCHEDULE); >+ String dateString = getParameterAsString(SCHEDULE_TIME); >+ DateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); >+ UsecaseScheduler scheduler = null; >+ try { >+ Date date = null; >+ try { >+ date = format.parse(dateString); >+ } catch (ParseException e) { >+ addErrorMessage("The scheduler date must be of the form 'yyyy-MM-dd hh:mm:ss'."); >+ } >+ if (date != null) { >+ scheduler = (UsecaseScheduler) this.manager.lookup(UsecaseScheduler.ROLE); >+ scheduler.schedule(this, date); >+ } >+ } finally { >+ if (scheduler != null) { >+ this.manager.release(scheduler); >+ } >+ } >+ } else { >+ super.doExecute(); >+ if (isSubtreeEnabled()) { >+ publishAll(getSourceDocument()); >+ } else { >+ publish(getSourceDocument()); >+ } >+ } >+ } >+ >+ /** >+ * Publishes a document. >+ * @param authoringDocument The authoring document. >+ */ >+ protected void publish(Document authoringDocument) { >+ >+ WorkflowManager wfManager = null; >+ try { >+ wfManager = (WorkflowManager) this.manager.lookup(WorkflowManager.ROLE); >+ getDocumentManager().copyDocumentToArea(authoringDocument, Publication.LIVE_AREA); >+ wfManager.invoke(authoringDocument, getEvent()); >+ } catch (Exception e) { >+ throw new RuntimeException(e); >+ } finally { >+ if (wfManager != null) { >+ this.manager.release(wfManager); >+ } >+ } >+ } >+ >+ /** >+ * @return The event to invoke. >+ */ >+ private String getEvent() { >+ return "publish"; >+ } >+ >+ /** >+ * Publishes a document or the subtree below a document, based on the parameter SUBTREE. >+ * @param document The document. >+ */ >+ protected void publishAll(Document document) { >+ >+ if (getLogger().isDebugEnabled()) { >+ getLogger().debug("Publishing document [" + document + "]"); >+ getLogger().debug("Subtree publishing: [" + isSubtreeEnabled() + "]"); >+ } >+ >+ try { >+ >+ OrderedDocumentSet set = new OrderedDocumentSet(); >+ SiteManager manager = document.getPublication().getSiteManager(); >+ Document[] descendants = manager.getRequiringResources(document); >+ >+ set = new OrderedDocumentSet(descendants); >+ set.add(document); >+ set.visitAscending(this); >+ } catch (Exception e) { >+ throw new RuntimeException(e); >+ } >+ >+ if (getLogger().isDebugEnabled()) { >+ getLogger().debug("Publishing completed."); >+ } >+ } >+ >+ /** >+ * Returns whether subtree publishing is enabled. >+ * @return A boolean value. >+ */ >+ protected boolean isSubtreeEnabled() { >+ String value = getParameterAsString(SUBTREE); >+ return value != null; >+ } >+ >+ /** >+ * @throws PublicationException >+ * @see org.apache.lenya.cms.publication.util.DocumentVisitor#visitDocument(org.apache.lenya.cms.publication.Document) >+ */ >+ public void visitDocument(Document document) throws PublicationException { >+ >+ if (getLogger().isDebugEnabled()) { >+ getLogger().debug("Visiting resource [" + document + "]"); >+ } >+ >+ try { >+ publishAllLanguageVersions(document); >+ } catch (WorkflowException e) { >+ throw new PublicationException(e); >+ } >+ } >+ >+ /** >+ * Publishes all existing language versions of a document. >+ * @param document The document. >+ * @throws PublicationException if an error occurs. >+ * @throws WorkflowException >+ */ >+ protected void publishAllLanguageVersions(Document document) throws PublicationException, >+ WorkflowException { >+ String[] languages = document.getPublication().getLanguages(); >+ DocumentFactory factory = document.getIdentityMap().getFactory(); >+ >+ WorkflowManager wfManager = null; >+ try { >+ wfManager = (WorkflowManager) this.manager.lookup(WorkflowManager.ROLE); >+ for (int i = 0; i < languages.length; i++) { >+ Document version = factory.getLanguageVersion(document, languages[i]); >+ if (version.exists()) { >+ if (wfManager.canInvoke(version, getEvent())) { >+ publish(version); >+ } >+ } >+ } >+ } catch (Exception e) { >+ throw new RuntimeException(e); >+ } finally { >+ if (wfManager != null) { >+ this.manager.release(wfManager); >+ } >+ } >+ >+ } >+ >+} >\ No newline at end of file > >Property changes on: java/src/org/apache/lenya/defaultpub/cms/usecases/Publish.java >___________________________________________________________________ >Name: svn:keywords > + Id >Name: svn:eol-style > + native > >Index: java/src/org/apache/lenya/defaultpub/cms/usecases/Deactivate.java >=================================================================== >--- java/src/org/apache/lenya/defaultpub/cms/usecases/Deactivate.java (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ java/src/org/apache/lenya/defaultpub/cms/usecases/Deactivate.java (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1,211 @@ >+/* >+ * Copyright 1999-2004 The Apache Software Foundation >+ * >+ * Licensed under the Apache License, Version 2.0 (the "License"); >+ * you may not use this file except in compliance with the License. >+ * You may obtain a copy of the License at >+ * >+ * http://www.apache.org/licenses/LICENSE-2.0 >+ * >+ * Unless required by applicable law or agreed to in writing, software >+ * distributed under the License is distributed on an "AS IS" BASIS, >+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >+ * See the License for the specific language governing permissions and >+ * limitations under the License. >+ * >+ */ >+package org.apache.lenya.defaultpub.cms.usecases; >+ >+import org.apache.avalon.framework.service.ServiceException; >+import org.apache.lenya.cms.publication.Document; >+import org.apache.lenya.cms.publication.DocumentFactory; >+import org.apache.lenya.cms.publication.Publication; >+import org.apache.lenya.cms.publication.PublicationException; >+import org.apache.lenya.cms.publication.util.DocumentVisitor; >+import org.apache.lenya.cms.publication.util.OrderedDocumentSet; >+import org.apache.lenya.cms.site.SiteManager; >+import org.apache.lenya.cms.usecase.DocumentUsecase; >+import org.apache.lenya.cms.workflow.WorkflowManager; >+import org.apache.lenya.workflow.WorkflowException; >+ >+/** >+ * Deactivate usecase handler. >+ * >+ * @version $Id:$ >+ */ >+public class Deactivate extends DocumentUsecase implements DocumentVisitor { >+ >+ /** >+ * Checks if the workflow event is supported and the parent of the document >+ * exists in the live area. >+ * >+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckPreconditions() >+ */ >+ protected void doCheckPreconditions() throws Exception { >+ super.doCheckPreconditions(); >+ if (getErrorMessages().isEmpty()) { >+ >+ if (!getSourceDocument().getArea().equals(Publication.AUTHORING_AREA)) { >+ addErrorMessage("This usecase can only be invoked from the authoring area."); >+ return; >+ } >+ >+ String event = getEvent(); >+ >+ WorkflowManager wfManager = null; >+ try { >+ wfManager = (WorkflowManager) this.manager.lookup(WorkflowManager.ROLE); >+ if (!wfManager.canInvoke(getSourceDocument(), event)) { >+ setParameter(Publish.ALLOW_SINGLE_DOCUMENT, Boolean.toString(false)); >+ addInfoMessage("The single document cannot be deactivated because the workflow event cannot be invoked."); >+ } else { >+ setParameter(Publish.ALLOW_SINGLE_DOCUMENT, Boolean.toString(true)); >+ } >+ } finally { >+ if (wfManager != null) { >+ this.manager.release(wfManager); >+ } >+ } >+ >+ } >+ } >+ >+ /** >+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute() >+ */ >+ protected void doExecute() throws Exception { >+ super.doExecute(); >+ if (isSubtreeEnabled()) { >+ deactivateAll(getSourceDocument()); >+ } else { >+ deactivate(getSourceDocument()); >+ } >+ } >+ >+ /** >+ * Deactivates a document. >+ * @param authoringDocument The authoring document. >+ */ >+ protected void deactivate(Document authoringDocument) { >+ >+ Publication publication = authoringDocument.getPublication(); >+ boolean success = false; >+ >+ WorkflowManager wfManager = null; >+ try { >+ wfManager = (WorkflowManager) this.manager.lookup(WorkflowManager.ROLE); >+ Document liveDocument = publication.getAreaVersion(authoringDocument, >+ Publication.LIVE_AREA); >+ getDocumentManager().deleteDocument(liveDocument); >+ >+ wfManager.invoke(authoringDocument, getEvent()); >+ success = true; >+ } catch (Exception e) { >+ throw new RuntimeException(e); >+ } finally { >+ if (getLogger().isDebugEnabled()) { >+ getLogger().debug("Deactivate document [" + authoringDocument + "]. Success: [" >+ + success + "]"); >+ } >+ if (wfManager != null) { >+ this.manager.release(wfManager); >+ } >+ } >+ >+ } >+ >+ /** >+ * @return The event to invoke. >+ */ >+ private String getEvent() { >+ return "deactivate"; >+ } >+ >+ /** >+ * Deactivates a document or the subtree below a document, based on the >+ * parameter SUBTREE. >+ * @param document The document. >+ */ >+ protected void deactivateAll(Document document) { >+ >+ if (getLogger().isDebugEnabled()) { >+ getLogger().debug("Deactivating document [" + document + "]"); >+ getLogger().debug("Subtree deactivation: [" + isSubtreeEnabled() + "]"); >+ } >+ >+ try { >+ >+ OrderedDocumentSet set = new OrderedDocumentSet(); >+ SiteManager manager = document.getPublication().getSiteManager(); >+ Document[] descendants = manager.getRequiringResources(document); >+ >+ set = new OrderedDocumentSet(descendants); >+ set.add(document); >+ set.visitDescending(this); >+ } catch (Exception e) { >+ throw new RuntimeException(e); >+ } >+ >+ if (getLogger().isDebugEnabled()) { >+ getLogger().debug("Publishing completed."); >+ } >+ } >+ >+ /** >+ * Returns whether subtree publishing is enabled. >+ * @return A boolean value. >+ */ >+ protected boolean isSubtreeEnabled() { >+ String value = getParameterAsString(Publish.SUBTREE); >+ return value != null; >+ } >+ >+ /** >+ * @throws PublicationException >+ * @see org.apache.lenya.cms.publication.util.DocumentVisitor#visitDocument(org.apache.lenya.cms.publication.Document) >+ */ >+ public void visitDocument(Document document) throws PublicationException { >+ >+ if (getLogger().isDebugEnabled()) { >+ getLogger().debug("Visiting resource [" + document + "]"); >+ } >+ >+ try { >+ deactivateAllLanguageVersions(document); >+ } catch (WorkflowException e) { >+ throw new PublicationException(e); >+ } >+ } >+ >+ /** >+ * Publishes all existing language versions of a document. >+ * @param document The document. >+ * @throws PublicationException if an error occurs. >+ * @throws WorkflowException >+ */ >+ protected void deactivateAllLanguageVersions(Document document) throws PublicationException, >+ WorkflowException { >+ String[] languages = document.getPublication().getLanguages(); >+ DocumentFactory factory = document.getIdentityMap().getFactory(); >+ WorkflowManager wfManager = null; >+ try { >+ wfManager = (WorkflowManager) this.manager.lookup(WorkflowManager.ROLE); >+ for (int i = 0; i < languages.length; i++) { >+ Document version = factory.getLanguageVersion(document, languages[i]); >+ if (version.exists()) { >+ if (wfManager.canInvoke(getSourceDocument(), getEvent())) { >+ deactivate(version); >+ } >+ } >+ } >+ } catch (ServiceException e) { >+ throw new RuntimeException(e); >+ } finally { >+ if (wfManager != null) { >+ this.manager.release(wfManager); >+ } >+ } >+ >+ } >+ >+} >\ No newline at end of file >Index: parameter-doctype.xmap >=================================================================== >--- parameter-doctype.xmap (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ parameter-doctype.xmap (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -20,11 +20,6 @@ > <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> > > <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:action logger="sitemap.action.sourcetype" name="sourcetype" src="org.apache.cocoon.acting.sourcetype.SourceTypeAction"> > <sourcetype name="xhtml"> >@@ -37,10 +32,6 @@ > </map:actions> > </map:components> > >- <map:views/> >- >- <map:resources/> >- > <map:pipelines> > > <map:pipeline> >@@ -56,24 +47,24 @@ > <map:pipeline> > <!-- {area}/{uri} --> > <map:match pattern="*/**.html"> >- <map:act type="sourcetype" src="content/{1}/{page-envelope:document-path}"> >- <map:generate type="serverpages" src="../../config/parameters/default.xsp"> >- <map:parameter name="value" value="{sourcetype}"/> >- </map:generate> >- <map:serialize type="xml"/> >- </map:act> >+ <map:act type="sourcetype" src="fallback://content/{1}/{page-envelope:document-path}"> >+ <map:generate type="serverpages" src="../../config/parameters/default.xsp"> >+ <map:parameter name="value" value="{sourcetype}"/> >+ </map:generate> >+ <map:serialize type="xml"/> >+ </map:act> > </map:match> > </map:pipeline> > > <map:pipeline> > <!-- {area}/{uri} --> > <map:match pattern="*/**.xml"> >- <map:act type="sourcetype" src="content/{1}/{2}.xml"> >- <map:generate type="serverpages" src="../../config/parameters/default.xsp"> >- <map:parameter name="value" value="{sourcetype}"/> >- </map:generate> >- <map:serialize type="xml"/> >- </map:act> >+ <map:act type="sourcetype" src="fallback://content/{1}/{2}.xml"> >+ <map:generate type="serverpages" src="../../config/parameters/default.xsp"> >+ <map:parameter name="value" value="{sourcetype}"/> >+ </map:generate> >+ <map:serialize type="xml"/> >+ </map:act> > </map:match> > </map:pipeline> > >Index: xslt/page2xhtml.xsl >=================================================================== >--- xslt/page2xhtml.xsl (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ xslt/page2xhtml.xsl (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -24,9 +24,7 @@ > xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0" > xmlns:lenya="http://apache.org/cocoon/lenya/page-envelope/1.0" > xmlns:dc="http://purl.org/dc/elements/1.1/" >- xmlns:dcterms="http://purl.org/dc/terms/" >- xmlns:i18n="http://apache.org/cocoon/i18n/2.1" >- exclude-result-prefixes="page xhtml" >+ exclude-result-prefixes="page xhtml dc lenya" > > > > >@@ -39,13 +37,24 @@ > <!-- The rquest url i.e. /lenya/doctypes/xhtml-document_en.html --> > <xsl:param name="url"/> > >+<xsl:param name="document-type"/> > > <xsl:template match="cmsbody"> > <html> > <head> > <link rel="stylesheet" href="{$root}/css/page.css" type="text/css"/> >+ <!-- Load doctype-specific CSS --> >+ <xsl:choose> >+ <xsl:when test="$document-type"> >+ <link rel="stylesheet" href="{$root}/css/{$document-type}.css" type="text/css"/> >+ </xsl:when> >+ <xsl:otherwise> >+ <!-- do nothing --> >+ </xsl:otherwise> >+ </xsl:choose> > <meta content="Apache Lenya" name="generator"/> > <title><xsl:value-of select="//lenya:meta/dc:title"/></title> >+ <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/> > </head> > <body> > <div id="page"> >@@ -58,7 +67,7 @@ > <xsl:apply-templates select="xhtml:div[@id = 'tabs']"/> > <table width="100%" border="0" cellpadding="0" cellspacing="0"> > <tr> >- <td valign="top" width="230px"> >+ <td valign="top" style="width: 230px"> > <xsl:apply-templates select="xhtml:div[@id = 'menu']"/> > </td> > <td valign="top"> >@@ -69,50 +78,12 @@ > </div> > </td> > </tr> >- <tr> >- <td colspan="2" valign="top"> >- <div id="footer"> >- <xsl:apply-templates select="lenya:meta/dcterms:modified"/> >- <xsl:apply-templates select="lenya:meta/dc:publisher"/> >- </div> >- </td> >- </tr> > </table> > </div> > </body> > </html> > </xsl:template> > >-<xsl:template match="dcterms:modified"> >- <xsl:variable name="date"><xsl:value-of select="."/></xsl:variable> >- <i18n:text>last_published</i18n:text>: >- <xsl:if test="$date!=''"> >- <i18n:date-time src-pattern="yyyy-MM-dd HH:mm:ss" pattern="EEE, d MMM yyyy HH:mm:ss z" value="{$date}"/> >- </xsl:if> >-</xsl:template> >- >-<xsl:template match="dc:publisher"> >- <xsl:variable name="user"><xsl:value-of select="."/></xsl:variable> >- <xsl:variable name="user-id"><xsl:value-of select="substring-before($user,'|')"/></xsl:variable> >- <xsl:variable name="rest"><xsl:value-of select="substring-after($user,'|')"/></xsl:variable> >- <xsl:variable name="user-name"><xsl:value-of select="substring-before($rest,'|')"/></xsl:variable> >- <xsl:variable name="user-email"><xsl:value-of select="substring-after($rest,'|')"/></xsl:variable> >- >- <xsl:if test="$user != ''"> >- <xsl:choose> >- <xsl:when test="$user-email != ''"> >- / <a> >- <xsl:attribute name="href"><xsl:value-of select="concat('mailto:',$user-email)"/></xsl:attribute> >- <xsl:value-of select="$user-name"/> >- </a> >- </xsl:when> >- <xsl:otherwise> >- / <xsl:value-of select="$user-name"/> >- </xsl:otherwise> >- </xsl:choose> >- </xsl:if> >-</xsl:template> >- > <xsl:template match="@*|node()" priority="-1"> > <xsl:copy> > <xsl:apply-templates select="@*|node()"/> >Index: xslt/xhtml2xhtml.xsl >=================================================================== >--- xslt/xhtml2xhtml.xsl (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ xslt/xhtml2xhtml.xsl (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -83,9 +83,6 @@ > > <!-- this template converts the object tag to img (for compatiblity with older browsers > for more, see http://www.xml.com/pub/a/2003/07/02/dive.html --> >- >- <!-- TODO: Extract all object templates into a separate xslt, >- since we have dublicated code in content2edit.xsl in kupu /roku --> > <xsl:template name="object2img"> > <img border="0"> > <xsl:attribute name="src"> >@@ -98,7 +95,6 @@ > </xsl:otherwise> > </xsl:choose> > </xsl:attribute> >- > <xsl:attribute name="alt"> > <!-- the overwritten title (stored in @name) has precedence over dc:title --> > <xsl:choose> >Index: xslt/page2xhtml-homepage.xsl >=================================================================== >--- xslt/page2xhtml-homepage.xsl (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ xslt/page2xhtml-homepage.xsl (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -19,6 +19,6 @@ > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > > > >-<xsl:import href="page2xhtml.xsl"/> >+<xsl:import href="fallback://xslt/page2xhtml.xsl"/> > > </xsl:stylesheet> >Index: xslt/links2xhtml.xsl >=================================================================== >--- xslt/links2xhtml.xsl (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ xslt/links2xhtml.xsl (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -1,4 +1,4 @@ >-<?xml version="1.0"?> >+<?xml version="1.0" encoding="UTF-8"?> > > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >@@ -6,21 +6,22 @@ > xmlns="http://www.w3.org/1999/xhtml" > > > >-<xsl:template match="default:links"> >-<div id="body"> >-<h1><xsl:value-of select="default:title"/></h1> >-<ul> >-<xsl:apply-templates select="default:link"/> >-</ul> >-</div> >-</xsl:template> >+ <!-- default parameter value --> >+ <xsl:param name="rendertype" select="''"/> > >-<xsl:template match="default:link"> >-<li> >-<a href="{@href}"> >-<xsl:value-of select="."/> >-</a> >-</li> >-</xsl:template> >+ <xsl:template match="default:links"> >+ <div id="body"> >+ <h1><xsl:value-of select="default:title"/></h1> >+ <ul> >+ <xsl:apply-templates select="default:link"/> >+ </ul> >+ </div> >+ </xsl:template> >+ >+ <xsl:template match="default:link"> >+ <li> >+ <a href="{@href}"><xsl:value-of select="."/></a> >+ </li> >+ </xsl:template> > > </xsl:stylesheet> >Index: xslt/upload.xsl >=================================================================== >--- xslt/upload.xsl (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ xslt/upload.xsl (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -5,6 +5,8 @@ > > <xsl:import href="upload-generic.xsl"/> > >+ <!--<xsl:template name="title">Import Article (SGML)</xsl:template>--> >+ > <xsl:template name="fields"> > <form method="POST" enctype="multipart/form-data"> > >Index: xslt/homepage2xhtml.xsl >=================================================================== >--- xslt/homepage2xhtml.xsl (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ xslt/homepage2xhtml.xsl (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -19,6 +19,6 @@ > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > > > >-<xsl:import href="xhtml2xhtml.xsl"/> >+<xsl:import href="fallback://xslt/xhtml2xhtml.xsl"/> > > </xsl:stylesheet> >Index: xslt/page2xhtml-xhtml.xsl >=================================================================== >--- xslt/page2xhtml-xhtml.xsl (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ xslt/page2xhtml-xhtml.xsl (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -4,6 +4,6 @@ > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > > > >-<xsl:import href="page2xhtml.xsl"/> >- >+<xsl:import href="fallback://xslt/page2xhtml.xsl"/> >+ > </xsl:stylesheet> >Index: xslt/page2xhtml-links.xsl >=================================================================== >--- xslt/page2xhtml-links.xsl (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ xslt/page2xhtml-links.xsl (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -19,6 +19,6 @@ > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > > > >-<xsl:import href="page2xhtml.xsl"/> >+<xsl:import href="fallback://xslt/page2xhtml.xsl"/> > > </xsl:stylesheet> >Index: menus.xmap >=================================================================== >--- menus.xmap (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ menus.xmap (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -15,7 +15,7 @@ > limitations under the License. > --> > >-<!-- $Id: menus.xmap,v 1.6 2004/09/01 17:25:07 michi Exp $ --> >+<!-- $Id$ --> > > <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> > >@@ -39,14 +39,16 @@ > </map:match> > > <!-- document type: links --> >+ <!-- > <map:match type="doctype" pattern="links"> > <map:generate type="serverpages" src="config/menus/links.xsp"/> > <map:serialize type="xml"/> > </map:match> >+ --> > > <!-- all other document types: xhtml, ... --> > <map:match pattern="**"> >- <map:generate type="serverpages" src="config/menus/generic.xsp"/> >+ <map:generate type="serverpages" src="fallback://lenya/cmsmenus.xsp"/> > <map:serialize type="xml"/> > </map:match> > >Index: doctypes.xmap >=================================================================== >--- doctypes.xmap (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ doctypes.xmap (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -19,25 +19,18 @@ > > <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> > >- <map:components/> >- >- <map:views> >- </map:views> >- >- <map:resources/> >- > <map:pipelines> > >- <!-- View Revision? --> > <map:pipeline> >+ <!-- View Revision? --> > <map:match pattern="*/*/*/**.xml"> > <map:match type="step" pattern="view-revision"> > <map:generate type="serverpages" src="../../content/rc/view.xsp"> > </map:generate> > <map:transform src="../../xslt/rc/toDoc.xsl"/> >- <map:transform src="xslt/{../3}2xhtml.xsl"> >+ <map:transform src="fallback://xslt/{../3}2xhtml.xsl"> > <map:parameter name="rendertype" value="{1}"/> >- <map:parameter name="nodeid" value="{page-envelope:document-node-id}"/> >+ <map:parameter name="nodeid" value="{page-envelope:document-name}"/> > <map:parameter name="language" value="{page-envelope:document-language}"/> > </map:transform> > <map:serialize type="xml"/> >@@ -47,10 +40,10 @@ > <!-- parametrized doctype matcher --> > <!-- pattern="{rendertype}/{area}/{doctype}/{document-path}" --> > <map:match pattern="*/*/*/**.xml"> >- <map:generate src="content/{2}/{4}.xml"/> >- <map:transform src="xslt/{3}2xhtml.xsl"> >+ <map:generate src="lenya:/{4}.xml"/> >+ <map:transform src="fallback://xslt/{3}2xhtml.xsl"> > <map:parameter name="rendertype" value="{1}"/> >- <map:parameter name="nodeid" value="{page-envelope:document-node-id}"/> >+ <map:parameter name="nodeid" value="{page-envelope:document-name}"/> > <map:parameter name="language" value="{page-envelope:document-language}"/> > </map:transform> > <map:serialize type="xml"/> >Index: config/ac/passwd/ldap.properties.sample >=================================================================== >--- config/ac/passwd/ldap.properties.sample (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ config/ac/passwd/ldap.properties.sample (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -1,6 +1,6 @@ > ############################################################################# > # File: ldap.properties.sample >-# $Id: $ >+# $Id$ > ############################################################################# > > ############################################################################# >@@ -52,8 +52,3 @@ > mgr-pw= > key-store=.keystore > security-protocol=ssl >- >- >-# this property is no longer used (deprecated) ! >-# partial-user-dn=ou=Others,dc=interactivesystems,dc=info >- > >Property changes on: config/ac/passwd/ldap.properties.sample >___________________________________________________________________ >Name: svn:keywords > + Id >Name: svn:eol-style > + native > >Index: config/ac/usecase-policies.xml >=================================================================== >--- config/ac/usecase-policies.xml (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ config/ac/usecase-policies.xml (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -30,7 +30,7 @@ > <usecase id="restore"> > <role id="edit"/> > </usecase> >- >+ > <usecase id="userChangeProfile"><role id="edit"/><role id="admin"/></usecase> > <usecase id="userChangePasswordUser"><role id="edit"/></usecase> > <usecase id="userChangePasswordAdmin"><role id="admin"/></usecase> >Index: config/tasks/tasks.xconf >=================================================================== >--- config/tasks/tasks.xconf (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ config/tasks/tasks.xconf (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -25,54 +25,6 @@ > <parameter name="properties.text" value="The test was successful."/> > </task> > >- <task id="publish"> >- <label>Publish and Export</label> >- <task id="publish" class="org.apache.lenya.defaultpub.cms.task.Publish"/> >- <task id="delect-cache" class="org.apache.lenya.cms.task.AntTask"> >- <label>Delete Cache</label> >- <parameter name="target" value="deletecache"/> >- <parameter name="properties.cachedir" value="work/cache"/> >- </task> >-<!-- >- <task id="export" class="org.apache.lenya.cms.publishing.StaticHTMLExporter"> >- <parameter name="export-path" value="work/export/pending"/> >- <parameter name="substitute-regexp" value="/lenya/live/"/> >- <parameter name="substitute-replacement" value="/"/> >- <parameter name="my-server-port" value="1313"/> >- </task> >---> >- </task> >- >- <task id="deactivateDocument" class="org.apache.lenya.defaultpub.cms.task.Deactivate"> >- <label>Deactivate</label> >- </task> >- >- >- <task id="create" class="org.apache.lenya.cms.task.AntTask"> >- <label>Create</label> >- <parameter name="target" value="create"/> >- </task> >- >- <task id="create-language" class="org.apache.lenya.cms.task.AntTask"> >- <label>CreateLanguage</label> >- <parameter name="target" value="create-language"/> >- </task> >- >- <task id="remove-language" class="org.apache.lenya.cms.task.AntTask"> >- <label>RemoveLanguage</label> >- <parameter name="target" value="remove-language"/> >- </task> >- >- <task id="rename-label" class="org.apache.lenya.cms.task.AntTask"> >- <label>Edit Navigation Title</label> >- <parameter name="target" value="rename-label"/> >- </task> >- >- <task id="change-visibility" class="org.apache.lenya.cms.task.AntTask"> >- <label>Change Node Visibility</label> >- <parameter name="target" value="change-visibility"/> >- </task> >- > <task id="save-meta-data" class="org.apache.lenya.cms.task.AntTask"> > <label>SaveMetaData</label> > <parameter name="target" value="save-meta-data"/> >@@ -88,16 +40,6 @@ > <parameter name="target" value="moveDocument"/> > </task> > >- <task id="renameDocument" class="org.apache.lenya.cms.task.AntTask"> >- <label>RenameDocument</label> >- <parameter name="target" value="renameDocument"/> >- </task> >- >- <task id="movenode" class="org.apache.lenya.cms.task.AntTask"> >- <label>Move Node</label> >- <parameter name="target" value="movenode"/> >- </task> >- > <task id="deleteDocument" class="org.apache.lenya.cms.task.AntTask"> > <label>DeleteDocument</label> > <parameter name="target" value="deleteDocument"/> >Index: config/tasks/targets.xml >=================================================================== >--- config/tasks/targets.xml (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ config/tasks/targets.xml (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -77,6 +77,8 @@ > > <target name="test"> > <echo>This is a test of the AntTask: ${text}</echo> >+ <taskdef name="ant-test" classname="org.apache.lenya.cms.ant.TestTask"/> >+ <ant-test/> > </target> > > >@@ -103,185 +105,7 @@ > /> > </target> > >- <taskdef name="init-history" classname="org.apache.lenya.cms.ant.InitWorkflowHistoryTask"/> >- <target name="create"> >- >- <property name="create.parent-id" value=""/> >- <property name="create.child-id" value=""/> >- <property name="create.child-name" value=""/> >- <property name="create.child-type" value=""/> >- <property name="create.doctype" value=""/> >- <property name="create.language" value=""/> >- <property name="create.title" value=""/> >- <property name="create.creator" value=""/> >- <property name="create.description" value=""/> >- <property name="create.subject" value=""/> >- <property name="create.publisher" value=""/> >- <property name="create.date" value=""/> >- <property name="create.rights" value=""/> >- <property name="create.columns" value=""/> >- <property name="create.userid" value=""/> >- <property name="create.ipaddress" value=""/> >- <property name="create.visible" value=""/> >- >- <taskdef name="create" classname="org.apache.lenya.cms.ant.DocumentCreatorTask"/> >- <create >- authoringpath="${authoring.dir}" >- area="${authoring.area}" >- parentid="${create.parent-id}" >- childid="${create.child-id}" >- childname="${create.child-name}" >- childtype="${create.child-type}" >- documenttype="${create.doctype}" >- language="${create.language}" >- visibleinnav="${create.visible}" >- /> >- >- <!-- Init the workflow history --> >- <echo>init the workflow history with document-id: ${create.parent-id}/${create.child-id}</echo> >- <echo>with document-type: ${create.doctype}</echo> >- <echo>with language: ${create.language}</echo> >- <echo>with user ID: ${create.userid}</echo> >- <echo>with IP address: ${create.ipaddress}</echo> >- <init-history >- documentid="${create.parent-id}/${create.child-id}" >- documenttype="${create.doctype}" >- language="${create.language}" >- userid="${create.userid}" >- machineip="${create.ipaddress}" >- /> >- >- <!-- Add the meta data to the newly created file. --> >- <property name="document.file" value=""/> >- <mapdocumentidtofile >- area="${authoring.area}" >- documentid="${create.parent-id}/${create.child-id}" >- language="${create.language}" >- propertyname="document.file" >- /> >- <tempfile property="temp.file" destDir="work"/> >- <xslt in="${document.file}" >- out="${temp.file}" >- force="true" >- style="${pub.dir}/../../xslt/authoring/addMetaData.xsl"> >- <param name="title" expression="${create.title}"/> >- <param name="creator" expression="${create.creator}"/> >- <param name="subject" expression="${create.subject}"/> >- <param name="description" expression="${create.description}"/> >- <param name="language" expression="${create.language}"/> >- <param name="publisher" expression="${create.publisher}"/> >- <param name="date" expression="${create.date}"/> >- <param name="rights" expression="${create.rights}"/> >- <param name="columns" expression="${create.columns}"/> >- </xslt> >- <move file="${temp.file}" tofile="${document.file}"/> >- </target> >- >- <!-- Create a copy of an existing document for a new language --> >- <target name="create-language"> >- >- <property name="create.document-id" value=""/> >- <property name="create.doctype" value=""/> >- <property name="create.child-name" value=""/> >- <property name="create.old.language" value=""/> >- <property name="create.new.language" value=""/> >- <property name="create.title" value=""/> >- <property name="create.creator" value=""/> >- <property name="create.description" value=""/> >- <property name="create.subject" value=""/> >- <property name="create.publisher" value=""/> >- <property name="create.date" value=""/> >- <property name="create.rights" value=""/> >- <property name="create.userid" value=""/> >- <property name="create.ipaddress" value=""/> >- >- <!-- Add a node to the tree --> >- <taskdef name="insertlabel" classname="org.apache.lenya.cms.ant.InsertLabelTask"/> >- <insertlabel >- documentid="${create.document-id}" >- labelName="${create.child-name}" >- language="${create.new.language}" >- area="${authoring.area}" >- /> > >- <!-- Init the workflow history --> >- <echo>init the workflow history with document-id: ${create.document-id}</echo> >- <echo>with document-type: ${create.doctype}</echo> >- <echo>with language: ${create.new.language}</echo> >- <init-history >- documentid="${create.document-id}" >- documenttype="${create.doctype}" >- language="${create.new.language}" >- userid="${create.userid}" >- machineip="${create.ipaddress}" >- /> >- >- <!-- Copy the existing file over --> >- <property name="document.old.file" value=""/> >- <mapdocumentidtofile >- area="${authoring.area}" >- documentid="${create.document-id}" >- language="${create.old.language}" >- propertyname="document.old.file" >- /> >- <echo>Old file: ${document.old.file}</echo> >- <property name="document.new.file" value=""/> >- <mapdocumentidtofile >- area="${authoring.area}" >- documentid="${create.document-id}" >- language="${create.new.language}" >- propertyname="document.new.file" >- /> >- <echo>New file: ${document.new.file}</echo> >- >- <echo>Add the meta data to the newly created file: ${document.new.file}</echo> >- <!-- Add the meta data to the newly created file. --> >- <xslt in="${document.old.file}" >- out="${document.new.file}" >- force="true" >- style="${pub.dir}/../../xslt/authoring/addMetaData.xsl"> >- <param name="title" expression="${create.title}"/> >- <param name="creator" expression="${create.creator}"/> >- <param name="subject" expression="${create.subject}"/> >- <param name="description" expression="${create.description}"/> >- <param name="language" expression="${create.new.language}"/> >- <param name="publisher" expression="${create.publisher}"/> >- <param name="date" expression="${create.date}"/> >- <param name="rights" expression="${create.rights}"/> >- </xslt> >- </target> >- >- <!-- Remove a language from an existing document --> >- <target name="remove-language"> >- >- <property name="remove.label.document-id" value=""/> >- <property name="remove.label.label-name" value=""/> >- <property name="remove.label.language" value=""/> >- >- <!-- Remove a label from a node in the tree --> >- <echo>Remove label: ${remove.label.label-name}</echo> >- <echo>for language: ${remove.label.language}</echo> >- <echo>from document: ${remove.label.document-id}</echo> >- <echo>in area: ${authoring.area}</echo> >- <taskdef name="removelabel" classname="org.apache.lenya.cms.ant.RemoveLabelTask"/> >- <removelabel >- documentid="${remove.label.document-id}" >- labelName="${remove.label.label-name}" >- language="${remove.label.language}" >- area="${authoring.area}" >- /> >- <!-- Remove the language document --> >- <property name="document.file" value=""/> >- <mapdocumentidtofile >- area="${authoring.area}" >- documentid="${remove.label.document-id}" >- language="${remove.label.language}" >- propertyname="document.file" >- /> >- <echo>Remove file: ${document.file}</echo> >- <delete file="${document.file}"/> >- </target> >- > <!-- Save the dublin core meta data --> > <target name="save-meta-data"> > >@@ -396,16 +220,6 @@ > <echo>the document id for the copy is now ${node.newdocumentid}</echo> > </target> > >- <target name = "newnamedocumentid"> >- <taskdef name="computerenamedocumentid" classname="org.apache.lenya.cms.ant.ComputeRenameDocumentId"/> >- <computerenamedocumentid >- area="authoring" >- firstdocumentid="${node.firstdocumentid}" >- secdocumentid="${node.secdocumentid}" >- /> >- <echo>the document id for the renamed file is now ${node.newdocumentid}</echo> >- </target> >- > <taskdef name="computearchivedocumentid" classname="org.apache.lenya.cms.ant.ComputeArchiveDocumentId"/> > > <target name = "newarchivedocumentid"> >@@ -623,48 +437,13 @@ > > </target> > >- <taskdef name="renameLabel" classname="org.apache.lenya.cms.ant.RenameLabelTask"/> >- >- <target name = "rename-label"> >- <property name="rename.label.document-id" value=""/> >- <property name="rename.label.label-name" value=""/> >- <property name="rename.label.language" value=""/> >- <property name="rename.label.area" value=""/> >- >- <echo>Rename Label</echo> >- <renameLabel >- documentid="${rename.label.document-id}" >- labelName="${rename.label.label-name}" >- language="${rename.label.language}" >- area="${rename.label.area}" >- /> >- </target> > >- <taskdef name="changeVisibility" classname="org.apache.lenya.cms.ant.ChangeVisibilityTask"/> >- >- <target name = "change-visibility"> >- <property name="change.visibility.document-id" value=""/> >- <property name="change.visibility.area" value=""/> >- >- <echo>Change Visibility</echo> >- <changeVisibility >- documentid="${change.visibility.document-id}" >- area="${change.visibility.area}" >- /> >- </target> >- > <target name = "moveDocument" depends="firstareaproperties, > secareaproperties, newcopydocumentid, firstdocumentpath, > secdocumentpath, move, rewrite-links"> > <echo>moveDocument</echo> > </target> > >-<target name = "renameDocument" depends="firstareaproperties, >- secareaproperties, newnamedocumentid, firstdocumentpath, >- secdocumentpath, move, rewrite-links"> >- <echo>renameDocument</echo> >-</target> >- > <target name = "setIdentifier"> > <taskdef name="setidentifier" classname="org.apache.lenya.cms.ant.SetIdentifier"/> > <setidentifier >@@ -713,20 +492,6 @@ > > </target> > >-<target name="movenode"> >- <property name="movenode.documentid" value=""/> >- <property name="movenode.direction" value=""/> >- >- <echo>Moving sitetree node</echo> >- <echo>Document ID: ${movenode.documentid}</echo> >- <echo>Direction: ${movenode.direction}</echo> >- >- <taskdef name="movenodeupdown" classname="org.apache.lenya.cms.ant.MoveSiteTreeNodeTask"/> >- <movenodeupdown >- documentid="${movenode.documentid}" >- direction="${movenode.direction}" >- /> >-</target> > > <target name="deletecache"> > <delete dir="${cachedir}"/> >Index: config/publication.xconf >=================================================================== >--- config/publication.xconf (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ config/publication.xconf (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -17,7 +17,7 @@ > > <!-- $Id$ --> > >-<publication> >+<publication supports-templating="true"> > <languages> > <language default="true">en</language> > <language>de</language> >@@ -26,7 +26,7 @@ > <document-builder>org.apache.lenya.cms.publication.DefaultDocumentBuilder</document-builder> > <breadcrumb-prefix/> > >- <!-- >+ <!-- > For information about these settings, read > http://lenya.apache.org/docs/1_2_x/components/deployment/proxying.html > >@@ -36,6 +36,4 @@ > <proxy area="authoring" ssl="false" url="http://www.host.com/lenya/authoring"/> > --> > >- <link-attribute xpath="//*[namespace-uri() = 'http://www.w3.org/1999/xhtml']/@href"/> >- > </publication> >Index: config/menus/links.xsp >=================================================================== >--- config/menus/links.xsp (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ config/menus/links.xsp (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -36,8 +36,6 @@ > <menu> > > <xsp:logic> >- String projectid = parameters.getParameter("projectid","null"); >- > String xmlSource = <input:get-attribute module="page-envelope" as="string" name="document-path"/>; > String documentId = <input:get-attribute module="page-envelope" as="string" name="context-prefix"/> + "/" + <input:get-attribute module="page-envelope" as="string" name="publication-id"/> + "/authoring" + <input:get-attribute module="page-envelope" as="string" name="document-id"/> + "_" + <input:get-attribute module="page-envelope" as="string" name="document-language"/>; > String urisParameter = "uris=" + <input:get-attribute module="page-envelope" as="string" name="context-prefix"/> + "/" + <input:get-attribute module="page-envelope" as="string" name="publication-id"/> + "/live" + <input:get-attribute module="page-envelope" as="string" name="document-url"/>; >@@ -69,37 +67,34 @@ > </xsp:logic> > > <menus> >- <menu i18n:attr="name" name="File" label="File"> >+ <menu i18n:attr="name" name="File"> > <block> >- <item uc:usecase="logout" href="?"><i18n:text>Logout</i18n:text></item> >+ <item uc:usecase="ac.logout" href="?"><i18n:text>Logout</i18n:text></item> > </block> > </menu> > >- <menu i18n:attr="name" name="Edit" label="Search"> >+ <menu i18n:attr="name" name="Edit"> > > <block info="false"> >- <!-- XSLT not finished yet --> >- <!--<item uc:usecase="edit" uc:step="open"><xsp:attribute name="href"><xsp:expr>"?form=" + docType</xsp:expr></xsp:attribute><i18n:text>Edit with Forms</i18n:text></item>--> > <item uc:usecase="1formedit" uc:step="open" href="?"><i18n:text>Edit with one Form</i18n:text></item> > </block> > </menu> > >- <menu i18n:attr="name" name="Workflow" label="Help"> >+ <menu i18n:attr="name" name="Workflow"> > </menu> > >- <menu i18n:attr="name" name="Help" label="Debug"> >- <block> >- <item><xsp:attribute name="href">http://lenya.apache.org/docs/index.html</xsp:attribute><i18n:text>System Documentation</i18n:text></item> >- <item href="http://wiki.apache.org/lenya/"><i18n:text>Wiki</i18n:text></item> >- </block> >- <block> >- <item><xsp:attribute name="href"><xsp-request:get-context-path/>/index.html</xsp:attribute><i18n:text>Apache Lenya Homepage</i18n:text></item> >- <item><xsp:attribute name="href"><xsp-request:get-context-path/>/about.html</xsp:attribute><i18n:text>About Apache Lenya</i18n:text></item> >- </block> >- >+ <menu i18n:attr="name" name="Help"> > <block> >+ <item href="http://lenya.apache.org/docs/index.html"><i18n:text>Documentation</i18n:text></item> >+ <item href="http://wiki.apache.org/lenya/"><i18n:text>Wiki</i18n:text></item> >+ </block> >+ <block> >+ <item><xsp:attribute name="href"><xsp-request:get-context-path/>/index.html</xsp:attribute><i18n:text>Apache Lenya Homepage</i18n:text></item> >+ <item><xsp:attribute name="href"><xsp-request:get-context-path/>/about.html</xsp:attribute><i18n:text>About Apache Lenya</i18n:text></item> >+ </block> >+ <block> > <item uc:usecase="view-logs" uc:step="overview" href="?"><i18n:text>View Task Logs</i18n:text></item> >- </block> >+ </block> > </menu> > </menus> > >Index: config/menus/generic.xsp >=================================================================== >--- config/menus/generic.xsp (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ config/menus/generic.xsp (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -1,289 +0,0 @@ >-<?xml version="1.0"?> >-<!-- >- Copyright 1999-2004 The Apache Software Foundation >- >- Licensed under the Apache License, Version 2.0 (the "License"); >- you may not use this file except in compliance with the License. >- You may obtain a copy of the License at >- >- http://www.apache.org/licenses/LICENSE-2.0 >- >- Unless required by applicable law or agreed to in writing, software >- distributed under the License is distributed on an "AS IS" BASIS, >- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >- See the License for the specific language governing permissions and >- limitations under the License. >---> >- >-<!-- $Id$ --> >- >-<xsp:page >- language="java" >- xmlns:xsp="http://apache.org/xsp" >- xmlns:xsp-request="http://apache.org/xsp/request/2.0" >- xmlns:input="http://apache.org/cocoon/xsp/input/1.0" >- xmlns:i18n="http://apache.org/cocoon/i18n/2.1" >- xmlns:wf="http://apache.org/cocoon/lenya/workflow/1.0" >- xmlns:uc="http://apache.org/cocoon/lenya/usecase/1.0" >- xmlns="http://apache.org/cocoon/lenya/menubar/1.0" >-> >- >- <xsp:structure> >- <xsp:include>org.apache.lenya.cms.publication.Document</xsp:include> >- <xsp:include>org.apache.lenya.cms.publication.Publication</xsp:include> >- </xsp:structure> >- >- <menu> >- >- <xsp:logic> >- String projectid = parameters.getParameter("projectid","null"); >- >- String xmlSource = <input:get-attribute module="page-envelope" as="string" name="document-path"/>; >- String documentId = <input:get-attribute module="page-envelope" as="string" name="context-prefix"/> + "/" + <input:get-attribute module="page-envelope" as="string" name="publication-id"/> + "/authoring" + <input:get-attribute module="page-envelope" as="string" name="document-id"/> + "_" + <input:get-attribute module="page-envelope" as="string" name="document-language"/>; >- String urisParameter = "uris=" + <input:get-attribute module="page-envelope" as="string" name="context-prefix"/> + "/" + <input:get-attribute module="page-envelope" as="string" name="publication-id"/> + "/live" + <input:get-attribute module="page-envelope" as="string" name="document-url"/>; >- String area = <input:get-attribute module="page-envelope" as="string" name="area"/>; >- >- String docType = ""; >- try { >- Document document = (Document) <input:get-attribute as="object" module="page-envelope" name="document"/>; >- if (document.exists()) { >- docType = <input:get-attribute as="string" module="page-envelope" name="document-type"/>; >- } >- } >- catch (Exception e) { >- throw new ProcessingException(e); >- } >- >- boolean isDocument = false; >- { >- Object document = <input:get-attribute module="page-envelope" as="object" name="document"/>; >- try { >- if (document != "" && ((Document) document).exists()) { >- isDocument = true; >- } >- } >- catch (Exception e) { >- throw new ProcessingException(e); >- } >- } >- </xsp:logic> >- >- <menus> >- <menu i18n:attr="name" name="File" label="File"> >- <block> >- >- <xsp:logic> >- { >- if (Publication.ARCHIVE_AREA.equals(area) || Publication.TRASH_AREA.equals(area)) { >- <item><i18n:text>New Document</i18n:text></item> >- } >- else { >- <item uc:usecase="create" uc:step="showscreen" href="?doctype=xhtml"><i18n:text>New Document</i18n:text></item> >- } >- } >- </xsp:logic> >- </block> >- <block> >- <xsp:logic> >- { >- if (isDocument >- && Publication.AUTHORING_AREA.equals(area) >- ) { >- <xsp:content> >- <item uc:usecase="create-language" uc:step="showscreen" href="?"><i18n:text>New Language Version</i18n:text></item> >- </xsp:content> >- } >- else { >- <xsp:content> >- <item><i18n:text>New Language Version</i18n:text></item> >- </xsp:content> >- } >- >- String[] availableLanguages = (String[])<input:get-attribute module="page-envelope" as="object" name="document-languages"/>; >- if (isDocument >- && Publication.AUTHORING_AREA.equals(area) >- && availableLanguages.length > 1 >- ) { >- <xsp:content> >- <item uc:usecase="removelabel" uc:step="showscreen" href="?"><i18n:text>Remove Language Version</i18n:text></item> >- </xsp:content> >- } else { >- <xsp:content> >- <item><i18n:text>Remove Language Version</i18n:text></item> >- </xsp:content> >- } >- } >- </xsp:logic> >- </block> >- <block> >- <item uc:usecase="logout" href="?"><i18n:text>Logout</i18n:text></item> >- </block> >- </menu> >- >- <menu i18n:attr="name" name="Edit" label="Search"> >- >- <block info="false"> >- <item wf:event="edit" uc:usecase="kupu" uc:step="open" href="?"><i18n:text>Edit with Kupu</i18n:text></item> >- <item wf:event="edit" uc:usecase="bxeng" uc:step="open" href="?"><i18n:text>Edit with BXE</i18n:text></item> >- <item wf:event="edit" uc:usecase="edit" uc:step="open"><xsp:attribute name="href"><xsp:expr>"?form=" + docType</xsp:expr></xsp:attribute><i18n:text>Edit with Forms</i18n:text></item> >- <item wf:event="edit" uc:usecase="1formedit" uc:step="open" href="?"><i18n:text>Edit with one Form</i18n:text></item> >- </block> >- <block info="false"> >- <item wf:event="edit" uc:usecase="info-meta" uc:step="showscreen"><xsp:attribute name="href"><xsp-request:get-context-path/>/<input:get-attribute module="page-envelope" as="string" name="publication-id"/>/info-<input:get-attribute module="page-envelope" as="string" name="area"/><input:get-attribute module="page-envelope" as="string" name="document-url"/>?</xsp:attribute><i18n:text>Edit Metadata</i18n:text></item> >- <item wf:event="edit" uc:usecase="rename-label" uc:step="showscreen"><xsp:attribute name="href"><xsp-request:get-uri/>?</xsp:attribute><i18n:text>Edit Navigation Title</i18n:text></item> >- </block> >- >- <block authoring="false"> >- >- <xsp:logic> >- >- { >- String docId = <input:get-attribute module="page-envelope" as="string" name="document-id"/>; >- >- if (isDocument >- && "".equals(<input:get-attribute module="sitetree" as="string" name="live-node"/>) >- && Publication.AUTHORING_AREA.equals(area) >- && !"/index".equals(docId)) { >- <item uc:usecase="cut" uc:step="showscreen" href="?"><i18n:text>Cut</i18n:text></item> >- } >- else { >- <item><i18n:text>Cut</i18n:text></item> >- } >- >- if (isDocument >- && Publication.AUTHORING_AREA.equals(area) >- && !"/index".equals(docId)) { >- <item uc:usecase="copy" uc:step="showscreen" href="?"><i18n:text>Copy</i18n:text></item> >- } >- else { >- <item><i18n:text>Copy</i18n:text></item> >- } >- >- String clipboard = (String) <input:get-attribute module="session-attr" as="object" name="org.apache.lenya.cms.info.firstdocid"/> + "/"; >- String currentDocumentId = <input:get-attribute module="page-envelope" as="string" name="document-id"/> + "/"; >- >- if (clipboard != null >- && !"".equals(clipboard) >- && Publication.AUTHORING_AREA.equals(area) >- && !currentDocumentId.startsWith(clipboard) >- && !"/index".equals(docId)) { >- <item uc:usecase="paste" uc:step="showscreen" href="?"><i18n:text>Paste</i18n:text></item> >- } >- else { >- <item><i18n:text>Paste</i18n:text></item> >- } >- } >- </xsp:logic> >- >- </block> >- <block authoring="false"> >- <xsp:logic> >- if (isDocument && "".equals(<input:get-attribute module="sitetree" as="string" name="live-node"/>) >- && Publication.AUTHORING_AREA.equals(area)) { >- <item uc:usecase="rename" uc:step="showscreen" href="?"><i18n:text>Rename URL</i18n:text></item> >- } >- else { >- <item>Rename URL</item> >- } >- >- if (isDocument) { >- <item wf:event="edit" uc:usecase="rename-label" uc:step="showscreen" href="?"><i18n:text>Edit Navigation Title</i18n:text></item> >- } >- else { >- <item>Edit Navigation Title</item> >- } >- if (isDocument) { >- <item wf:event="edit" uc:usecase="change-visibility" uc:step="showscreen" href="?"><i18n:text>Change node visibility</i18n:text></item> >- } >- else { >- <item>Change node visibility</item> >- } >- </xsp:logic> >- </block> >- <block authoring="false"> >- <xsp:logic> >- if (isDocument >- && "".equals(<input:get-attribute module="sitetree" as="string" name="live-node"/>) >- && Publication.AUTHORING_AREA.equals(area) >- && !"/index".equals(<input:get-attribute module="sitetree" as="string" name="document-id"/>)) { >- <item uc:usecase="move-node" uc:step="move-node"><xsp:attribute name="href"><xsp-request:get-uri/>?properties.movenode.direction=up</xsp:attribute><i18n:text>Move Up</i18n:text></item> >- <item uc:usecase="move-node" uc:step="move-node"><xsp:attribute name="href"><xsp-request:get-uri/>?properties.movenode.direction=down</xsp:attribute><i18n:text>Move Down</i18n:text></item> >- } >- else { >- <item><i18n:text>Move Up</i18n:text></item> >- <item><i18n:text>Move Down</i18n:text></item> >- } >- </xsp:logic> >- </block> >- <block authoring="false"> >- >- <xsp:logic> >- { >- >- if (isDocument && >- !"/index".equals(<input:get-attribute module="page-envelope" as="string" name="document-id"/>)) { >- <item wf:event="delete" uc:usecase="delete" uc:step="showscreen" href="?"><i18n:text>Delete</i18n:text></item> >- <item wf:event="archive" uc:usecase="archive" uc:step="showscreen" href="?"><i18n:text>Archive</i18n:text></item> >- } >- else { >- <item><i18n:text>Delete</i18n:text></item> >- <item><i18n:text>Archive</i18n:text></item> >- } >- >- if (isDocument && (area.equals(Publication.TRASH_AREA) || area.equals(Publication.ARCHIVE_AREA))) { >- <item wf:event="restore" uc:usecase="restore" uc:step="showscreen" href="?">Restore</item> >- } >- else { >- <item><i18n:text>Restore</i18n:text></item> >- } >- } >- </xsp:logic> >- >- </block> >- >- </menu> >- >- <menu i18n:attr="name" name="Workflow" label="Help"> >- <xsp:logic> >- { >- if (isDocument && Publication.AUTHORING_AREA.equals(area)) { >- <block> >- <item uc:usecase="submit" uc:step="showscreen" wf:event="submit" href="?"><i18n:text>Submit</i18n:text></item> >- <item uc:usecase="reject" uc:step="showscreen" wf:event="reject" href="?"><i18n:text>Reject</i18n:text></item> >- <item uc:usecase="publish" uc:step="showscreen" wf:event="publish"><xsp:attribute name="href">?<xsp:expr>urisParameter</xsp:expr>&sources=<xsp:expr>xmlSource</xsp:expr>&task-id=publish</xsp:attribute><i18n:text>Publish</i18n:text></item> >- <item uc:usecase="deactivate" uc:step="showscreen" wf:event="deactivate" href="?task-id=deactivateDocument"><i18n:text>Deactivate</i18n:text></item> >- </block><block> >- <item uc:usecase="schedule" uc:step="showscreen" href="?"><i18n:text>Schedule</i18n:text></item> >- </block> >- } >- else { >- <block> >- <item><i18n:text>Submit</i18n:text></item> >- <item><i18n:text>Reject</i18n:text></item> >- <item><i18n:text>Publish</i18n:text></item> >- <item><i18n:text>Deactivate</i18n:text></item> >- </block><block> >- <item><i18n:text>Schedule</i18n:text></item> >- </block> >- } >- } >- </xsp:logic> >- </menu> >- >- <menu i18n:attr="name" name="Help" label="Debug"> >- <block> >- <item href="http://lenya.apache.org/docs/index.html"><i18n:text>Documentation</i18n:text></item> >- <item href="http://wiki.apache.org/lenya/"><i18n:text>Wiki</i18n:text></item> >- </block> >- <block> >- <item><xsp:attribute name="href"><xsp-request:get-context-path/>/index.html</xsp:attribute><i18n:text>Apache Lenya Homepage</i18n:text></item> >- <item><xsp:attribute name="href"><xsp-request:get-context-path/>/about.html</xsp:attribute><i18n:text>About Apache Lenya</i18n:text></item> >- </block> >- <block> >- <item uc:usecase="view-logs" uc:step="overview" href="?"><i18n:text>View Task Logs</i18n:text></item> >- </block> >- </menu> >- </menus> >- >- </menu> >-</xsp:page> >Index: config/usecases.xconf >=================================================================== >--- config/usecases.xconf (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ config/usecases.xconf (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1,27 @@ >+ <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'default/workflow.submit']"> >+ >+ <component-instance name="default/workflow.submit" >+ logger="lenya.usecases.workflow" >+ class="org.apache.lenya.cms.workflow.usecases.InvokeWorkflow"> >+ <event id="submit"/> >+ </component-instance> >+ >+ <component-instance name="default/workflow.reject" >+ logger="lenya.usecases.workflow" >+ class="org.apache.lenya.cms.workflow.usecases.InvokeWorkflow"> >+ <event id="reject"/> >+ </component-instance> >+ >+ <component-instance name="default/workflow.publish" >+ logger="lenya.usecases.workflow" >+ class="org.apache.lenya.defaultpub.cms.usecases.Publish"/> >+ >+ <component-instance name="default/workflow.deactivate" >+ logger="lenya.usecases.workflow" >+ class="org.apache.lenya.defaultpub.cms.usecases.Deactivate"/> >+ >+ <component-instance name="default/site.delete" >+ logger="lenya.usecases.delete" >+ class="org.apache.lenya.defaultpub.cms.usecases.Delete"/> >+ >+ </xconf> >Index: config/workflow/workflow.xml >=================================================================== >--- config/workflow/workflow.xml (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ config/workflow/workflow.xml (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -19,8 +19,7 @@ > > <workflow xmlns="http://apache.org/cocoon/lenya/workflow/1.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >- xsi:schemaLocation="http://apache.org/cocoon/lenya/workflow/1.0 >- ../../../../resources/entities/workflow.xsd"> >+ xsi:schemaLocation="http://apache.org/cocoon/lenya/workflow/1.0 ../../../../resources/entities/workflow.xsd"> > > <state id="authoring" initial="true"/> > <state id="review"/> >@@ -82,5 +81,5 @@ > <transition source="trash" destination="authoring"> > <event id="restore"/> > <condition class="org.apache.lenya.cms.workflow.RoleCondition">edit</condition> >- </transition> >+ </transition> > </workflow> >Index: config/doctypes/schemas/homepage.rng >=================================================================== >--- config/doctypes/schemas/homepage.rng (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ config/doctypes/schemas/homepage.rng (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -29,36 +29,6 @@ > xmlns:xhtml="http://www.w3.org/1999/xhtml" > > > >-<include href="lenya.rng"/> >+<include href="xhtml.rng"/> > >- >-<!-- include original XHTML transitional schema --> >-<include href="xhtml/xhtml-basic.rng"> >- >- <define name="html"> >- <element name="html"> >- <ref name="html.attlist"/> >- <ref name="lenya.meta"/> >- <ref name="head"/> >- <ref name="body"/> >- </element> >- </define> >- >- <define name="html.attlist"> >- <ref name="XHTML.version.attrib"/> >- <ref name="I18n.attrib"/> >- <ref name="dummy.attlist"/> >- </define> >- >-</include> >- >- >-<!-- additional block elements --> >-<define name="Block.class" combine="choice"> >- <choice> >- <ref name="lenya.asset"/> >- </choice> >-</define> >- >- > </grammar> >Index: config/doctypes/samples/xhtml.xml >=================================================================== >--- config/doctypes/samples/xhtml.xml (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ config/doctypes/samples/xhtml.xml (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -1,5 +1,5 @@ > <?xml version="1.0" encoding="UTF-8"?> >-<xhtml:html >+<html xmlns="http://www.w3.org/1999/xhtml" > xmlns:xhtml="http://www.w3.org/1999/xhtml" > xmlns:dc="http://purl.org/dc/elements/1.1/" > xmlns:dcterms="http://purl.org/dc/terms/" >@@ -24,21 +24,21 @@ > <dc:coverage/> > <dc:rights>dcrights</dc:rights> > </lenya:meta> >- <xhtml:head> >- <xhtml:title>Default Publication</xhtml:title> >- </xhtml:head> >- <xhtml:body> >- <xhtml:h1>Default Publication</xhtml:h1> >- <xhtml:p>Welcome to the default Lenya publication!</xhtml:p> >- <xhtml:p>The purpose of this publication is</xhtml:p> >- <xhtml:ul> >- <xhtml:li>to show beginners the basic functionality of the Lenya CMS,</xhtml:li> >- <xhtml:li>to provide an "out of the box" publication that can be easily adapted and used, and</xhtml:li> >- <xhtml:li>to provide a basis for reference implementations of new concepts and best practices.</xhtml:li> >- </xhtml:ul> >- <xhtml:p> >+ <head> >+ <title>Default Publication</title> >+ </head> >+ <body> >+ <h1>Default Publication</h1> >+ <p>Welcome to the default Lenya publication!</p> >+ <p>The purpose of this publication is</p> >+ <ul> >+ <li>to show beginners the basic functionality of the Lenya CMS,</li> >+ <li>to provide an "out of the box" publication that can be easily adapted and used, and</li> >+ <li>to provide a basis for reference implementations of new concepts and best practices.</li> >+ </ul> >+ <p> > You won't find any fancy and confusing bells and whistles here, but the > publication contains everything you need to get started. >- </xhtml:p> >- </xhtml:body> >-</xhtml:html> >+ </p> >+ </body> >+</html> >Index: config/doctypes/doctypes.xconf >=================================================================== >--- config/doctypes/doctypes.xconf (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ config/doctypes/doctypes.xconf (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -20,40 +20,26 @@ > <doctypes> > > <doc type="homepage"> >- <children> >- <doc type="xhtml"/> >- </children> > <creator src="org.apache.lenya.cms.authoring.DefaultBranchCreator"> > <sample-name>homepage.xml</sample-name> > </creator> >- <tasks> >- <task id="publish"/> >- </tasks> > <workflow src="workflow.xml"/> >+ <link-attribute xpath="//*[namespace-uri() = 'http://www.w3.org/1999/xhtml']/@href"/> > </doc> >+ > <doc type="links"> >- <children> >- <doc type="xhtml"/> >- </children> > <creator src="org.apache.lenya.cms.authoring.DefaultBranchCreator"> > <sample-name>links.xml</sample-name> > </creator> >- <tasks> >- <task id="publish"/> >- </tasks> > <workflow src="workflow.xml"/> > </doc> >+ > <doc type="xhtml"> >- <children> >- <doc type="xhtml"/> >- </children> > <creator src="org.apache.lenya.cms.authoring.DefaultBranchCreator"> > <sample-name>xhtml.xml</sample-name> > </creator> >- <tasks> >- <task id="publish"/> >- </tasks> > <workflow src="workflow.xml"/> >+ <link-attribute xpath="//*[namespace-uri() = 'http://www.w3.org/1999/xhtml']/@href"/> > </doc> > > </doctypes> >Index: sitemap.xmap >=================================================================== >--- sitemap.xmap (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ sitemap.xmap (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -19,14 +19,12 @@ > > <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> > >- <map:components/> >- > <map:resources> > <map:resource name="style-cms-page"> > <map:transform type="i18n"> > <map:parameter name="locale" value="{request:locale}"/> > </map:transform> >- <map:transform src="../../xslt/util/page2xhtml.xsl"> >+ <map:transform src="fallback://lenya/xslt/util/page2xhtml.xsl"> > <map:parameter name="contextprefix" value="{request:contextPath}"/> > </map:transform> > <map:transform src="../../xslt/util/strip_namespaces.xsl"/> >@@ -46,14 +44,14 @@ > > <map:pipeline> > <map:match pattern="**"> >- <map:mount uri-prefix="" src="publication-sitemap.xmap"/> >+ <map:mount uri-prefix="" src="{fallback:publication-sitemap.xmap}"/> > </map:match> > > <map:handle-errors> > <map:select type="exception"> > <map:when test="resourcenotfound"> > <map:generate src="../../content/util/empty.xml" /> >- <map:transform src="../../xslt/exception/document-does-not-exist.xsl"> >+ <map:transform src="fallback://lenya/xslt/exception/document-does-not-exist.xsl"> > <map:parameter name="documentid" value="{page-envelope:document-id}"/> > <map:parameter name="documenturl" value="{page-envelope:document-url}"/> > </map:transform> >Index: usecase-bxe.xmap >=================================================================== >--- usecase-bxe.xmap (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ usecase-bxe.xmap (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1,301 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+<!-- >+ Copyright 1999-2004 The Apache Software Foundation >+ >+ Licensed under the Apache License, Version 2.0 (the "License"); >+ you may not use this file except in compliance with the License. >+ You may obtain a copy of the License at >+ >+ http://www.apache.org/licenses/LICENSE-2.0 >+ >+ Unless required by applicable law or agreed to in writing, software >+ distributed under the License is distributed on an "AS IS" BASIS, >+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >+ See the License for the specific language governing permissions and >+ limitations under the License. >+--> >+ >+<!-- $Id$ --> >+ >+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> >+ >+ <!-- =========================== Resources ================================ --> >+ <map:resources> >+ >+ <map:resource name="style-cms-page"> >+ <map:transform type="i18n"> >+ <map:parameter name="locale" value="{request:locale}"/> >+ </map:transform> >+ <map:transform src="fallback://lenya/xslt/util/page2xhtml.xsl"> >+ <map:parameter name="contextprefix" value="{request:contextPath}"/> >+ </map:transform> >+ <map:transform src="../../xslt/util/strip_namespaces.xsl"/> >+ <map:select type="parameter"> >+ <map:parameter name="statusCode" value="{statusCode}"/> >+ <map:when test=""> >+ <map:serialize type="xhtml" /> >+ </map:when> >+ <map:otherwise> >+ <map:serialize type="xhtml" status-code="{statusCode}"/> >+ </map:otherwise> >+ </map:select> >+ </map:resource> >+ >+ <map:resource name="cms-screen-xml"> >+ <map:generate src="../../content/{serverpage}" type="serverpages"/> >+ <map:transform src="../../xslt/{stylesheet}"> >+ <map:parameter name="use-request-parameters" value="true"/> >+ <map:parameter name="contextprefix" value="{request:contextPath}"/> >+ </map:transform> >+ </map:resource> >+ >+ <map:resource name="cms-screen"> >+ <map:call resource="cms-screen-xml"> >+ <map:parameter name="serverpage" value="{serverpage}"/> >+ <map:parameter name="stylesheet" value="{stylesheet}"/> >+ </map:call> >+ <map:call resource="style-cms-page"/> >+ </map:resource> >+ >+ >+ </map:resources> >+ <!-- =========================== Flow ===================================== --> >+ <map:flow language="javascript"> >+ <map:script src="../../usecases/edit-document.js"/> >+ </map:flow> >+ <!-- =========================== Pipelines ================================ --> >+ >+ <map:pipelines> >+ >+ <map:pipeline type="noncaching"> >+ >+ <map:match pattern="request2document"> >+ <map:generate type="stream"/> >+ <map:transform src="../../xslt/bxe/change-object-path-back.xsl"> >+ <map:parameter name="documentid" value="{page-envelope:document-id}"/> >+ </map:transform> >+ <map:serialize type="xml"/> >+ </map:match> >+ >+ <map:match type="usecase" pattern="bxe"> >+ >+ <map:match type="step" pattern="open"> >+ <!-- Check for bxe --> >+ <map:act type="resource-exists" src="../../resources/bxe/bxeLoader.js"> >+ <map:act type="reserved-checkout"> >+ <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:parameter name="message" value="{message}"/> >+ </map:generate> >+ <map:transform src="../../xslt/rc/rco-exception.xsl"/> >+ <map:call resource="style-cms-page"/> >+ </map:act> >+ <map:aggregate element="bxe"> >+ <map:part src="../../resources/misc/bxe/index.xhtml"/> >+ <map:part src="../../resources/misc/bxe/content-namespaces.xml"/> >+ </map:aggregate> >+ <map:transform src="../../xslt/bxe/aggregate.xsl"/> >+ <map:transform src="../../xslt/bxe/index-xhtml.xsl"> >+ <map:parameter name="configfile" value="{request:requestURI}?lenya.usecase=bxe&lenya.step=config"/> >+ <map:parameter name="context" value="{request:contextPath}"/> >+ </map:transform> >+ <map:transform src="../../xslt/util/strip_namespaces.xsl"/> >+ <map:serialize type="xhtml"/> >+ </map:act> >+ <map:generate src="../../resources/misc/bxe/download.xhtml"/> >+ <map:call resource="style-cms-page"/> >+ <map:serialize type="xhtml"/> >+ </map:match> >+ >+ <map:match pattern="image-upload-show" type="step"> >+ <map:call resource="cms-screen"> >+ <map:parameter name="serverpage" value="info/assets.xsp"/> >+ <map:parameter name="stylesheet" value="bxe/image.xsl"/> >+ </map:call> >+ </map:match> >+ >+ <map:match pattern="asset-upload-show" type="step"> >+ <map:call resource="cms-screen"> >+ <map:parameter name="serverpage" value="info/assets.xsp"/> >+ <map:parameter name="stylesheet" value="bxe/asset.xsl"/> >+ </map:call> >+ </map:match> >+ >+ <map:match type="step" pattern="asset-upload"> >+ <map:act type="upload"> >+ <map:redirect-to uri="{request:requestURI}?lenya.usecase=bxe&lenya.step=asset-upload-show"/> >+ </map:act> >+ <map:call resource="cms-screen"> >+ <map:parameter name="serverpage" value="info/assets.xsp"/> >+ <map:parameter name="stylesheet" value="bxe/asset.xsl"/> >+ </map:call> >+ </map:match> >+ >+ <map:match type="step" pattern="image-upload"> >+ <map:act type="upload"> >+ <map:redirect-to uri="{request:requestURI}?lenya.usecase=bxe&lenya.step=image-upload-show"/> >+ </map:act> >+ <map:call resource="cms-screen"> >+ <map:parameter name="serverpage" value="info/assets.xsp"/> >+ <map:parameter name="stylesheet" value="bxe/image.xsl"/> >+ </map:call> >+ </map:match> >+ >+ <map:match pattern="link-show" type="step"> >+ <!-- just a dummy xsp since we call the info area directly --> >+ <map:generate type="serverpages" src="../../content/info/assets.xsp"/> >+ <map:transform src="../../xslt/bxe/link.xsl" label="content"> >+ <map:parameter name="infoarea" value="true"/> >+ <map:parameter name="contextprefix" value="{request:contextPath}"/> >+ <map:parameter name="publicationid" value="{page-envelope:publication-id}"/> >+ <map:parameter name="area" value="authoring"/> >+ <map:parameter name="tab" value="en"/> >+ <map:parameter name="chosenlanguage" value="{page-envelope:document-language}"/> >+ <map:parameter name="documentid" value="{page-envelope:document-id}"/> >+ <map:parameter name="documenturl" value="/{page-envelope:document-url}"/> >+ <map:parameter name="documentextension" value="{page-envelope:document-extension}"/> >+ <map:parameter name="defaultlanguage" value="{page-envelope:default-language}"/> >+ <map:parameter name="languages" value="{page-envelope:publication-languages-csv}"/> >+ </map:transform> >+ <map:call resource="style-cms-page"/> >+ </map:match> >+ >+ <!-- {publication-id}/{area}/info-sitetree --> >+ <map:match pattern="link-tree" type="step"> >+ <map:select type="parameter"> >+ <map:parameter name="parameter-selector-test" value="{request-param:incremental}"/> >+ <map:when test="true"> >+ <map:generate src="../../content/util/empty.xml" /> >+ <map:act type="set-header"> >+ <map:parameter name="Cache-Control" value="pre-check=0" /> >+ <map:parameter name="Expires" value="-1" /> >+ </map:act> >+ <map:transform src="../../xslt/info/sitetree2tree.xsl" label="content"> >+ <map:parameter name="contextprefix" value="{request:contextPath}"/> >+ <map:parameter name="publicationid" value="{page-envelope:publication-id}"/> >+ <map:parameter name="chosenlanguage" value="{request-param:language}"/> >+ <map:parameter name="defaultlanguage" value="{page-envelope:default-language}"/> >+ <map:parameter name="cutdocumentid" value="{session-attr:org.apache.lenya.cms.info.cutdocumentid}"/> >+ <map:parameter name="incremental" value="true"/> >+ <map:parameter name="areas" value="authoring"/> >+ </map:transform> >+ </map:when> >+ >+ <map:otherwise> >+ <map:aggregate element="lenya" label="aggregate"> >+ <map:part src="content/authoring/sitetree.xml"/> >+ </map:aggregate> >+ >+ <map:transform src="../../xslt/navigation/sitetree2nav.xsl" label="navtree"> >+ <map:parameter name="chosenlanguage" value="{request-param:language}"/> >+ <map:parameter name="defaultlanguage" value="{page-envelope:default-language}"/> >+ </map:transform> >+ >+ <map:transform src="../../xslt/bxe/sitetree2tree.xsl" label="content"> >+ <map:parameter name="contextprefix" value="{request:contextPath}"/> >+ <map:parameter name="publicationid" value="{page-envelope:publication-id}"/> >+ <map:parameter name="chosenlanguage" value="{request-param:language}"/> >+ <map:parameter name="defaultlanguage" value="{page-envelope:default-language}"/> >+ <map:parameter name="cutdocumentid" value="{session-attr:org.apache.lenya.cms.info.cutdocumentid}"/> >+ </map:transform> >+ </map:otherwise> >+ </map:select> >+ >+ <map:serialize type="text"/> >+ </map:match> >+ >+ <map:match pattern="**/*.html"> >+ <!-- configuration --> >+ <map:match type="step" pattern="config"> >+ <map:generate src="../../resources/misc/bxe/inc/config.xml"/> >+ <map:transform src="../../xslt/bxe/config-xml.xsl"> >+ <map:parameter name="BX_xmlfile" value="{request:requestURI}?lenya.usecase=bxe&lenya.step=xml"/> >+ <map:parameter name="defaultlanguage" value="{page-envelope:default-language}"/> >+ >+ <!-- Instead of an xsl we use the xhtml file to provide the basic layout >+ <map:parameter name="BX_xslfile" value="{2}.xsl"/> >+ --> >+ <map:parameter name="BX_xhtmlfile" value="{../2}.bxe.html"/> >+ <map:parameter name="BX_validationfile" value="{request:contextPath}/{page-envelope:publication-id}/{page-envelope:area}/{page-envelope:document-type}.rng"/> >+ <map:parameter name="css" value="{request:contextPath}/{page-envelope:publication-id}/{page-envelope:area}/css/{page-envelope:document-type}-bxe.css"/> >+ <!-- The document is checked in when we exit from bx (in case of save&exit and in case of exit), so we use the usecase >+ for the checkin while we redirect to the document >+ --> >+ <map:parameter name="BX_exitdestination" value="{request:requestURI}?lenya.usecase=checkin&lenya.step=checkin&backup=true"/> >+ <map:parameter name="contextmenufile" value="../../resources/misc/bxe/contextmenu.xml"/> >+ </map:transform> >+ <map:transform type="cinclude"/> >+ <map:serialize type="xml"/> >+ </map:match> >+ </map:match> >+ >+ <map:match pattern="*/**.html"> >+ >+ <!-- /GET and PUT --> >+ <map:match type="step" pattern="xml"> >+ <map:select type="request-method"> >+ >+ <map:when test="PUT"> >+ <!-- before we save, we must be sure that the document is well checked out >+ --> >+ <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:call resource="style-cms-page"/> >+ </map:act> >+ >+ <map:call function="editDocument"> >+ <map:parameter name="sourceUri" value="cocoon:/request2document"/> >+ <map:parameter name="noCheckin" value="true"/> >+ </map:call> >+ </map:when> >+ >+ <map:otherwise> <!-- GET --> >+ <map:generate src="content/authoring/{page-envelope:document-path}"/> >+ <map:transform src="../../xslt/bxe/change-object-path.xsl"> >+ <map:parameter name="documentid" value="{page-envelope:document-id}"/> >+ </map:transform> >+ <map:serialize type="xml"/> >+ </map:otherwise> >+ >+ </map:select> >+ </map:match> >+ <!-- /GET and PUT --> >+ >+ </map:match> <!-- uri pattern --> >+ >+ </map:match> <!-- usecase --> >+ >+ <map:handle-errors> >+ <map:select type="exception"> >+ <map:when test="resourcenotfound"> >+ <map:generate src="../../content/util/empty.xml" /> >+ <map:transform src="fallback://lenya/xslt/exception/document-does-not-exist.xsl"> >+ <map:parameter name="documentid" value="{page-envelope:document-id}"/> >+ <map:parameter name="documenturl" value="{page-envelope:document-url}"/> >+ </map:transform> >+ <map:call resource="style-cms-page"> >+ <map:parameter name="statusCode" value="404"/> >+ </map:call> >+ </map:when> >+ <map:otherwise> >+ <map:generate type="notifying"/> >+ <map:transform src="../../../stylesheets/system/error2html.xslt"> >+ <map:parameter name="contextPath" value="{request:contextPath}"/> >+ </map:transform> >+ </map:otherwise> >+ </map:select> >+ <map:serialize type="xhtml"/> >+ </map:handle-errors> >+ >+ </map:pipeline> >+ >+ </map:pipelines> >+ >+</map:sitemap> >\ No newline at end of file > >Property changes on: usecase-bxe.xmap >___________________________________________________________________ >Name: svn:keywords > + author date id revision >Name: svn:eol-style > + native > >Index: lenya/resources/i18n/cmsui.xml >=================================================================== >--- lenya/resources/i18n/cmsui.xml (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ lenya/resources/i18n/cmsui.xml (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -17,7 +17,7 @@ > limitations under the License. > > >- $Id$ >+ $Id: cmsui.xml,v 1.2 2004/03/13 12:24:30 roku Exp $ > > --> > >@@ -29,5 +29,4 @@ > <message key="New language for existing Document">New language for existing Document</message> > <message key="default.createdoc.info.all-language-versions-exists">There are already versions of this document for all languages.</message> > >- <message key="last_published">Last Published</message> > </catalogue> >Index: lenya/resources/i18n/cmsui_fr.xml >=================================================================== >--- lenya/resources/i18n/cmsui_fr.xml (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ lenya/resources/i18n/cmsui_fr.xml (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -17,7 +17,7 @@ > limitations under the License. > > >- $Id$ >+ $Id: cmsui_fr.xml,v 1.5 2004/04/17 07:22:46 roku Exp $ > > @translators Olivier Lange <wire at petit-atelier dot ch> > >@@ -29,6 +29,5 @@ > <message key="Create new language version">Créer une nouvelle traduction</message> > <message key="New language for existing Document">Nouvelle traduction d'un document existant</message> > <message key="default.createdoc.info.all-language-versions-exists">Les traductions de ce document existent déjàdans toutes les langues.</message> >- <message key="last_published">Mise àjour</message> > > </catalogue> >Index: lenya/resources/i18n/cmsui_de.xml >=================================================================== >--- lenya/resources/i18n/cmsui_de.xml (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ lenya/resources/i18n/cmsui_de.xml (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -17,7 +17,7 @@ > limitations under the License. > > >- $Id$ >+ $Id: cmsui_de.xml,v 1.3 2004/04/17 07:22:45 roku Exp $ > > --> > >@@ -29,6 +29,5 @@ > <message key="New language for existing Document">Neue Sprachversion für existierendes Dokument anlegen</message> > <message key="default.createdoc.info.all-language-versions-exists">Das Dokument existiert bereits in allen notwendigen Sprachen.</message> > >- <message key="last_published">Letzte Aktualisierung</message> > </catalogue> > >Index: lenya/usecases/site/create.jx >=================================================================== >--- lenya/usecases/site/create.jx (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ lenya/usecases/site/create.jx (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1,140 @@ >+<?xml version="1.0"?> >+<!-- >+ Copyright 1999-2004 The Apache Software Foundation >+ >+ Licensed under the Apache License, Version 2.0 (the "License"); >+ you may not use this file except in compliance with the License. >+ You may obtain a copy of the License at >+ >+ http://www.apache.org/licenses/LICENSE-2.0 >+ >+ Unless required by applicable law or agreed to in writing, software >+ distributed under the License is distributed on an "AS IS" BASIS, >+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >+ See the License for the specific language governing permissions and >+ limitations under the License. >+--> >+ >+<!-- $Id: login.jx 123986 2005-01-03 15:23:11Z andreas $ --> >+ >+<page:page xmlns:jx="http://apache.org/cocoon/templates/jx/1.0" >+ xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0" >+ xmlns="http://www.w3.org/1999/xhtml" >+ xmlns:i18n="http://apache.org/cocoon/i18n/2.1" > >+ >+ <page:title><i18n:text>New Document</i18n:text></page:title> >+ <page:body> >+ <div class="lenya-box"> >+ <div class="lenya-box-title"> >+ <i18n:text>New Document</i18n:text> >+ </div> >+ <div class="lenya-box-body"> >+ <form> >+ <input type="hidden" name="lenya.continuation" value="${continuation.id}"/> >+ <input type="hidden" name="lenya.usecase" value="${request.getParameter('lenya.usecase')}"/> >+ <table class="lenya-table-noborder"> >+ <tr> >+ <td colspan="2"> >+ <ul> >+ <jx:forEach var="message" items="${usecase.getErrorMessages()}"> >+ <li> >+ <i18n:text> >+ <jx:out value="${message}"/> >+ </i18n:text> >+ </li> >+ </jx:forEach> >+ <jx:forEach var="message" items="${usecase.getInfoMessages()}"> >+ <li> >+ <i18n:text> >+ <jx:out value="${message}"/> >+ </i18n:text> >+ </li> >+ </jx:forEach> >+ </ul> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Parent ID</i18n:text>:</td> >+ <td> >+ <jx:out value="${usecase.getParameter('parentId')}"/> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Document ID</i18n:text>*: </td> >+ <td> >+ <input class="lenya-form-element" type="text" name="documentId" value="${usecase.getParameter('documentId')}"/> >+ <br/> (<i18n:text>No whitespace, no special characters</i18n:text>)</td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Navigation Title</i18n:text>*: </td> >+ <td> >+ <input class="lenya-form-element" type="text" name="title" value="${usecase.getParameter('title')}"/> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Language</i18n:text>*: </td> >+ <td> >+ <select class="lenya-form-element" name="language"> >+ <jx:forEach var="language" items="${usecase.getParameter('languages')}"> >+ <option value="${language}">${language}</option> >+ </jx:forEach> >+ </select> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Creator</i18n:text>:</td> >+ <td> >+ <input class="lenya-form-element" type="text" name="creator" value="${usecase.getParameter('creator')}"/> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Subject</i18n:text>:</td> >+ <td> >+ <input class="lenya-form-element" type="text" name="subject" value="${usecase.getParameter('subject')}"/> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Publisher</i18n:text>:</td> >+ <td> >+ <input class="lenya-form-element" type="text" name="publisher" value="${usecase.getParameter('publisher')}"/> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Date</i18n:text>:</td> >+ <td> >+ <jx:out value="${usecase.getParameter('date')}"/> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Rights</i18n:text>:</td> >+ <td> >+ <input class="lenya-form-element" type="text" name="rights" value="${usecase.getParameter('rights')}"/> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption">* <i18n:text>required fields</i18n:text> >+ </td> >+ </tr> >+ <tr> >+ <td/> >+ <td> >+ <input i18n:attr="value" type="submit" name="submit" value="Create"/> >+   >+ <input i18n:attr="value" type="submit" name="cancel" value="Cancel"/> >+ </td> >+ </tr> >+ </table> >+ </form> >+ </div> >+ </div> >+ </page:body> >+</page:page> >Index: lenya/usecases/site/createLanguage.jx >=================================================================== >--- lenya/usecases/site/createLanguage.jx (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ lenya/usecases/site/createLanguage.jx (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1,133 @@ >+<?xml version="1.0"?> >+<!-- >+ Copyright 1999-2004 The Apache Software Foundation >+ >+ Licensed under the Apache License, Version 2.0 (the "License"); >+ you may not use this file except in compliance with the License. >+ You may obtain a copy of the License at >+ >+ http://www.apache.org/licenses/LICENSE-2.0 >+ >+ Unless required by applicable law or agreed to in writing, software >+ distributed under the License is distributed on an "AS IS" BASIS, >+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >+ See the License for the specific language governing permissions and >+ limitations under the License. >+--> >+ >+<!-- $Id: login.jx 123986 2005-01-03 15:23:11Z andreas $ --> >+ >+<page:page xmlns:jx="http://apache.org/cocoon/templates/jx/1.0" >+ xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0" >+ xmlns="http://www.w3.org/1999/xhtml" >+ xmlns:i18n="http://apache.org/cocoon/i18n/2.1" > >+ >+ <page:title><i18n:text>New Document</i18n:text></page:title> >+ <page:body> >+ <div class="lenya-box"> >+ <div class="lenya-box-title"> >+ <i18n:text>New Document</i18n:text> >+ </div> >+ <div class="lenya-box-body"> >+ <form> >+ <input type="hidden" name="lenya.continuation" value="${continuation.id}"/> >+ <input type="hidden" name="lenya.usecase" value="${request.getParameter('lenya.usecase')}"/> >+ <table class="lenya-table-noborder"> >+ <tr> >+ <td colspan="2"> >+ <ul> >+ <jx:forEach var="message" items="${usecase.getErrorMessages()}"> >+ <li> >+ <i18n:text> >+ <jx:out value="${message}"/> >+ </i18n:text> >+ </li> >+ </jx:forEach> >+ <jx:forEach var="message" items="${usecase.getInfoMessages()}"> >+ <li> >+ <i18n:text> >+ <jx:out value="${message}"/> >+ </i18n:text> >+ </li> >+ </jx:forEach> >+ </ul> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Document ID</i18n:text>: </td> >+ <td> >+ <jx:out value="${usecase.getParameter('documentId')}"/> >+ <br/> (<i18n:text>No whitespace, no special characters</i18n:text>)</td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Navigation Title</i18n:text>*: </td> >+ <td> >+ <input class="lenya-form-element" type="text" name="title" value="${usecase.getParameter('title')}"/> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Language</i18n:text>*: </td> >+ <td> >+ <select class="lenya-form-element" name="language"> >+ <jx:forEach var="language" items="${usecase.getParameter('languages')}"> >+ <option value="${language}">${language}</option> >+ </jx:forEach> >+ </select> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Creator</i18n:text>:</td> >+ <td> >+ <input class="lenya-form-element" type="text" name="creator" value="${usecase.getParameter('creator')}"/> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Subject</i18n:text>:</td> >+ <td> >+ <input class="lenya-form-element" type="text" name="subject" value="${usecase.getParameter('subject')}"/> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Publisher</i18n:text>:</td> >+ <td> >+ <input class="lenya-form-element" type="text" name="publisher" value="${usecase.getParameter('publisher')}"/> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Date</i18n:text>:</td> >+ <td> >+ <jx:out value="${usecase.getParameter('date')}"/> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption"> >+ <i18n:text>Rights</i18n:text>:</td> >+ <td> >+ <input class="lenya-form-element" type="text" name="rights" value="${usecase.getParameter('rights')}"/> >+ </td> >+ </tr> >+ <tr> >+ <td class="lenya-entry-caption">* <i18n:text>required fields</i18n:text> >+ </td> >+ </tr> >+ <tr> >+ <td/> >+ <td> >+ <input i18n:attr="value" type="submit" name="submit" value="Create"/> >+   >+ <input i18n:attr="value" type="submit" name="cancel" value="Cancel"/> >+ </td> >+ </tr> >+ </table> >+ </form> >+ </div> >+ </div> >+ </page:body> >+</page:page> >Index: lenya/usecases/workflow/submit.jx >=================================================================== >--- lenya/usecases/workflow/submit.jx (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ lenya/usecases/workflow/submit.jx (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1,80 @@ >+<?xml version="1.0"?> >+<!-- >+ Copyright 1999-2004 The Apache Software Foundation >+ >+ Licensed under the Apache License, Version 2.0 (the "License"); >+ you may not use this file except in compliance with the License. >+ You may obtain a copy of the License at >+ >+ http://www.apache.org/licenses/LICENSE-2.0 >+ >+ Unless required by applicable law or agreed to in writing, software >+ distributed under the License is distributed on an "AS IS" BASIS, >+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >+ See the License for the specific language governing permissions and >+ limitations under the License. >+--> >+ >+<!-- $Id: login.jx 123986 2005-01-03 15:23:11Z andreas $ --> >+ >+<page:page xmlns:jx="http://apache.org/cocoon/templates/jx/1.0" >+ xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0" >+ xmlns="http://www.w3.org/1999/xhtml" >+ xmlns:i18n="http://apache.org/cocoon/i18n/2.1" > >+ >+ <page:title><i18n:text>Submit Document</i18n:text></page:title> >+ <page:body> >+ <div class="lenya-box"> >+ <div class="lenya-box-title"> >+ <i18n:translate> >+ <i18n:text i18n:key="submit-for-approval"/> >+ <i18n:param><jx:out value="${usecase.getParameter('document').getId()}"/></i18n:param> >+ </i18n:translate> >+ </div> >+ <div class="lenya-box-body"> >+ <form> >+ <input type="hidden" name="lenya.continuation" value="${continuation.id}"/> >+ <input type="hidden" name="lenya.usecase" value="${request.getParameter('lenya.usecase')}"/> >+ <table class="lenya-table-noborder"> >+ <tr> >+ <td colspan="2"> >+ <ul> >+ <jx:forEach var="message" items="${usecase.getErrorMessages()}"> >+ <li> >+ <i18n:text> >+ <jx:out value="${message}"/> >+ </i18n:text> >+ </li> >+ </jx:forEach> >+ <jx:forEach var="message" items="${usecase.getInfoMessages()}"> >+ <li> >+ <i18n:text> >+ <jx:out value="${message}"/> >+ </i18n:text> >+ </li> >+ </jx:forEach> >+ </ul> >+ </td> >+ </tr> >+ <tr> >+ <td colspan="2" class="lenya-entry-caption"> >+ <i18n:translate> >+ <i18n:text i18n:key="submit-for-approval?"/> >+ <i18n:param><jx:out value="${usecase.getParameter('document').getId()}"/></i18n:param> >+ </i18n:translate> >+ </td> >+ </tr> >+ <tr> >+ <td/> >+ <td> >+ <input i18n:attr="value" type="submit" name="submit" value="Submit"/> >+   >+ <input i18n:attr="value" type="submit" name="cancel" value="Cancel"/> >+ </td> >+ </tr> >+ </table> >+ </form> >+ </div> >+ </div> >+ </page:body> >+</page:page> >Index: lenya/usecases/workflow/publish.jx >=================================================================== >--- lenya/usecases/workflow/publish.jx (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ lenya/usecases/workflow/publish.jx (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1,105 @@ >+<?xml version="1.0"?> >+<!-- >+ Copyright 1999-2004 The Apache Software Foundation >+ >+ Licensed under the Apache License, Version 2.0 (the "License"); >+ you may not use this file except in compliance with the License. >+ You may obtain a copy of the License at >+ >+ http://www.apache.org/licenses/LICENSE-2.0 >+ >+ Unless required by applicable law or agreed to in writing, software >+ distributed under the License is distributed on an "AS IS" BASIS, >+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >+ See the License for the specific language governing permissions and >+ limitations under the License. >+--> >+ >+<!-- $Id: login.jx 123986 2005-01-03 15:23:11Z andreas $ --> >+ >+<page:page xmlns:jx="http://apache.org/cocoon/templates/jx/1.0" >+ xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0" >+ xmlns="http://www.w3.org/1999/xhtml" >+ xmlns:i18n="http://apache.org/cocoon/i18n/2.1" > >+ >+ <page:title><i18n:text>Publish</i18n:text></page:title> >+ <page:body> >+ <div class="lenya-box"> >+ <div class="lenya-box-title"> >+ <i18n:text>Publish</i18n:text> >+ </div> >+ <div class="lenya-box-body"> >+ <form> >+ <input type="hidden" name="lenya.continuation" value="${continuation.id}"/> >+ <input type="hidden" name="lenya.usecase" value="${request.getParameter('lenya.usecase')}"/> >+ <table class="lenya-table-noborder"> >+ <tr> >+ <td class="lenya-entry-caption" valign="top"><i18n:text>Document</i18n:text>:</td> >+ <td valign="top"> >+ <jx:out value="${usecase.getParameter('document').getId()}"/> >+ </td> >+ </tr> >+ <tr> >+ <td colspan="2"> >+ <ul> >+ <jx:forEach var="message" items="${usecase.getErrorMessages()}"> >+ <li> >+ <i18n:text> >+ <jx:out value="${message}"/> >+ </i18n:text> >+ </li> >+ </jx:forEach> >+ <jx:forEach var="missingDocument" items="${usecase.getParameter('missingDocuments')}"> >+ <li> >+ <a href="${request.getContextPath() + missingDocument.getCanonicalWebappURL()}"><jx:out value="${missingDocument.getId()}"/> [<jx:out value="${missingDocument.getLanguage()}"/>]</a> >+ </li> >+ </jx:forEach> >+ <jx:forEach var="message" items="${usecase.getInfoMessages()}"> >+ <li> >+ <i18n:text> >+ <jx:out value="${message}"/> >+ </i18n:text> >+ </li> >+ </jx:forEach> >+ </ul> >+ </td> >+ </tr> >+ <tr> >+ <td/> >+ <td> >+ <jx:choose> >+ <jx:when test="${usecase.getParameter('allowSingleDocument').equals('false')}"> >+ <input type="checkbox" checked="checked" disabled="disabled"/> >+ <input name="subtree" type="hidden" value="on"/> >+ </jx:when> >+ <jx:when test="${usecase.getParameter('subtree') == null}"> >+ <input name="subtree" type="checkbox"/> >+ </jx:when> >+ <jx:otherwise> >+ <input name="subtree" type="checkbox" checked="checked"/> >+ </jx:otherwise> >+ </jx:choose> >+ <i18n:text>publish complete subtree</i18n:text> >+ </td> >+ </tr> >+ <tr> >+ <td><i18n:text>Schedule</i18n:text>:</td> >+ <td> >+ <input type="checkbox" name="schedule"/> >+ <input type="text" name="schedule.time" value="${usecase.getParameter('schedule.time')}"/> >+ </td> >+ </tr> >+ <tr> >+ <td/> >+ <td> >+ <input i18n:attr="value" type="submit" name="submit" value="Publish"/> >+   >+ <input i18n:attr="value" type="submit" name="cancel" value="Cancel"/> >+ </td> >+ </tr> >+ </table> >+ </form> >+ </div> >+ </div> >+ </page:body> >+</page:page> >Index: lenya/usecases/workflow/deactivate.jx >=================================================================== >--- lenya/usecases/workflow/deactivate.jx (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ lenya/usecases/workflow/deactivate.jx (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1,93 @@ >+<?xml version="1.0"?> >+<!-- >+ Copyright 1999-2004 The Apache Software Foundation >+ >+ Licensed under the Apache License, Version 2.0 (the "License"); >+ you may not use this file except in compliance with the License. >+ You may obtain a copy of the License at >+ >+ http://www.apache.org/licenses/LICENSE-2.0 >+ >+ Unless required by applicable law or agreed to in writing, software >+ distributed under the License is distributed on an "AS IS" BASIS, >+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >+ See the License for the specific language governing permissions and >+ limitations under the License. >+--> >+ >+<!-- $Id: login.jx 123986 2005-01-03 15:23:11Z andreas $ --> >+ >+<page:page xmlns:jx="http://apache.org/cocoon/templates/jx/1.0" >+ xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0" >+ xmlns="http://www.w3.org/1999/xhtml" >+ xmlns:i18n="http://apache.org/cocoon/i18n/2.1" > >+ >+ <page:title><i18n:text>Deactivate</i18n:text></page:title> >+ <page:body> >+ <div class="lenya-box"> >+ <div class="lenya-box-title"> >+ <i18n:text>Deactivate</i18n:text> >+ </div> >+ <div class="lenya-box-body"> >+ <form> >+ <input type="hidden" name="lenya.continuation" value="${continuation.id}"/> >+ <input type="hidden" name="lenya.usecase" value="${request.getParameter('lenya.usecase')}"/> >+ <table class="lenya-table-noborder"> >+ <tr> >+ <td class="lenya-entry-caption" valign="top"><i18n:text>Document</i18n:text>:</td> >+ <td valign="top"> >+ <jx:out value="${usecase.getParameter('document').getId()}"/> >+ </td> >+ </tr> >+ <tr> >+ <td colspan="2"> >+ <ul> >+ <jx:forEach var="message" items="${usecase.getErrorMessages()}"> >+ <li> >+ <i18n:text> >+ <jx:out value="${message}"/> >+ </i18n:text> >+ </li> >+ </jx:forEach> >+ <jx:forEach var="message" items="${usecase.getInfoMessages()}"> >+ <li> >+ <i18n:text> >+ <jx:out value="${message}"/> >+ </i18n:text> >+ </li> >+ </jx:forEach> >+ </ul> >+ </td> >+ </tr> >+ <tr> >+ <td/> >+ <td> >+ <jx:choose> >+ <jx:when test="${usecase.getParameter('allowSingleDocument').equals('false')}"> >+ <input type="checkbox" checked="checked" disabled="disabled"/> >+ <input name="subtree" type="hidden" value="on"/> >+ </jx:when> >+ <jx:when test="${usecase.getParameter('subtree') == null}"> >+ <input name="subtree" type="checkbox"/> >+ </jx:when> >+ <jx:otherwise> >+ <input name="subtree" type="checkbox" checked="checked"/> >+ </jx:otherwise> >+ </jx:choose> >+ <i18n:text>deactivate complete subtree</i18n:text> >+ </td> >+ </tr> >+ <tr> >+ <td/> >+ <td> >+ <input i18n:attr="value" type="submit" name="submit" value="Deactivate"/> >+   >+ <input i18n:attr="value" type="submit" name="cancel" value="Cancel"/> >+ </td> >+ </tr> >+ </table> >+ </form> >+ </div> >+ </div> >+ </page:body> >+</page:page> >Index: lenya/usecases/workflow/reject.jx >=================================================================== >--- lenya/usecases/workflow/reject.jx (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ lenya/usecases/workflow/reject.jx (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1,80 @@ >+<?xml version="1.0"?> >+<!-- >+ Copyright 1999-2004 The Apache Software Foundation >+ >+ Licensed under the Apache License, Version 2.0 (the "License"); >+ you may not use this file except in compliance with the License. >+ You may obtain a copy of the License at >+ >+ http://www.apache.org/licenses/LICENSE-2.0 >+ >+ Unless required by applicable law or agreed to in writing, software >+ distributed under the License is distributed on an "AS IS" BASIS, >+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >+ See the License for the specific language governing permissions and >+ limitations under the License. >+--> >+ >+<!-- $Id: login.jx 123986 2005-01-03 15:23:11Z andreas $ --> >+ >+<page:page xmlns:jx="http://apache.org/cocoon/templates/jx/1.0" >+ xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0" >+ xmlns="http://www.w3.org/1999/xhtml" >+ xmlns:i18n="http://apache.org/cocoon/i18n/2.1" > >+ >+ <page:title><i18n:text>Reject Document</i18n:text></page:title> >+ <page:body> >+ <div class="lenya-box"> >+ <div class="lenya-box-title"> >+ <i18n:translate> >+ <i18n:text i18n:key="reject-doc"/> >+ <i18n:param><jx:out value="${usecase.getParameter('document').getId()}"/></i18n:param> >+ </i18n:translate> >+ </div> >+ <div class="lenya-box-body"> >+ <form> >+ <input type="hidden" name="lenya.continuation" value="${continuation.id}"/> >+ <input type="hidden" name="lenya.usecase" value="${request.getParameter('lenya.usecase')}"/> >+ <table class="lenya-table-noborder"> >+ <tr> >+ <td colspan="2"> >+ <ul> >+ <jx:forEach var="message" items="${usecase.getErrorMessages()}"> >+ <li> >+ <i18n:text> >+ <jx:out value="${message}"/> >+ </i18n:text> >+ </li> >+ </jx:forEach> >+ <jx:forEach var="message" items="${usecase.getInfoMessages()}"> >+ <li> >+ <i18n:text> >+ <jx:out value="${message}"/> >+ </i18n:text> >+ </li> >+ </jx:forEach> >+ </ul> >+ </td> >+ </tr> >+ <tr> >+ <td colspan="2" class="lenya-entry-caption"> >+ <i18n:translate> >+ <i18n:text i18n:key="reject-doc?"/> >+ <i18n:param><jx:out value="${usecase.getParameter('document').getId()}"/></i18n:param> >+ </i18n:translate> >+ </td> >+ </tr> >+ <tr> >+ <td/> >+ <td> >+ <input i18n:attr="value" type="submit" name="submit" value="Reject"/> >+   >+ <input i18n:attr="value" type="submit" name="cancel" value="Cancel"/> >+ </td> >+ </tr> >+ </table> >+ </form> >+ </div> >+ </div> >+ </page:body> >+</page:page> >Index: publication.xml >=================================================================== >--- publication.xml (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ publication.xml (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -19,8 +19,8 @@ > > <lenya:publication xmlns:lenya="http://apache.org/cocoon/lenya/publication/1.0"> > <lenya:name>Default Publication</lenya:name> >- <lenya:pub-version>1.2.3-dev</lenya:pub-version> >- <lenya:lenya-version>1.2.3-dev</lenya:lenya-version> >+ <lenya:pub-version>1.0</lenya:pub-version> >+ <lenya:lenya-version>1.4-dev</lenya:lenya-version> > <lenya:cocoon-version>2.1.6</lenya:cocoon-version> > <lenya:description>This publication is a best practice, getting started publication.</lenya:description> > <lenya:credits>Special thanks to </lenya:credits> >Index: resources/shared/css/page.css >=================================================================== >--- resources/shared/css/page.css (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ resources/shared/css/page.css (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -144,7 +144,7 @@ > margin-right: 10px; > float: right; > position:relative; >- top:-20px; >+ top:-20px > } > > input.searchfield { >@@ -264,10 +264,3 @@ > font-size: 10px; > margin: 10px 10px 10px 5px; > } >- >-#footer { >- padding: 5px; >- font-size: 60%; >- text-align: right; >- border-top: solid 1px #BB9999; >-} >Index: resources/shared/css/xhtml.css >=================================================================== >--- resources/shared/css/xhtml.css (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ resources/shared/css/xhtml.css (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1 @@ >+/* Put your doctype-specific CSS here */ >\ No newline at end of file > >Property changes on: resources/shared/css/xhtml.css >___________________________________________________________________ >Name: svn:eol-style > + native > >Index: resources/shared/css/links.css >=================================================================== >--- resources/shared/css/links.css (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ resources/shared/css/links.css (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1 @@ >+/* Put your doctype-specific CSS here */ >\ No newline at end of file > >Property changes on: resources/shared/css/links.css >___________________________________________________________________ >Name: svn:eol-style > + native > >Index: resources/shared/css/homepage.css >=================================================================== >--- resources/shared/css/homepage.css (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ resources/shared/css/homepage.css (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1 @@ >+/* Put your doctype-specific CSS here */ > >Property changes on: resources/shared/css/homepage.css >___________________________________________________________________ >Name: svn:eol-style > + native > >Index: resources/misc/bxe/xhtml-bxe.css >=================================================================== >--- resources/misc/bxe/xhtml-bxe.css (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ resources/misc/bxe/xhtml-bxe.css (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1,16 @@ >+/* >+* Copyright 1999-2004 The Apache Software Foundation >+* >+* Licensed under the Apache License, Version 2.0 (the "License"); >+* you may not use this file except in compliance with the License. >+* You may obtain a copy of the License at >+* >+* http://www.apache.org/licenses/LICENSE-2.0 >+* >+* Unless required by applicable law or agreed to in writing, software >+* distributed under the License is distributed on an "AS IS" BASIS, >+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >+* See the License for the specific language governing permissions and >+* limitations under the License. >+*/ >+@import url(page.css); >\ No newline at end of file > >Property changes on: resources/misc/bxe/xhtml-bxe.css >___________________________________________________________________ >Name: svn:keywords > + author date id revision >Name: svn:eol-style > + native > >Index: resources/misc/bxe/xhtml-namespaces.xml >=================================================================== >--- resources/misc/bxe/xhtml-namespaces.xml (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 0) >+++ resources/misc/bxe/xhtml-namespaces.xml (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -0,0 +1,26 @@ >+<?xml version="1.0"?> >+<!-- >+ Copyright 1999-2004 The Apache Software Foundation >+ >+ Licensed under the Apache License, Version 2.0 (the "License"); >+ you may not use this file except in compliance with the License. >+ You may obtain a copy of the License at >+ >+ http://www.apache.org/licenses/LICENSE-2.0 >+ >+ Unless required by applicable law or agreed to in writing, software >+ distributed under the License is distributed on an "AS IS" BASIS, >+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >+ See the License for the specific language governing permissions and >+ limitations under the License. >+--> >+ >+<!-- $Id$ --> >+ >+<namespaces> >+ >+<xmlns>xhtml=http://www.w3.org/1999/xhtml</xmlns> >+<xmlns>dc=http://purl.org/dc/elements/1.1/</xmlns> >+<xmlns>lenya=http://apache.org/cocoon/lenya/page-envelope/1.0</xmlns> >+ >+</namespaces> > >Property changes on: resources/misc/bxe/xhtml-namespaces.xml >___________________________________________________________________ >Name: svn:keywords > + author date id revision >Name: svn:eol-style > + native > >Index: publication-sitemap.xmap >=================================================================== >--- publication-sitemap.xmap (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ publication-sitemap.xmap (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -18,9 +18,7 @@ > <!-- $Id$ --> > > <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> >- >- <map:components/> >- >+ > <map:views> > <map:view from-label="aggregation" name="aggregation"> > <map:serialize type="xml"/> >@@ -32,7 +30,7 @@ > <map:transform type="i18n"> > <map:parameter name="locale" value="{request:locale}"/> > </map:transform> >- <map:transform src="../../xslt/util/page2xhtml.xsl"> >+ <map:transform src="fallback://lenya/xslt/util/page2xhtml.xsl"> > <map:parameter name="contextprefix" value="{request:contextPath}"/> > </map:transform> > <map:transform src="../../xslt/util/strip_namespaces.xsl"/> >@@ -63,15 +61,14 @@ > <map:pipeline> > <map:match pattern="**/"> > <map:redirect-to uri="index.html"/> >- <!--<map:redirect-to uri="{1}.html"/>--> > </map:match> > </map:pipeline> > > <map:pipeline> > <!-- pattern="{rendertype}/{area}/{doctype}/{document-path}" --> > <!-- NOTE: rendertype seems to be 'edit' or 'view' --> >- <map:match pattern="lenya-document-*/*/*/**.xml"> >- <map:mount check-reload="true" reload-method="synchron" src="doctypes.xmap" uri-prefix="lenya-document-"/> >+ <map:match pattern="lenya-document/*/*/*/**.xml"> >+ <map:mount uri-prefix="lenya-document/" src="{fallback:doctypes.xmap}" check-reload="true" reload-method="synchron"/> > </map:match> > </map:pipeline> > >@@ -81,19 +78,19 @@ > <map:pipeline type="noncaching"> > > <map:match pattern="*/**.rng"> >- <map:generate src="config/doctypes/schemas/{2}.rng"/> >+ <map:generate src="fallback://config/doctypes/schemas/{2}.rng"/> > <map:serialize type="xml"/> > </map:match> > >- <map:match pattern="**/*-bxeng.css"> >- <map:read mime-type="text/css" src="resources/misc/bxeng/{2}-bxeng.css"/> >+ <map:match pattern="**/*-bxe.css"> >+ <map:read mime-type="text/css" src="resources/misc/bxe/{2}-bxe.css"/> > </map:match> > > <map:handle-errors> > <map:select type="exception"> > <map:when test="resourcenotfound"> > <map:generate src="../../content/util/empty.xml" /> >- <map:transform src="../../xslt/exception/document-does-not-exist.xsl"> >+ <map:transform src="fallback://lenya/xslt/exception/document-does-not-exist.xsl"> > <map:parameter name="documentid" value="{page-envelope:document-id}"/> > <map:parameter name="documenturl" value="{page-envelope:document-url}"/> > </map:transform> >@@ -125,9 +122,9 @@ > <map:part src="cocoon://navigation/{2}/{3}/tabs/{5}.xml"/> > <map:part src="cocoon://navigation/{2}/{3}/menu/{5}.xml"/> > <map:part src="cocoon://navigation/{2}/{3}/search/{5}.xml"/> >- <map:part src="cocoon:/lenya-document-{1}/{3}/{4}/{page-envelope:document-path}"/> >+ <map:part src="cocoon:/lenya-document/{1}/{3}/{4}/{page-envelope:document-path}"/> > </map:aggregate> >- <map:transform src="xslt/page2xhtml-{4}.xsl"> >+ <map:transform src="fallback://xslt/page2xhtml-{4}.xsl"> > <map:parameter name="root" value="{page-envelope:context-prefix}/{2}/{3}"/> > <map:parameter name="url" value="{5}"/> > <map:parameter name="document-id" value="{page-envelope:document-id}"/> >@@ -153,36 +150,55 @@ > <map:serialize type="xml"/> > </map:match> > >- <map:match pattern="**.html"> >+ <map:match pattern="*/**.html"> > <map:act type="language-exists"> >- <map:select type="resource-exists"> >- <map:when test="{global:cache-dir}/{../1}.html"> >- <map:read src="{global:cache-dir}/{../1}.html" mime-type="text/html"/> >+ <map:select type="resource-exists"> >+ <!-- Read from cache --> >+ <!-- If configured within Apache then mod_lenya will nevertheless read from cache --> >+ <map:when test="{global:cache-dir}/{../1}/{../2}.html"> >+ <map:read src="{global:cache-dir}/{../1}/{../2}.html" mime-type="text/html"/> > </map:when> >+ <!-- Write to cache and serialize --> > <map:otherwise> >- <map:generate src="cocoon:/lenyabody-view/{page-envelope:publication-id}/{page-envelope:area}/{page-envelope:document-type}{page-envelope:document-url}"/> >+ >+ <map:generate src="cocoon:/lenyabody-view/{page-envelope:publication-id}/{page-envelope:area}/{page-envelope:document-type}{page-envelope:document-url}"/> >+ >+ <map:select type="browser"> >+ <map:when test="mozilla5"> > <map:match pattern="authoring/**.html"> >- <map:transform src="cocoon://lenya-page/{page-envelope:publication-id}/{../../1}.xml?doctype={page-envelope:document-type}"/> >+ <map:transform src="cocoon://lenya-page/{page-envelope:publication-id}/{../../1}/{../../2}.xml?doctype={page-envelope:document-type}&uiml=xul"/> > </map:match> >+ <map:serialize type="xml" mime-type="application/vnd.mozilla.xul+xml"/> >+ </map:when> >+ <map:otherwise> >+ <map:match pattern="authoring/**.html"> >+ <map:transform src="cocoon://lenya-page/{page-envelope:publication-id}/{../../1}/{../../2}.xml?doctype={page-envelope:document-type}"/> >+ </map:match> > <map:transform src="../../xslt/util/strip_namespaces.xsl"/> >- <map:match pattern="live/**.html"> >- <map:transform src="../../xslt/authoring/edit/addSourceTags.xsl"> >- <map:parameter name="source" value="{global:cache-dir}/live/{1}.html"/> >- </map:transform> >- <map:transform type="write-source"> >- <map:parameter name="serializer" value="html-no-dtd"/> >- </map:transform> >- <map:transform src="../../xslt/authoring/edit/removeSourceTags.xsl"/> >- </map:match> >- <map:serialize type="html"/> >+ <!-- Write to cache for requests from live area --> >+ <map:select type="parameter"> >+ <map:parameter name="parameter-selector-test" value="{../1}"/> >+ <map:when test="live"> >+ <map:transform src="../../xslt/authoring/edit/addSourceTags.xsl"> >+ <map:parameter name="source" value="{global:cache-dir}/{../1}/{../2}.html"/> >+ </map:transform> >+ <map:transform type="write-source"> >+ <map:parameter name="serializer" value="html-no-dtd"/> >+ </map:transform> >+ <map:transform src="../../xslt/authoring/edit/removeSourceTags.xsl"/> >+ </map:when> >+ </map:select> >+ <map:serialize type="html"/> > </map:otherwise> >- </map:select> >+ </map:select> >+ </map:otherwise> >+ </map:select> > </map:act> > > <!-- There is no version of the requested document-id for the > requested language. --> > <map:generate type="serverpages" src="../../content/exception/missing-language.xsp"/> >- <map:transform src="../../xslt/exception/missing-language.xsl"/> >+ <map:transform src="fallback://lenya/xslt/exception/missing-language.xsl"/> > <map:call resource="style-cms-page"/> > > </map:match> >@@ -191,7 +207,7 @@ > <map:select type="exception"> > <map:when test="document-does-not-exist"> > <map:generate src="../../content/util/empty.xml"/> >- <map:transform src="../../xslt/exception/document-does-not-exist.xsl"> >+ <map:transform src="fallback://lenya/xslt/exception/document-does-not-exist.xsl"> > <map:parameter name="documentid" value="{page-envelope:document-id}"/> > <map:parameter name="documenturl" value="{page-envelope:document-url}"/> > </map:transform> >@@ -201,7 +217,7 @@ > </map:when> > <map:when test="resourcenotfound"> > <map:generate src="../../content/util/empty.xml" /> >- <map:transform src="../../xslt/exception/document-does-not-exist.xsl"> >+ <map:transform src="fallback://lenya/xslt/exception/document-does-not-exist.xsl"> > <map:parameter name="documentid" value="{page-envelope:document-id}"/> > <map:parameter name="documenturl" value="{page-envelope:document-url}"/> > </map:transform> >Index: usecase-bxeng.xmap >=================================================================== >--- usecase-bxeng.xmap (.../branches/BRANCH_1_2_X/src/webapp/lenya/pubs) (revision 158263) >+++ usecase-bxeng.xmap (.../trunk/src/webapp/lenya/pubs) (revision 158263) >@@ -1,290 +0,0 @@ >-<?xml version="1.0" encoding="UTF-8"?> >-<!-- >- Copyright 1999-2004 The Apache Software Foundation >- >- Licensed under the Apache License, Version 2.0 (the "License"); >- you may not use this file except in compliance with the License. >- You may obtain a copy of the License at >- >- http://www.apache.org/licenses/LICENSE-2.0 >- >- Unless required by applicable law or agreed to in writing, software >- distributed under the License is distributed on an "AS IS" BASIS, >- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >- See the License for the specific language governing permissions and >- limitations under the License. >---> >- >-<!-- $Id$ --> >- >-<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> >- >- <!-- =========================== Components ================================ --> >- <map:components> >- <map:generators default="file"/> >- <map:transformers default="xalan"/> >- <map:readers default="resource"/> >- <map:serializers default="xhtml"/> >- <map:matchers default="wildcard"/> >- <map:actions/> >- <map:selectors/> >- </map:components> >- >- <!-- =========================== Resources ================================ --> >- <map:resources> >- >- <map:resource name="style-cms-page"> >- <map:transform type="i18n"> >- <map:parameter name="locale" value="{request:locale}"/> >- </map:transform> >- <map:transform src="../../xslt/util/page2xhtml.xsl"> >- <map:parameter name="contextprefix" value="{request:contextPath}"/> >- </map:transform> >- <map:transform src="../../xslt/util/strip_namespaces.xsl"/> >- <map:select type="parameter"> >- <map:parameter name="statusCode" value="{statusCode}"/> >- <map:when test=""> >- <map:serialize type="html" /> >- </map:when> >- <map:otherwise> >- <map:serialize type="html" status-code="{statusCode}"/> >- </map:otherwise> >- </map:select> >- </map:resource> >- >- <map:resource name="cms-screen-xml"> >- <map:generate src="../../content/{serverpage}" type="serverpages"/> >- <map:transform src="../../xslt/{stylesheet}"> >- <map:parameter name="use-request-parameters" value="true"/> >- <map:parameter name="contextprefix" value="{request:contextPath}"/> >- </map:transform> >- </map:resource> >- >- <map:resource name="cms-screen"> >- <map:call resource="cms-screen-xml"> >- <map:parameter name="serverpage" value="{serverpage}"/> >- <map:parameter name="stylesheet" value="{stylesheet}"/> >- </map:call> >- <map:call resource="style-cms-page"/> >- </map:resource> >- >- >- </map:resources> >- <!-- =========================== Flow ===================================== --> >- <map:flow language="javascript"> >- <map:script src="../../usecases/edit-document.js"/> >- </map:flow> >- <!-- =========================== Pipelines ================================ --> >- >- <map:pipelines> >- >- <map:pipeline type="noncaching"> >- >- <map:match pattern="request2document"> >- <map:generate type="stream"/> >- <map:transform src="../../xslt/bxeng/change-object-path-back.xsl"> >- <map:parameter name="documentid" value="{page-envelope:document-id}"/> >- </map:transform> >- <map:serialize type="xml"/> >- </map:match> >- >- <map:match type="usecase" pattern="bxeng"> >- >- <map:match type="step" pattern="open"> >- <!-- Check for BXENG --> >- <map:act type="resource-exists" src="../../resources/bxeng/bxeLoader.js"> >- <map:act type="reserved-checkout"> >- <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:parameter name="message" value="{message}"/> >- </map:generate> >- <map:transform src="../../xslt/rc/rco-exception.xsl"/> >- <map:call resource="style-cms-page"/> >- </map:act> >- <map:aggregate element="bxeng"> >- <map:part src="../../resources/misc/bxeng/index.xhtml"/> >- <map:part src="../../resources/misc/bxeng/content-namespaces.xml"/> >- </map:aggregate> >- <map:transform src="../../xslt/bxeng/aggregate.xsl"/> >- <map:transform src="../../xslt/bxeng/index-xhtml.xsl"> >- <map:parameter name="configfile" value="{request:requestURI}?lenya.usecase=bxeng&lenya.step=config"/> >- <map:parameter name="context" value="{request:contextPath}"/> >- </map:transform> >- <map:transform src="../../xslt/util/strip_namespaces.xsl"/> >- <map:serialize type="xhtml"/> >- </map:act> >- <map:generate src="../../resources/misc/bxeng/download.xhtml"/> >- <map:call resource="style-cms-page"/> >- <map:serialize type="html"/> >- </map:match> >- >- <map:match pattern="image-upload-show" type="step"> >- <map:call resource="cms-screen"> >- <map:parameter name="serverpage" value="info/assets.xsp"/> >- <map:parameter name="stylesheet" value="bxeng/image.xsl"/> >- </map:call> >- </map:match> >- >- <map:match pattern="asset-upload-show" type="step"> >- <map:call resource="cms-screen"> >- <map:parameter name="serverpage" value="info/assets.xsp"/> >- <map:parameter name="stylesheet" value="bxeng/asset.xsl"/> >- </map:call> >- </map:match> >- >- <map:match type="step" pattern="asset-upload"> >- <map:act type="upload"> >- <map:redirect-to uri="{request:requestURI}?lenya.usecase=bxeng&lenya.step=asset-upload-show"/> >- </map:act> >- <map:call resource="cms-screen"> >- <map:parameter name="serverpage" value="info/assets.xsp"/> >- <map:parameter name="stylesheet" value="bxeng/asset.xsl"/> >- </map:call> >- </map:match> >- >- <map:match type="step" pattern="image-upload"> >- <map:act type="upload"> >- <map:redirect-to uri="{request:requestURI}?lenya.usecase=bxeng&lenya.step=image-upload-show"/> >- </map:act> >- <map:call resource="cms-screen"> >- <map:parameter name="serverpage" value="info/assets.xsp"/> >- <map:parameter name="stylesheet" value="bxeng/image.xsl"/> >- </map:call> >- </map:match> >- >- <map:match pattern="link-show" type="step"> >- <!-- just a dummy xsp since we call the info area directly --> >- <map:generate type="serverpages" src="../../content/info/assets.xsp"/> >- <map:transform src="../../xslt/bxeng/link.xsl" label="content"> >- <map:parameter name="infoarea" value="true"/> >- <map:parameter name="contextprefix" value="{request:contextPath}"/> >- <map:parameter name="publicationid" value="{page-envelope:publication-id}"/> >- <map:parameter name="area" value="authoring"/> >- <map:parameter name="tab" value="en"/> >- <map:parameter name="chosenlanguage" value="{page-envelope:document-language}"/> >- <map:parameter name="documentid" value="{page-envelope:document-id}"/> >- <map:parameter name="documenturl" value="/{page-envelope:document-url}"/> >- <map:parameter name="documentextension" value="{page-envelope:document-extension}"/> >- <map:parameter name="defaultlanguage" value="{page-envelope:default-language}"/> >- <map:parameter name="languages" value="{page-envelope:publication-languages-csv}"/> >- </map:transform> >- <map:call resource="style-cms-page"/> >- </map:match> >- >- <!-- {publication-id}/{area}/info-sitetree --> >- <map:match pattern="link-tree" type="step"> >- <map:aggregate element="lenya" label="aggregate"> >- <map:part src="content/authoring/sitetree.xml"/> >- </map:aggregate> >- >- <map:transform src="../../xslt/navigation/sitetree2nav.xsl" label="navtree"> >- <map:parameter name="chosenlanguage" value="{request-param:language}"/> >- <map:parameter name="defaultlanguage" value="{page-envelope:default-language}"/> >- </map:transform> >- >- <map:transform src="../../xslt/bxeng/sitetree2tree.xsl" label="content"> >- <map:parameter name="contextprefix" value="{request:contextPath}"/> >- <map:parameter name="publicationid" value="{page-envelope:publication-id}"/> >- <map:parameter name="chosenlanguage" value="{request-param:language}"/> >- <map:parameter name="defaultlanguage" value="{page-envelope:default-language}"/> >- <map:parameter name="cutdocumentid" value="{session-attr:org.apache.lenya.cms.info.cutdocumentid}"/> >- </map:transform> >- >- <map:serialize type="text"/> >- </map:match> >- >- <map:match pattern="**/*.html"> >- <!-- configuration --> >- <map:match type="step" pattern="config"> >- <map:generate src="../../resources/misc/bxeng/inc/config.xml"/> >- <map:transform src="../../xslt/bxeng/config-xml.xsl"> >- <map:parameter name="BX_xmlfile" value="{request:requestURI}?lenya.usecase=bxeng&lenya.step=xml"/> >- <map:parameter name="defaultlanguage" value="{page-envelope:default-language}"/> >- >- <!-- Instead of an xsl we use the xhtml file to provide the basic layout >- <map:parameter name="BX_xslfile" value="{2}.xsl"/> >- --> >- <map:parameter name="BX_xhtmlfile" value="{../2}.bxe.html"/> >- <map:parameter name="BX_validationfile" value="{request:contextPath}/{page-envelope:publication-id}/{page-envelope:area}/{page-envelope:document-type}.rng"/> >- <map:parameter name="css" value="{request:contextPath}/{page-envelope:publication-id}/{page-envelope:area}/css/{page-envelope:document-type}-bxeng.css"/> >- <!-- The document is checked in when we exit from bx (in case of save&exit and in case of exit), so we use the usecase >- for the checkin while we redirect to the document >- --> >- <map:parameter name="BX_exitdestination" value="{request:requestURI}?lenya.usecase=checkin&lenya.step=checkin&backup=true"/> >- <map:parameter name="contextmenufile" value="../../resources/misc/bxeng/contextmenu.xml"/> >- </map:transform> >- <map:transform type="cinclude"/> >- <map:serialize type="xml"/> >- </map:match> >- </map:match> >- >- <map:match pattern="*/**.html"> >- >- <!-- /GET and PUT --> >- <map:match type="step" pattern="xml"> >- <map:select type="request-method"> >- >- <map:when test="PUT"> >- <!-- before we save, we must be sure that the document is well checked out >- --> >- <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:call resource="style-cms-page"/> >- </map:act> >- >- <map:call function="editDocument"> >- <map:parameter name="sourceUri" value="cocoon:/request2document"/> >- <map:parameter name="noCheckin" value="true"/> >- </map:call> >- </map:when> >- >- <map:otherwise> <!-- GET --> >- <map:generate src="content/authoring/{page-envelope:document-path}"/> >- <map:transform src="../../xslt/bxeng/change-object-path.xsl"> >- <map:parameter name="documentid" value="{page-envelope:document-id}"/> >- </map:transform> >- <map:serialize type="xml"/> >- </map:otherwise> >- >- </map:select> >- </map:match> >- <!-- /GET and PUT --> >- >- </map:match> <!-- uri pattern --> >- >- </map:match> <!-- usecase --> >- >- <map:handle-errors> >- <map:select type="exception"> >- <map:when test="resourcenotfound"> >- <map:generate src="../../content/util/empty.xml" /> >- <map:transform src="../../xslt/exception/document-does-not-exist.xsl"> >- <map:parameter name="documentid" value="{page-envelope:document-id}"/> >- <map:parameter name="documenturl" value="{page-envelope:document-url}"/> >- </map:transform> >- <map:call resource="style-cms-page"> >- <map:parameter name="statusCode" value="404"/> >- </map:call> >- </map:when> >- <map:otherwise> >- <map:generate type="notifying"/> >- <map:transform src="../../../stylesheets/system/error2html.xslt"> >- <map:parameter name="contextPath" value="{request:contextPath}"/> >- </map:transform> >- </map:otherwise> >- </map:select> >- <map:serialize type="html"/> >- </map:handle-errors> >- >- </map:pipeline> >- >- </map:pipelines> >- >-</map:sitemap> >\ No newline at end of file
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 34088
: 14522