1. Teil portalserver auf legacy free migrieren, diverse Reste.

git-svn-id: https://svn.libreccm.org/ccm/trunk@1526 8810af33-2d31-482b-a856-94f89814c4df
master
pb 2012-02-29 01:09:21 +00:00
parent c57346b5bd
commit 96e7e1fa48
18 changed files with 216 additions and 283 deletions

View File

@ -63,8 +63,8 @@ interface AdminConstants {
(new GlobalizedMessage("ui.admin.tab.group.title",
BUNDLE_NAME));
Label SITEMAP_TAB_TITLE = new Label
(new GlobalizedMessage("ui.admin.tab.sitemap.title",
Label APPLICATIONS_TAB_TITLE = new Label
(new GlobalizedMessage("ui.admin.tab.applications.title",
BUNDLE_NAME));
GlobalizedMessage USER_NAVBAR_TITLE =
@ -104,8 +104,8 @@ interface AdminConstants {
BigDecimalParameter GROUP_ID_PARAM =
new BigDecimalParameter("group_id");
BigDecimalParameter SITEMAP_ID_PARAM =
new BigDecimalParameter("sitemap_id");
BigDecimalParameter APPLICATIONS_ID_PARAM =
new BigDecimalParameter("application_id");
BigDecimalParameter USER_ID_PARAM =
new BigDecimalParameter("user_id");

View File

@ -85,20 +85,6 @@ public class AdminServlet extends BaseApplicationServlet
addPage("/", buildAdminIndexPage()); // index page at address ~/ds
// addPage("/index.jsp", buildIndexPage()); // index page at address ~/ds
// addPage("/log4j", buildLog4jPage()); // Logger Adjuster at addr. ~/ds/log4j
// addPage("/config", buildConfigPage()); // config browser @ ~/ds/config
// cache table browser @ ~/ds/cache-table
// addPage("/cache-table", buildCacheTablePage());
// XXXX!!
// QueryLog is a class of its own in webdevsupport, based upon
// dispatcher.Disp and prints out all queries in a request
// put("query-log", new QueryLog());
// addPage("/request-info", buildRequestInfoPage());
// addPage("/query-info", buildQueryInfoPage());
// addPage("/query-plan", buildQueryPlanPage());
}
@ -188,7 +174,7 @@ public class AdminServlet extends BaseApplicationServlet
p.addGlobalStateParam(USER_ID_PARAM);
p.addGlobalStateParam(GROUP_ID_PARAM);
// p.addGlobalStateParam(SITEMAP_ID_PARAM);
// p.addGlobalStateParam(APPLICATIONS_ID_PARAM);
/**
* Create User split panel.
@ -217,8 +203,8 @@ public class AdminServlet extends BaseApplicationServlet
/*
* Create group administration panel
*/
// SitemapAdministrationTab sitemapAdministrationTab =
// new SitemapAdministrationTab();
// ApplicationsAdministrationTab appsAdministrationTab =
// new ApplicationsAdministrationTab();
// Create the Admin's page tab bar, currently 2 elements: user & groups
TabbedPane tb = new TabbedPane();
@ -226,11 +212,11 @@ public class AdminServlet extends BaseApplicationServlet
tb.addTab(USER_TAB_TITLE, userSplitPanel);
tb.addTab(GROUP_TAB_TITLE, groupAdministrationTab);
// tb.addTab(SITEMAP_TAB_TITLE, sitemapAdministrationTab);
// tb.addTab(APPLICATIONS_TAB_TITLE, appsAdministrationTab);
browsePane.setTabbedPane(tb);
browsePane.setGroupAdministrationTab(groupAdministrationTab);
// browsePane.setSitemapAdministrationTab(sitemapAdministrationTab);
// browsePane.setAppsAdministrationTab(appsAdministrationTab);
p.add(tb);
p.lock();

View File

@ -20,7 +20,7 @@ import java.math.BigDecimal;
*
* @author pb
*/
public class SitemapAdministrationTab extends BoxPanel
public class ApplicationsAdministrationTab extends BoxPanel
implements AdminConstants, ChangeListener {
private GlobalizedMessage m_title;
@ -29,7 +29,7 @@ public class SitemapAdministrationTab extends BoxPanel
/**
* Constructor
*/
public SitemapAdministrationTab() {
public ApplicationsAdministrationTab() {
// m_title = "TEST für ein neues Pannel";
setClassAttr("sidebarNavPanel");

View File

@ -102,7 +102,7 @@ class UserBrowsePane extends SegmentedPanel
private Component m_extremeActionPanel;
private Component m_userDeleteFailedPanel;
private GroupAdministrationTab m_groupAdministrationTab;
private SitemapAdministrationTab m_sitemapAdministrationTab;
private ApplicationsAdministrationTab m_sitemapAdministrationTab;
private TabbedPane m_tabbedPane;
private List m_groupList = null;
@ -556,7 +556,7 @@ class UserBrowsePane extends SegmentedPanel
m_groupAdministrationTab = groupAdministrationTab;
}
public void setSitemapAdministrationTab(SitemapAdministrationTab
public void setSitemapAdministrationTab(ApplicationsAdministrationTab
sitemapAdministrationTab) {
m_sitemapAdministrationTab = sitemapAdministrationTab;
}

View File

@ -1,73 +0,0 @@
/*
* Copyright (C) 2002-2004 Red Hat Inc. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
package com.arsdigita.portalserver;
import com.arsdigita.bebop.page.PageTransformer;
import com.arsdigita.persistence.*;
import com.arsdigita.kernel.*;
import com.arsdigita.sitenode.*;
import com.arsdigita.web.*;
import java.util.*;
/**
* ECMPresentationManager
*
* @author <a href="mailto:rhs@mit.edu">rhs@mit.edu</a>
* @version $Revision: #5 $ $Date: 2004/08/17 $
* @version $Id: ECMPresentationManager.java pboy $
**/
public class ECMPresentationManager extends PageTransformer {
private static Map m_sheets = new HashMap();
protected synchronized Stylesheet findStylesheet(SiteNode node, Locale l,
String outputType) {
TransactionContext ctx =
SessionManager.getSession().getTransactionContext();
boolean commit = false;
if (!ctx.inTxn()) {
ctx.beginTxn();
commit = true;
}
String key = l + "." + outputType;
Stylesheet result = (Stylesheet) m_sheets.get(key);
if (result == null || !result.isValid()) {
ApplicationType type =
ApplicationType.retrieveApplicationTypeForApplication(
PortalSite.BASE_DATA_OBJECT_TYPE);
PackageType pkg = type.getPackageType();
result = pkg.getStylesheet(l, outputType);
result.disconnect();
m_sheets.put(key, result);
}
if (commit) {
ctx.commitTxn();
}
return result;
}
}

View File

@ -43,7 +43,6 @@ import com.arsdigita.portalserver.ui.admin.PortalSiteMap;
import com.arsdigita.runtime.*;
import com.arsdigita.web.Application;
import com.arsdigita.web.ApplicationSetup;
import com.arsdigita.web.ApplicationType;
// USED BY loadSubsite() which es meant to replace the applications mounted
@ -138,81 +137,27 @@ public class Loader extends PackageLoader {
*/
private void loadPortalSiteApplicationType() {
// Step 1: Create an application type for portalserver
// Try: new style legacy free application
// ApplicationType type =
// new ApplicationType("Portal Site", // creates portalsite as
// // module name for XSL
// PortalSite.BASE_DATA_OBJECT_TYPE );
// type.setDescription
// ("A Portal Site is a center for content aggregation. It usually" +
// "has its own set of applications, such as a discussion forum" +
// "and content items, as well as a list of participants.");
/* s_log.info("PackageType 'portalsite' is not installed. " +
"Installing now...");
// Stylesheet stylesheet = Stylesheet.createStylesheet
// ("/packages/portalserver/xsl/portalserver.xsl");
PackageType packageType = PackageType.create
("portalsite", "PortalSite", "PortalSites",
"http://arsdigita.com/portalsite");
// packageType.addStylesheet(stylesheet);
packageType.setDispatcherClass
("com.arsdigita.portalserver.ui.PortalDispatcher");
packageType.save();
*/
//Step 2: Create themes
// buildDefaultThemes();
// Step 3: Create legacy compatible ApplicationType
ApplicationType type = ApplicationType.createApplicationType(
/* First try: create a new style, legacy compatible application */
/* ApplicationType type = ApplicationType.createApplicationType(
"portalsite",
"Portal Site",
PortalSite.BASE_DATA_OBJECT_TYPE);
type.setDescription
("A Portal Site is a center for content aggregation. It usually" +
"has its own set of applications, such as a discussion forum " +
"and content items, as well as a list of participants.");
// Current code requires an apps specific dispatcher class. Has to be
// modified to be able to create a legacy free app type.
type.setDispatcherClass
("com.arsdigita.portalserver.ui.PortalDispatcher");
/*
ApplicationSetup setup = new ApplicationSetup(s_log);
setup.setApplicationObjectType(PortalSite.BASE_DATA_OBJECT_TYPE);
// setup.setPackageType(packageType);
setup.setKey("portalsite");
setup.setTitle("Portal Site");
setup.setDescription
("A Portal Site is a center for content aggregation. It usually" +
"has its own set of applications, such as a discussion forum" +
"and content items, as well as a list of participants.");
setup.setDispatcherClass
("com.arsdigita.portalserver.ui.PortalDispatcher");
setup.setPortalApplication(false);
setup.setInstantiator(new ACSObjectInstantiator() {
@Override
protected DomainObject doNewInstance(DataObject dataObject) {
return new PortalSite(dataObject);
}
});
setup.run();
*/
/* Should not be requiered here
DomainObjectFactory.registerInstantiator(
Role.BASE_DATA_OBJECT_TYPE, new ACSObjectInstantiator() {
public DomainObject doNewInstance(DataObject dataObject) {
return new Role(dataObject);
}
}
);
*
*/
// Try: new style legacy free application
ApplicationType type = new
ApplicationType("Portal Site", // title
PortalSite.BASE_DATA_OBJECT_TYPE );
type.setDescription
("A Portal Site is a center for content aggregation. It usually" +
"has its own set of applications, such as a discussion forum " +
"and content items, as well as a list of participants.");
type.save();
}
/**
@ -294,27 +239,6 @@ public class Loader extends PackageLoader {
// modified to be able to create a legacy free app type.
type.setDispatcherClass
("com.arsdigita.portalserver.admin.ui.Dispatcher");
/*
ApplicationSetup setup = new ApplicationSetup(s_log);
setup.setApplicationObjectType(PSAdmin.BASE_DATA_OBJECT_TYPE);
setup.setTitle("Portal Server Site Administration");
setup.setDescription("Displays common administration tasks.");
setup.setPortalApplication(false);
setup.setKey("portal-admin");
// db based stylesheets no longer used.
// setup.setStylesheet("/packages/portalserver/xsl/portalserver.xsl");
setup.setDispatcherClass("com.arsdigita.portalserver.admin.ui.Dispatcher");
setup.setInstantiator(new ACSObjectInstantiator() {
@Override
protected DomainObject doNewInstance(DataObject dataObject) {
return new PSAdmin(dataObject);
}
});
// setupAdminInstance(setup.run());
setup.run();
// setupPortalSiteAdminInstance(setup.run())
*/
}
@ -336,26 +260,6 @@ public class Loader extends PackageLoader {
// modified to be able to create a legacy free app type.
type.setDispatcherClass
("com.arsdigita.portalserver.ui.admin.PortalCreateDispatcher");
/*
ApplicationSetup setup = new ApplicationSetup(s_log);
setup.setApplicationObjectType(PortalCreator.BASE_DATA_OBJECT_TYPE);
setup.setTitle("Portal Creator");
setup.setDescription("Creates portals.");
setup.setWorkspaceApplication(false);
setup.setKey("portal-create");
// setup.setStylesheet("/packages/portalserver/xsl/portalserver.xsl");
setup.setDispatcherClass(
"com.arsdigita.portalserver.ui.admin.PortalCreateDispatcher");
setup.setInstantiator(new ACSObjectInstantiator() {
@Override
protected DomainObject doNewInstance(DataObject dataObject) {
return new PortalCreator(dataObject);
}
});
setup.run();
// return setup.run();
*/
}
@ -492,26 +396,21 @@ public class Loader extends PackageLoader {
// S e t u p o f P O R T A L a p p l i c a t i o n s
//
// ////////////////////////////////////////////////////////////////////////
/**
* Instantiate an application of type PortalSite with site wide administration
* tools.
*/
private void setupAdminPortal() {
// First check, whether an instance of /administration / is already
// installed.
// Running in a Loader, this is just impossible. So we can create
// /administration/ immediately
// try {
// SiteNode sn = SiteNode.getSiteNode("/administration", false);
// if (!"administration".equals(sn.getName())) {
PortalSite ps = PortalSite.createPortalSite(
"administration", "Administration", null);
ps.setMission("Administration Portal");
ps.save();
// }
// } catch (DataObjectNotFoundException e) {
// Assert.fail(e.getMessage());
// }
}
PortalSite ps = PortalSite.createPortalSite("administration",
"Administration",
null);
ps.setMission("Administration Portal");
ps.save();
/* FORMERLY admin.Initializer */
}
/**
* Setup an PortalServer Administration Instance as legacy compatible

View File

@ -38,6 +38,21 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
// ////////////////////////////////////////////////////////////////////////////
//
// UNKNOWN whether this is unfinished work in progress or really used in some
// way.
//
// Might be a first shot to replace ui.PortalDispatcher by a new legacy free
// servlet because it uses the same pages (PortalHomePage, PortalParticipants
// but additionally a PortalAdminPage (from package c.ad.ps.ui.admin)
// On the other hand this is the same as m_portalsiteAdminDispatcher of
// PortalDispatcher
//
// ////////////////////////////////////////////////////////////////////////////
/**
*
* @author Justin Ross &lt;<a href="mailto:jross@redhat.com">jross@redhat.com</a>&gt;
@ -56,12 +71,12 @@ public class PortalServlet extends BaseApplicationServlet {
private static Page s_adminPage = null;
static {
TransactionContext ctx = SessionManager.getSession().getTransactionContext();
ctx.beginTxn();
// TransactionContext ctx = SessionManager.getSession().getTransactionContext();
// ctx.beginTxn();
s_adminPage = new PortalAdminPage();
ctx.commitTxn();
// ctx.commitTxn();
}
public void doService(HttpServletRequest sreq,

View File

@ -45,6 +45,7 @@ import com.arsdigita.web.Application;
import com.arsdigita.web.ApplicationCollection;
import com.arsdigita.web.ApplicationType;
import com.arsdigita.web.URL;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Date;
@ -104,6 +105,10 @@ public class PortalSite extends Application {
super(dataObject);
}
/**
*
* Do we really need this when PortalSite is a new style application?
*/
@Override
protected void initialize() {
super.initialize();
@ -122,6 +127,14 @@ public class PortalSite extends Application {
}
}
/**
*
* @param urlName
* @param title
* @param parent
* @param inheritPermissions
* @return
*/
public static PortalSite createPortalSite
(String urlName, String title, PortalSite parent,
boolean inheritPermissions) {
@ -147,7 +160,10 @@ public class PortalSite extends Application {
/**
* Creates an Instance ot ApplicationType PortalSite as a legacy free
* Creates an Instance ot ApplicationType PortalSite
* Whether is is a legacy free or a legacy compatible application depends
* on the property of its application type. Nothing to adjust here for that.
*
* application.
* @param urlName
* @param title
@ -158,19 +174,18 @@ public class PortalSite extends Application {
String title,
PortalSite parent) {
ApplicationType type =
ApplicationType.retrieveApplicationTypeForApplication
(BASE_DATA_OBJECT_TYPE);
ApplicationType type = ApplicationType
.retrieveApplicationTypeForApplication
(BASE_DATA_OBJECT_TYPE);
/* Uses class Application's create method. Type of created application
* depends on the type of ApplicationType */
PortalSite ps = (PortalSite) Application.createApplication
(type, urlName, title, parent);
(type, urlName, title, parent);
ps.setUnarchived();
ps.setDraft(false);
ps.setCreationDate();
ps.setPersonalizable(false);
return ps;
@ -217,30 +232,6 @@ public class PortalSite extends Application {
return portalsiteCollection;
}
/**
*
* @param siteNode
* @return Can return null.
*/
/* OBVIOUSLY NO LONGER USED
public static PortalSite retrievePortalSiteForSiteNode(SiteNode siteNode) {
DataQuery query = SessionManager.getSession().retrieveQuery
("com.arsdigita.workspace.workspaceForSiteNodeID");
query.setParameter("siteNodeID", siteNode.getID());
PortalSite portalsite = null;
if (query.next()) {
DataObject dataObject = (DataObject) query.get("workspace");
portalsite = PortalSite.retrievePortalSite(dataObject);
}
query.close();
return portalsite;
}
*/
// Can return null.
public static PortalSite retrievePortalSite(BigDecimal id) {
return (PortalSite) Application.retrieveApplication(id);
@ -445,15 +436,19 @@ public class PortalSite extends Application {
return currentPortalSite;
}
private static PortalSite
doGetCurrentPortalSite(HttpServletRequest request) {
/**
*
* @param request
* @return
*/
private static PortalSite doGetCurrentPortalSite(HttpServletRequest req) {
// First, assume that the user is at a PortalSite already,
// since we can save a query if we're right. This logic will
// not make sense if we find that this method is called mostly
// from sub applications of a portal site, since it incurs an
// extra query in that case.
Application application = Application.getCurrentApplication(request);
Application application = Application.getCurrentApplication(req);
if (application instanceof PortalSite) {
return (PortalSite) application;
@ -472,6 +467,10 @@ public class PortalSite extends Application {
}
}
/**
*
* @return
*/
public static PortalSiteCollection getRootPortalSites() {
DataQuery query = SessionManager.getSession().retrieveQuery
("com.arsdigita.workspace.rootWorkspaces");
@ -488,6 +487,10 @@ public class PortalSite extends Application {
return psc;
}
/**
*
* @return
*/
public static PortalSiteCollection getAllRootPortalSites() {
DataQuery query = SessionManager.getSession().retrieveQuery
("com.arsdigita.workspace.rootWorkspaces");
@ -505,10 +508,18 @@ public class PortalSite extends Application {
return new PortalSiteCollection(collection);
}
/**
*
* @param portalsite
*/
public void addRelatedPortalSite(PortalSite portalsite) {
add("relatedWorkspace", portalsite);
}
/**
*
* @param portalsite
*/
public void removeRelatedPortalSite(PortalSite portalsite) {
remove("relatedWorkspace", portalsite);
}
@ -636,6 +647,10 @@ public class PortalSite extends Application {
}
}
/**
*
* @return
*/
public PartyCollection getParticipants() {
return new PartyCollection(
((DataAssociation) get("participants")).cursor());
@ -768,7 +783,11 @@ public class PortalSite extends Application {
remove("workspaceTab",ptab);
}
// Can return null.
/**
*
*
* @return (Can return null.)
*/
public PortalTabCollection getTabsForPortalSite() {
DataAssociation association = (DataAssociation)get("workspaceTab");
@ -918,6 +937,9 @@ public class PortalSite extends Application {
return (Date)get("archiveDate");
}
/**
*
*/
public void archive() {
Party p;
@ -1022,6 +1044,12 @@ public class PortalSite extends Application {
return result.listIterator();
}
/**
*
* @param ps
* @param user
* @return
*/
public static PortalSite createSubPortal(PortalSite ps, User user) {
String urlfrag = "U-" + user.getID().toString();
PortalSite psite = createPortalSite(urlfrag,ps.getDisplayName(),ps);
@ -1081,4 +1109,43 @@ public class PortalSite extends Application {
return psite;
}
/**
* 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>
*
* NOTE: According to Servlet API the path always starts with a leading '/'
* and includes either the servlet name or a path to the servlet, but does
* not include any extra path information or a query string. Returns an
* empry string ("") is the servlet used was matched using the "/*" pattern.
*
* @return path name to the applications servlet/JSP
*/
@Override
public String getServletPath() {
return URL.SERVLET_DIR + "/portalsite";
}
}

View File

@ -61,19 +61,14 @@ import org.apache.log4j.Logger;
*
* @author <a href="mailto:justin@arsdigita.com">Justin Ross</a>
* @author <a href="mailto:jparsons@arsdigita.com">Jim Parsons</a>
* @version $Id: //portalserver/dev/src/com/arsdigita/portalserver/ui/PortalHomePage.java#7 $
* @version $Id: PortalHomePage.java#7 $ $DateTime: 2004/08/17 23:19:25 $
*/
public class PortalHomePage extends PortalPage {
private static final Logger s_log = Logger.getLogger(PortalHomePage.class);
private static final Cookie[] EMPTY_COOKIES = {};
public static final String versionId =
"$Id: //portalserver/dev/src/com/arsdigita/portalserver/ui/PortalHomePage.java#7 $" +
"$Author: dennis $" +
"$DateTime: 2004/08/17 23:19:25 $";
private static final Logger s_log = Logger.getLogger
(PortalHomePage.class);
public static final String PORTAL_XML_NS =
"http://www.arsdigita.com/portalserver/1.0";
@ -91,23 +86,38 @@ public class PortalHomePage extends PortalPage {
}
};
/**
* Constructor
*/
public PortalHomePage() {
super();
addRequestListener(new PortalRequestListener());
lock();
}
/**
*
* @param ps
* @return
*/
private boolean hasAdmin(PageState ps) {
return m_hasAdmin.get(ps).equals(Boolean.TRUE);
}
// Can return null.
/**
*
* @param pageState
* @return (Can return null.)
*/
protected PortalSite getPortalSite(PageState pageState) {
return PortalSite.getCurrentPortalSite(pageState.getRequest());
}
/**
*
*/
@Override
protected void buildContextBar() {
DimensionalNavbar navbar = new DimensionalNavbar();
@ -119,8 +129,14 @@ public class PortalHomePage extends PortalPage {
getHeader().add(navbar);
}
/**
*
* @param header
*/
@Override
protected void buildHeader(Container header) {
Link adminLink = new Link( new Label(GlobalizationUtil.globalize("cw.workspace.ui.configure_workspace")), "./admin") {
@Override
public boolean isVisible(PageState ps) {
return hasAdmin(ps);
}
@ -164,6 +180,11 @@ public class PortalHomePage extends PortalPage {
header.add(new SearchComponent());
}
/**
*
* @param body
*/
@Override
protected void buildBody(Container body) {
ListModelBuilder lmb = new ListModelBuilder() {
boolean m_isLocked;

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<!-- Servlets for the portalserver applications -->
<servlet>
<servlet-name>portalsite</servlet-name>
<servlet-class>com.arsdigita.portalserver.PortalServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>portalsite</servlet-name>
<url-pattern>/templates/servlet/portalsite/*</url-pattern>
</servlet-mapping>
</web-app>

View File

@ -2,5 +2,5 @@
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:include href="../../packages/portalserver/xsl/portalserver.xsl"/>
<xsl:include href="../../../packages/portalserver/xsl/portalserver.xsl"/>
</xsl:stylesheet>

View File

@ -2,5 +2,5 @@
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:include href="../../packages/portalserver/xsl/portalserver.xsl"/>
<xsl:include href="../../../packages/portalserver/xsl/portalserver.xsl"/>
</xsl:stylesheet>

View File

@ -2,5 +2,5 @@
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:include href="../../packages/portalserver/xsl/portalserver.xsl"/>
<xsl:include href="../../../packages/portalserver/xsl/portalserver.xsl"/>
</xsl:stylesheet>

View File

@ -2,5 +2,5 @@
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:include href="../../packages/portalserver/xsl/portalserver.xsl"/>
<xsl:include href="../../../packages/portalserver/xsl/portalserver.xsl"/>
</xsl:stylesheet>

View File

@ -2,5 +2,5 @@
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:include href="../../packages/portalserver/xsl/portalserver.xsl"/>
<xsl:include href="../../../packages/portalserver/xsl/portalserver.xsl"/>
</xsl:stylesheet>

View File

@ -2,5 +2,5 @@
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:include href="../../packages/portalserver/xsl/portalserver.xsl"/>
<xsl:include href="../../../packages/portalserver/xsl/portalserver.xsl"/>
</xsl:stylesheet>

View File

@ -2,5 +2,5 @@
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:include href="../../packages/portalserver/xsl/portal-sitemap.xsl"/>
<xsl:include href="../../../packages/portalserver/xsl/portal-sitemap.xsl"/>
</xsl:stylesheet>

View File

@ -146,8 +146,8 @@
<ccm:application name="ccm-faq"/>
<ccm:application name="ccm-forum"/>
<ccm:application name="ccm-forum-categorised"/>
<!--
<ccm:application name="ccm-portalserver"/>
<!--
<ccm:application name="ccm-weblog"/>
<ccm:application name="ccm-webpage"/>
-->