Next part of the conversion of CCM / APLAWS to be deployed in a standard way
by a *.war file and executable in a standard servlet container. All CCM modules will install into the main application context now. Backwards compatibilty preserved, ccm scripts can be used as used to. No update script required for this part. Modifications: - application.xml added ROOT as installation target - base class <module> methods getContextPath() removed, getServletPath() modified - web.xml-<module>.in created - import statements in xsl adjusted - no API change git-svn-id: https://svn.libreccm.org/ccm/trunk@83 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
55bb4dfc75
commit
256c92fe42
|
|
@ -3,7 +3,9 @@
|
|||
name="ccm-auth-http"
|
||||
prettyName="Auth HTTP"
|
||||
version="6.5.0"
|
||||
release="1">
|
||||
release="1"
|
||||
webapp="ROOT">
|
||||
|
||||
<ccm:dependencies>
|
||||
<ccm:requires name="ccm-core" version="6.2.0" relation="ge"/>
|
||||
</ccm:dependencies>
|
||||
|
|
@ -15,4 +17,5 @@
|
|||
The Red Hat Web Application Framework is a platform for writing
|
||||
database-backed web applications in Java.
|
||||
</ccm:description>
|
||||
|
||||
</ccm:application>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
Up to APLAWS version 1.0.4 auth-http had been installed into its own
|
||||
application context: [webapps]/ccm-auth-http.
|
||||
|
||||
Now it is installed inside the main APLAWS application context along
|
||||
with all other applications.
|
||||
|
||||
If shortcuts should be installed as its own web context again following
|
||||
modifications are necessary:
|
||||
1. remove webapp="xxx" from application.xml
|
||||
2. move the files in this dir to WEB-INF/
|
||||
3. change src/com/ad/auth/http/HTTPAuth.java
|
||||
method getServletContext() as back to "/files"
|
||||
4. edit __ccm__/.../xsl/index.xsl according the comment
|
||||
|
||||
|
||||
Running it in its own webapplication context nevertheless is not suggestive.
|
||||
It needs several xsl files of the main application (esp. core) for basic
|
||||
operations, which hac been directly mapped from the main applications directory
|
||||
tree into its own directory tree. So no module separation is possible, no
|
||||
security context useable etc.
|
||||
|
||||
|
|
@ -54,12 +54,44 @@ public class HTTPAuth extends Application {
|
|||
super(oid);
|
||||
}
|
||||
|
||||
public String getContextPath() {
|
||||
return "/ccm-auth-http";
|
||||
}
|
||||
// /*
|
||||
// * Application specific method only required if installed in its own
|
||||
// * web application context
|
||||
// */
|
||||
// public String getContextPath() {
|
||||
// return "/ccm-auth-http";
|
||||
// }
|
||||
|
||||
/**
|
||||
* Returns the path name of the location of the applications servlet/JSP.
|
||||
*
|
||||
* The method overwrites the super class to provide an application specific
|
||||
* location for servlets/JSP. This is necessary if you whish to install the
|
||||
* module (application) along with others in one context. If you install the
|
||||
* module into its own context (no longer recommended for versions newer
|
||||
* than 1.0.4) you may use a standard location.
|
||||
*
|
||||
* Usually it is a symbolic name/path, which will be mapped in the web.xml
|
||||
* to the real location in the file system. Example:
|
||||
* <servlet>
|
||||
* <servlet-name>auth-http-files</servlet-name>
|
||||
* <servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
* <init-param>
|
||||
* <param-name>template-path</param-name>
|
||||
* <param-value>/templates/ccm-auth-http</param-value>
|
||||
* </init-param>
|
||||
* </servlet>
|
||||
*
|
||||
* <servlet-mapping>
|
||||
* <servlet-name>auth-http-files</servlet-name>
|
||||
* <url-pattern>/ccm-auth-http/files/*</url-pattern>
|
||||
* </servlet-mapping>
|
||||
*
|
||||
* @return path name to the applications servlet/JSP
|
||||
*/
|
||||
public String getServletPath() {
|
||||
return "/files";
|
||||
// return "/files";
|
||||
return "/ccm-auth-http/files";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
<!-- module ccm-auth-http - servlet definitions BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>auth-http-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-auth-http</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-auth-http - servlet definitions END -->
|
||||
|
||||
<!-- module ccm-auth-http - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>auth-http-files</servlet-name>
|
||||
<url-pattern>/ccm-auth-http/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-auth-http - servlet mappings END -->
|
||||
|
||||
|
|
@ -1,8 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
version="1.0">
|
||||
|
||||
<!-- IMPORT DEFINITIONS ccm-auth-http installed as separate web application
|
||||
<xsl:import href="../../../../../ROOT/packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../../ROOT/packages/ui/xsl/ui.xsl"/>
|
||||
-->
|
||||
<!-- IMPORT DEFINITIONS ccm-auth-http installed into the main CCM webapp
|
||||
-->
|
||||
<xsl:import href="../../../../packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../packages/ui/xsl/ui.xsl"/>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
|
|||
|
|
@ -109,10 +109,10 @@ public class Application extends Resource {
|
|||
public static Application createRootApplication(final ApplicationType type,
|
||||
final String title,
|
||||
final boolean createContainerGroup) {
|
||||
if (Assert.isAssertEnabled()) {
|
||||
if (Assert.isEnabled()) {
|
||||
Assert.exists(type, ApplicationType.class);
|
||||
Assert.exists(title, String.class);
|
||||
Assert.truth(type.m_legacyFree);
|
||||
Assert.isTrue(type.m_legacyFree);
|
||||
}
|
||||
|
||||
return Application.make(type, null, title, null, createContainerGroup);
|
||||
|
|
@ -131,11 +131,11 @@ public class Application extends Resource {
|
|||
final String title,
|
||||
final Application parent,
|
||||
final boolean createContainerGroup) {
|
||||
if (Assert.isAssertEnabled()) {
|
||||
if (Assert.isEnabled()) {
|
||||
Assert.exists(type, ApplicationType.class);
|
||||
Assert.exists(fragment, String.class);
|
||||
Assert.exists(title, String.class);
|
||||
Assert.truth(!fragment.equals(""),
|
||||
Assert.isTrue(!fragment.equals(""),
|
||||
"The URL fragment must not be the empty string");
|
||||
}
|
||||
|
||||
|
|
@ -178,8 +178,8 @@ public class Application extends Resource {
|
|||
if (createContainerGroup) {
|
||||
app.createGroup();
|
||||
}
|
||||
if (Assert.isAssertEnabled() && fragment != null) {
|
||||
Assert.truth(fragment.indexOf('/') == -1,
|
||||
if (Assert.isEnabled() && fragment != null) {
|
||||
Assert.isTrue(fragment.indexOf('/') == -1,
|
||||
"The URL fragment must not contain " +
|
||||
"slashes; I got '" + fragment + "'");
|
||||
}
|
||||
|
|
@ -499,9 +499,9 @@ public class Application extends Resource {
|
|||
* Sets the dispatcher path of this application. The
|
||||
*/
|
||||
public final void setPath(String path) {
|
||||
if (Assert.isAssertEnabled()) {
|
||||
if (Assert.isEnabled()) {
|
||||
Assert.exists(path, String.class);
|
||||
Assert.truth
|
||||
Assert.isTrue
|
||||
(path.equals("") || (path.startsWith(SLASH)
|
||||
&& !path.endsWith(SLASH)),
|
||||
"The path must either be the empty string (for the " +
|
||||
|
|
@ -586,6 +586,35 @@ public class Application extends Resource {
|
|||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the path name of the location of the applications servlet/JSP.
|
||||
*
|
||||
* Application implementations may overwrite this method to provide an
|
||||
* application specific location, especially if an application (module) is
|
||||
* to be installed along with others in one context.
|
||||
*
|
||||
* If you install the module into its own context you may use a standard
|
||||
* location. In most cases though all modules (applications) of an
|
||||
* webapplication should be installed into one context.
|
||||
*
|
||||
* Frequently it is a symbolic name/path, which will be mapped in the web.xml
|
||||
* to the real location in the file system. Example:
|
||||
* <servlet>
|
||||
* <servlet-name>applicationName-files</servlet-name>
|
||||
* <servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
* <init-param>
|
||||
* <param-name>template-path</param-name>
|
||||
* <param-value>/templates/ccm-applicationName</param-value>
|
||||
* </init-param>
|
||||
* </servlet>
|
||||
*
|
||||
* <servlet-mapping>
|
||||
* <servlet-name>applicationName-files</servlet-name>
|
||||
* <url-pattern>/ccm-applicationName/files/*</url-pattern>
|
||||
* </servlet-mapping>
|
||||
*
|
||||
* @return path name to the applications servlet/JSP
|
||||
*/
|
||||
public String getServletPath() {
|
||||
return URL.SERVLET_DIR + "/legacy-adapter";
|
||||
}
|
||||
|
|
@ -652,7 +681,7 @@ public class Application extends Resource {
|
|||
if (parentGroup != null) {
|
||||
parentGroup.addSubgroup(group);
|
||||
s_log.debug("setting new group as subgroup of " + parentGroup.getName());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -664,7 +693,7 @@ public class Application extends Resource {
|
|||
Group containerGroup = getGroup();
|
||||
if (containerGroup != null) {
|
||||
containerGroup.setName(getTitle() + " Groups");
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Group associated with this application type. Usually
|
||||
|
|
|
|||
|
|
@ -4,12 +4,34 @@
|
|||
|
||||
<web-app>
|
||||
|
||||
<!-- The Context Listener is required and used for initializing the runtime
|
||||
environment before any other task is performed or any servlet initialized. -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
basic web.xml for ccm-core and basic functions.
|
||||
If additional modules provide specific web.xml snippets they must be
|
||||
integrated before CCM is ready to work.
|
||||
|
||||
Alternatively a complete web.xml file from an installation bundle
|
||||
may be used.
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
|
||||
<display-name>CCM</display-name>
|
||||
<description>Content and Collaboration Management</description>
|
||||
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
Context Listener
|
||||
required and used to initialize the runtime environment before any other
|
||||
task is performed or any servlet initialized.
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<listener>
|
||||
<listener-class>com.arsdigita.web.CCMApplicationContextListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
BASE SERVLET DECLARATIONS SECTION
|
||||
basically requirred by ccm-core
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>reg</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ContextRegistrationServlet</servlet-class>
|
||||
|
|
@ -66,29 +88,36 @@
|
|||
<servlet-class>com.arsdigita.web.ResourceServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- ADDITIONAL SERVLET DECLARATIONS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ADDITIONAL SERVLET DECLARATIONS SECTION
|
||||
basically requirred by ccm-cms
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>content-section</servlet-name>
|
||||
<servlet-class>com.arsdigita.cms.ContentSectionServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>content-item-xsl</servlet-name>
|
||||
<servlet-class>com.arsdigita.cms.dispatcher.ContentItemXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>content-type-xsl</servlet-name>
|
||||
<servlet-class>com.arsdigita.cms.dispatcher.ContentTypeXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>content-item-xsl</servlet-name>
|
||||
<servlet-class>com.arsdigita.cms.dispatcher.ContentItemXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>template-xsl</servlet-name>
|
||||
<servlet-class>com.arsdigita.cms.dispatcher.TemplateXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- /ADDITIONAL SERVLET DECLARATIONS -->
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
BASE SERVLET MAPPINGS SECTION
|
||||
basically requirred by ccm-core
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>reg</servlet-name>
|
||||
|
|
@ -130,7 +159,10 @@
|
|||
<url-pattern>/resource/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- ADDITIONAL SERVLET MAPPINGS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ADDITIONAL SERVLET MAPPINGS SECTION
|
||||
basically requirred by ccm-cms
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>content-section</servlet-name>
|
||||
|
|
@ -152,7 +184,9 @@
|
|||
<url-pattern>/__ccm__/servlet/template/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- /ADDITIONAL SERVLET MAPPINGS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ERROR PAGES
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<error-page>
|
||||
<exception-type>com.arsdigita.dispatcher.AccessDeniedException</exception-type>
|
||||
|
|
@ -189,7 +223,10 @@
|
|||
<location>/error/general.jsp</location>
|
||||
</error-page>
|
||||
|
||||
<!-- TAGLIBS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
TAG LIBS
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<taglib>
|
||||
<taglib-uri>/WEB-INF/bebop-show.tld</taglib-uri>
|
||||
<taglib-location>/WEB-INF/bebop-show.tld</taglib-location>
|
||||
|
|
@ -3,7 +3,8 @@
|
|||
name="ccm-formbuilder-pdf"
|
||||
prettyName="PDFConverter"
|
||||
version="6.5.0"
|
||||
release="1">
|
||||
release="1"
|
||||
webapp="ROOT">
|
||||
|
||||
<ccm:dependencies>
|
||||
<ccm:requires name="ccm-core" version="6.2.0" relation="ge"/>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
Up to APLAWS version 1.0.4 formbuildeer-pdf had been installed into its own
|
||||
application context: [webapps]/ccm-formbuilder-pdf.
|
||||
|
||||
Now it is installed inside the main APLAWS application context along
|
||||
with all other applications.
|
||||
|
||||
If shortcuts should be installed as its own web context again following
|
||||
modifications are necessary:
|
||||
1. remove webapp="xxx" from application.xml
|
||||
2. move the files in this dir to WEB-INF/
|
||||
3. edit __ccm__/.../xsl/index.xsl according the comment
|
||||
|
||||
xsl dir hab been moved from root dir (not CCM compliant practice) into
|
||||
package/ccm-formbuilder-pdf/xsl/main.xsl
|
||||
|
||||
|
||||
Running it in its own webapplication context nevertheless is not suggestive.
|
||||
It needs several xsl files of the main application (esp. core) for basic
|
||||
operations, which hac been directly mapped from the main applications directory
|
||||
tree into its own directory tree. So no module separation is possible, no
|
||||
security context useable etc.
|
||||
|
||||
|
|
@ -57,7 +57,9 @@ public class PDFConfig extends AbstractConfig {
|
|||
m_xslFile = new StringParameter(
|
||||
"com.arsdigita.formbuilder.pdf.xsl_file",
|
||||
Parameter.REQUIRED,
|
||||
"webapps/ccm-formbuilder-pdf/xsl/main.xsl");
|
||||
"/packages/ccm-formbuilder-pdf/xsl/main.xsl");
|
||||
// if installed into its own webapp context, originally:
|
||||
// "webapps/ccm-formbuilder-pdf/xsl/main.xsl");
|
||||
|
||||
register(m_xslFile);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
com.arsdigita.formbuilder.pdf.xsl_file.title=Formbuilder PDF XSL Stylesheet
|
||||
com.arsdigita.formbuilder.pdf.xsl_file.purpose=FOP Stylesheet for displaying PDFs from forms
|
||||
com.arsdigita.formbuilder.pdf.xsl_file.format=[filename]
|
||||
com.arsdigita.formbuilder.pdf.xsl_file.example=webapps/ccm-formbuilder-pdf/xsl/main.xsl
|
||||
com.arsdigita.formbuilder.pdf.xsl_file.example=/packages/ccm-formbuilder-pdf/xsl/main.xsl
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
|
||||
<!-- module ccm-formbuilder-pdf - servlet definitions BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>Converter</servlet-name>
|
||||
<servlet-class>com.arsdigita.formbuilder.pdf.Converter</servlet-class>
|
||||
</servlet>
|
||||
<!-- module ccm-formbuilder-pdf - servlet definitions END -->
|
||||
|
||||
<!-- module ccm-formbuilder-pdf - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>Converter</servlet-name>
|
||||
<url-pattern>/Converter/</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-formbuilder-pdf - servlet mappings END -->
|
||||
|
||||
|
|
@ -3,9 +3,10 @@
|
|||
name="ccm-forum"
|
||||
prettyName="Forum"
|
||||
version="6.5.2"
|
||||
release="1">
|
||||
<ccm:dependencies>
|
||||
release="1"
|
||||
webapp="ROOT">
|
||||
|
||||
<ccm:dependencies>
|
||||
<ccm:requires name="ccm-core" version="6.5.3" relation="ge"/>
|
||||
<ccm:requires name="ccm-cms" version="6.5.3" relation="ge"/>
|
||||
</ccm:dependencies>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
Up to APLAWS version 1.0.4 forum had been installed into its own
|
||||
application context: [webapps]/ccm-forum.
|
||||
|
||||
Now it is installed inside the main APLAWS application context along
|
||||
with all other applications.
|
||||
|
||||
If shortcuts should be installed as its own web context again following
|
||||
modifications are necessary:
|
||||
1. remove webapp="xxx" from application.xml
|
||||
2. move the files in this dir to WEB-INF/
|
||||
3. change src/com/ad/london/forum/Forum.java
|
||||
method getServletContext() as back to "/files"
|
||||
4. edit __ccm__/.../xsl/index.xsl according the comment
|
||||
5. edit in ccm-ldn-aplaws /web/__ccm__/themes/aplaws/forum*
|
||||
according to the comment
|
||||
|
||||
|
||||
Running it in its own webapplication context nevertheless is not suggestive.
|
||||
It needs several xsl files of the main application (esp. core) for basic
|
||||
operations, which hac been directly mapped from the main applications directory
|
||||
tree into its own directory tree. So no module separation is possible, no
|
||||
security context useable etc.
|
||||
|
||||
|
|
@ -18,10 +18,10 @@
|
|||
*/
|
||||
package com.arsdigita.forum;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.arsdigita.categorization.Category;
|
||||
import com.arsdigita.cms.lifecycle.LifecycleDefinition;
|
||||
import com.arsdigita.domain.DataObjectNotFoundException;
|
||||
|
|
@ -41,7 +41,7 @@ import com.arsdigita.persistence.DataCollection;
|
|||
import com.arsdigita.persistence.DataObject;
|
||||
import com.arsdigita.persistence.DataQuery;
|
||||
import com.arsdigita.persistence.Filter;
|
||||
import com.arsdigita.persistence.FilterFactory;
|
||||
import com.arsdigita.persistence.FilterFactory;
|
||||
import com.arsdigita.persistence.OID;
|
||||
import com.arsdigita.persistence.Session;
|
||||
import com.arsdigita.persistence.SessionManager;
|
||||
|
|
@ -53,15 +53,15 @@ import com.arsdigita.web.Application;
|
|||
*
|
||||
* @author Kevin Scaldeferri (kevin@arsdigita.com)
|
||||
*
|
||||
* @version $Revision: 1.7 $ $Author: chrisg23 $ $DateTime: 2004/08/17 23:26:27 $
|
||||
* @version $Revision: 1.7 $ $Author: chrisg23 $ $DateTime: 2004/08/17 23:26:27 $
|
||||
*/
|
||||
|
||||
public class Forum extends Application {
|
||||
public static final String THREAD_SUBSCRIPTION_GROUPS_NAME = "Thread Subscription Groups";
|
||||
public static final String THREAD_SUBSCRIPTION_GROUPS_NAME = "Thread Subscription Groups";
|
||||
public static final String versionId =
|
||||
"$Id: Forum.java 1628 2007-09-17 08:10:40Z chrisg23 $"
|
||||
+ "$Author: chrisg23 $"
|
||||
+ "$DateTime: 2004/08/17 23:26:27 $";
|
||||
"$Id: Forum.java 1628 2007-09-17 08:10:40Z chrisg23 $"
|
||||
+ "$Author: chrisg23 $"
|
||||
+ "$DateTime: 2004/08/17 23:26:27 $";
|
||||
|
||||
private static ForumConfig s_config = new ForumConfig();
|
||||
|
||||
|
|
@ -80,48 +80,48 @@ public class Forum extends Application {
|
|||
"com.arsdigita.forum.Forum";
|
||||
|
||||
public static final String PACKAGE_TYPE = "forum";
|
||||
//////
|
||||
//Forum specific privileges
|
||||
/////
|
||||
public static final String FORUM_MODERATION_PRIVILEGE = "forum_moderation";
|
||||
public static final String CREATE_THREAD_PRIVILEGE = "forum_create_thread";
|
||||
public static final String RESPOND_TO_THREAD_PRIVILEGE = "forum_respond";
|
||||
// separate read privilege required because all public users
|
||||
// have READ on homepage, which is parent of forum, hence
|
||||
// everyone inherits READ cg
|
||||
//
|
||||
// note in hindsight, I have stopped homepage being set as
|
||||
// permission context for forum, because site search checks
|
||||
// for READ privilege anyway, and so search results were being
|
||||
// returned for non public posts. This means there is no longer
|
||||
// any need for a separate forum_read privilege, though it
|
||||
// does no harm. Now removed
|
||||
// public static final String FORUM_READ_PRIVILEGE = "forum_read";
|
||||
|
||||
///////
|
||||
// pdl forum attribute/association names
|
||||
///////
|
||||
//////
|
||||
//Forum specific privileges
|
||||
/////
|
||||
public static final String FORUM_MODERATION_PRIVILEGE = "forum_moderation";
|
||||
public static final String CREATE_THREAD_PRIVILEGE = "forum_create_thread";
|
||||
public static final String RESPOND_TO_THREAD_PRIVILEGE = "forum_respond";
|
||||
// separate read privilege required because all public users
|
||||
// have READ on homepage, which is parent of forum, hence
|
||||
// everyone inherits READ cg
|
||||
//
|
||||
// note in hindsight, I have stopped homepage being set as
|
||||
// permission context for forum, because site search checks
|
||||
// for READ privilege anyway, and so search results were being
|
||||
// returned for non public posts. This means there is no longer
|
||||
// any need for a separate forum_read privilege, though it
|
||||
// does no harm. Now removed
|
||||
// public static final String FORUM_READ_PRIVILEGE = "forum_read";
|
||||
|
||||
///////
|
||||
// pdl forum attribute/association names
|
||||
///////
|
||||
private static final String POSTS = "posts";
|
||||
private static final String SUBSCRIPTIONS = "subscriptions";
|
||||
private static final String MODERATION = "isModerated";
|
||||
private static final String NOTICEBOARD = "isNoticeboard";
|
||||
private static final String ADMIN_GROUP = "adminGroup";
|
||||
private static final String ADMIN_GROUP = "adminGroup";
|
||||
private static final String MODERATION_GROUP = "moderationGroup";
|
||||
private static final String THREAD_CREATE_GROUP = "threadCreateGroup";
|
||||
private static final String THREAD_RESPONDER_GROUP = "threadRespondGroup";
|
||||
private static final String READ_GROUP = "readGroup";
|
||||
private static final String THREAD_CREATE_GROUP = "threadCreateGroup";
|
||||
private static final String THREAD_RESPONDER_GROUP = "threadRespondGroup";
|
||||
private static final String READ_GROUP = "readGroup";
|
||||
private static final String CATEGORY = "category";
|
||||
private static final String EXPIRE_AFTER = "expireAfter";
|
||||
private static final String LIFECYCLE_DEFINITION = "lifecycleDefinition";
|
||||
// additional attributes added chris.gilbert@westsussex.gov.uk
|
||||
private static final String ALLOW_FILE_ATTACHMENTS =
|
||||
"fileAttachmentsAllowed";
|
||||
private static final String ALLOW_IMAGE_UPLOADS = "imageUploadsAllowed";
|
||||
private static final String AUTOSUBSCRIBE_THREAD_STARTER =
|
||||
"autoSubscribeThreadStarter";
|
||||
private static final String INTRODUCTION = "introduction";
|
||||
private static final String NO_CATEGORY_POSTS = "noCategoryPostsAllowed";
|
||||
private static final String ANONYMOUS_POSTS = "anonymousPostsAllowed";
|
||||
// additional attributes added chris.gilbert@westsussex.gov.uk
|
||||
private static final String ALLOW_FILE_ATTACHMENTS =
|
||||
"fileAttachmentsAllowed";
|
||||
private static final String ALLOW_IMAGE_UPLOADS = "imageUploadsAllowed";
|
||||
private static final String AUTOSUBSCRIBE_THREAD_STARTER =
|
||||
"autoSubscribeThreadStarter";
|
||||
private static final String INTRODUCTION = "introduction";
|
||||
private static final String NO_CATEGORY_POSTS = "noCategoryPostsAllowed";
|
||||
private static final String ANONYMOUS_POSTS = "anonymousPostsAllowed";
|
||||
|
||||
public Forum(DataObject data) {
|
||||
super(data);
|
||||
|
|
@ -147,26 +147,26 @@ public class Forum extends Application {
|
|||
* category for the Forum in the event that the Forum should be
|
||||
* categorized.
|
||||
* This also sets up instant and daily subscriptions on the Forum.
|
||||
* The default for moderation is false.
|
||||
*
|
||||
* Also sets default values for other forum settings. These can be
|
||||
* amended under the setup tab in the ui
|
||||
* The default for moderation is false.
|
||||
*
|
||||
* Also sets default values for other forum settings. These can be
|
||||
* amended under the setup tab in the ui
|
||||
*/
|
||||
|
||||
public static Forum create(String urlName, String title,
|
||||
Application parent, boolean moderated) {
|
||||
s_log.debug("creating forum " + title);
|
||||
Forum forum = (Forum) Application.createApplication
|
||||
(BASE_DATA_OBJECT_TYPE, urlName, title, parent, true);
|
||||
(BASE_DATA_OBJECT_TYPE, urlName, title, parent, true);
|
||||
|
||||
forum.setModerated(moderated);
|
||||
// default settings ensure legacy forum users do not
|
||||
// see any change chris.gilbert@westsussex.gov.uk
|
||||
forum.setAllowFileAttachments(false);
|
||||
forum.setAllowImageUploads(false);
|
||||
forum.setAutoSubscribeThreadCreator(false);
|
||||
forum.setNoCategoryPostsAllowed(true);
|
||||
forum.setAnonymousPostsAllowed(false);
|
||||
// default settings ensure legacy forum users do not
|
||||
// see any change chris.gilbert@westsussex.gov.uk
|
||||
forum.setAllowFileAttachments(false);
|
||||
forum.setAllowImageUploads(false);
|
||||
forum.setAutoSubscribeThreadCreator(false);
|
||||
forum.setNoCategoryPostsAllowed(true);
|
||||
forum.setAnonymousPostsAllowed(false);
|
||||
|
||||
return forum;
|
||||
}
|
||||
|
|
@ -195,22 +195,22 @@ public class Forum extends Application {
|
|||
}
|
||||
|
||||
/**
|
||||
* Set introduction
|
||||
*/
|
||||
public void setIntroduction(String introduction) {
|
||||
set(INTRODUCTION, introduction);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return introduction
|
||||
*/
|
||||
|
||||
public String getIntroduction() {
|
||||
return (String) get(INTRODUCTION);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Set introduction
|
||||
*/
|
||||
public void setIntroduction(String introduction) {
|
||||
set(INTRODUCTION, introduction);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return introduction
|
||||
*/
|
||||
|
||||
public String getIntroduction() {
|
||||
return (String) get(INTRODUCTION);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* creates a Root Category for the forum.
|
||||
*/
|
||||
private Category createRootCategory() {
|
||||
|
|
@ -222,11 +222,11 @@ public class Forum extends Application {
|
|||
return category;
|
||||
}
|
||||
|
||||
private void createGroups() {
|
||||
Group administrators = new Group();
|
||||
administrators.setName(getTitle() + " Administrators");
|
||||
setAssociation(ADMIN_GROUP, administrators);
|
||||
|
||||
private void createGroups() {
|
||||
Group administrators = new Group();
|
||||
administrators.setName(getTitle() + " Administrators");
|
||||
setAssociation(ADMIN_GROUP, administrators);
|
||||
|
||||
Group moderators = new Group();
|
||||
moderators.setName(getTitle() + " Moderators");
|
||||
setAssociation( MODERATION_GROUP, moderators );
|
||||
|
|
@ -240,37 +240,37 @@ public class Forum extends Application {
|
|||
// Actually, the only hack involved is making the email address unique.
|
||||
String email = "forum-moderator-" + getID() + "-" + moderators.getID() + "@" + s_config.getReplyHostName();
|
||||
moderators.setPrimaryEmail(new EmailAddress(email));
|
||||
|
||||
// chris.gilbert@westsussex.gov.uk create additional groups for privilege
|
||||
// assignment - could have assigned privileges directly without having associated
|
||||
// groups, but this reduces rows in the (already enormous) dnm_permissions
|
||||
// table
|
||||
Group threadCreators = new Group();
|
||||
threadCreators.setName(getTitle() + " Thread Creators");
|
||||
setAssociation(THREAD_CREATE_GROUP, threadCreators);
|
||||
|
||||
Group threadResponders = new Group();
|
||||
threadResponders.setName(getTitle() + " Thread Responders");
|
||||
setAssociation(THREAD_RESPONDER_GROUP, threadResponders);
|
||||
|
||||
Group forumReaders = new Group();
|
||||
forumReaders.setName(getTitle() + " Readers");
|
||||
setAssociation(READ_GROUP, forumReaders);
|
||||
|
||||
Group container = getGroup();
|
||||
|
||||
container.addSubgroup(administrators);
|
||||
container.addSubgroup(moderators);
|
||||
container.addSubgroup(threadCreators);
|
||||
container.addSubgroup(threadResponders);
|
||||
container.addSubgroup(forumReaders);
|
||||
Group threadSubscriptions = new Group();
|
||||
threadSubscriptions.setName(THREAD_SUBSCRIPTION_GROUPS_NAME);
|
||||
container.addSubgroup(threadSubscriptions);
|
||||
container.save();
|
||||
|
||||
|
||||
|
||||
|
||||
// chris.gilbert@westsussex.gov.uk create additional groups for privilege
|
||||
// assignment - could have assigned privileges directly without having associated
|
||||
// groups, but this reduces rows in the (already enormous) dnm_permissions
|
||||
// table
|
||||
Group threadCreators = new Group();
|
||||
threadCreators.setName(getTitle() + " Thread Creators");
|
||||
setAssociation(THREAD_CREATE_GROUP, threadCreators);
|
||||
|
||||
Group threadResponders = new Group();
|
||||
threadResponders.setName(getTitle() + " Thread Responders");
|
||||
setAssociation(THREAD_RESPONDER_GROUP, threadResponders);
|
||||
|
||||
Group forumReaders = new Group();
|
||||
forumReaders.setName(getTitle() + " Readers");
|
||||
setAssociation(READ_GROUP, forumReaders);
|
||||
|
||||
Group container = getGroup();
|
||||
|
||||
container.addSubgroup(administrators);
|
||||
container.addSubgroup(moderators);
|
||||
container.addSubgroup(threadCreators);
|
||||
container.addSubgroup(threadResponders);
|
||||
container.addSubgroup(forumReaders);
|
||||
Group threadSubscriptions = new Group();
|
||||
threadSubscriptions.setName(THREAD_SUBSCRIPTION_GROUPS_NAME);
|
||||
container.addSubgroup(threadSubscriptions);
|
||||
container.save();
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void initialize() {
|
||||
|
|
@ -279,13 +279,13 @@ public class Forum extends Application {
|
|||
if (isNew()) {
|
||||
setModerated(false);
|
||||
setNoticeboard(false);
|
||||
setAllowFileAttachments(false);
|
||||
setAllowImageUploads(false);
|
||||
setAutoSubscribeThreadCreator(false);
|
||||
setNoCategoryPostsAllowed(true);
|
||||
setAnonymousPostsAllowed(false);
|
||||
setAllowFileAttachments(false);
|
||||
setAllowImageUploads(false);
|
||||
setAutoSubscribeThreadCreator(false);
|
||||
setNoCategoryPostsAllowed(true);
|
||||
setAnonymousPostsAllowed(false);
|
||||
createRootCategory();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -299,71 +299,71 @@ public class Forum extends Application {
|
|||
protected void afterSave() {
|
||||
if (m_wasNew) {
|
||||
PermissionService.setContext(getRootCategory(), this);
|
||||
createGroups();
|
||||
if (getAdminGroup() != null) {
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(
|
||||
PrivilegeDescriptor.ADMIN,
|
||||
this,
|
||||
getAdminGroup()));
|
||||
s_log.debug(
|
||||
"Current user : "
|
||||
+ Kernel.getContext().getParty().getPrimaryEmail()
|
||||
+ " class is "
|
||||
+ Kernel.getContext().getParty().getClass());
|
||||
//
|
||||
// chris.gilbert@westsussex.gov.uk Original plan was that creator of forum
|
||||
// is administrator by default, but party from Kernel at this point in code is
|
||||
// acs-system-party - creation must happen in a KernelExcersion somewhere
|
||||
// though I can't immediately see where.
|
||||
// as a consequence, code below justs causes a classcast exception,
|
||||
//
|
||||
// revisit, but in meantime, only site admin can administer new forum
|
||||
// until forum admin permissions set in UI
|
||||
//
|
||||
// User creator = (User) Kernel.getContext().getParty();
|
||||
// can't be null but let's be supercautious
|
||||
// if (creator != null) {
|
||||
// getAdminGroup().addMember(creator);
|
||||
// }
|
||||
///
|
||||
}
|
||||
createGroups();
|
||||
if (getAdminGroup() != null) {
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(
|
||||
PrivilegeDescriptor.ADMIN,
|
||||
this,
|
||||
getAdminGroup()));
|
||||
s_log.debug(
|
||||
"Current user : "
|
||||
+ Kernel.getContext().getParty().getPrimaryEmail()
|
||||
+ " class is "
|
||||
+ Kernel.getContext().getParty().getClass());
|
||||
//
|
||||
// chris.gilbert@westsussex.gov.uk Original plan was that creator of forum
|
||||
// is administrator by default, but party from Kernel at this point in code is
|
||||
// acs-system-party - creation must happen in a KernelExcersion somewhere
|
||||
// though I can't immediately see where.
|
||||
// as a consequence, code below justs causes a classcast exception,
|
||||
//
|
||||
// revisit, but in meantime, only site admin can administer new forum
|
||||
// until forum admin permissions set in UI
|
||||
//
|
||||
// User creator = (User) Kernel.getContext().getParty();
|
||||
// can't be null but let's be supercautious
|
||||
// if (creator != null) {
|
||||
// getAdminGroup().addMember(creator);
|
||||
// }
|
||||
///
|
||||
}
|
||||
|
||||
if (getModerationGroup() != null ) {
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(
|
||||
PrivilegeDescriptor.get(FORUM_MODERATION_PRIVILEGE),
|
||||
this,
|
||||
getModerationGroup()));
|
||||
}
|
||||
if (getThreadCreateGroup() != null) {
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(
|
||||
PrivilegeDescriptor.get(CREATE_THREAD_PRIVILEGE),
|
||||
this,
|
||||
getThreadCreateGroup()));
|
||||
// chris.gilbert@westsussex.gov.uk
|
||||
// wouldn't do this normally, but this enables legacy implementations
|
||||
// to use new version without any side effects
|
||||
// public can view forum by default and see create thread link - existing
|
||||
// code forces login if link is selected
|
||||
getThreadCreateGroup().addMember(Kernel.getPublicUser());
|
||||
}
|
||||
|
||||
if (getThreadResponderGroup() != null) {
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(
|
||||
PrivilegeDescriptor.get(RESPOND_TO_THREAD_PRIVILEGE),
|
||||
this,
|
||||
getThreadResponderGroup()));
|
||||
}
|
||||
|
||||
if (getReadGroup() != null) {
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(
|
||||
PrivilegeDescriptor.READ,
|
||||
this,
|
||||
getReadGroup()));
|
||||
getModerationGroup()));
|
||||
}
|
||||
if (getThreadCreateGroup() != null) {
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(
|
||||
PrivilegeDescriptor.get(CREATE_THREAD_PRIVILEGE),
|
||||
this,
|
||||
getThreadCreateGroup()));
|
||||
// chris.gilbert@westsussex.gov.uk
|
||||
// wouldn't do this normally, but this enables legacy implementations
|
||||
// to use new version without any side effects
|
||||
// public can view forum by default and see create thread link - existing
|
||||
// code forces login if link is selected
|
||||
getThreadCreateGroup().addMember(Kernel.getPublicUser());
|
||||
}
|
||||
|
||||
if (getThreadResponderGroup() != null) {
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(
|
||||
PrivilegeDescriptor.get(RESPOND_TO_THREAD_PRIVILEGE),
|
||||
this,
|
||||
getThreadResponderGroup()));
|
||||
}
|
||||
|
||||
if (getReadGroup() != null) {
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(
|
||||
PrivilegeDescriptor.READ,
|
||||
this,
|
||||
getReadGroup()));
|
||||
}
|
||||
KernelExcursion excursion = new KernelExcursion() {
|
||||
protected void excurse() {
|
||||
|
|
@ -400,15 +400,15 @@ public class Forum extends Application {
|
|||
}
|
||||
|
||||
|
||||
// chris.gilbert@westsussex.gov.uk line removed.
|
||||
// afterSave in Application sets permission
|
||||
// context of forum to parent app (portal homepage)
|
||||
// don't want to inherit permissions of portal,
|
||||
// as public users have 'READ' privilege on this
|
||||
// and so get shown postings in search results.
|
||||
//
|
||||
//
|
||||
// super.afterSave();
|
||||
// chris.gilbert@westsussex.gov.uk line removed.
|
||||
// afterSave in Application sets permission
|
||||
// context of forum to parent app (portal homepage)
|
||||
// don't want to inherit permissions of portal,
|
||||
// as public users have 'READ' privilege on this
|
||||
// and so get shown postings in search results.
|
||||
//
|
||||
//
|
||||
// super.afterSave();
|
||||
}
|
||||
|
||||
protected String getBaseDataObjectType() {
|
||||
|
|
@ -452,38 +452,38 @@ public class Forum extends Application {
|
|||
}
|
||||
|
||||
/**
|
||||
* gets all pending messages and messages for reapproval - allows
|
||||
* moderators to see which messages require their attention
|
||||
* @return
|
||||
*/
|
||||
public DataAssociation getPendingPosts() {
|
||||
// doesn't use getPosts in view of the warning that it
|
||||
// may disappear
|
||||
DataAssociation posts = (DataAssociation) get(POSTS);
|
||||
FilterFactory factory = posts.getFilterFactory();
|
||||
Filter pending = factory.equals(Post.STATUS, Post.PENDING);
|
||||
Filter reapprove = factory.equals(Post.STATUS, Post.REAPPROVE);
|
||||
;
|
||||
|
||||
posts.addFilter(factory.or().addFilter(pending).addFilter(reapprove));
|
||||
|
||||
return posts;
|
||||
}
|
||||
|
||||
/**
|
||||
* gets all suppressed messages - allows moderators to see which messages
|
||||
* heve been rejectedrequire their attention
|
||||
* @return
|
||||
*/
|
||||
public DataAssociation getSuppressedPosts() {
|
||||
// doesn't use getPosts in view of the warning that it
|
||||
// may disappear
|
||||
DataAssociation posts = (DataAssociation) get(POSTS);
|
||||
posts.addEqualsFilter(Post.STATUS, Post.SUPPRESSED);
|
||||
return posts;
|
||||
}
|
||||
|
||||
/**
|
||||
* gets all pending messages and messages for reapproval - allows
|
||||
* moderators to see which messages require their attention
|
||||
* @return
|
||||
*/
|
||||
public DataAssociation getPendingPosts() {
|
||||
// doesn't use getPosts in view of the warning that it
|
||||
// may disappear
|
||||
DataAssociation posts = (DataAssociation) get(POSTS);
|
||||
FilterFactory factory = posts.getFilterFactory();
|
||||
Filter pending = factory.equals(Post.STATUS, Post.PENDING);
|
||||
Filter reapprove = factory.equals(Post.STATUS, Post.REAPPROVE);
|
||||
;
|
||||
|
||||
posts.addFilter(factory.or().addFilter(pending).addFilter(reapprove));
|
||||
|
||||
return posts;
|
||||
}
|
||||
|
||||
/**
|
||||
* gets all suppressed messages - allows moderators to see which messages
|
||||
* heve been rejectedrequire their attention
|
||||
* @return
|
||||
*/
|
||||
public DataAssociation getSuppressedPosts() {
|
||||
// doesn't use getPosts in view of the warning that it
|
||||
// may disappear
|
||||
DataAssociation posts = (DataAssociation) get(POSTS);
|
||||
posts.addEqualsFilter(Post.STATUS, Post.SUPPRESSED);
|
||||
return posts;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a ThreadCollection of the threads in this forum. I.e. the
|
||||
* top-level posts which are not replies to any other post.
|
||||
*/
|
||||
|
|
@ -557,7 +557,7 @@ public class Forum extends Application {
|
|||
return threads;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up instant and daily subscriptions for the forum. Daily
|
||||
|
|
@ -724,12 +724,12 @@ public class Forum extends Application {
|
|||
return Boolean.TRUE.equals(get(NOTICEBOARD));
|
||||
}
|
||||
|
||||
/** Returns the administrator group. Null if it doesn't exist */
|
||||
public Group getAdminGroup() {
|
||||
DataObject dObj = (DataObject) get(ADMIN_GROUP);
|
||||
Assert.exists(dObj, DataObject.class);
|
||||
return (Group) DomainObjectFactory.newInstance(dObj);
|
||||
}
|
||||
/** Returns the administrator group. Null if it doesn't exist */
|
||||
public Group getAdminGroup() {
|
||||
DataObject dObj = (DataObject) get(ADMIN_GROUP);
|
||||
Assert.exists(dObj, DataObject.class);
|
||||
return (Group) DomainObjectFactory.newInstance(dObj);
|
||||
}
|
||||
/** Returns the moderator group. Null if it doesn't exist */
|
||||
public Group getModerationGroup() {
|
||||
DataObject dObj = (DataObject) get( MODERATION_GROUP );
|
||||
|
|
@ -737,34 +737,26 @@ public class Forum extends Application {
|
|||
return (Group)DomainObjectFactory.newInstance(dObj);
|
||||
}
|
||||
|
||||
/** Returns the thread create group. Null if it doesn't exist */
|
||||
public Group getThreadCreateGroup() {
|
||||
DataObject dObj = (DataObject) get(THREAD_CREATE_GROUP);
|
||||
Assert.exists(dObj, DataObject.class);
|
||||
return (Group) DomainObjectFactory.newInstance(dObj);
|
||||
}
|
||||
|
||||
/** Returns the thread reply group. Null if it doesn't exist */
|
||||
public Group getThreadResponderGroup() {
|
||||
DataObject dObj = (DataObject) get(THREAD_RESPONDER_GROUP);
|
||||
Assert.exists(dObj, DataObject.class);
|
||||
return (Group) DomainObjectFactory.newInstance(dObj);
|
||||
}
|
||||
|
||||
/** Returns the read group. Null if it doesn't exist */
|
||||
public Group getReadGroup() {
|
||||
DataObject dObj = (DataObject) get(READ_GROUP);
|
||||
Assert.exists(dObj, DataObject.class);
|
||||
return (Group) DomainObjectFactory.newInstance(dObj);
|
||||
}
|
||||
|
||||
public String getContextPath() {
|
||||
return "/ccm-forum";
|
||||
}
|
||||
/** Returns the thread create group. Null if it doesn't exist */
|
||||
public Group getThreadCreateGroup() {
|
||||
DataObject dObj = (DataObject) get(THREAD_CREATE_GROUP);
|
||||
Assert.exists(dObj, DataObject.class);
|
||||
return (Group) DomainObjectFactory.newInstance(dObj);
|
||||
}
|
||||
|
||||
public String getServletPath() {
|
||||
return "/main";
|
||||
}
|
||||
/** Returns the thread reply group. Null if it doesn't exist */
|
||||
public Group getThreadResponderGroup() {
|
||||
DataObject dObj = (DataObject) get(THREAD_RESPONDER_GROUP);
|
||||
Assert.exists(dObj, DataObject.class);
|
||||
return (Group) DomainObjectFactory.newInstance(dObj);
|
||||
}
|
||||
|
||||
/** Returns the read group. Null if it doesn't exist */
|
||||
public Group getReadGroup() {
|
||||
DataObject dObj = (DataObject) get(READ_GROUP);
|
||||
Assert.exists(dObj, DataObject.class);
|
||||
return (Group) DomainObjectFactory.newInstance(dObj);
|
||||
}
|
||||
|
||||
public void setExpireAfter(int value) {
|
||||
set(EXPIRE_AFTER, new BigDecimal(value));
|
||||
|
|
@ -779,7 +771,7 @@ public class Forum extends Application {
|
|||
}
|
||||
LifecycleDefinition newLife = new LifecycleDefinition();
|
||||
newLife.setLabel("Delete expired noticeboard postings");
|
||||
newLife.addPhaseDefinition("Forum posting lifespan",
|
||||
newLife.addPhaseDefinition("Forum posting lifespan",
|
||||
null,
|
||||
new Integer(0),
|
||||
new Integer(1440 * value), // in minutes
|
||||
|
|
@ -789,20 +781,20 @@ public class Forum extends Application {
|
|||
// have the same expiration policy.
|
||||
DataAssociationCursor posts = getPosts().cursor();
|
||||
while (posts.next()) {
|
||||
Post post =
|
||||
(Post) DomainObjectFactory.newInstance(posts.getDataObject());
|
||||
if (post
|
||||
.getThread()
|
||||
.getRootMessage()
|
||||
.getID()
|
||||
.equals(post.getID())) {
|
||||
|
||||
s_log.debug(
|
||||
"Resetting expiration lifecycle for " + post.getOID());
|
||||
Post post =
|
||||
(Post) DomainObjectFactory.newInstance(posts.getDataObject());
|
||||
if (post
|
||||
.getThread()
|
||||
.getRootMessage()
|
||||
.getID()
|
||||
.equals(post.getID())) {
|
||||
|
||||
s_log.debug(
|
||||
"Resetting expiration lifecycle for " + post.getOID());
|
||||
post.setLifecycle(newLife);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int getExpireAfter() {
|
||||
BigDecimal expire = (BigDecimal) get(EXPIRE_AFTER);
|
||||
|
|
@ -825,119 +817,156 @@ public class Forum extends Application {
|
|||
set(LIFECYCLE_DEFINITION, life);
|
||||
}
|
||||
|
||||
/**
|
||||
* method required for upgrade - normally groups are set during forum creation and so
|
||||
* there is no need to invoke a setter
|
||||
* @author cgyg9330
|
||||
*
|
||||
*/
|
||||
public void setAdminGroup(Group group) {
|
||||
setAssociation(ADMIN_GROUP, group);
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(PrivilegeDescriptor.ADMIN, this, group));
|
||||
}
|
||||
/**
|
||||
* method required for upgrade - normally groups are set during forum creation and so
|
||||
* there is no need to invoke a setter
|
||||
* @author cgyg9330
|
||||
*
|
||||
*/
|
||||
public void setThreadCreatorGroup(Group group) {
|
||||
setAssociation(THREAD_CREATE_GROUP, group);
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(
|
||||
PrivilegeDescriptor.get(CREATE_THREAD_PRIVILEGE),
|
||||
this,
|
||||
group));
|
||||
}
|
||||
/**
|
||||
* method required for upgrade - normally groups are set during forum creation and so
|
||||
* there is no need to invoke a setter
|
||||
* @author cgyg9330
|
||||
*
|
||||
*/
|
||||
public void setThreadResponderGroup(Group group) {
|
||||
setAssociation(THREAD_RESPONDER_GROUP, group);
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(
|
||||
PrivilegeDescriptor.get(RESPOND_TO_THREAD_PRIVILEGE),
|
||||
this,
|
||||
group));
|
||||
}
|
||||
/**
|
||||
* method required for upgrade - normally groups are set during forum creation and so
|
||||
* there is no need to invoke a setter
|
||||
* @author cgyg9330
|
||||
*
|
||||
*/
|
||||
public void setReaderGroup(Group group) {
|
||||
setAssociation(READ_GROUP, group);
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(PrivilegeDescriptor.READ, this, group));
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public boolean allowFileAttachments() {
|
||||
return ((Boolean) get(ALLOW_FILE_ATTACHMENTS)).booleanValue();
|
||||
}
|
||||
public boolean allowImageUploads() {
|
||||
return ((Boolean) get(ALLOW_IMAGE_UPLOADS)).booleanValue();
|
||||
}
|
||||
|
||||
public boolean autoSubscribeThreadStarter() {
|
||||
return ((Boolean) get(AUTOSUBSCRIBE_THREAD_STARTER)).booleanValue();
|
||||
}
|
||||
|
||||
public boolean noCategoryPostsAllowed() {
|
||||
return ((Boolean) get(NO_CATEGORY_POSTS)).booleanValue();
|
||||
}
|
||||
public boolean anonymousPostsAllowed() {
|
||||
return ((Boolean) get(ANONYMOUS_POSTS)).booleanValue();
|
||||
}
|
||||
|
||||
public void setAllowFileAttachments(boolean allow) {
|
||||
set(ALLOW_FILE_ATTACHMENTS, new Boolean(allow));
|
||||
}
|
||||
public void setAllowImageUploads(boolean allow) {
|
||||
set(ALLOW_IMAGE_UPLOADS, new Boolean(allow));
|
||||
}
|
||||
public void setAutoSubscribeThreadCreator(boolean subscribe) {
|
||||
set(AUTOSUBSCRIBE_THREAD_STARTER, new Boolean(subscribe));
|
||||
}
|
||||
|
||||
public void setNoCategoryPostsAllowed(boolean allow) {
|
||||
set(NO_CATEGORY_POSTS, new Boolean(allow));
|
||||
}
|
||||
|
||||
public void setAnonymousPostsAllowed(boolean allow) {
|
||||
set(ANONYMOUS_POSTS, new Boolean(allow));
|
||||
}
|
||||
|
||||
public void setTitle (String title) {
|
||||
String oldTitle = getTitle();
|
||||
super.setTitle(title);
|
||||
if (!oldTitle.equals(title)) {
|
||||
// 1. rename permission groups
|
||||
getAdminGroup().setName(title + " Administrators");
|
||||
getModerationGroup().setName(title + " Moderators");
|
||||
getThreadCreateGroup().setName(title + " Thread Creators");
|
||||
getThreadResponderGroup().setName(title + " Thread Responders");
|
||||
getReadGroup().setName(title + " Readers");
|
||||
DataCollection subscriptions = getSubscriptions();
|
||||
while (subscriptions.next()) {
|
||||
ForumSubscription subscription = (ForumSubscription)DomainObjectFactory.newInstance(subscriptions.getDataObject());
|
||||
subscription.getGroup().setName(subscription.getGroupName(this));
|
||||
}
|
||||
ThreadCollection threads = getThreads();
|
||||
while (threads.next()) {
|
||||
ThreadSubscription threadSub = ThreadSubscription.getThreadSubscription(threads.getMessageThread());
|
||||
threadSub.getGroup().setName(threadSub.getSubscriptionGroupName(this));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* method required for upgrade - normally groups are set during
|
||||
* forum creation and so there is no need to invoke a setter
|
||||
* @author cgyg9330
|
||||
*
|
||||
*/
|
||||
public void setAdminGroup(Group group) {
|
||||
setAssociation(ADMIN_GROUP, group);
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(PrivilegeDescriptor.ADMIN, this, group));
|
||||
}
|
||||
/**
|
||||
* method required for upgrade - normally groups are set during
|
||||
* forum creation and so there is no need to invoke a setter
|
||||
* @author cgyg9330
|
||||
*
|
||||
*/
|
||||
public void setThreadCreatorGroup(Group group) {
|
||||
setAssociation(THREAD_CREATE_GROUP, group);
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(
|
||||
PrivilegeDescriptor.get(CREATE_THREAD_PRIVILEGE),
|
||||
this,
|
||||
group));
|
||||
}
|
||||
/**
|
||||
* method required for upgrade - normally groups are set during forum
|
||||
* creation and so there is no need to invoke a setter
|
||||
* @author cgyg9330
|
||||
*
|
||||
*/
|
||||
public void setThreadResponderGroup(Group group) {
|
||||
setAssociation(THREAD_RESPONDER_GROUP, group);
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(
|
||||
PrivilegeDescriptor.get(RESPOND_TO_THREAD_PRIVILEGE),
|
||||
this,
|
||||
group));
|
||||
}
|
||||
/**
|
||||
* method required for upgrade - normally groups are set during forum creation and so
|
||||
* creation and so there is no need to invoke a setter
|
||||
* @author cgyg9330
|
||||
*
|
||||
*/
|
||||
public void setReaderGroup(Group group) {
|
||||
setAssociation(READ_GROUP, group);
|
||||
PermissionService.grantPermission(
|
||||
new PermissionDescriptor(PrivilegeDescriptor.READ, this, group));
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public boolean allowFileAttachments() {
|
||||
return ((Boolean) get(ALLOW_FILE_ATTACHMENTS)).booleanValue();
|
||||
}
|
||||
public boolean allowImageUploads() {
|
||||
return ((Boolean) get(ALLOW_IMAGE_UPLOADS)).booleanValue();
|
||||
}
|
||||
|
||||
public boolean autoSubscribeThreadStarter() {
|
||||
return ((Boolean) get(AUTOSUBSCRIBE_THREAD_STARTER)).booleanValue();
|
||||
}
|
||||
|
||||
public boolean noCategoryPostsAllowed() {
|
||||
return ((Boolean) get(NO_CATEGORY_POSTS)).booleanValue();
|
||||
}
|
||||
public boolean anonymousPostsAllowed() {
|
||||
return ((Boolean) get(ANONYMOUS_POSTS)).booleanValue();
|
||||
}
|
||||
|
||||
public void setAllowFileAttachments(boolean allow) {
|
||||
set(ALLOW_FILE_ATTACHMENTS, new Boolean(allow));
|
||||
}
|
||||
public void setAllowImageUploads(boolean allow) {
|
||||
set(ALLOW_IMAGE_UPLOADS, new Boolean(allow));
|
||||
}
|
||||
public void setAutoSubscribeThreadCreator(boolean subscribe) {
|
||||
set(AUTOSUBSCRIBE_THREAD_STARTER, new Boolean(subscribe));
|
||||
}
|
||||
|
||||
public void setNoCategoryPostsAllowed(boolean allow) {
|
||||
set(NO_CATEGORY_POSTS, new Boolean(allow));
|
||||
}
|
||||
|
||||
public void setAnonymousPostsAllowed(boolean allow) {
|
||||
set(ANONYMOUS_POSTS, new Boolean(allow));
|
||||
}
|
||||
|
||||
public void setTitle (String title) {
|
||||
String oldTitle = getTitle();
|
||||
super.setTitle(title);
|
||||
if (!oldTitle.equals(title)) {
|
||||
// 1. rename permission groups
|
||||
getAdminGroup().setName(title + " Administrators");
|
||||
getModerationGroup().setName(title + " Moderators");
|
||||
getThreadCreateGroup().setName(title + " Thread Creators");
|
||||
getThreadResponderGroup().setName(title + " Thread Responders");
|
||||
getReadGroup().setName(title + " Readers");
|
||||
DataCollection subscriptions = getSubscriptions();
|
||||
while (subscriptions.next()) {
|
||||
ForumSubscription subscription = (ForumSubscription)DomainObjectFactory.newInstance(subscriptions.getDataObject());
|
||||
subscription.getGroup().setName(subscription.getGroupName(this));
|
||||
}
|
||||
ThreadCollection threads = getThreads();
|
||||
while (threads.next()) {
|
||||
ThreadSubscription threadSub = ThreadSubscription.getThreadSubscription(threads.getMessageThread());
|
||||
threadSub.getGroup().setName(threadSub.getSubscriptionGroupName(this));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// /*
|
||||
// * Application specific method only required if installed in its own
|
||||
// * web application context
|
||||
// */
|
||||
// public String getContextPath() {
|
||||
// return "/ccm-forum";
|
||||
// }
|
||||
|
||||
/**
|
||||
* Returns the path name of the location of the applications servlet/JSP.
|
||||
*
|
||||
* The method overwrites the super class to provide an application specific
|
||||
* location for servlets/JSP. This is necessary if you whish to install the
|
||||
* module (application) along with others in one context. If you install the
|
||||
* module into its own context (no longer recommended for versions newer
|
||||
* than 1.0.4) you may use a standard location.
|
||||
*
|
||||
* Usually it is a symbolic name/path, which will be mapped in the web.xml
|
||||
* to the real location in the file system. Example:
|
||||
* <servlet>
|
||||
* <servlet-name>forum-main</servlet-name>
|
||||
* <servlet-class>com.arsdigita.forum.ForumServlet</servlet-class>
|
||||
* </servlet>
|
||||
*
|
||||
* <servlet-mapping>
|
||||
* <servlet-name>forum-main</servlet-name>
|
||||
* <url-pattern>/ccm-forum/main/*</url-pattern>
|
||||
* </servlet-mapping>
|
||||
*
|
||||
* @return path name to the applications servlet/JSP
|
||||
*/
|
||||
public String getServletPath() {
|
||||
// sufficient it installed into its own web appl. context (ccm-forum)
|
||||
// return "/main";
|
||||
return "/forum-main/main";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,67 +18,70 @@
|
|||
*/
|
||||
package com.arsdigita.forum;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
import java.util.Iterator;
|
||||
// unused import
|
||||
//import java.util.Map;
|
||||
|
||||
import com.arsdigita.forum.ui.Constants;
|
||||
import com.arsdigita.bebop.Page;
|
||||
import com.arsdigita.bebop.page.BebopApplicationServlet;
|
||||
import com.arsdigita.bebop.parameters.BigDecimalParameter;
|
||||
// unused import
|
||||
// import com.arsdigita.bebop.parameters.BigDecimalParameter;
|
||||
import javax.servlet.ServletException;
|
||||
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
/**
|
||||
* @author Justin Ross <<a href="mailto:jross@redhat.com">jross@redhat.com</a>>
|
||||
* @version $Id: ForumServlet.java 1628 2007-09-17 08:10:40Z chrisg23 $
|
||||
*
|
||||
* Updated chris.gilbert@westsussex.gov.uk to make use of PageFactory and to enable
|
||||
* disablement of client/middleware caching
|
||||
* @version $Id: ForumServlet.java 1628 2007-09-17 08:10:40Z chrisg23 $
|
||||
*
|
||||
* Updated chris.gilbert@westsussex.gov.uk to make use of PageFactory and to enable
|
||||
* disablement of client/middleware caching
|
||||
*/
|
||||
public class ForumServlet extends BebopApplicationServlet
|
||||
implements Constants {
|
||||
public static final String versionId =
|
||||
"$Id: ForumServlet.java 1628 2007-09-17 08:10:40Z chrisg23 $" +
|
||||
"$Author: chrisg23 $" +
|
||||
"$Id: ForumServlet.java 1628 2007-09-17 08:10:40Z chrisg23 $" +
|
||||
"$Author: chrisg23 $" +
|
||||
"$DateTime: 2004/08/17 23:26:27 $";
|
||||
|
||||
private static final Logger s_log = Logger.getLogger(ForumServlet.class);
|
||||
|
||||
public void init() throws ServletException {
|
||||
super.init();
|
||||
s_log.debug("creating forum page");
|
||||
final Page forum = ForumPageFactory.getPage(ForumPageFactory.FORUM_PAGE);
|
||||
s_log.debug("creating thread page");
|
||||
final Page thread = ForumPageFactory.getPage(ForumPageFactory.THREAD_PAGE);
|
||||
s_log.debug("creating forum page");
|
||||
final Page forum = ForumPageFactory.getPage(ForumPageFactory.FORUM_PAGE);
|
||||
s_log.debug("creating thread page");
|
||||
final Page thread = ForumPageFactory.getPage(ForumPageFactory.THREAD_PAGE);
|
||||
|
||||
put("/", forum);
|
||||
put("/index.jsp", forum);
|
||||
put("/thread.jsp", thread);
|
||||
if (Forum.getConfig().disableClientPageCaching()) {
|
||||
s_log.debug("caching disabled");
|
||||
disableClientCaching("/");
|
||||
disableClientCaching("/index.jsp");
|
||||
disableClientCaching("/thread.jsp");
|
||||
}
|
||||
|
||||
// allow other pages to be added
|
||||
// eg - allows categorised forum to add load-category page
|
||||
// for AJAX category asignment
|
||||
Iterator it = ForumPageFactory.getPages();
|
||||
while (it.hasNext()) {
|
||||
Object key = (Object)it.next();
|
||||
if (!key.equals(ForumPageFactory.FORUM_PAGE) && !key.equals(ForumPageFactory.THREAD_PAGE)) {
|
||||
put("/" + key, ForumPageFactory.getPage((String)key));
|
||||
if (Forum.getConfig().disableClientPageCaching()) {
|
||||
disableClientCaching("/" + key);
|
||||
|
||||
if (Forum.getConfig().disableClientPageCaching()) {
|
||||
s_log.debug("caching disabled");
|
||||
disableClientCaching("/");
|
||||
disableClientCaching("/index.jsp");
|
||||
disableClientCaching("/thread.jsp");
|
||||
}
|
||||
|
||||
// allow other pages to be added
|
||||
// eg - allows categorised forum to add load-category page
|
||||
// for AJAX category asignment
|
||||
Iterator it = ForumPageFactory.getPages();
|
||||
while (it.hasNext()) {
|
||||
Object key = (Object)it.next();
|
||||
if (!key.equals(ForumPageFactory.FORUM_PAGE) &&
|
||||
!key.equals(ForumPageFactory.THREAD_PAGE)) {
|
||||
put("/" + key, ForumPageFactory.getPage((String)key));
|
||||
if (Forum.getConfig().disableClientPageCaching()) {
|
||||
disableClientCaching("/" + key);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
|
||||
<!-- module ccm-forum - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>forum-main</servlet-name>
|
||||
<servlet-class>com.arsdigita.forum.ForumServlet</servlet-class>
|
||||
</servlet>
|
||||
<!-- module ccm-forum - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-forum - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>forum-main</servlet-name>
|
||||
<url-pattern>/forum-main/main/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-forum - servlet mappings END -->
|
||||
|
||||
|
|
@ -4,8 +4,15 @@
|
|||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
version="1.0">
|
||||
|
||||
<!-- IMPORT DEFINITIONS ccm-ldn-shortcuts installed as separate web application
|
||||
<xsl:import href="../../../../ROOT/packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../ROOT/packages/ui/xsl/ui.xsl"/>
|
||||
-->
|
||||
<!-- IMPORT DEFINITIONS ccm-ldn-shortcuts installed into the main CCM webapp
|
||||
-->
|
||||
<xsl:import href="../../../packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../packages/ui/xsl/ui.xsl"/>
|
||||
|
||||
<xsl:import href="recent-postings-portlet.xsl"/>
|
||||
|
||||
<xsl:param name="contextPath"/>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
name="ccm-ldn-aplaws"
|
||||
prettyName="APLAWS"
|
||||
version="6.5.0"
|
||||
release="1"
|
||||
release="2"
|
||||
webapp="ROOT">
|
||||
<ccm:dependencies>
|
||||
<ccm:requires name="ccm-core" version="6.3.3" relation="ge"/>
|
||||
|
|
|
|||
|
|
@ -4,15 +4,8 @@
|
|||
|
||||
<web-app>
|
||||
|
||||
<filter>
|
||||
<filter-name>secured</filter-name>
|
||||
<filter-class>com.arsdigita.web.SecureFilter</filter-class>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<filter-name>profiler</filter-name>
|
||||
<filter-class>com.arsdigita.profiler.ProfilerFilter</filter-class>
|
||||
</filter>
|
||||
<display-name>CCM</display-name>
|
||||
<description>Content and Collaboration Management</description>
|
||||
|
||||
<filter>
|
||||
<filter-name>shortcuts</filter-name>
|
||||
|
|
@ -24,19 +17,12 @@
|
|||
<filter-class>com.arsdigita.london.subsite.SubsiteFilter</filter-class>
|
||||
</filter>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>secured</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>profiler</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>subsite</filter-name>
|
||||
<url-pattern>/ccm/*</url-pattern>
|
||||
<!-- please check: with or w/o ccm?
|
||||
<url-pattern>/*</url-pattern>
|
||||
-->
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
|
|
@ -44,12 +30,20 @@
|
|||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<!-- The Context Listener is required and used for initializing the runtime
|
||||
environment before any other task is performed or any servlet initialized. -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
Context Listener
|
||||
required and used to initialize the runtime environment before any other
|
||||
task is performed or any servlet initialized.
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<listener>
|
||||
<listener-class>com.arsdigita.web.CCMApplicationContextListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
BASE SERVLET DECLARATIONS SECTION
|
||||
basically requirred by ccm-core
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>reg</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ContextRegistrationServlet</servlet-class>
|
||||
|
|
@ -106,7 +100,10 @@
|
|||
<servlet-class>com.arsdigita.web.ResourceServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- ADDITIONAL SERVLET DECLARATIONS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ADDITIONAL SERVLET DECLARATIONS SECTION
|
||||
basically requirred by ccm-cms
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>content-section</servlet-name>
|
||||
|
|
@ -128,6 +125,7 @@
|
|||
<servlet-class>com.arsdigita.cms.dispatcher.TemplateXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
|
||||
<servlet>
|
||||
<servlet-name>TextOnlyServlet</servlet-name>
|
||||
<display-name>Text Only Servlet</display-name>
|
||||
|
|
@ -152,17 +150,27 @@
|
|||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<display-name>Servlet to allow admins to preview look/feel</display-name>
|
||||
<servlet-class>
|
||||
com.arsdigita.london.theme.dispatcher.InternalThemePrefixerServlet
|
||||
</servlet-class>
|
||||
<init-param>
|
||||
<param-name>prefix</param-name>
|
||||
<param-value>/theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
MODULES SERVLET DECLARATIONS SECTION
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<!-- module ccm-ldn-atoz - servlet definitions BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>atoz-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-atoz</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-atoz - servlet definitions END -->
|
||||
|
||||
<!-- module ccm-forum - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>forum-main</servlet-name>
|
||||
<servlet-class>com.arsdigita.forum.ForumServlet</servlet-class>
|
||||
</servlet>
|
||||
<!-- module ccm-forum - servlet declarations END -->
|
||||
|
||||
<!-- XXX hack -->
|
||||
|
||||
|
|
@ -192,17 +200,130 @@
|
|||
<servlet-name>portlet-type-xsl</servlet-name>
|
||||
<servlet-class>com.arsdigita.dispatcher.PortletTypeXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- module ccm-ldn-rss - servlet declaration BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>rss-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-rss</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>file-resolver</param-name>
|
||||
<param-value>com.arsdigita.london.rss.RSSFileResolver</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-rss - servlet declaration END -->
|
||||
|
||||
<!-- module ccm-ldn-search - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>worker</servlet-name>
|
||||
<servlet-class>com.arsdigita.london.search.SearchWorkerServlet</servlet-class>
|
||||
<load-on-startup>4</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>search-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-search</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>AxisServlet</servlet-name>
|
||||
<display-name>Apache-Axis Servlet</display-name>
|
||||
<servlet-class>
|
||||
org.apache.axis.transport.http.AxisServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-search - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-shortcuts - servlet definitions -->
|
||||
<servlet>
|
||||
<servlet-name>shortcuts-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-shortcuts</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<!-- module ccm-ldn-subsite - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>subsite-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-subsite</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-subsite - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-terms - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>terms-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-terms</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-terms - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-themes - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>theme-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemeDownload</servlet-name>
|
||||
<servlet-class>com.arsdigita.london.theme.dispatcher.ThemeDownloadServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<display-name>Servlet to allow admins to preview look/feel</display-name>
|
||||
<servlet-class>
|
||||
com.arsdigita.london.theme.dispatcher.InternalThemePrefixerServlet
|
||||
</servlet-class>
|
||||
<init-param>
|
||||
<param-name>prefix</param-name>
|
||||
<param-value>/theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-themes - servlet declarations END -->
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
MODULES SERVLET MAPPINGS SECTION
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<!-- module ccm-ldn-atoz - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>atoz-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-atoz/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-atoz - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-forum - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>forum-main</servlet-name>
|
||||
<url-pattern>/forum-main/main/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-forum - servlet mappings END -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>portlet-type-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/portlet-type/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>reg</servlet-name>
|
||||
<url-pattern>/__ccm__/null/reg/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>portal-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-portal/files/*</url-pattern>
|
||||
|
|
@ -213,12 +334,71 @@
|
|||
<url-pattern>/ccm-ldn-navigation/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<url-pattern>/theme/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-rss - servlet mappings -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>rss-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-rss/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- /ADDITIONAL SERVLET DECLARATIONS -->
|
||||
<!-- module ccm-ldn-search - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>search-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-search/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>AxisServlet</servlet-name>
|
||||
<url-pattern>/services/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-search - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-shortcuts - servlet mappings -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>shortcuts-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-shortcuts/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- module ccm-ldn-subsite - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>subsite-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-subsite/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-subsite - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-terms - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>terms-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-terms/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-terms - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-theme - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>theme-files</servlet-name>
|
||||
<url-pattern>/theme-files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ThemeDownload</servlet-name>
|
||||
<url-pattern>/theme-files/download/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<url-pattern>/theme/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-themes - servlet mappings END -->
|
||||
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
BASE SERVLET MAPPINGS SECTION
|
||||
basically requirred by ccm-core
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>reg</servlet-name>
|
||||
<url-pattern>/__ccm__/null/reg/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ccm-dispatcher</servlet-name>
|
||||
|
|
@ -255,7 +435,10 @@
|
|||
<url-pattern>/resource/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- ADDITIONAL SERVLET MAPPINGS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ADDITIONAL SERVLET MAPPINGS SECTION
|
||||
basically requirred by ccm-cms
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>content-section</servlet-name>
|
||||
|
|
@ -263,13 +446,13 @@
|
|||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>content-type-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-type/*</url-pattern>
|
||||
<servlet-name>content-item-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-item/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>content-item-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-item/*</url-pattern>
|
||||
<servlet-name>content-type-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-type/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
|
|
@ -287,7 +470,10 @@
|
|||
<url-pattern>/print/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- /ADDITIONAL SERVLET MAPPINGS -->
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ERROR PAGES
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<error-page>
|
||||
<exception-type>com.arsdigita.dispatcher.AccessDeniedException</exception-type>
|
||||
|
|
@ -314,13 +500,20 @@
|
|||
<location>/error/db-not-available.jsp</location>
|
||||
</error-page>
|
||||
|
||||
|
||||
<error-page>
|
||||
<exception-type>java.lang.Exception</exception-type>
|
||||
<location>/error/general.jsp</location>
|
||||
</error-page>
|
||||
|
||||
<!-- TAGLIBS -->
|
||||
<error-page>
|
||||
<exception-type>java.lang.Error</exception-type>
|
||||
<location>/error/general.jsp</location>
|
||||
</error-page>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
TAG LIBS
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<taglib>
|
||||
<taglib-uri>/WEB-INF/bebop-show.tld</taglib-uri>
|
||||
<taglib-location>/WEB-INF/bebop-show.tld</taglib-location>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@
|
|||
|
||||
<web-app>
|
||||
|
||||
<display-name>CCM</display-name>
|
||||
<description>Content and Collaboration Management</description>
|
||||
|
||||
<filter>
|
||||
<filter-name>shortcuts</filter-name>
|
||||
<filter-class>com.arsdigita.london.shortcuts.ShortcutFilter</filter-class>
|
||||
|
|
@ -16,7 +19,10 @@
|
|||
|
||||
<filter-mapping>
|
||||
<filter-name>subsite</filter-name>
|
||||
<url-pattern>/ccm/*</url-pattern>
|
||||
<!-- please check: with or w/o ccm?
|
||||
<url-pattern>/*</url-pattern>
|
||||
-->
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
|
|
@ -24,12 +30,20 @@
|
|||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<!-- The Context Listener is required and used for initializing the runtime
|
||||
environment before any other task is performed or any servlet initialized. -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
Context Listener
|
||||
required and used to initialize the runtime environment before any other
|
||||
task is performed or any servlet initialized.
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<listener>
|
||||
<listener-class>com.arsdigita.web.CCMApplicationContextListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
BASE SERVLET DECLARATIONS SECTION
|
||||
basically requirred by ccm-core
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>reg</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ContextRegistrationServlet</servlet-class>
|
||||
|
|
@ -86,7 +100,10 @@
|
|||
<servlet-class>com.arsdigita.web.ResourceServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- ADDITIONAL SERVLET DECLARATIONS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ADDITIONAL SERVLET DECLARATIONS SECTION
|
||||
basically requirred by ccm-cms
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>content-section</servlet-name>
|
||||
|
|
@ -108,6 +125,7 @@
|
|||
<servlet-class>com.arsdigita.cms.dispatcher.TemplateXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
|
||||
<servlet>
|
||||
<servlet-name>TextOnlyServlet</servlet-name>
|
||||
<display-name>Text Only Servlet</display-name>
|
||||
|
|
@ -132,17 +150,27 @@
|
|||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<display-name>Servlet to allow admins to preview look/feel</display-name>
|
||||
<servlet-class>
|
||||
com.arsdigita.london.theme.dispatcher.InternalThemePrefixerServlet
|
||||
</servlet-class>
|
||||
<init-param>
|
||||
<param-name>prefix</param-name>
|
||||
<param-value>/theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
MODULES SERVLET DECLARATIONS SECTION
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<!-- module ccm-ldn-atoz - servlet definitions BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>atoz-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-atoz</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-atoz - servlet definitions END -->
|
||||
|
||||
<!-- module ccm-forum - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>forum-main</servlet-name>
|
||||
<servlet-class>com.arsdigita.forum.ForumServlet</servlet-class>
|
||||
</servlet>
|
||||
<!-- module ccm-forum - servlet declarations END -->
|
||||
|
||||
<!-- XXX hack -->
|
||||
|
||||
|
|
@ -172,17 +200,130 @@
|
|||
<servlet-name>portlet-type-xsl</servlet-name>
|
||||
<servlet-class>com.arsdigita.dispatcher.PortletTypeXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- module ccm-ldn-rss - servlet declaration BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>rss-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-rss</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>file-resolver</param-name>
|
||||
<param-value>com.arsdigita.london.rss.RSSFileResolver</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-rss - servlet declaration END -->
|
||||
|
||||
<!-- module ccm-ldn-search - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>worker</servlet-name>
|
||||
<servlet-class>com.arsdigita.london.search.SearchWorkerServlet</servlet-class>
|
||||
<load-on-startup>4</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>search-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-search</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>AxisServlet</servlet-name>
|
||||
<display-name>Apache-Axis Servlet</display-name>
|
||||
<servlet-class>
|
||||
org.apache.axis.transport.http.AxisServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-search - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-shortcuts - servlet definitions -->
|
||||
<servlet>
|
||||
<servlet-name>shortcuts-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-shortcuts</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<!-- module ccm-ldn-subsite - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>subsite-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-subsite</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-subsite - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-terms - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>terms-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-terms</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-terms - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-themes - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>theme-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemeDownload</servlet-name>
|
||||
<servlet-class>com.arsdigita.london.theme.dispatcher.ThemeDownloadServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<display-name>Servlet to allow admins to preview look/feel</display-name>
|
||||
<servlet-class>
|
||||
com.arsdigita.london.theme.dispatcher.InternalThemePrefixerServlet
|
||||
</servlet-class>
|
||||
<init-param>
|
||||
<param-name>prefix</param-name>
|
||||
<param-value>/theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-themes - servlet declarations END -->
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
MODULES SERVLET MAPPINGS SECTION
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<!-- module ccm-ldn-atoz - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>atoz-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-atoz/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-atoz - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-forum - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>forum-main</servlet-name>
|
||||
<url-pattern>/forum-main/main/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-forum - servlet mappings END -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>portlet-type-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/portlet-type/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>reg</servlet-name>
|
||||
<url-pattern>/__ccm__/null/reg/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>portal-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-portal/files/*</url-pattern>
|
||||
|
|
@ -193,7 +334,71 @@
|
|||
<url-pattern>/ccm-ldn-navigation/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- /ADDITIONAL SERVLET DECLARATIONS -->
|
||||
<!-- module ccm-ldn-rss - servlet mappings -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>rss-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-rss/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- module ccm-ldn-search - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>search-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-search/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>AxisServlet</servlet-name>
|
||||
<url-pattern>/services/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-search - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-shortcuts - servlet mappings -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>shortcuts-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-shortcuts/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- module ccm-ldn-subsite - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>subsite-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-subsite/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-subsite - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-terms - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>terms-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-terms/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-terms - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-theme - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>theme-files</servlet-name>
|
||||
<url-pattern>/theme-files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ThemeDownload</servlet-name>
|
||||
<url-pattern>/theme-files/download/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<url-pattern>/theme/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-themes - servlet mappings END -->
|
||||
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
BASE SERVLET MAPPINGS SECTION
|
||||
basically requirred by ccm-core
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>reg</servlet-name>
|
||||
<url-pattern>/__ccm__/null/reg/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ccm-dispatcher</servlet-name>
|
||||
|
|
@ -230,7 +435,10 @@
|
|||
<url-pattern>/resource/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- ADDITIONAL SERVLET MAPPINGS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ADDITIONAL SERVLET MAPPINGS SECTION
|
||||
basically requirred by ccm-cms
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>content-section</servlet-name>
|
||||
|
|
@ -238,13 +446,13 @@
|
|||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>content-type-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-type/*</url-pattern>
|
||||
<servlet-name>content-item-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-item/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>content-item-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-item/*</url-pattern>
|
||||
<servlet-name>content-type-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-type/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
|
|
@ -262,13 +470,10 @@
|
|||
<url-pattern>/print/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<url-pattern>/theme/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
|
||||
<!-- /ADDITIONAL SERVLET MAPPINGS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ERROR PAGES
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<error-page>
|
||||
<exception-type>com.arsdigita.dispatcher.AccessDeniedException</exception-type>
|
||||
|
|
@ -295,10 +500,28 @@
|
|||
<location>/error/db-not-available.jsp</location>
|
||||
</error-page>
|
||||
|
||||
|
||||
<error-page>
|
||||
<exception-type>java.lang.Exception</exception-type>
|
||||
<location>/error/general.jsp</location>
|
||||
</error-page>
|
||||
|
||||
<error-page>
|
||||
<exception-type>java.lang.Error</exception-type>
|
||||
<location>/error/general.jsp</location>
|
||||
</error-page>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
TAG LIBS
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<taglib>
|
||||
<taglib-uri>/WEB-INF/bebop-show.tld</taglib-uri>
|
||||
<taglib-location>/WEB-INF/bebop-show.tld</taglib-location>
|
||||
</taglib>
|
||||
|
||||
<taglib>
|
||||
<taglib-uri>/WEB-INF/bebop-define.tld</taglib-uri>
|
||||
<taglib-location>/WEB-INF/bebop-define.tld</taglib-location>
|
||||
</taglib>
|
||||
|
||||
</web-app>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@
|
|||
|
||||
<web-app>
|
||||
|
||||
<display-name>CCM</display-name>
|
||||
<description>Content and Collaboration Management</description>
|
||||
|
||||
<filter>
|
||||
<filter-name>shortcuts</filter-name>
|
||||
<filter-class>com.arsdigita.london.shortcuts.ShortcutFilter</filter-class>
|
||||
|
|
@ -16,7 +19,10 @@
|
|||
|
||||
<filter-mapping>
|
||||
<filter-name>subsite</filter-name>
|
||||
<url-pattern>/ccm/*</url-pattern>
|
||||
<!-- please check: with or w/o ccm?
|
||||
<url-pattern>/*</url-pattern>
|
||||
-->
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
|
|
@ -24,12 +30,20 @@
|
|||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<!-- The Context Listener is required and used for initializing the runtime
|
||||
environment before any other task is performed or any servlet initialized. -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
Context Listener
|
||||
required and used to initialize the runtime environment before any other
|
||||
task is performed or any servlet initialized.
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<listener>
|
||||
<listener-class>com.arsdigita.web.CCMApplicationContextListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
BASE SERVLET DECLARATIONS SECTION
|
||||
basically requirred by ccm-core
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>reg</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ContextRegistrationServlet</servlet-class>
|
||||
|
|
@ -86,7 +100,10 @@
|
|||
<servlet-class>com.arsdigita.web.ResourceServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- ADDITIONAL SERVLET DECLARATIONS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ADDITIONAL SERVLET DECLARATIONS SECTION
|
||||
basically requirred by ccm-cms
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>content-section</servlet-name>
|
||||
|
|
@ -108,6 +125,7 @@
|
|||
<servlet-class>com.arsdigita.cms.dispatcher.TemplateXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
|
||||
<servlet>
|
||||
<servlet-name>TextOnlyServlet</servlet-name>
|
||||
<display-name>Text Only Servlet</display-name>
|
||||
|
|
@ -132,17 +150,27 @@
|
|||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<display-name>Servlet to allow admins to preview look/feel</display-name>
|
||||
<servlet-class>
|
||||
com.arsdigita.london.theme.dispatcher.InternalThemePrefixerServlet
|
||||
</servlet-class>
|
||||
<init-param>
|
||||
<param-name>prefix</param-name>
|
||||
<param-value>/theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
MODULES SERVLET DECLARATIONS SECTION
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<!-- module ccm-ldn-atoz - servlet definitions BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>atoz-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-atoz</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-atoz - servlet definitions END -->
|
||||
|
||||
<!-- module ccm-forum - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>forum-main</servlet-name>
|
||||
<servlet-class>com.arsdigita.forum.ForumServlet</servlet-class>
|
||||
</servlet>
|
||||
<!-- module ccm-forum - servlet declarations END -->
|
||||
|
||||
<!-- XXX hack -->
|
||||
|
||||
|
|
@ -172,17 +200,130 @@
|
|||
<servlet-name>portlet-type-xsl</servlet-name>
|
||||
<servlet-class>com.arsdigita.dispatcher.PortletTypeXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- module ccm-ldn-rss - servlet declaration BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>rss-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-rss</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>file-resolver</param-name>
|
||||
<param-value>com.arsdigita.london.rss.RSSFileResolver</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-rss - servlet declaration END -->
|
||||
|
||||
<!-- module ccm-ldn-search - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>worker</servlet-name>
|
||||
<servlet-class>com.arsdigita.london.search.SearchWorkerServlet</servlet-class>
|
||||
<load-on-startup>4</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>search-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-search</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>AxisServlet</servlet-name>
|
||||
<display-name>Apache-Axis Servlet</display-name>
|
||||
<servlet-class>
|
||||
org.apache.axis.transport.http.AxisServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-search - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-shortcuts - servlet definitions -->
|
||||
<servlet>
|
||||
<servlet-name>shortcuts-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-shortcuts</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<!-- module ccm-ldn-subsite - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>subsite-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-subsite</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-subsite - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-terms - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>terms-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-terms</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-terms - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-themes - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>theme-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemeDownload</servlet-name>
|
||||
<servlet-class>com.arsdigita.london.theme.dispatcher.ThemeDownloadServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<display-name>Servlet to allow admins to preview look/feel</display-name>
|
||||
<servlet-class>
|
||||
com.arsdigita.london.theme.dispatcher.InternalThemePrefixerServlet
|
||||
</servlet-class>
|
||||
<init-param>
|
||||
<param-name>prefix</param-name>
|
||||
<param-value>/theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-themes - servlet declarations END -->
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
MODULES SERVLET MAPPINGS SECTION
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<!-- module ccm-ldn-atoz - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>atoz-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-atoz/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-atoz - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-forum - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>forum-main</servlet-name>
|
||||
<url-pattern>/forum-main/main/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-forum - servlet mappings END -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>portlet-type-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/portlet-type/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>reg</servlet-name>
|
||||
<url-pattern>/__ccm__/null/reg/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>portal-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-portal/files/*</url-pattern>
|
||||
|
|
@ -193,7 +334,71 @@
|
|||
<url-pattern>/ccm-ldn-navigation/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- /ADDITIONAL SERVLET DECLARATIONS -->
|
||||
<!-- module ccm-ldn-rss - servlet mappings -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>rss-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-rss/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- module ccm-ldn-search - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>search-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-search/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>AxisServlet</servlet-name>
|
||||
<url-pattern>/services/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-search - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-shortcuts - servlet mappings -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>shortcuts-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-shortcuts/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- module ccm-ldn-subsite - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>subsite-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-subsite/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-subsite - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-terms - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>terms-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-terms/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-terms - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-theme - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>theme-files</servlet-name>
|
||||
<url-pattern>/theme-files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ThemeDownload</servlet-name>
|
||||
<url-pattern>/theme-files/download/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<url-pattern>/theme/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-themes - servlet mappings END -->
|
||||
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
BASE SERVLET MAPPINGS SECTION
|
||||
basically requirred by ccm-core
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>reg</servlet-name>
|
||||
<url-pattern>/__ccm__/null/reg/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ccm-dispatcher</servlet-name>
|
||||
|
|
@ -230,7 +435,10 @@
|
|||
<url-pattern>/resource/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- ADDITIONAL SERVLET MAPPINGS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ADDITIONAL SERVLET MAPPINGS SECTION
|
||||
basically requirred by ccm-cms
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>content-section</servlet-name>
|
||||
|
|
@ -238,13 +446,13 @@
|
|||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>content-type-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-type/*</url-pattern>
|
||||
<servlet-name>content-item-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-item/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>content-item-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-item/*</url-pattern>
|
||||
<servlet-name>content-type-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-type/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
|
|
@ -262,13 +470,10 @@
|
|||
<url-pattern>/print/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<url-pattern>/theme/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
|
||||
<!-- /ADDITIONAL SERVLET MAPPINGS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ERROR PAGES
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<error-page>
|
||||
<exception-type>com.arsdigita.dispatcher.AccessDeniedException</exception-type>
|
||||
|
|
@ -295,10 +500,28 @@
|
|||
<location>/error/db-not-available.jsp</location>
|
||||
</error-page>
|
||||
|
||||
|
||||
<error-page>
|
||||
<exception-type>java.lang.Exception</exception-type>
|
||||
<location>/error/general.jsp</location>
|
||||
</error-page>
|
||||
|
||||
<error-page>
|
||||
<exception-type>java.lang.Error</exception-type>
|
||||
<location>/error/general.jsp</location>
|
||||
</error-page>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
TAG LIBS
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<taglib>
|
||||
<taglib-uri>/WEB-INF/bebop-show.tld</taglib-uri>
|
||||
<taglib-location>/WEB-INF/bebop-show.tld</taglib-location>
|
||||
</taglib>
|
||||
|
||||
<taglib>
|
||||
<taglib-uri>/WEB-INF/bebop-define.tld</taglib-uri>
|
||||
<taglib-location>/WEB-INF/bebop-define.tld</taglib-location>
|
||||
</taglib>
|
||||
|
||||
</web-app>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@
|
|||
|
||||
<web-app>
|
||||
|
||||
<display-name>CCM</display-name>
|
||||
<description>Content and Collaboration Management</description>
|
||||
|
||||
<filter>
|
||||
<filter-name>shortcuts</filter-name>
|
||||
<filter-class>com.arsdigita.london.shortcuts.ShortcutFilter</filter-class>
|
||||
|
|
@ -16,7 +19,10 @@
|
|||
|
||||
<filter-mapping>
|
||||
<filter-name>subsite</filter-name>
|
||||
<url-pattern>/ccm/*</url-pattern>
|
||||
<!-- please check: with or w/o ccm?
|
||||
<url-pattern>/*</url-pattern>
|
||||
-->
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
|
|
@ -24,12 +30,20 @@
|
|||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<!-- The Context Listener is required and used for initializing the runtime
|
||||
environment before any other task is performed or any servlet initialized. -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
Context Listener
|
||||
required and used to initialize the runtime environment before any other
|
||||
task is performed or any servlet initialized.
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<listener>
|
||||
<listener-class>com.arsdigita.web.CCMApplicationContextListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
BASE SERVLET DECLARATIONS SECTION
|
||||
basically requirred by ccm-core
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>reg</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ContextRegistrationServlet</servlet-class>
|
||||
|
|
@ -86,7 +100,10 @@
|
|||
<servlet-class>com.arsdigita.web.ResourceServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- ADDITIONAL SERVLET DECLARATIONS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ADDITIONAL SERVLET DECLARATIONS SECTION
|
||||
basically requirred by ccm-cms
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>content-section</servlet-name>
|
||||
|
|
@ -108,6 +125,7 @@
|
|||
<servlet-class>com.arsdigita.cms.dispatcher.TemplateXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
|
||||
<servlet>
|
||||
<servlet-name>TextOnlyServlet</servlet-name>
|
||||
<display-name>Text Only Servlet</display-name>
|
||||
|
|
@ -132,17 +150,27 @@
|
|||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<display-name>Servlet to allow admins to preview look/feel</display-name>
|
||||
<servlet-class>
|
||||
com.arsdigita.london.theme.dispatcher.InternalThemePrefixerServlet
|
||||
</servlet-class>
|
||||
<init-param>
|
||||
<param-name>prefix</param-name>
|
||||
<param-value>/theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
MODULES SERVLET DECLARATIONS SECTION
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<!-- module ccm-ldn-atoz - servlet definitions BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>atoz-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-atoz</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-atoz - servlet definitions END -->
|
||||
|
||||
<!-- module ccm-forum - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>forum-main</servlet-name>
|
||||
<servlet-class>com.arsdigita.forum.ForumServlet</servlet-class>
|
||||
</servlet>
|
||||
<!-- module ccm-forum - servlet declarations END -->
|
||||
|
||||
<!-- XXX hack -->
|
||||
|
||||
|
|
@ -172,17 +200,130 @@
|
|||
<servlet-name>portlet-type-xsl</servlet-name>
|
||||
<servlet-class>com.arsdigita.dispatcher.PortletTypeXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- module ccm-ldn-rss - servlet declaration BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>rss-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-rss</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>file-resolver</param-name>
|
||||
<param-value>com.arsdigita.london.rss.RSSFileResolver</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-rss - servlet declaration END -->
|
||||
|
||||
<!-- module ccm-ldn-search - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>worker</servlet-name>
|
||||
<servlet-class>com.arsdigita.london.search.SearchWorkerServlet</servlet-class>
|
||||
<load-on-startup>4</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>search-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-search</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>AxisServlet</servlet-name>
|
||||
<display-name>Apache-Axis Servlet</display-name>
|
||||
<servlet-class>
|
||||
org.apache.axis.transport.http.AxisServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-search - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-shortcuts - servlet definitions -->
|
||||
<servlet>
|
||||
<servlet-name>shortcuts-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-shortcuts</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<!-- module ccm-ldn-subsite - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>subsite-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-subsite</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-subsite - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-terms - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>terms-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-terms</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-terms - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-themes - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>theme-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemeDownload</servlet-name>
|
||||
<servlet-class>com.arsdigita.london.theme.dispatcher.ThemeDownloadServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<display-name>Servlet to allow admins to preview look/feel</display-name>
|
||||
<servlet-class>
|
||||
com.arsdigita.london.theme.dispatcher.InternalThemePrefixerServlet
|
||||
</servlet-class>
|
||||
<init-param>
|
||||
<param-name>prefix</param-name>
|
||||
<param-value>/theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-themes - servlet declarations END -->
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
MODULES SERVLET MAPPINGS SECTION
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<!-- module ccm-ldn-atoz - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>atoz-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-atoz/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-atoz - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-forum - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>forum-main</servlet-name>
|
||||
<url-pattern>/forum-main/main/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-forum - servlet mappings END -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>portlet-type-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/portlet-type/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>reg</servlet-name>
|
||||
<url-pattern>/__ccm__/null/reg/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>portal-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-portal/files/*</url-pattern>
|
||||
|
|
@ -193,7 +334,71 @@
|
|||
<url-pattern>/ccm-ldn-navigation/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- /ADDITIONAL SERVLET DECLARATIONS -->
|
||||
<!-- module ccm-ldn-rss - servlet mappings -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>rss-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-rss/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- module ccm-ldn-search - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>search-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-search/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>AxisServlet</servlet-name>
|
||||
<url-pattern>/services/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-search - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-shortcuts - servlet mappings -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>shortcuts-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-shortcuts/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- module ccm-ldn-subsite - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>subsite-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-subsite/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-subsite - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-terms - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>terms-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-terms/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-terms - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-theme - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>theme-files</servlet-name>
|
||||
<url-pattern>/theme-files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ThemeDownload</servlet-name>
|
||||
<url-pattern>/theme-files/download/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<url-pattern>/theme/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-themes - servlet mappings END -->
|
||||
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
BASE SERVLET MAPPINGS SECTION
|
||||
basically requirred by ccm-core
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>reg</servlet-name>
|
||||
<url-pattern>/__ccm__/null/reg/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ccm-dispatcher</servlet-name>
|
||||
|
|
@ -230,7 +435,10 @@
|
|||
<url-pattern>/resource/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- ADDITIONAL SERVLET MAPPINGS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ADDITIONAL SERVLET MAPPINGS SECTION
|
||||
basically requirred by ccm-cms
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>content-section</servlet-name>
|
||||
|
|
@ -238,13 +446,13 @@
|
|||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>content-type-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-type/*</url-pattern>
|
||||
<servlet-name>content-item-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-item/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>content-item-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-item/*</url-pattern>
|
||||
<servlet-name>content-type-xsl</servlet-name>
|
||||
<url-pattern>/__ccm__/servlet/content-type/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
|
|
@ -262,13 +470,10 @@
|
|||
<url-pattern>/print/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<url-pattern>/theme/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
|
||||
<!-- /ADDITIONAL SERVLET MAPPINGS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ERROR PAGES
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<error-page>
|
||||
<exception-type>com.arsdigita.dispatcher.AccessDeniedException</exception-type>
|
||||
|
|
@ -295,10 +500,28 @@
|
|||
<location>/error/db-not-available.jsp</location>
|
||||
</error-page>
|
||||
|
||||
|
||||
<error-page>
|
||||
<exception-type>java.lang.Exception</exception-type>
|
||||
<location>/error/general.jsp</location>
|
||||
</error-page>
|
||||
|
||||
<error-page>
|
||||
<exception-type>java.lang.Error</exception-type>
|
||||
<location>/error/general.jsp</location>
|
||||
</error-page>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
TAG LIBS
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<taglib>
|
||||
<taglib-uri>/WEB-INF/bebop-show.tld</taglib-uri>
|
||||
<taglib-location>/WEB-INF/bebop-show.tld</taglib-location>
|
||||
</taglib>
|
||||
|
||||
<taglib>
|
||||
<taglib-uri>/WEB-INF/bebop-define.tld</taglib-uri>
|
||||
<taglib-location>/WEB-INF/bebop-define.tld</taglib-location>
|
||||
</taglib>
|
||||
|
||||
</web-app>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@
|
|||
|
||||
<web-app>
|
||||
|
||||
<display-name>CCM</display-name>
|
||||
<description>Content and Collaboration Management</description>
|
||||
|
||||
<filter>
|
||||
<filter-name>shortcuts</filter-name>
|
||||
<filter-class>com.arsdigita.london.shortcuts.ShortcutFilter</filter-class>
|
||||
|
|
@ -17,6 +20,9 @@
|
|||
<filter-mapping>
|
||||
<filter-name>subsite</filter-name>
|
||||
<url-pattern>/ccm/*</url-pattern>
|
||||
<!-- please check: with or w/o ccm?
|
||||
<url-pattern>/*</url-pattern>
|
||||
-->
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
|
|
@ -24,12 +30,20 @@
|
|||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<!-- The Context Listener is required and used for initializing the runtime
|
||||
environment before any other task is performed or any servlet initialized. -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
Context Listener
|
||||
required and used to initialize the runtime environment before any other
|
||||
task is performed or any servlet initialized.
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
<listener>
|
||||
<listener-class>com.arsdigita.web.CCMApplicationContextListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
BASE SERVLET DECLARATIONS SECTION
|
||||
basically requirred by ccm-core
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>reg</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ContextRegistrationServlet</servlet-class>
|
||||
|
|
@ -86,37 +100,32 @@
|
|||
<servlet-class>com.arsdigita.web.ResourceServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- ADDITIONAL SERVLET DECLARATIONS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ADDITIONAL SERVLET DECLARATIONS SECTION
|
||||
basically requirred by ccm-cms
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>content-section</servlet-name>
|
||||
<servlet-class>com.arsdigita.cms.ContentSectionServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>content-item-xsl</servlet-name>
|
||||
<servlet-class>com.arsdigita.cms.dispatcher.ContentItemXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>content-type-xsl</servlet-name>
|
||||
<servlet-class>com.arsdigita.cms.dispatcher.ContentTypeXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>content-item-xsl</servlet-name>
|
||||
<servlet-class>com.arsdigita.cms.dispatcher.ContentItemXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>template-xsl</servlet-name>
|
||||
<servlet-class>com.arsdigita.cms.dispatcher.TemplateXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
|
||||
<servlet>
|
||||
<servlet-name>AxisServlet</servlet-name>
|
||||
<display-name>Apache-Axis Servlet</display-name>
|
||||
<servlet-class>
|
||||
org.apache.axis.transport.http.AxisServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>TextOnlyServlet</servlet-name>
|
||||
<display-name>Text Only Servlet</display-name>
|
||||
|
|
@ -141,17 +150,27 @@
|
|||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<display-name>Servlet to allow admins to preview look/feel</display-name>
|
||||
<servlet-class>
|
||||
com.arsdigita.london.theme.dispatcher.InternalThemePrefixerServlet
|
||||
</servlet-class>
|
||||
<init-param>
|
||||
<param-name>prefix</param-name>
|
||||
<param-value>/theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
MODULES SERVLET DECLARATIONS SECTION
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<!-- module ccm-ldn-atoz - servlet definitions BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>atoz-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-atoz</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-atoz - servlet definitions END -->
|
||||
|
||||
<!-- module ccm-forum - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>forum-main</servlet-name>
|
||||
<servlet-class>com.arsdigita.forum.ForumServlet</servlet-class>
|
||||
</servlet>
|
||||
<!-- module ccm-forum - servlet declarations END -->
|
||||
|
||||
<!-- XXX hack -->
|
||||
|
||||
|
|
@ -181,6 +200,124 @@
|
|||
<servlet-name>portlet-type-xsl</servlet-name>
|
||||
<servlet-class>com.arsdigita.dispatcher.PortletTypeXSLServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- module ccm-ldn-rss - servlet declaration BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>rss-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-rss</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>file-resolver</param-name>
|
||||
<param-value>com.arsdigita.london.rss.RSSFileResolver</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-rss - servlet declaration END -->
|
||||
|
||||
<!-- module ccm-ldn-search - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>worker</servlet-name>
|
||||
<servlet-class>com.arsdigita.london.search.SearchWorkerServlet</servlet-class>
|
||||
<load-on-startup>4</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>search-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-search</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>AxisServlet</servlet-name>
|
||||
<display-name>Apache-Axis Servlet</display-name>
|
||||
<servlet-class>
|
||||
org.apache.axis.transport.http.AxisServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-search - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-shortcuts - servlet definitions -->
|
||||
<servlet>
|
||||
<servlet-name>shortcuts-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-shortcuts</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<!-- module ccm-ldn-subsite - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>subsite-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-subsite</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-subsite - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-terms - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>terms-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-terms</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-terms - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-themes - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>theme-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemeDownload</servlet-name>
|
||||
<servlet-class>com.arsdigita.london.theme.dispatcher.ThemeDownloadServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<display-name>Servlet to allow admins to preview look/feel</display-name>
|
||||
<servlet-class>
|
||||
com.arsdigita.london.theme.dispatcher.InternalThemePrefixerServlet
|
||||
</servlet-class>
|
||||
<init-param>
|
||||
<param-name>prefix</param-name>
|
||||
<param-value>/theme</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-themes - servlet declarations END -->
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
MODULES SERVLET MAPPINGS SECTION
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<!-- module ccm-ldn-atoz - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>atoz-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-atoz/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-atoz - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-forum - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>forum-main</servlet-name>
|
||||
<url-pattern>/forum-main/main/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-forum - servlet mappings END -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>portlet-type-xsl</servlet-name>
|
||||
|
|
@ -197,7 +334,71 @@
|
|||
<url-pattern>/ccm-ldn-navigation/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- /ADDITIONAL SERVLET DECLARATIONS -->
|
||||
<!-- module ccm-ldn-rss - servlet mappings -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>rss-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-rss/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- module ccm-ldn-search - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>search-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-search/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>AxisServlet</servlet-name>
|
||||
<url-pattern>/services/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-search - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-shortcuts - servlet mappings -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>shortcuts-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-shortcuts/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- module ccm-ldn-subsite - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>subsite-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-subsite/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-subsite - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-terms - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>terms-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-terms/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-terms - servlet mappings END -->
|
||||
|
||||
<!-- module ccm-ldn-theme - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>theme-files</servlet-name>
|
||||
<url-pattern>/theme-files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ThemeDownload</servlet-name>
|
||||
<url-pattern>/theme-files/download/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<url-pattern>/theme/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-themes - servlet mappings END -->
|
||||
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
BASE SERVLET MAPPINGS SECTION
|
||||
basically requirred by ccm-core
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>reg</servlet-name>
|
||||
<url-pattern>/__ccm__/null/reg/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ccm-dispatcher</servlet-name>
|
||||
|
|
@ -234,7 +435,10 @@
|
|||
<url-pattern>/resource/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- ADDITIONAL SERVLET MAPPINGS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ADDITIONAL SERVLET MAPPINGS SECTION
|
||||
basically requirred by ccm-cms
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>content-section</servlet-name>
|
||||
|
|
@ -256,11 +460,6 @@
|
|||
<url-pattern>/__ccm__/servlet/template/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>AxisServlet</servlet-name>
|
||||
<url-pattern>/services/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>TextOnlyServlet</servlet-name>
|
||||
<url-pattern>/text/*</url-pattern>
|
||||
|
|
@ -271,12 +470,10 @@
|
|||
<url-pattern>/print/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ThemePreviewServlet</servlet-name>
|
||||
<url-pattern>/theme/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- /ADDITIONAL SERVLET MAPPINGS -->
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ERROR PAGES
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<error-page>
|
||||
<exception-type>com.arsdigita.dispatcher.AccessDeniedException</exception-type>
|
||||
|
|
@ -303,13 +500,20 @@
|
|||
<location>/error/db-not-available.jsp</location>
|
||||
</error-page>
|
||||
|
||||
|
||||
<error-page>
|
||||
<exception-type>java.lang.Exception</exception-type>
|
||||
<location>/error/general.jsp</location>
|
||||
</error-page>
|
||||
|
||||
<!-- TAGLIBS -->
|
||||
<error-page>
|
||||
<exception-type>java.lang.Error</exception-type>
|
||||
<location>/error/general.jsp</location>
|
||||
</error-page>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
TAG LIBS
|
||||
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||
|
||||
<taglib>
|
||||
<taglib-uri>/WEB-INF/bebop-show.tld</taglib-uri>
|
||||
<taglib-location>/WEB-INF/bebop-show.tld</taglib-location>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,12 @@
|
|||
xmlns:aplaws="http://www.arsdigita.com/aplaws/1.0"
|
||||
version="1.0">
|
||||
|
||||
<!-- IMPORT DEFINITIONS ccm-ldn-atoz installed as separate web application
|
||||
<xsl:import href="../../../../ccm-ldn-atoz/__ccm__/apps/atoz/xsl/index.xsl"/>
|
||||
-->
|
||||
<!-- IMPORT DEFINITIONS ccm-ldn-atoz installed into the main CCM webapp
|
||||
-->
|
||||
<xsl:import href="../../../__ccm__/apps/atoz/xsl/index.xsl"/>
|
||||
<xsl:import href="lib/page.xsl"/>
|
||||
|
||||
<xsl:param name="theme-prefix"/>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,13 @@
|
|||
exclude-result-prefixes="xsl bebop aplaws ui cms nav search atoz"
|
||||
version="1.0">
|
||||
|
||||
<xsl:import href="../../../../ROOT/__ccm__/apps/content-section/xsl/index.xsl"/>
|
||||
<!-- IMPORT DEFINITIONS ccm-ldn-atoz installed as separate web application
|
||||
<xsl:import href="../../../../ROOT/__ccm__/apps/content-section/xsl/index.xsl"/>
|
||||
-->
|
||||
|
||||
<!-- IMPORT DEFINITIONS ccm-ldn-atoz installed into the main CCM webapp
|
||||
-->
|
||||
<xsl:import href="../../../__ccm__/apps/content-section/xsl/index.xsl"/>
|
||||
|
||||
<xsl:import href="lib/header.xsl"/>
|
||||
<xsl:import href="lib/lib.xsl"/>
|
||||
|
|
|
|||
|
|
@ -1,15 +1,21 @@
|
|||
<xsl:stylesheet xmlns:forum="http://www.arsdigita.com/forum/1.0"
|
||||
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:nav="http://ccm.redhat.com/london/navigation"
|
||||
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:nav="http://ccm.redhat.com/london/navigation"
|
||||
xmlns:search="http://rhea.redhat.com/search/1.0"
|
||||
xmlns:portal="http://www.uk.arsdigita.com/portal/1.0"
|
||||
xmlns:cms="http://www.arsdigita.com/cms/1.0"
|
||||
exclude-result-prefixes="xsl bebop nav search portal forum cms"
|
||||
version="1.0">
|
||||
|
||||
<xsl:import href="../../../../ROOT/__ccm__/themes/aplaws/category-step.xsl"/>
|
||||
<xsl:import href="../../../../ROOT/__ccm__/static/cms/admin/category-step/category-step.xsl"/>
|
||||
<!-- IMPORT DEFINITIONS ccm-forum installed as separate web application
|
||||
<xsl:import href="../../../../ROOT/__ccm__/themes/aplaws/category-step.xsl"/>
|
||||
<xsl:import href="../../../../ROOT/__ccm__/static/cms/admin/category-step/category-step.xsl"/>
|
||||
-->
|
||||
<!-- IMPORT DEFINITIONS ccm-forum installed into the main CCM webapp
|
||||
-->
|
||||
<xsl:import href="../../../__ccm__/themes/aplaws/category-step.xsl"/>
|
||||
<xsl:import href="../../../__ccm__/static/cms/admin/category-step/category-step.xsl"/>
|
||||
|
||||
<xsl:output method="html" indent="yes"/>
|
||||
|
||||
|
|
@ -198,10 +204,12 @@
|
|||
<div class="content">
|
||||
<xsl:choose>
|
||||
<xsl:when test="count(forum:category[@isEnabled = '1']) > 0 and $expand='none'">
|
||||
<a href="#" onClick="catToggle('{@nodeID}');"><img id="catTog{@nodeID}" src="/assets/action-add.png" width="14" height="14" border="0"/></a>
|
||||
<a href="#" onClick="catToggle('{@nodeID}');">
|
||||
<img id="catTog{@nodeID}" src="/assets/action-add.png" width="14" height="14" border="0"/></a>
|
||||
</xsl:when>
|
||||
<xsl:when test="count(forum:category[@isEnabled = '1']) > 0 and $expand!='none'">
|
||||
<a href="#" onClick="catToggle('{@nodeID}');"><img id="catTog{@nodeID}" src="/assets/action-delete.png" width="14" height="14" border="0"/></a>
|
||||
<a href="#" onClick="catToggle('{@nodeID}');"><img id="catTog{@nodeID}" src="/assets/action-delete.png"
|
||||
width="14" height="14" border="0"/></a>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<img src="/assets/action-generic.png" width="14" height="14" border="0"/>
|
||||
|
|
|
|||
|
|
@ -8,23 +8,33 @@
|
|||
exclude-result-prefixes="xsl bebop nav search portal forum cms"
|
||||
version="1.0">
|
||||
|
||||
<xsl:import href="../../../../ROOT/packages/bebop/xsl/bebop.xsl" />
|
||||
<xsl:import href="../../../../ROOT/packages/ui/xsl/ui.xsl" />
|
||||
<xsl:import href="../../../../ROOT/packages/bebop/xsl/bebop.xsl" />
|
||||
<xsl:import href="lib/header.xsl" />
|
||||
<xsl:import href="lib/lib.xsl" />
|
||||
<xsl:import href="lib/leftNav.xsl" />
|
||||
<xsl:import href="forum-categories.xsl"/>
|
||||
<xsl:import href="../../../../ROOT/packages/bebop/xsl/dcp.xsl"/>
|
||||
<!-- IMPORT DEFINITIONS ccm-forum installed as separate web application
|
||||
<xsl:import href="../../../../ROOT/packages/bebop/xsl/bebop.xsl" />
|
||||
<xsl:import href="../../../../ROOT/packages/ui/xsl/ui.xsl" />
|
||||
<xsl:import href="../../../../ROOT/packages/bebop/xsl/bebop.xsl" />
|
||||
-->
|
||||
<!-- IMPORT DEFINITIONS ccm-forum installed into the main CCM webapp
|
||||
-->
|
||||
<xsl:import href="../../../packages/bebop/xsl/bebop.xsl" />
|
||||
<xsl:import href="../../../packages/ui/xsl/ui.xsl" />
|
||||
<xsl:import href="../../../packages/bebop/xsl/bebop.xsl" />
|
||||
|
||||
<xsl:import href="lib/header.xsl" />
|
||||
<xsl:import href="lib/lib.xsl" />
|
||||
<xsl:import href="lib/leftNav.xsl" />
|
||||
<xsl:import href="forum-categories.xsl"/>
|
||||
<!-- IMPORT DEFINITIONS ccm-forum installed as separate web application
|
||||
<xsl:import href="../../../../ROOT/packages/bebop/xsl/dcp.xsl"/>
|
||||
-->
|
||||
<!-- IMPORT DEFINITIONS ccm-forum installed into the main CCM webapp
|
||||
-->
|
||||
<xsl:import href="../../../packages/bebop/xsl/dcp.xsl"/>
|
||||
|
||||
<xsl:param name="theme-prefix" />
|
||||
<xsl:param name="context-prefix" />
|
||||
<xsl:param name="dispatcher-prefix" />
|
||||
|
||||
|
||||
|
||||
<xsl:param name="theme-prefix" />
|
||||
<xsl:param name="context-prefix" />
|
||||
<xsl:param name="dispatcher-prefix" />
|
||||
|
||||
<xsl:output method="html" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" doctype-system="http://www.w3.org/TR/html4/loose.dtd" indent="yes" />
|
||||
<xsl:output method="html" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" doctype-system="http://www.w3.org/TR/html4/loose.dtd" indent="yes" />
|
||||
|
||||
<!-- ********************* MAIN PAGE LAYOUT TEMPLATES ********************* -->
|
||||
|
||||
|
|
|
|||
|
|
@ -1,20 +1,33 @@
|
|||
<xsl:stylesheet xmlns:forum="http://www.arsdigita.com/forum/1.0"
|
||||
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:nav="http://ccm.redhat.com/london/navigation"
|
||||
xmlns:search="http://rhea.redhat.com/search/1.0"
|
||||
xmlns:portal="http://www.uk.arsdigita.com/portal/1.0"
|
||||
xmlns:cms="http://www.arsdigita.com/cms/1.0"
|
||||
exclude-result-prefixes="xsl bebop nav search portal forum cms"
|
||||
version="1.0">
|
||||
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:nav="http://ccm.redhat.com/london/navigation"
|
||||
xmlns:search="http://rhea.redhat.com/search/1.0"
|
||||
xmlns:portal="http://www.uk.arsdigita.com/portal/1.0"
|
||||
xmlns:cms="http://www.arsdigita.com/cms/1.0"
|
||||
exclude-result-prefixes="xsl bebop nav search portal forum cms"
|
||||
version="1.0">
|
||||
|
||||
<!-- IMPORT DEFINITIONS ccm-forum installed as separate web application
|
||||
<xsl:import href="../../../../ROOT/packages/bebop/xsl/bebop.xsl" />
|
||||
<xsl:import href="../../../../ROOT/packages/ui/xsl/ui.xsl" />
|
||||
<xsl:import href="../../../../ROOT/packages/bebop/xsl/bebop.xsl" />
|
||||
-->
|
||||
<!-- IMPORT DEFINITIONS ccm-forum installed into the main CCM webapp
|
||||
-->
|
||||
<xsl:import href="../../../packages/bebop/xsl/bebop.xsl" />
|
||||
<xsl:import href="../../../packages/ui/xsl/ui.xsl" />
|
||||
<xsl:import href="../../../packages/bebop/xsl/bebop.xsl" />
|
||||
|
||||
<xsl:import href="lib/header.xsl" />
|
||||
<xsl:import href="lib/lib.xsl" />
|
||||
<xsl:import href="lib/leftNav.xsl" />
|
||||
<!-- IMPORT DEFINITIONS ccm-forum installed as separate web application
|
||||
<xsl:import href="../../../../ROOT/packages/bebop/xsl/dcp.xsl"/>
|
||||
-->
|
||||
<!-- IMPORT DEFINITIONS ccm-forum installed into the main CCM webapp
|
||||
-->
|
||||
<xsl:import href="../../../packages/bebop/xsl/dcp.xsl"/>
|
||||
|
||||
|
||||
|
||||
|
|
@ -23,7 +36,8 @@
|
|||
<xsl:param name="context-prefix" />
|
||||
<xsl:param name="dispatcher-prefix" />
|
||||
|
||||
<xsl:output method="html" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" doctype-system="http://www.w3.org/TR/html4/loose.dtd" indent="yes" />
|
||||
<xsl:output method="html" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
doctype-system="http://www.w3.org/TR/html4/loose.dtd" indent="yes" />
|
||||
|
||||
<!-- ********************* MAIN PAGE LAYOUT TEMPLATES ********************* -->
|
||||
|
||||
|
|
@ -145,12 +159,12 @@
|
|||
<xsl:if test="$preview = 'false'">
|
||||
<div class="actions">
|
||||
<xsl:if test="@approveURL">
|
||||
<a href="{@approveURL}">
|
||||
<img alt="Approve" border="0" src="{$theme-prefix}/images/forum/reward-16x16.gif" />
|
||||
</a>
|
||||
<!--<xsl:text> </xsl:text>
|
||||
<a href="{@approveURL}">
|
||||
<img alt="Approve" border="0" src="{$theme-prefix}/images/forum/reward-16x16.gif" />
|
||||
</a>
|
||||
<!--<xsl:text> </xsl:text>
|
||||
<a href="{@approveURL}">Approve</a>-->
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:text> </xsl:text>
|
||||
|
||||
</xsl:if>
|
||||
<xsl:if test="@rejectURL">
|
||||
|
|
|
|||
|
|
@ -4,7 +4,13 @@
|
|||
xmlns:aplaws="http://www.arsdigita.com/aplaws/1.0"
|
||||
version="1.0">
|
||||
|
||||
<!-- IMPORT DEFINITIONS ccm-forum installed as separate web application ccm-forum
|
||||
<xsl:import href="../../../../ccm-forum/__ccm__/apps/forum/xsl/index.xsl"/>
|
||||
-->
|
||||
<!-- IMPORT DEFINITIONS ccm-ldn-shortcuts installed into the main CCM webapp
|
||||
-->
|
||||
<xsl:import href="../../../__ccm__/apps/forum/xsl/index.xsl"/>
|
||||
|
||||
<xsl:import href="lib/page.xsl"/>
|
||||
|
||||
<xsl:param name="theme-prefix" />
|
||||
|
|
|
|||
|
|
@ -11,7 +11,11 @@
|
|||
exclude-result-prefixes="xsl bebop aplaws ui cms nav search"
|
||||
version="1.0">
|
||||
|
||||
<xsl:import href="../../../../ccm-ldn-search/__ccm__/apps/search/xsl/index.xsl"/>
|
||||
|
||||
<!-- path if installed in its own web context ccm-ldn-search
|
||||
<xsl:import href="../../../../ccm-ldn-search/__ccm__/apps/search/xsl/index.xsl"/>
|
||||
-->
|
||||
<!-- path to xsl if installed in the main (common) web context
|
||||
-->
|
||||
<xsl:import href="../../../__ccm__/apps/search/xsl/index.xsl"/>
|
||||
|
||||
</xsl:stylesheet>
|
||||
</xsl:stylesheet>
|
||||
|
|
|
|||
|
|
@ -11,25 +11,31 @@
|
|||
exclude-result-prefixes="xsl bebop aplaws ui cms nav search"
|
||||
version="1.0">
|
||||
|
||||
<xsl:import href="lib/header.xsl"/>
|
||||
<xsl:import href="lib/lib.xsl"/>
|
||||
|
||||
<xsl:import href="../../../../ROOT/packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../ROOT/__ccm__/apps/content-section/xsl/index.xsl"/>
|
||||
<xsl:import href="lib/header.xsl"/>
|
||||
<xsl:import href="lib/lib.xsl"/>
|
||||
|
||||
<!-- path if installed in its own web context ccm-ldn-shortcuts
|
||||
<xsl:import href="../../../../ROOT/packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../ROOT/__ccm__/apps/content-section/xsl/index.xsl"/>
|
||||
-->
|
||||
<!-- path to xsl if installed in the main (common) web context
|
||||
-->
|
||||
<xsl:import href="../../../packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../__ccm__/apps/content-section/xsl/index.xsl"/>
|
||||
|
||||
<xsl:param name="context-prefix"/>
|
||||
<xsl:param name="dispatcher-prefix" />
|
||||
<xsl:param name="theme-prefix" />
|
||||
<xsl:param name="context-prefix"/>
|
||||
<xsl:param name="dispatcher-prefix" />
|
||||
<xsl:param name="theme-prefix" />
|
||||
|
||||
<xsl:output
|
||||
<xsl:output
|
||||
method="html"
|
||||
doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
doctype-system="http://www.w3.org/TR/html4/loose.dtd"
|
||||
indent="yes"
|
||||
/>
|
||||
/>
|
||||
|
||||
<xsl:template match="bebop:page[@application='search']">
|
||||
<html lang="en">
|
||||
<xsl:template match="bebop:page[@application='search']">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>APLAWS+: Search</title>
|
||||
<xsl:call-template name="cssStyles"/>
|
||||
|
|
@ -43,29 +49,24 @@
|
|||
<xsl:call-template name="searchBreadcrumb"/>
|
||||
<xsl:call-template name="searchBody"/>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="searchBody">
|
||||
|
||||
|
||||
|
||||
<table id="mainLayout" width="100%" border="0" cellspacing="0" cellpadding="0" summary="This table is used for a three-column page layout">
|
||||
<tr>
|
||||
<td width="20%" rowspan="2" align="left" valign="top" id="LHS">
|
||||
|
||||
<xsl:template name="searchBody">
|
||||
<table id="mainLayout" width="100%" border="0" cellspacing="0" cellpadding="0" summary="This table is used for a three-column page layout">
|
||||
<tr>
|
||||
<td width="20%" rowspan="2" align="left" valign="top" id="LHS">
|
||||
<!--LHS NAVIGATION -->
|
||||
<xsl:call-template name="searchNav" />
|
||||
</td>
|
||||
<td colspan="2" align="left" valign="top" id="title">
|
||||
|
||||
<!--MAIN CONTENT -->
|
||||
</td>
|
||||
<td colspan="2" align="left" valign="top" id="title">
|
||||
<!--MAIN CONTENT -->
|
||||
<h1>Search</h1>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="60%" align="left" valign="top" id="mainContent">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="60%" align="left" valign="top" id="mainContent">
|
||||
<span class="hide">|</span>
|
||||
|
||||
<!--CONTENT -->
|
||||
|
|
@ -77,122 +78,101 @@
|
|||
<div id="related">
|
||||
<h2>Search Options</h2>
|
||||
<xsl:choose>
|
||||
<xsl:when test="@id='search'">
|
||||
<a href="{$dispatcher-prefix}/search/advanced.jsp" title="Search with more options">Advanced search</a><span class="hide">|</span>
|
||||
<a href="{$dispatcher-prefix}/search/remote.jsp" title="Search other borough's LAWs websites">Remote search</a><span class="hide">|</span>
|
||||
</xsl:when>
|
||||
<xsl:when test="@id='advanced'">
|
||||
<a href="{$dispatcher-prefix}/search/" title="Basic search">Search</a><span class="hide">|</span>
|
||||
<a href="{$dispatcher-prefix}/search/remote.jsp" title="Search other borough's LAWs websites">Remote search</a><span class="hide">|</span>
|
||||
</xsl:when>
|
||||
<xsl:when test="@id='remote'">
|
||||
<a href="{$dispatcher-prefix}/search/" title="Basic search">Search</a><span class="hide">|</span>
|
||||
<a href="{$dispatcher-prefix}/search/advanced.jsp" title="Search with more options">Advanced search</a><span class="hide">|</span>
|
||||
</xsl:when>
|
||||
<xsl:otherwise />
|
||||
<xsl:when test="@id='search'">
|
||||
<a href="{$dispatcher-prefix}/search/advanced.jsp" title="Search with more options">Advanced search</a><span class="hide">|</span>
|
||||
<a href="{$dispatcher-prefix}/search/remote.jsp" title="Search other borough's LAWs websites">Remote search
|
||||
</a><span class="hide">|</span>
|
||||
</xsl:when>
|
||||
<xsl:when test="@id='advanced'">
|
||||
<a href="{$dispatcher-prefix}/search/" title="Basic search">Search</a><span class="hide">|</span>
|
||||
<a href="{$dispatcher-prefix}/search/remote.jsp" title="Search other borough's LAWs websites">Remote search
|
||||
</a><span class="hide">|</span>
|
||||
</xsl:when>
|
||||
<xsl:when test="@id='remote'">
|
||||
<a href="{$dispatcher-prefix}/search/" title="Basic search">Search</a><span class="hide">|</span>
|
||||
<a href="{$dispatcher-prefix}/search/advanced.jsp" title="Search with more options">Advanced search
|
||||
</a><span class="hide">|</span>
|
||||
</xsl:when>
|
||||
<xsl:otherwise />
|
||||
</xsl:choose>
|
||||
</div>
|
||||
|
||||
<xsl:call-template name="sponsoredLinks"/>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<xsl:call-template name="footer"/>
|
||||
</xsl:template>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<xsl:call-template name="footer"/>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="searchBreadcrumb">
|
||||
<!--BREADCRUMB -->
|
||||
|
||||
<div id="bread">
|
||||
<p>
|
||||
<b><a href="{$dispatcher-prefix}/portal/" title="home">home</a></b>
|
||||
<xsl:text disable-output-escaping="yes">&</xsl:text>gt;
|
||||
<span class="breadHi">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@id='search'">Search</xsl:when>
|
||||
<xsl:when test="@id='advanced'">Advanced Search</xsl:when>
|
||||
<xsl:when test="@id='remote'">Remote Search</xsl:when>
|
||||
<xsl:otherwise />
|
||||
</xsl:choose>
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<xsl:template name="searchBreadcrumb">
|
||||
|
||||
<!--BREADCRUMB -->
|
||||
|
||||
<div id="bread">
|
||||
<p>
|
||||
<b><a href="{$dispatcher-prefix}/portal/" title="home">home</a></b>
|
||||
<xsl:text disable-output-escaping="yes">&</xsl:text>gt;
|
||||
<span class="breadHi">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@id='search'">Search</xsl:when>
|
||||
<xsl:when test="@id='advanced'">Advanced Search</xsl:when>
|
||||
<xsl:when test="@id='remote'">Remote Search</xsl:when>
|
||||
<xsl:otherwise />
|
||||
</xsl:choose>
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<xsl:template name="searchNav">
|
||||
<div id="nav">
|
||||
<div class="navUp">
|
||||
<a href="{$dispatcher-prefix}/portal/">
|
||||
<xsl:attribute name="title">up to homepage</xsl:attribute>
|
||||
<xsl:text disable-output-escaping="yes">&</xsl:text>#094;
|
||||
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;home</a>
|
||||
</div>
|
||||
<xsl:choose>
|
||||
<xsl:template name="searchNav">
|
||||
<div id="nav">
|
||||
<div class="navUp">
|
||||
<a href="{$dispatcher-prefix}/portal/">
|
||||
<xsl:attribute name="title">up to homepage</xsl:attribute>
|
||||
<xsl:text disable-output-escaping="yes">&</xsl:text>#094;
|
||||
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;home</a>
|
||||
</div>
|
||||
<xsl:choose>
|
||||
<xsl:when test="@id='search'">
|
||||
<div class="navHere"><p>Search</p></div>
|
||||
</xsl:when>
|
||||
<xsl:when test="@id='advanced'">
|
||||
<xsl:when test="@id='advanced'">
|
||||
<div class="navHere"><p>Advanced search</p></div>
|
||||
</xsl:when>
|
||||
<xsl:when test="@id='remote'">
|
||||
<xsl:when test="@id='remote'">
|
||||
<div class="navHere"><p>Remote search</p></div>
|
||||
</xsl:when>
|
||||
<xsl:otherwise />
|
||||
</xsl:choose>
|
||||
<a href="/searchhelp" class="navChild" title="Hints and tips" >Hints and Tips</a><span class="hide">|</span>
|
||||
</div>
|
||||
</xsl:template>
|
||||
</xsl:choose>
|
||||
<a href="/searchhelp" class="navChild" title="Hints and tips" >Hints and Tips</a><span class="hide">|</span>
|
||||
</div>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<xsl:template name="searchMain">
|
||||
<xsl:template name="searchMain">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@id='search'">
|
||||
<xsl:call-template name="basicSearch" />
|
||||
</xsl:when>
|
||||
<xsl:when test="@id='advanced'">
|
||||
<xsl:call-template name="advancedSearch" />
|
||||
</xsl:when>
|
||||
<xsl:when test="@id='remote'">
|
||||
<xsl:call-template name="remoteSearch" />
|
||||
</xsl:when>
|
||||
<xsl:when test="@id='reindex'">
|
||||
<xsl:apply-templates/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise />
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
<xsl:when test="@id='search'">
|
||||
<xsl:call-template name="basicSearch" />
|
||||
</xsl:when>
|
||||
<xsl:when test="@id='advanced'">
|
||||
<xsl:call-template name="advancedSearch" />
|
||||
</xsl:when>
|
||||
<xsl:when test="@id='remote'">
|
||||
<xsl:call-template name="remoteSearch" />
|
||||
</xsl:when>
|
||||
<xsl:when test="@id='reindex'">
|
||||
<xsl:apply-templates/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise />
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<xsl:template name="basicSearch">
|
||||
<xsl:for-each select="bebop:form[@name='search']">
|
||||
<div id="searchArea">
|
||||
<xsl:template name="basicSearch">
|
||||
<xsl:for-each select="bebop:form[@name='search']">
|
||||
<div id="searchArea">
|
||||
<div id="resultsInfo">
|
||||
<xsl:choose>
|
||||
<xsl:when test="//search:results"><xsl:apply-templates select="//search:paginator" mode="results-summary"/></xsl:when>
|
||||
|
|
@ -212,20 +192,15 @@
|
|||
</div>
|
||||
<xsl:apply-templates select="bebop:pageState" />
|
||||
</form>
|
||||
</div>
|
||||
</xsl:for-each>
|
||||
<xsl:call-template name="searchResults" />
|
||||
</xsl:template>
|
||||
</div>
|
||||
</xsl:for-each>
|
||||
<xsl:call-template name="searchResults" />
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<xsl:template name="advancedSearch">
|
||||
<xsl:for-each select="bebop:form[@name='search']">
|
||||
<div id="searchArea">
|
||||
<xsl:template name="advancedSearch">
|
||||
<xsl:for-each select="bebop:form[@name='search']">
|
||||
<div id="searchArea">
|
||||
<div id="resultsInfo">
|
||||
<xsl:choose>
|
||||
<xsl:when test="//search:results"><xsl:apply-templates select="//search:paginator" mode="results-summary"/></xsl:when>
|
||||
|
|
@ -267,21 +242,15 @@
|
|||
</div>
|
||||
<xsl:apply-templates select="bebop:pageState" />
|
||||
</form>
|
||||
</div>
|
||||
</xsl:for-each>
|
||||
<xsl:call-template name="searchResults" />
|
||||
</xsl:template>
|
||||
</div>
|
||||
</xsl:for-each>
|
||||
<xsl:call-template name="searchResults" />
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<xsl:template name="remoteSearch">
|
||||
<xsl:for-each select="bebop:form[@name='search']">
|
||||
<div id="searchArea">
|
||||
<xsl:template name="remoteSearch">
|
||||
<xsl:for-each select="bebop:form[@name='search']">
|
||||
<div id="searchArea">
|
||||
<div id="resultsInfo">
|
||||
<xsl:choose>
|
||||
<xsl:when test="//search:results"><xsl:apply-templates select="//search:paginator" mode="results-summary"/></xsl:when>
|
||||
|
|
@ -326,14 +295,10 @@
|
|||
</div>
|
||||
<xsl:apply-templates select="bebop:pageState" />
|
||||
</form>
|
||||
</div>
|
||||
</xsl:for-each>
|
||||
<xsl:call-template name="searchResults" />
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</xsl:for-each>
|
||||
<xsl:call-template name="searchResults" />
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="sponsoredLinks">
|
||||
|
|
|
|||
|
|
@ -4,7 +4,12 @@
|
|||
xmlns:aplaws="http://www.arsdigita.com/aplaws/1.0"
|
||||
version="1.0">
|
||||
|
||||
<xsl:import href="../../../../ccm-ldn-shortcuts/__ccm__/apps/shortcuts/xsl/index.xsl"/>
|
||||
<!-- path if installed in its own web context ccm-ldn-shortcuts
|
||||
<xsl:import href="../../../../ccm-ldn-shortcuts/__ccm__/apps/shortcuts/xsl/index.xsl"/>
|
||||
-->
|
||||
<!-- path to xsl if installed in the main (common) web context
|
||||
-->
|
||||
<xsl:import href="../../../__ccm__/apps/shortcuts/xsl/index.xsl"/>
|
||||
<xsl:import href="lib/page.xsl"/>
|
||||
|
||||
<xsl:param name="theme-prefix"/>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,13 @@
|
|||
xmlns:aplaws="http://www.arsdigita.com/aplaws/1.0"
|
||||
version="1.0">
|
||||
|
||||
<!-- path if installed in its own web context ccm-ldn-subsite
|
||||
<xsl:import href="../../../../ccm-ldn-subsite/__ccm__/apps/subsite/xsl/index.xsl"/>
|
||||
-->
|
||||
<!-- path to xsl if installed in the main (common) web context
|
||||
-->
|
||||
<xsl:import href="../../../__ccm__/apps/subsite/xsl/index.xsl"/>
|
||||
|
||||
<xsl:import href="lib/page.xsl"/>
|
||||
|
||||
<xsl:param name="theme-prefix"/>
|
||||
|
|
|
|||
|
|
@ -1,2 +1,6 @@
|
|||
@import url(/css/acs-master.css);
|
||||
@import url(/ccm-ldn-terms/__ccm__/apps/terms/xsl/index.css);
|
||||
/* Following import is valid if terms is executed in its own */
|
||||
/* web application context (ccm-ldn-terms) */
|
||||
/* @import url(/ccm-ldn-terms/__ccm__/apps/terms/xsl/index.css); */
|
||||
/* import if installed in the main (common) web context */
|
||||
@import url(/__ccm__/apps/terms/xsl/index.css);
|
||||
|
|
|
|||
|
|
@ -4,7 +4,12 @@
|
|||
xmlns:aplaws="http://www.arsdigita.com/aplaws/1.0"
|
||||
version="1.0">
|
||||
|
||||
<!-- path if installed in its own web context ccm-ldn-terms
|
||||
<xsl:import href="../../../../ccm-ldn-terms/__ccm__/apps/terms/xsl/index.xsl"/>
|
||||
-->
|
||||
<!-- path to xsl if installed in the main (common) web context
|
||||
-->
|
||||
<xsl:import href="../../../__ccm__/apps/terms/xsl/index.xsl"/>
|
||||
<xsl:import href="lib/page.xsl"/>
|
||||
|
||||
<xsl:param name="theme-prefix"/>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,13 @@
|
|||
xmlns:aplaws="http://www.arsdigita.com/aplaws/1.0"
|
||||
version="1.0">
|
||||
|
||||
<!-- path if installed in its own web context ccm-ldn-theme
|
||||
<xsl:import href="../../../../ccm-ldn-theme/__ccm__/apps/theme/xsl/index.xsl"/>
|
||||
-->
|
||||
<!-- path to xsl if installed in the main (common) web context
|
||||
-->
|
||||
<xsl:import href="../../../__ccm__/apps/theme/xsl/index.xsl"/>
|
||||
|
||||
<xsl:import href="lib/page.xsl"/>
|
||||
|
||||
<xsl:param name="theme-prefix"/>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,9 @@
|
|||
name="ccm-ldn-atoz"
|
||||
prettyName="A-Z"
|
||||
version="6.6.0"
|
||||
release="4">
|
||||
release="4"
|
||||
webapp="ROOT">
|
||||
|
||||
<ccm:dependencies>
|
||||
<ccm:requires name="ccm-core" version="6.2.0" relation="ge"/>
|
||||
<ccm:requires name="ccm-cms" version="6.2.0" relation="ge"/>
|
||||
|
|
@ -22,4 +24,5 @@
|
|||
The Red Hat Web Application Framework is a platform for writing
|
||||
database-backed web applications in Java.
|
||||
</ccm:description>
|
||||
|
||||
</ccm:application>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
Up to APLAWS version 1.0.4 atoz had been installed into its own
|
||||
application context: [webapps]/ccm-ldn-atoz.
|
||||
|
||||
Now it is installed inside the main APLAWS application context along
|
||||
with all other applications.
|
||||
|
||||
If shortcuts should be installed as its own web context again following
|
||||
modifications are necessary:
|
||||
1. remove webapp="xxx" from application.xml
|
||||
2. move the files in this dir to WEB-INF/
|
||||
3. change src/com/ad/london/atoz/AtoZ.java
|
||||
method getServletContext() as back to "/files"
|
||||
4. edit __ccm__/.../xsl/index.xsl according the comment
|
||||
5. edit in ccm-ldn-aplaws /web/__ccm__/themes/aplaws/atoz.xml
|
||||
according to the comment
|
||||
|
||||
|
||||
Running it in its own webapplication context nevertheless is not suggestive.
|
||||
It needs several xsl files of the main application (esp. core) for basic
|
||||
operations, which hac been directly mapped from the main applications directory
|
||||
tree into its own directory tree. So no module separation is possible, no
|
||||
security context useable etc.
|
||||
|
||||
|
|
@ -34,6 +34,10 @@ import com.arsdigita.util.Assert;
|
|||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Base class of the AtoZ application (module)
|
||||
*
|
||||
*/
|
||||
public class AtoZ extends Application {
|
||||
|
||||
public static final String BASE_DATA_OBJECT_TYPE
|
||||
|
|
@ -60,14 +64,6 @@ public class AtoZ extends Application {
|
|||
public AtoZ(OID oid) {
|
||||
super(oid);
|
||||
}
|
||||
|
||||
public String getContextPath() {
|
||||
return "/ccm-ldn-atoz";
|
||||
}
|
||||
|
||||
public String getServletPath() {
|
||||
return "/files";
|
||||
}
|
||||
|
||||
public void addProvider(AtoZProvider provider) {
|
||||
DataObject link = add(PROVIDERS, provider);
|
||||
|
|
@ -101,9 +97,50 @@ public class AtoZ extends Application {
|
|||
|
||||
|
||||
public static Element newElement(String name) {
|
||||
Assert.truth(name.indexOf(":") == -1, "name does not contain :");
|
||||
Assert.isTrue(name.indexOf(":") == -1, "name does not contain :");
|
||||
return new Element("atoz:" + name,
|
||||
"http://xmlns.redhat.com/atoz/1.0");
|
||||
}
|
||||
|
||||
// /*
|
||||
// * Application specific method only required if installed in its own
|
||||
// * web application context
|
||||
// */
|
||||
// public String getContextPath() {
|
||||
// return "/ccm-ldn-atoz";
|
||||
// }
|
||||
|
||||
/**
|
||||
* Returns the path name of the location of the applications servlet/JSP.
|
||||
*
|
||||
* The method overwrites the super class to provide an application specific
|
||||
* location for servlets/JSP. This is necessary if you whish to install the
|
||||
* module (application) along with others in one context. If you install the
|
||||
* module into its own context (no longer recommended for versions newer
|
||||
* than 1.0.4) you may use a standard location.
|
||||
*
|
||||
* Usually it is a symbolic name/path, which will be mapped in the web.xml
|
||||
* to the real location in the file system. Example:
|
||||
* <servlet>
|
||||
* <servlet-name>atoz-files</servlet-name>
|
||||
* <servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
* <init-param>
|
||||
* <param-name>template-path</param-name>
|
||||
* <param-value>/templates/ccm-ldn-atoz</param-value>
|
||||
* </init-param>
|
||||
* </servlet>
|
||||
*
|
||||
* <servlet-mapping>
|
||||
* <servlet-name>atoz-files</servlet-name>
|
||||
* <url-pattern>/ccm-ldn-atoz/files/*</url-pattern>
|
||||
* </servlet-mapping>
|
||||
*
|
||||
* @return path name to the applications servlet/JSP
|
||||
*/
|
||||
public String getServletPath() {
|
||||
// return "/files";
|
||||
return "/ccm-ldn-atoz/files";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
<!-- module ccm-ldn-atoz - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>atoz-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-atoz</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-atoz - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-atoz - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>atoz-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-atoz/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-atoz - servlet mappings END -->
|
||||
|
||||
|
|
@ -6,10 +6,16 @@
|
|||
xmlns:atoz="http://xmlns.redhat.com/atoz/1.0"
|
||||
version="1.0">
|
||||
|
||||
<!-- IMPORT DEFINITIONS ccm-ldn-atoz installed as separate web application
|
||||
<xsl:import href="../../../../../ROOT/packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../../ROOT/packages/ui/xsl/ui.xsl"/>
|
||||
<xsl:import href="../../../../../ROOT/__ccm__/static/cms/admin/category-step/category-step.xsl"/>
|
||||
|
||||
-->
|
||||
<!-- IMPORT DEFINITIONS ccm-ldn-atoz installed into the main CCM webapp
|
||||
-->
|
||||
<xsl:import href="../../../../packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../packages/ui/xsl/ui.xsl"/>
|
||||
<xsl:import href="../../../../__ccm__/static/cms/admin/category-step/category-step.xsl"/>
|
||||
<xsl:output method="html"/>
|
||||
|
||||
<xsl:template name="bebop:pageCSS">
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@
|
|||
name="ccm-ldn-exporter"
|
||||
prettyName="exporter"
|
||||
version="6.5.0"
|
||||
release="1">
|
||||
release="1"
|
||||
webapp="ROOT">
|
||||
<ccm:directories>
|
||||
<ccm:directory name="src"/>
|
||||
<ccm:directory name="pdl"/>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@
|
|||
name="ccm-ldn-importer"
|
||||
prettyName="Importer"
|
||||
version="6.5.0"
|
||||
release="1">
|
||||
release="1"
|
||||
webapp="ROOT">
|
||||
<ccm:dependencies>
|
||||
<ccm:requires name="ccm-core" version="6.2.0" relation="ge"/>
|
||||
<ccm:requires name="ccm-cms" version="6.2.0" relation="ge"/>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@
|
|||
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
|
||||
|
||||
<web-app>
|
||||
|
||||
<!-- module ccm-ldn-portal - servlet definitions BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
|
|
@ -11,10 +13,13 @@
|
|||
<param-value>/templates/ccm-ldn-portal</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-portal - servlet definitions END -->
|
||||
|
||||
<!-- module ccm-ldn-portal - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>files</servlet-name>
|
||||
<url-pattern>/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-portal - servlet mappings END -->
|
||||
|
||||
</web-app>
|
||||
|
|
@ -12,7 +12,12 @@
|
|||
<xsl:import href="application-directory-portlet.xsl"/>
|
||||
<xsl:import href="workspace-directory-portlet.xsl"/>
|
||||
<xsl:import href="content-directory-portlet.xsl"/>
|
||||
<xsl:import href="flash-portlet.xsl"/>
|
||||
<xsl:import href="../../../../ccm-forum/packages/forum/xsl/recent-postings-portlet.xsl"/>
|
||||
<xsl:import href="flash-portlet.xsl"/>
|
||||
<!-- import statement, if forum is installed in a separate webapp context
|
||||
<xsl:import href="../../../../ccm-forum/packages/forum/xsl/recent-postings-portlet.xsl"/>
|
||||
-->
|
||||
<!-- import statement, if forum is installed in the main CCM webapp context
|
||||
-->
|
||||
<xsl:import href="../../../packages/forum/xsl/recent-postings-portlet.xsl"/>
|
||||
<xsl:import href="/__ccm__/servlet/portlet-type/index.xsl"/>
|
||||
</xsl:stylesheet>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@
|
|||
name="ccm-ldn-rss"
|
||||
prettyName="RSS"
|
||||
version="6.5.0"
|
||||
release="1">
|
||||
release="1"
|
||||
webapp="ROOT">
|
||||
<ccm:dependencies>
|
||||
<ccm:requires name="ccm-core" version="6.2.0" relation="ge"/>
|
||||
<ccm:requires name="ccm-cms" version="6.2.0" relation="ge"/>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
Up to APLAWS version 1.0.4 rss had been installed into its own
|
||||
application context: [webapps]/ccm-ldn-rss.
|
||||
|
||||
Now it is installed inside the main APLAWS application context along
|
||||
with all other applications.
|
||||
|
||||
If shortcuts should be installed as its own web context again following
|
||||
modifications are necessary:
|
||||
1. remove webapp="xxx" from application.xml
|
||||
2. move the files in this dir to WEB-INF/
|
||||
3. change src/com/ad/london/rss/RSS.java
|
||||
method getServletContext() as back to "/files"
|
||||
4. edit __ccm__/.../xsl/index.xsl according the comment
|
||||
|
||||
|
||||
Running it in its own webapplication context nevertheless is not suggestive.
|
||||
It needs several xsl files of the main application (esp. core) for basic
|
||||
operations, which hac been directly mapped from the main applications directory
|
||||
tree into its own directory tree. So no module separation is possible, no
|
||||
security context useable etc.
|
||||
|
||||
|
|
@ -47,6 +47,7 @@ public class Initializer extends CompoundInitializer {
|
|||
("ccm-ldn-rss.pdl.mf",
|
||||
new NameFilter(DbHelper.getDatabaseSuffix(database), "pdl"))));
|
||||
|
||||
// XXX rss.enterprise.init is empty. not needed here
|
||||
add(new LegacyInitializer("com/arsdigita/london/rss/enterprise.init"));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,10 @@ import com.arsdigita.persistence.OID;
|
|||
|
||||
import com.arsdigita.web.Application;
|
||||
|
||||
/**
|
||||
* Base class of the RSS application (module).
|
||||
*
|
||||
*/
|
||||
public class RSS extends Application {
|
||||
|
||||
public static final String BASE_DATA_OBJECT_TYPE
|
||||
|
|
@ -53,11 +57,45 @@ public class RSS extends Application {
|
|||
super(oid);
|
||||
}
|
||||
|
||||
public String getContextPath() {
|
||||
return "/ccm-ldn-rss";
|
||||
}
|
||||
// /*
|
||||
// * Application specific method only required if installed in its own
|
||||
// * web application context
|
||||
// */
|
||||
// public String getContextPath() {
|
||||
// return "/ccm-ldn-rss";
|
||||
// }
|
||||
|
||||
/**
|
||||
* Returns the path name of the location of the applications servlet/JSP.
|
||||
*
|
||||
* The methods overwrites the super class to provide an application specific
|
||||
* location for servlets/JSP. This is necessary if you whish to install the
|
||||
* module (application) along with others in one context. If you install the
|
||||
* module into its own context (no longer recommended for versions newer
|
||||
* than 1.0.4) you may use a standard location.
|
||||
*
|
||||
* Usually it is a symbolic name/path, which will be mapped in the web.xml
|
||||
* to the real location in the file system. You will use the following
|
||||
* kind of code:
|
||||
* <servlet>
|
||||
* <servlet-name>rss-files</servlet-name>
|
||||
* <servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
* <init-param>
|
||||
* <param-name>template-path</param-name>
|
||||
* <param-value>/templates/ccm-ldn-rss</param-value>
|
||||
* </init-param>
|
||||
* </servlet>
|
||||
*
|
||||
* <servlet-mapping>
|
||||
* <servlet-name>rss-files</servlet-name>
|
||||
* <url-pattern>/ccm-ldn-rss/files/*</url-pattern>
|
||||
* </servlet-mapping>
|
||||
*
|
||||
* @return path name to the applications servlet/JSP
|
||||
*/
|
||||
public String getServletPath() {
|
||||
return "/files";
|
||||
// sufficient if execute in its own web context
|
||||
// return "/files";
|
||||
return "/ccm-ldn-rss/files";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
<!-- module ccm-ldn-rss - servlet definitions -->
|
||||
<servlet>
|
||||
<servlet-name>rss-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-rss</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>file-resolver</param-name>
|
||||
<param-value>com.arsdigita.london.rss.RSSFileResolver</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<!-- module ccm-ldn-rss - servlet mappings -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>rss-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-rss/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
|
|
@ -2,7 +2,14 @@
|
|||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
version="1.0">
|
||||
|
||||
<xsl:import href="../../../../../ROOT/packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../../ROOT/packages/ui/xsl/ui.xsl"/>
|
||||
<!-- import statements if executed in its own ccm-ldn-rss web application context
|
||||
<xsl:import href="../../../../../ROOT/packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../../ROOT/packages/ui/xsl/ui.xsl"/>
|
||||
-->
|
||||
|
||||
<!-- import statements if executed in CCM main web application context
|
||||
-->
|
||||
<xsl:import href="../../../../packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../packages/ui/xsl/ui.xsl"/>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@
|
|||
name="ccm-ldn-search"
|
||||
prettyName="Search"
|
||||
version="6.5.1"
|
||||
release="1">
|
||||
release="1"
|
||||
webapp="ROOT">
|
||||
<ccm:dependencies>
|
||||
<ccm:requires name="ccm-core" version="6.2.0" relation="ge"/>
|
||||
<ccm:requires name="ccm-cms" version="6.2.0" relation="ge"/>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
Up to APLAWS version 1.0.4 search had been installed into its own
|
||||
application context: [webapps]/ccm-ldn-search.
|
||||
|
||||
Now it is installed inside the main APLAWS application context along
|
||||
with all other applications.
|
||||
|
||||
If search should be installed as its own web context again following
|
||||
modifications are necessary:
|
||||
1. remove webapp="xxx" from application.xml
|
||||
2. move the files in this dir to WEB-INF/
|
||||
3. change src/com/ad/london/search/Search.java
|
||||
method getServletContext() as back to "/files"
|
||||
4. edit __ccm__/.../xsl/index.xsl according the comment
|
||||
5. edit in ccm-ldn-aplaws /web/__ccm__/themes/aplaws/search.xml
|
||||
according to the comment
|
||||
|
||||
Running it in its own webapplication context nevertheless is not suggestive.
|
||||
It needs several xsl files of the main application (esp. core) for basic
|
||||
operations, which hac been directly mapped from the main applications directory
|
||||
tree into its own directory tree. So no module separation is possible, no
|
||||
security context useable etc.
|
||||
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
|
||||
<globalConfiguration>
|
||||
<parameter name="adminPassword" value="admin"/>
|
||||
<parameter name="sendXsiTypes" value="true"/>
|
||||
<parameter name="sendMultiRefs" value="true"/>
|
||||
<parameter name="sendXMLDeclaration" value="true"/>
|
||||
<requestFlow>
|
||||
<handler type="java:org.apache.axis.handlers.JWSHandler"/>
|
||||
</requestFlow>
|
||||
</globalConfiguration>
|
||||
<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
|
||||
<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
|
||||
<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
|
||||
<handler name="MsgDispatcher" type="java:org.apache.axis.providers.java.MsgProvider"/>
|
||||
<handler name="RPCDispatcher" type="java:org.apache.axis.providers.java.RPCProvider"/>
|
||||
<service name="AdminService" provider="java:MSG">
|
||||
<parameter name="methodName" value="AdminService"/>
|
||||
<parameter name="enableRemoteAdmin" value="false"/>
|
||||
<parameter name="className" value="org.apache.axis.utils.Admin"/>
|
||||
</service>
|
||||
<service name="http://www.redhat.com/Search" provider="java:RPC">
|
||||
<parameter name="methodName" value="*"/>
|
||||
<parameter name="className" value="com.arsdigita.london.search.SOAPHandler"/>
|
||||
</service>
|
||||
<service name="JWSProcessor" provider="Handler">
|
||||
<parameter name="handlerClass" value="org.apache.axis.handlers.JWSProcessor"/>
|
||||
</service>
|
||||
<transport name="http">
|
||||
<requestFlow>
|
||||
<handler type="URLMapper"/>
|
||||
<handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
|
||||
</requestFlow>
|
||||
</transport>
|
||||
<transport name="local">
|
||||
<responseFlow>
|
||||
<handler type="java:org.apache.axis.transport.local.LocalResponder"/>
|
||||
</responseFlow>
|
||||
</transport>
|
||||
<beanMapping languageSpecificType="java:com.arsdigita.london.search.SearchResult" qname="ns1:SearchResult" xmlns:ns1="http://www.redhat.com/Search"/>
|
||||
</deployment>
|
||||
|
|
@ -23,6 +23,10 @@ import com.arsdigita.persistence.OID;
|
|||
|
||||
import com.arsdigita.web.Application;
|
||||
|
||||
/**
|
||||
* Base class for the search application (module)
|
||||
*
|
||||
*/
|
||||
public class Search extends Application {
|
||||
|
||||
public static final String BASE_DATA_OBJECT_TYPE
|
||||
|
|
@ -46,11 +50,43 @@ public class Search extends Application {
|
|||
super(oid);
|
||||
}
|
||||
|
||||
public String getContextPath() {
|
||||
return "/ccm-ldn-search";
|
||||
}
|
||||
// /*
|
||||
// * Application specific method only required if installed in its own
|
||||
// * web application context
|
||||
// */
|
||||
// public String getContextPath() {
|
||||
// return "/ccm-ldn-search";
|
||||
// }
|
||||
|
||||
/**
|
||||
* Returns the path name of the location of the applications servlet/JSP.
|
||||
*
|
||||
* The method overwrites the super class to provide an application specific
|
||||
* location for servlets/JSP. This is necessary if you whish to install the
|
||||
* module (application) along with others in one context. If you install the
|
||||
* module into its own context (no longer recommended for versions newer
|
||||
* than 1.0.4) you may use a standard location.
|
||||
*
|
||||
* Usually it is a symbolic name/path, which will be mapped in the web.xml
|
||||
* to the real location in the file system. Example:
|
||||
* <servlet>
|
||||
* <servlet-name>search-files</servlet-name>
|
||||
* <servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
* <init-param>
|
||||
* <param-name>template-path</param-name>
|
||||
* <param-value>/templates/ccm-ldn-search</param-value>
|
||||
* </init-param>
|
||||
* </servlet>
|
||||
*
|
||||
* <servlet-mapping>
|
||||
* <servlet-name>search-files</servlet-name>
|
||||
* <url-pattern>/ccm-ldn-search/files/*</url-pattern>
|
||||
* </servlet-mapping>
|
||||
*
|
||||
* @return path name to the applications servlet/JSP
|
||||
*/
|
||||
public String getServletPath() {
|
||||
return "/files";
|
||||
//return "/files";
|
||||
return "/ccm-ldn-search/files";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
|
||||
<!-- ccm-ldn-search -->
|
||||
<globalConfiguration>
|
||||
<parameter name="adminPassword" value="admin"/>
|
||||
<parameter name="sendXsiTypes" value="true"/>
|
||||
|
|
@ -38,4 +39,4 @@
|
|||
</responseFlow>
|
||||
</transport>
|
||||
<beanMapping languageSpecificType="java:com.arsdigita.london.search.SearchResult" qname="ns1:SearchResult" xmlns:ns1="http://www.redhat.com/Search"/>
|
||||
</deployment>
|
||||
</deployment>
|
||||
|
|
|
|||
|
|
@ -1,20 +0,0 @@
|
|||
<!DOCTYPE web-app
|
||||
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
|
||||
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
|
||||
|
||||
<web-app>
|
||||
<servlet>
|
||||
<servlet-name>files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-search</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>files</servlet-name>
|
||||
<url-pattern>/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
</web-app>
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
|
||||
<!-- module ccm-ldn-search - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>worker</servlet-name>
|
||||
<servlet-class>com.arsdigita.london.search.SearchWorkerServlet</servlet-class>
|
||||
<load-on-startup>4</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>search-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-search</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>AxisServlet</servlet-name>
|
||||
<display-name>Apache-Axis Servlet</display-name>
|
||||
<servlet-class>
|
||||
org.apache.axis.transport.http.AxisServlet
|
||||
</servlet-class>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-search - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-search - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>search-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-search/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>AxisServlet</servlet-name>
|
||||
<url-pattern>/services/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-search - servlet mappings END -->
|
||||
|
||||
|
|
@ -5,10 +5,20 @@
|
|||
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
|
||||
version="1.0">
|
||||
|
||||
<!-- IMPORT DEFINITIONS ccm-ldn-search installed as separate web application
|
||||
<xsl:import href="../../../../../ROOT/packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../../ROOT/packages/ui/xsl/ui.xsl"/>
|
||||
<xsl:import href="../../../../../ROOT/packages/search/xsl/search.xsl"/>
|
||||
<xsl:import href="../../../../../ROOT/__ccm__/static/cms/admin/search/search.xsl"/>
|
||||
-->
|
||||
|
||||
<!-- IMPORT DEFINITIONS ccm-ldn-shortcuts installed into the main CCM webapp
|
||||
-->
|
||||
<xsl:import href="../../../../packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../packages/ui/xsl/ui.xsl"/>
|
||||
<xsl:import href="../../../../packages/search/xsl/search.xsl"/>
|
||||
<xsl:import href="../../../../__ccm__/static/cms/admin/search/search.xsl"/>
|
||||
|
||||
|
||||
<xsl:output method="html"/>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@
|
|||
name="ccm-ldn-shortcuts"
|
||||
prettyName="Shortcuts"
|
||||
version="6.5.0"
|
||||
release="1">
|
||||
release="1"
|
||||
webapp="ROOT">
|
||||
<ccm:dependencies>
|
||||
<ccm:requires name="ccm-core" version="6.2.0" relation="ge"/>
|
||||
</ccm:dependencies>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
Up to APLAWS version 1.0.4 shortcuts had been installed into its own
|
||||
application context: [webapps]/ccm-ldn-shortcuts.
|
||||
|
||||
Now it is installed inside the main APLAWS application context along
|
||||
with all other applications.
|
||||
|
||||
If shortcuts should be installed as its own web context again following
|
||||
modifications are necessary:
|
||||
1. remove webapp="xxx" from application.xml
|
||||
2. move the files in this dir to WEB-INF/
|
||||
3. change src/com/ad/london/shortcuts/Shortcuts.java
|
||||
method getServletContext() as back to "/files"
|
||||
4. edit __ccm__/.../xsl/index.xsl according the comment
|
||||
5. edit in ccm-ldn-aplaws /web/__ccm__/themes/aplaws/shortcuts.xml
|
||||
according to the comment
|
||||
6. Add the filter expression in web.xml-shortcuts.in into the
|
||||
main applications web.xml
|
||||
|
||||
|
||||
Running it in its own webapplication context nevertheless is not suggestive.
|
||||
It needs several xsl files of the main application (esp. core) for basic
|
||||
operations, which hac been directly mapped from the main applications directory
|
||||
tree into its own directory tree. So no module separation is possible, no
|
||||
security context useable etc.
|
||||
|
||||
|
|
@ -23,6 +23,10 @@ import com.arsdigita.persistence.OID;
|
|||
|
||||
import com.arsdigita.web.Application;
|
||||
|
||||
/**
|
||||
* Base class of the shortcuts application.
|
||||
*
|
||||
*/
|
||||
public class Shortcuts extends Application {
|
||||
|
||||
public static final String BASE_DATA_OBJECT_TYPE
|
||||
|
|
@ -45,12 +49,45 @@ public class Shortcuts extends Application {
|
|||
public Shortcuts(OID oid) {
|
||||
super(oid);
|
||||
}
|
||||
|
||||
public String getContextPath() {
|
||||
return "/ccm-ldn-shortcuts";
|
||||
}
|
||||
|
||||
// /*
|
||||
// * Application specific method only required if installed in its own
|
||||
// * web application context
|
||||
// */
|
||||
// public String getContextPath() {
|
||||
// return "/ccm-ldn-shortcuts";
|
||||
// }
|
||||
|
||||
/**
|
||||
* Returns the path name of the location of the applications servlet/JSP.
|
||||
*
|
||||
* The methods overwrites the super class to provide an application specific
|
||||
* location for servlets/JSP. This is necessary if you whish to install the
|
||||
* module (application) along with others in one context. If you install the
|
||||
* module into its own context (no longer recommended for versions newer
|
||||
* than 1.0.4) you may use a standard location.
|
||||
*
|
||||
* Usually it is a symbolic name/path, which will be mapped in the web.xml
|
||||
* to the real location in the file system. You will use the following
|
||||
* kind of code:
|
||||
* <servlet>
|
||||
* <servlet-name>shortcuts-files</servlet-name>
|
||||
* <servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
* <init-param>
|
||||
* <param-name>template-path</param-name>
|
||||
* <param-value>/templates/ccm-ldn-shortcuts</param-value>
|
||||
* </init-param>
|
||||
* </servlet>
|
||||
*
|
||||
* <servlet-mapping>
|
||||
* <servlet-name>shortcuts-files</servlet-name>
|
||||
* <url-pattern>/ccm-ldn-shortcuts/files/*</url-pattern>
|
||||
* </servlet-mapping>
|
||||
*
|
||||
* @return path name to the applications servlet/JSP
|
||||
*/
|
||||
public String getServletPath() {
|
||||
return "/files";
|
||||
// return "/files";
|
||||
return "/ccm-ldn-shortcuts/files";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
<!-- module ccm-ldn-shortcuts - servlet definitions -->
|
||||
<servlet>
|
||||
<servlet-name>shortcuts-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-shortcuts</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<!-- module ccm-ldn-shortcuts - servlet mappings -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>shortcuts-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-shortcuts/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
|
|
@ -4,7 +4,14 @@
|
|||
xmlns:shortcuts="http://www.arsdigita.com/shortcuts/1.0"
|
||||
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
|
||||
|
||||
<!-- IMPORT DEFINITIONS ccm-ldn-shortcuts installed as separate web application
|
||||
<xsl:import href="../../../../../ROOT/packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../../ROOT/packages/ui/xsl/ui.xsl"/>
|
||||
-->
|
||||
|
||||
<!-- IMPORT DEFINITIONS ccm-ldn-shortcuts installed into the main CCM webapp
|
||||
-->
|
||||
<xsl:import href="../../../../packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../packages/ui/xsl/ui.xsl"/>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
|
|||
|
|
@ -3,20 +3,23 @@
|
|||
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||
version="1.2">
|
||||
|
||||
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||
<jsp:directive.page import="com.arsdigita.toolbox.ui.ApplicationAuthenticationListener"/>
|
||||
<jsp:directive.page
|
||||
import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||
<jsp:directive.page
|
||||
import="com.arsdigita.toolbox.ui.ApplicationAuthenticationListener"/>
|
||||
|
||||
<jsp:scriptlet>
|
||||
DispatcherHelper.cacheDisable(response);
|
||||
</jsp:scriptlet>
|
||||
|
||||
<define:page name="shortcutsPage" application="shortcuts"
|
||||
title="Shortcuts Admin" cache="true">
|
||||
title="Shortcuts Admin" cache="true">
|
||||
|
||||
<define:component name="admin" classname="com.arsdigita.london.shortcuts.ui.AdminPanel"/>
|
||||
<define:component name="admin"
|
||||
classname="com.arsdigita.london.shortcuts.ui.AdminPanel"/>
|
||||
|
||||
<jsp:scriptlet>
|
||||
shortcutsPage.addRequestListener(new ApplicationAuthenticationListener());
|
||||
shortcutsPage.addRequestListener(new ApplicationAuthenticationListener());
|
||||
</jsp:scriptlet>
|
||||
</define:page>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@
|
|||
name="ccm-ldn-subsite"
|
||||
prettyName="Subsite"
|
||||
version="6.5.0"
|
||||
release="1">
|
||||
release="1"
|
||||
webapp="ROOT">
|
||||
<ccm:dependencies>
|
||||
<ccm:requires name="ccm-core" version="6.2.0" relation="ge"/>
|
||||
<ccm:requires name="ccm-cms" version="6.2.0" relation="ge"/>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
Up to APLAWS version 1.0.4 subsite had been installed into its own
|
||||
application context: [webapps]/ccm-ldn-subsite.
|
||||
|
||||
Now it is installed inside the main APLAWS application context along
|
||||
with all other applications.
|
||||
|
||||
If shortcuts should be installed as its own web context again following
|
||||
modifications are necessary:
|
||||
1. remove webapp="xxx" from application.xml
|
||||
2. move the files in this dir to WEB-INF/
|
||||
3. change src/com/ad/london/subsite/Subsite.java
|
||||
method getServletContext() as back to "/files"
|
||||
4. edit __ccm__/.../xsl/index.xsl according the comment
|
||||
5. edit in ccm-ldn-aplaws /web/__ccm__/themes/aplaws/subsite.xml
|
||||
according to the comment
|
||||
6. Add the filter expression in web.xml-subsite.in into the
|
||||
main applications web.xml
|
||||
|
||||
Running it in its own webapplication context nevertheless is not suggestive.
|
||||
It needs several xsl files of the main application (esp. core) for basic
|
||||
operations, which hac been directly mapped from the main applications directory
|
||||
tree into its own directory tree. So no module separation is possible, no
|
||||
security context useable etc.
|
||||
|
||||
|
|
@ -25,6 +25,10 @@ import com.arsdigita.domain.DataObjectNotFoundException;
|
|||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
/**
|
||||
* Base class of the subsite application.
|
||||
*
|
||||
*/
|
||||
public class Subsite extends Application {
|
||||
|
||||
private static final Logger s_log = Logger.getLogger(Subsite.class);
|
||||
|
|
@ -69,12 +73,44 @@ public class Subsite extends Application {
|
|||
super(oid);
|
||||
}
|
||||
|
||||
public String getContextPath() {
|
||||
return "/ccm-ldn-subsite";
|
||||
}
|
||||
// /*
|
||||
// * Application specific method only required if installed in its own
|
||||
// * web application context
|
||||
// */
|
||||
// public String getContextPath() {
|
||||
// return "/ccm-ldn-subsite";
|
||||
// }
|
||||
|
||||
/**
|
||||
* Returns the path name of the location of the applications servlet/JSP.
|
||||
*
|
||||
* The method overwrites the super class to provide an application specific
|
||||
* location for servlets/JSP. This is necessary if you whish to install the
|
||||
* module (application) along with others in one context. If you install the
|
||||
* module into its own context (no longer recommended for versions newer
|
||||
* than 1.0.4) you may use a standard location.
|
||||
*
|
||||
* Usually it is a symbolic name/path, which will be mapped in the web.xml
|
||||
* to the real location in the file system. Example:
|
||||
* <servlet>
|
||||
* <servlet-name>subsite-files</servlet-name>
|
||||
* <servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
* <init-param>
|
||||
* <param-name>template-path</param-name>
|
||||
* <param-value>/templates/ccm-ldn-subsite</param-value>
|
||||
* </init-param>
|
||||
* </servlet>
|
||||
*
|
||||
* <servlet-mapping>
|
||||
* <servlet-name>subsite-files</servlet-name>
|
||||
* <url-pattern>/ccm-ldn-subsite/files/*</url-pattern>
|
||||
* </servlet-mapping>
|
||||
*
|
||||
* @return path name to the applications servlet/JSP
|
||||
*/
|
||||
public String getServletPath() {
|
||||
return "/files";
|
||||
// return "/files";
|
||||
return "/ccm-ldn-subsite/files";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
<!-- module ccm-ldn-subsite - servlet declarations BEGIN -->
|
||||
<servlet>
|
||||
<servlet-name>subsite-files</servlet-name>
|
||||
<servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>template-path</param-name>
|
||||
<param-value>/templates/ccm-ldn-subsite</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
<!-- module ccm-ldn-subsite - servlet declarations END -->
|
||||
|
||||
<!-- module ccm-ldn-subsite - servlet mappings BEGIN -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>subsite-files</servlet-name>
|
||||
<url-pattern>/ccm-ldn-subsite/files/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<!-- module ccm-ldn-subsite - servlet mappings END -->
|
||||
|
||||
|
|
@ -6,8 +6,15 @@
|
|||
xmlns:subsite="http://ccm.redhat.com/london/subsite/1.0"
|
||||
version="1.0">
|
||||
|
||||
<!-- IMPORT DEFINITIONS ccm-ldn-subsite installed as separate web application
|
||||
<xsl:import href="../../../../../ROOT/packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../../ROOT/packages/ui/xsl/ui.xsl"/>
|
||||
-->
|
||||
|
||||
<!-- IMPORT DEFINITIONS ccm-ldn-shortcuts installed into the main CCM webapp
|
||||
-->
|
||||
<xsl:import href="../../../../packages/bebop/xsl/bebop.xsl"/>
|
||||
<xsl:import href="../../../../packages/ui/xsl/ui.xsl"/>
|
||||
|
||||
<xsl:param name="dispatcher-prefix"/>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@
|
|||
name="ccm-ldn-terms"
|
||||
prettyName="Terms"
|
||||
version="6.5.0"
|
||||
release="1">
|
||||
release="1"
|
||||
webapp="ROOT">
|
||||
<ccm:dependencies>
|
||||
<ccm:requires name="ccm-core" version="6.3.3" relation="ge"/>
|
||||
<ccm:requires name="ccm-cms" version="6.2.0" relation="ge"/>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
Up to APLAWS version 1.0.4 terms had been installed into its own
|
||||
application context: [webapps]/ccm-ldn-terms.
|
||||
|
||||
Now it is installed inside the main APLAWS application context along
|
||||
with all other applications.
|
||||
|
||||
If shortcuts should be installed as its own web context again following
|
||||
modifications are necessary:
|
||||
1. remove webapp="xxx" from application.xml
|
||||
2. move the files in this dir to WEB-INF/
|
||||
3. change src/com/ad/london/terms/Terms.java
|
||||
method getServletContext() as back to "/files"
|
||||
4. edit __ccm__/.../xsl/index.xsl according the comment
|
||||
5. edit in ccm-ldn-aplaws /web/__ccm__/themes/aplaws/terms.xml
|
||||
according to the comment
|
||||
|
||||
Running it in its own webapplication context nevertheless is not suggestive.
|
||||
It needs several xsl files of the main application (esp. core) for basic
|
||||
operations, which hac been directly mapped from the main applications directory
|
||||
tree into its own directory tree. So no module separation is possible, no
|
||||
security context useable etc.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue