1. Teil portalserver auf legacy free migrieren, diverse Reste.
git-svn-id: https://svn.libreccm.org/ccm/trunk@1526 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
c57346b5bd
commit
96e7e1fa48
|
|
@ -63,8 +63,8 @@ interface AdminConstants {
|
||||||
(new GlobalizedMessage("ui.admin.tab.group.title",
|
(new GlobalizedMessage("ui.admin.tab.group.title",
|
||||||
BUNDLE_NAME));
|
BUNDLE_NAME));
|
||||||
|
|
||||||
Label SITEMAP_TAB_TITLE = new Label
|
Label APPLICATIONS_TAB_TITLE = new Label
|
||||||
(new GlobalizedMessage("ui.admin.tab.sitemap.title",
|
(new GlobalizedMessage("ui.admin.tab.applications.title",
|
||||||
BUNDLE_NAME));
|
BUNDLE_NAME));
|
||||||
|
|
||||||
GlobalizedMessage USER_NAVBAR_TITLE =
|
GlobalizedMessage USER_NAVBAR_TITLE =
|
||||||
|
|
@ -104,8 +104,8 @@ interface AdminConstants {
|
||||||
BigDecimalParameter GROUP_ID_PARAM =
|
BigDecimalParameter GROUP_ID_PARAM =
|
||||||
new BigDecimalParameter("group_id");
|
new BigDecimalParameter("group_id");
|
||||||
|
|
||||||
BigDecimalParameter SITEMAP_ID_PARAM =
|
BigDecimalParameter APPLICATIONS_ID_PARAM =
|
||||||
new BigDecimalParameter("sitemap_id");
|
new BigDecimalParameter("application_id");
|
||||||
|
|
||||||
BigDecimalParameter USER_ID_PARAM =
|
BigDecimalParameter USER_ID_PARAM =
|
||||||
new BigDecimalParameter("user_id");
|
new BigDecimalParameter("user_id");
|
||||||
|
|
|
||||||
|
|
@ -85,20 +85,6 @@ public class AdminServlet extends BaseApplicationServlet
|
||||||
addPage("/", buildAdminIndexPage()); // index page at address ~/ds
|
addPage("/", buildAdminIndexPage()); // index page at address ~/ds
|
||||||
// addPage("/index.jsp", buildIndexPage()); // 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(USER_ID_PARAM);
|
||||||
p.addGlobalStateParam(GROUP_ID_PARAM);
|
p.addGlobalStateParam(GROUP_ID_PARAM);
|
||||||
// p.addGlobalStateParam(SITEMAP_ID_PARAM);
|
// p.addGlobalStateParam(APPLICATIONS_ID_PARAM);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create User split panel.
|
* Create User split panel.
|
||||||
|
|
@ -217,8 +203,8 @@ public class AdminServlet extends BaseApplicationServlet
|
||||||
/*
|
/*
|
||||||
* Create group administration panel
|
* Create group administration panel
|
||||||
*/
|
*/
|
||||||
// SitemapAdministrationTab sitemapAdministrationTab =
|
// ApplicationsAdministrationTab appsAdministrationTab =
|
||||||
// new SitemapAdministrationTab();
|
// new ApplicationsAdministrationTab();
|
||||||
|
|
||||||
// Create the Admin's page tab bar, currently 2 elements: user & groups
|
// Create the Admin's page tab bar, currently 2 elements: user & groups
|
||||||
TabbedPane tb = new TabbedPane();
|
TabbedPane tb = new TabbedPane();
|
||||||
|
|
@ -226,11 +212,11 @@ public class AdminServlet extends BaseApplicationServlet
|
||||||
|
|
||||||
tb.addTab(USER_TAB_TITLE, userSplitPanel);
|
tb.addTab(USER_TAB_TITLE, userSplitPanel);
|
||||||
tb.addTab(GROUP_TAB_TITLE, groupAdministrationTab);
|
tb.addTab(GROUP_TAB_TITLE, groupAdministrationTab);
|
||||||
// tb.addTab(SITEMAP_TAB_TITLE, sitemapAdministrationTab);
|
// tb.addTab(APPLICATIONS_TAB_TITLE, appsAdministrationTab);
|
||||||
|
|
||||||
browsePane.setTabbedPane(tb);
|
browsePane.setTabbedPane(tb);
|
||||||
browsePane.setGroupAdministrationTab(groupAdministrationTab);
|
browsePane.setGroupAdministrationTab(groupAdministrationTab);
|
||||||
// browsePane.setSitemapAdministrationTab(sitemapAdministrationTab);
|
// browsePane.setAppsAdministrationTab(appsAdministrationTab);
|
||||||
|
|
||||||
p.add(tb);
|
p.add(tb);
|
||||||
p.lock();
|
p.lock();
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ import java.math.BigDecimal;
|
||||||
*
|
*
|
||||||
* @author pb
|
* @author pb
|
||||||
*/
|
*/
|
||||||
public class SitemapAdministrationTab extends BoxPanel
|
public class ApplicationsAdministrationTab extends BoxPanel
|
||||||
implements AdminConstants, ChangeListener {
|
implements AdminConstants, ChangeListener {
|
||||||
|
|
||||||
private GlobalizedMessage m_title;
|
private GlobalizedMessage m_title;
|
||||||
|
|
@ -29,7 +29,7 @@ public class SitemapAdministrationTab extends BoxPanel
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*/
|
*/
|
||||||
public SitemapAdministrationTab() {
|
public ApplicationsAdministrationTab() {
|
||||||
|
|
||||||
// m_title = "TEST für ein neues Pannel";
|
// m_title = "TEST für ein neues Pannel";
|
||||||
setClassAttr("sidebarNavPanel");
|
setClassAttr("sidebarNavPanel");
|
||||||
|
|
@ -102,7 +102,7 @@ class UserBrowsePane extends SegmentedPanel
|
||||||
private Component m_extremeActionPanel;
|
private Component m_extremeActionPanel;
|
||||||
private Component m_userDeleteFailedPanel;
|
private Component m_userDeleteFailedPanel;
|
||||||
private GroupAdministrationTab m_groupAdministrationTab;
|
private GroupAdministrationTab m_groupAdministrationTab;
|
||||||
private SitemapAdministrationTab m_sitemapAdministrationTab;
|
private ApplicationsAdministrationTab m_sitemapAdministrationTab;
|
||||||
private TabbedPane m_tabbedPane;
|
private TabbedPane m_tabbedPane;
|
||||||
|
|
||||||
private List m_groupList = null;
|
private List m_groupList = null;
|
||||||
|
|
@ -556,7 +556,7 @@ class UserBrowsePane extends SegmentedPanel
|
||||||
m_groupAdministrationTab = groupAdministrationTab;
|
m_groupAdministrationTab = groupAdministrationTab;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSitemapAdministrationTab(SitemapAdministrationTab
|
public void setSitemapAdministrationTab(ApplicationsAdministrationTab
|
||||||
sitemapAdministrationTab) {
|
sitemapAdministrationTab) {
|
||||||
m_sitemapAdministrationTab = sitemapAdministrationTab;
|
m_sitemapAdministrationTab = sitemapAdministrationTab;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -43,7 +43,6 @@ import com.arsdigita.portalserver.ui.admin.PortalSiteMap;
|
||||||
|
|
||||||
import com.arsdigita.runtime.*;
|
import com.arsdigita.runtime.*;
|
||||||
import com.arsdigita.web.Application;
|
import com.arsdigita.web.Application;
|
||||||
import com.arsdigita.web.ApplicationSetup;
|
|
||||||
import com.arsdigita.web.ApplicationType;
|
import com.arsdigita.web.ApplicationType;
|
||||||
|
|
||||||
// USED BY loadSubsite() which es meant to replace the applications mounted
|
// USED BY loadSubsite() which es meant to replace the applications mounted
|
||||||
|
|
@ -138,81 +137,27 @@ public class Loader extends PackageLoader {
|
||||||
*/
|
*/
|
||||||
private void loadPortalSiteApplicationType() {
|
private void loadPortalSiteApplicationType() {
|
||||||
|
|
||||||
// Step 1: Create an application type for portalserver
|
/* First try: create a new style, legacy compatible application */
|
||||||
// Try: new style legacy free application
|
/* ApplicationType type = ApplicationType.createApplicationType(
|
||||||
// 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(
|
|
||||||
"portalsite",
|
"portalsite",
|
||||||
"Portal Site",
|
"Portal Site",
|
||||||
PortalSite.BASE_DATA_OBJECT_TYPE);
|
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
|
// Current code requires an apps specific dispatcher class. Has to be
|
||||||
// modified to be able to create a legacy free app type.
|
// modified to be able to create a legacy free app type.
|
||||||
type.setDispatcherClass
|
type.setDispatcherClass
|
||||||
("com.arsdigita.portalserver.ui.PortalDispatcher");
|
("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.
|
// modified to be able to create a legacy free app type.
|
||||||
type.setDispatcherClass
|
type.setDispatcherClass
|
||||||
("com.arsdigita.portalserver.admin.ui.Dispatcher");
|
("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.
|
// modified to be able to create a legacy free app type.
|
||||||
type.setDispatcherClass
|
type.setDispatcherClass
|
||||||
("com.arsdigita.portalserver.ui.admin.PortalCreateDispatcher");
|
("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
|
// 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() {
|
private void setupAdminPortal() {
|
||||||
|
|
||||||
// First check, whether an instance of /administration / is already
|
PortalSite ps = PortalSite.createPortalSite("administration",
|
||||||
// installed.
|
"Administration",
|
||||||
// Running in a Loader, this is just impossible. So we can create
|
null);
|
||||||
// /administration/ immediately
|
ps.setMission("Administration Portal");
|
||||||
// try {
|
ps.save();
|
||||||
// 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());
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* FORMERLY admin.Initializer */
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Setup an PortalServer Administration Instance as legacy compatible
|
* Setup an PortalServer Administration Instance as legacy compatible
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,21 @@ import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
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 <<a href="mailto:jross@redhat.com">jross@redhat.com</a>>
|
* @author Justin Ross <<a href="mailto:jross@redhat.com">jross@redhat.com</a>>
|
||||||
|
|
@ -56,12 +71,12 @@ public class PortalServlet extends BaseApplicationServlet {
|
||||||
private static Page s_adminPage = null;
|
private static Page s_adminPage = null;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
TransactionContext ctx = SessionManager.getSession().getTransactionContext();
|
// TransactionContext ctx = SessionManager.getSession().getTransactionContext();
|
||||||
ctx.beginTxn();
|
// ctx.beginTxn();
|
||||||
|
|
||||||
s_adminPage = new PortalAdminPage();
|
s_adminPage = new PortalAdminPage();
|
||||||
|
|
||||||
ctx.commitTxn();
|
// ctx.commitTxn();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void doService(HttpServletRequest sreq,
|
public void doService(HttpServletRequest sreq,
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ import com.arsdigita.web.Application;
|
||||||
import com.arsdigita.web.ApplicationCollection;
|
import com.arsdigita.web.ApplicationCollection;
|
||||||
import com.arsdigita.web.ApplicationType;
|
import com.arsdigita.web.ApplicationType;
|
||||||
|
|
||||||
|
import com.arsdigita.web.URL;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
@ -104,6 +105,10 @@ public class PortalSite extends Application {
|
||||||
super(dataObject);
|
super(dataObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Do we really need this when PortalSite is a new style application?
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void initialize() {
|
protected void initialize() {
|
||||||
super.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
|
public static PortalSite createPortalSite
|
||||||
(String urlName, String title, PortalSite parent,
|
(String urlName, String title, PortalSite parent,
|
||||||
boolean inheritPermissions) {
|
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.
|
* application.
|
||||||
* @param urlName
|
* @param urlName
|
||||||
* @param title
|
* @param title
|
||||||
|
|
@ -158,19 +174,18 @@ public class PortalSite extends Application {
|
||||||
String title,
|
String title,
|
||||||
PortalSite parent) {
|
PortalSite parent) {
|
||||||
|
|
||||||
ApplicationType type =
|
ApplicationType type = ApplicationType
|
||||||
ApplicationType.retrieveApplicationTypeForApplication
|
.retrieveApplicationTypeForApplication
|
||||||
(BASE_DATA_OBJECT_TYPE);
|
(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
|
PortalSite ps = (PortalSite) Application.createApplication
|
||||||
(type, urlName, title, parent);
|
(type, urlName, title, parent);
|
||||||
|
|
||||||
ps.setUnarchived();
|
ps.setUnarchived();
|
||||||
|
|
||||||
ps.setDraft(false);
|
ps.setDraft(false);
|
||||||
|
|
||||||
ps.setCreationDate();
|
ps.setCreationDate();
|
||||||
|
|
||||||
ps.setPersonalizable(false);
|
ps.setPersonalizable(false);
|
||||||
|
|
||||||
return ps;
|
return ps;
|
||||||
|
|
@ -217,30 +232,6 @@ public class PortalSite extends Application {
|
||||||
return portalsiteCollection;
|
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.
|
// Can return null.
|
||||||
public static PortalSite retrievePortalSite(BigDecimal id) {
|
public static PortalSite retrievePortalSite(BigDecimal id) {
|
||||||
return (PortalSite) Application.retrieveApplication(id);
|
return (PortalSite) Application.retrieveApplication(id);
|
||||||
|
|
@ -445,15 +436,19 @@ public class PortalSite extends Application {
|
||||||
return currentPortalSite;
|
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,
|
// First, assume that the user is at a PortalSite already,
|
||||||
// since we can save a query if we're right. This logic will
|
// 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
|
// not make sense if we find that this method is called mostly
|
||||||
// from sub applications of a portal site, since it incurs an
|
// from sub applications of a portal site, since it incurs an
|
||||||
// extra query in that case.
|
// extra query in that case.
|
||||||
|
|
||||||
Application application = Application.getCurrentApplication(request);
|
Application application = Application.getCurrentApplication(req);
|
||||||
|
|
||||||
if (application instanceof PortalSite) {
|
if (application instanceof PortalSite) {
|
||||||
return (PortalSite) application;
|
return (PortalSite) application;
|
||||||
|
|
@ -472,6 +467,10 @@ public class PortalSite extends Application {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public static PortalSiteCollection getRootPortalSites() {
|
public static PortalSiteCollection getRootPortalSites() {
|
||||||
DataQuery query = SessionManager.getSession().retrieveQuery
|
DataQuery query = SessionManager.getSession().retrieveQuery
|
||||||
("com.arsdigita.workspace.rootWorkspaces");
|
("com.arsdigita.workspace.rootWorkspaces");
|
||||||
|
|
@ -488,6 +487,10 @@ public class PortalSite extends Application {
|
||||||
return psc;
|
return psc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public static PortalSiteCollection getAllRootPortalSites() {
|
public static PortalSiteCollection getAllRootPortalSites() {
|
||||||
DataQuery query = SessionManager.getSession().retrieveQuery
|
DataQuery query = SessionManager.getSession().retrieveQuery
|
||||||
("com.arsdigita.workspace.rootWorkspaces");
|
("com.arsdigita.workspace.rootWorkspaces");
|
||||||
|
|
@ -505,10 +508,18 @@ public class PortalSite extends Application {
|
||||||
return new PortalSiteCollection(collection);
|
return new PortalSiteCollection(collection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param portalsite
|
||||||
|
*/
|
||||||
public void addRelatedPortalSite(PortalSite portalsite) {
|
public void addRelatedPortalSite(PortalSite portalsite) {
|
||||||
add("relatedWorkspace", portalsite);
|
add("relatedWorkspace", portalsite);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param portalsite
|
||||||
|
*/
|
||||||
public void removeRelatedPortalSite(PortalSite portalsite) {
|
public void removeRelatedPortalSite(PortalSite portalsite) {
|
||||||
remove("relatedWorkspace", portalsite);
|
remove("relatedWorkspace", portalsite);
|
||||||
}
|
}
|
||||||
|
|
@ -636,6 +647,10 @@ public class PortalSite extends Application {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public PartyCollection getParticipants() {
|
public PartyCollection getParticipants() {
|
||||||
return new PartyCollection(
|
return new PartyCollection(
|
||||||
((DataAssociation) get("participants")).cursor());
|
((DataAssociation) get("participants")).cursor());
|
||||||
|
|
@ -768,7 +783,11 @@ public class PortalSite extends Application {
|
||||||
remove("workspaceTab",ptab);
|
remove("workspaceTab",ptab);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Can return null.
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @return (Can return null.)
|
||||||
|
*/
|
||||||
public PortalTabCollection getTabsForPortalSite() {
|
public PortalTabCollection getTabsForPortalSite() {
|
||||||
DataAssociation association = (DataAssociation)get("workspaceTab");
|
DataAssociation association = (DataAssociation)get("workspaceTab");
|
||||||
|
|
||||||
|
|
@ -918,6 +937,9 @@ public class PortalSite extends Application {
|
||||||
return (Date)get("archiveDate");
|
return (Date)get("archiveDate");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
public void archive() {
|
public void archive() {
|
||||||
Party p;
|
Party p;
|
||||||
|
|
||||||
|
|
@ -1022,6 +1044,12 @@ public class PortalSite extends Application {
|
||||||
return result.listIterator();
|
return result.listIterator();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param ps
|
||||||
|
* @param user
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public static PortalSite createSubPortal(PortalSite ps, User user) {
|
public static PortalSite createSubPortal(PortalSite ps, User user) {
|
||||||
String urlfrag = "U-" + user.getID().toString();
|
String urlfrag = "U-" + user.getID().toString();
|
||||||
PortalSite psite = createPortalSite(urlfrag,ps.getDisplayName(),ps);
|
PortalSite psite = createPortalSite(urlfrag,ps.getDisplayName(),ps);
|
||||||
|
|
@ -1081,4 +1109,43 @@ public class PortalSite extends Application {
|
||||||
return psite;
|
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";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -61,19 +61,14 @@ import org.apache.log4j.Logger;
|
||||||
*
|
*
|
||||||
* @author <a href="mailto:justin@arsdigita.com">Justin Ross</a>
|
* @author <a href="mailto:justin@arsdigita.com">Justin Ross</a>
|
||||||
* @author <a href="mailto:jparsons@arsdigita.com">Jim Parsons</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 {
|
public class PortalHomePage extends PortalPage {
|
||||||
|
|
||||||
|
private static final Logger s_log = Logger.getLogger(PortalHomePage.class);
|
||||||
|
|
||||||
private static final Cookie[] EMPTY_COOKIES = {};
|
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 =
|
public static final String PORTAL_XML_NS =
|
||||||
"http://www.arsdigita.com/portalserver/1.0";
|
"http://www.arsdigita.com/portalserver/1.0";
|
||||||
|
|
||||||
|
|
@ -91,23 +86,38 @@ public class PortalHomePage extends PortalPage {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
*/
|
||||||
public PortalHomePage() {
|
public PortalHomePage() {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
addRequestListener(new PortalRequestListener());
|
addRequestListener(new PortalRequestListener());
|
||||||
|
|
||||||
lock();
|
lock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param ps
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
private boolean hasAdmin(PageState ps) {
|
private boolean hasAdmin(PageState ps) {
|
||||||
return m_hasAdmin.get(ps).equals(Boolean.TRUE);
|
return m_hasAdmin.get(ps).equals(Boolean.TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Can return null.
|
/**
|
||||||
|
*
|
||||||
|
* @param pageState
|
||||||
|
* @return (Can return null.)
|
||||||
|
*/
|
||||||
protected PortalSite getPortalSite(PageState pageState) {
|
protected PortalSite getPortalSite(PageState pageState) {
|
||||||
return PortalSite.getCurrentPortalSite(pageState.getRequest());
|
return PortalSite.getCurrentPortalSite(pageState.getRequest());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
protected void buildContextBar() {
|
protected void buildContextBar() {
|
||||||
DimensionalNavbar navbar = new DimensionalNavbar();
|
DimensionalNavbar navbar = new DimensionalNavbar();
|
||||||
|
|
||||||
|
|
@ -119,8 +129,14 @@ public class PortalHomePage extends PortalPage {
|
||||||
getHeader().add(navbar);
|
getHeader().add(navbar);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param header
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
protected void buildHeader(Container header) {
|
protected void buildHeader(Container header) {
|
||||||
Link adminLink = new Link( new Label(GlobalizationUtil.globalize("cw.workspace.ui.configure_workspace")), "./admin") {
|
Link adminLink = new Link( new Label(GlobalizationUtil.globalize("cw.workspace.ui.configure_workspace")), "./admin") {
|
||||||
|
@Override
|
||||||
public boolean isVisible(PageState ps) {
|
public boolean isVisible(PageState ps) {
|
||||||
return hasAdmin(ps);
|
return hasAdmin(ps);
|
||||||
}
|
}
|
||||||
|
|
@ -164,6 +180,11 @@ public class PortalHomePage extends PortalPage {
|
||||||
header.add(new SearchComponent());
|
header.add(new SearchComponent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param body
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
protected void buildBody(Container body) {
|
protected void buildBody(Container body) {
|
||||||
ListModelBuilder lmb = new ListModelBuilder() {
|
ListModelBuilder lmb = new ListModelBuilder() {
|
||||||
boolean m_isLocked;
|
boolean m_isLocked;
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -2,5 +2,5 @@
|
||||||
<xsl:stylesheet
|
<xsl:stylesheet
|
||||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
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>
|
</xsl:stylesheet>
|
||||||
|
|
@ -2,5 +2,5 @@
|
||||||
<xsl:stylesheet
|
<xsl:stylesheet
|
||||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
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>
|
</xsl:stylesheet>
|
||||||
|
|
@ -2,5 +2,5 @@
|
||||||
<xsl:stylesheet
|
<xsl:stylesheet
|
||||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
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>
|
</xsl:stylesheet>
|
||||||
|
|
@ -2,5 +2,5 @@
|
||||||
<xsl:stylesheet
|
<xsl:stylesheet
|
||||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
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>
|
</xsl:stylesheet>
|
||||||
|
|
@ -2,5 +2,5 @@
|
||||||
<xsl:stylesheet
|
<xsl:stylesheet
|
||||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
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>
|
</xsl:stylesheet>
|
||||||
|
|
@ -2,5 +2,5 @@
|
||||||
<xsl:stylesheet
|
<xsl:stylesheet
|
||||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
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>
|
</xsl:stylesheet>
|
||||||
|
|
@ -2,5 +2,5 @@
|
||||||
<xsl:stylesheet
|
<xsl:stylesheet
|
||||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
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>
|
</xsl:stylesheet>
|
||||||
|
|
@ -146,8 +146,8 @@
|
||||||
<ccm:application name="ccm-faq"/>
|
<ccm:application name="ccm-faq"/>
|
||||||
<ccm:application name="ccm-forum"/>
|
<ccm:application name="ccm-forum"/>
|
||||||
<ccm:application name="ccm-forum-categorised"/>
|
<ccm:application name="ccm-forum-categorised"/>
|
||||||
<!--
|
|
||||||
<ccm:application name="ccm-portalserver"/>
|
<ccm:application name="ccm-portalserver"/>
|
||||||
|
<!--
|
||||||
<ccm:application name="ccm-weblog"/>
|
<ccm:application name="ccm-weblog"/>
|
||||||
<ccm:application name="ccm-webpage"/>
|
<ccm:application name="ccm-webpage"/>
|
||||||
-->
|
-->
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue