diff --git a/ccm-core/src/com/arsdigita/ui/admin/AdminConstants.java b/ccm-core/src/com/arsdigita/ui/admin/AdminConstants.java
index 4730ef762..e753420a7 100755
--- a/ccm-core/src/com/arsdigita/ui/admin/AdminConstants.java
+++ b/ccm-core/src/com/arsdigita/ui/admin/AdminConstants.java
@@ -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");
diff --git a/ccm-core/src/com/arsdigita/ui/admin/AdminServlet.java b/ccm-core/src/com/arsdigita/ui/admin/AdminServlet.java
index e9631b412..31c2bc30a 100644
--- a/ccm-core/src/com/arsdigita/ui/admin/AdminServlet.java
+++ b/ccm-core/src/com/arsdigita/ui/admin/AdminServlet.java
@@ -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();
diff --git a/ccm-core/src/com/arsdigita/ui/admin/SitemapAdministrationTab.java b/ccm-core/src/com/arsdigita/ui/admin/ApplicationsAdministrationTab.java
similarity index 95%
rename from ccm-core/src/com/arsdigita/ui/admin/SitemapAdministrationTab.java
rename to ccm-core/src/com/arsdigita/ui/admin/ApplicationsAdministrationTab.java
index 2ec6c6dfb..d54f1f901 100644
--- a/ccm-core/src/com/arsdigita/ui/admin/SitemapAdministrationTab.java
+++ b/ccm-core/src/com/arsdigita/ui/admin/ApplicationsAdministrationTab.java
@@ -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");
diff --git a/ccm-core/src/com/arsdigita/ui/admin/UserBrowsePane.java b/ccm-core/src/com/arsdigita/ui/admin/UserBrowsePane.java
index 5c85023ac..e3bc80d51 100755
--- a/ccm-core/src/com/arsdigita/ui/admin/UserBrowsePane.java
+++ b/ccm-core/src/com/arsdigita/ui/admin/UserBrowsePane.java
@@ -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;
}
diff --git a/ccm-portalserver/src/com/arsdigita/portalserver/ECMPresentationManager.java.nolongerInUse b/ccm-portalserver/src/com/arsdigita/portalserver/ECMPresentationManager.java.nolongerInUse
deleted file mode 100644
index 29f060c3e..000000000
--- a/ccm-portalserver/src/com/arsdigita/portalserver/ECMPresentationManager.java.nolongerInUse
+++ /dev/null
@@ -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 rhs@mit.edu
- * @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;
- }
-
-}
diff --git a/ccm-portalserver/src/com/arsdigita/portalserver/Loader.java b/ccm-portalserver/src/com/arsdigita/portalserver/Loader.java
index ab6f7262d..c361d163e 100644
--- a/ccm-portalserver/src/com/arsdigita/portalserver/Loader.java
+++ b/ccm-portalserver/src/com/arsdigita/portalserver/Loader.java
@@ -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
diff --git a/ccm-portalserver/src/com/arsdigita/portalserver/PortalServlet.java b/ccm-portalserver/src/com/arsdigita/portalserver/PortalServlet.java
index 8c6ccfca2..637775f82 100644
--- a/ccm-portalserver/src/com/arsdigita/portalserver/PortalServlet.java
+++ b/ccm-portalserver/src/com/arsdigita/portalserver/PortalServlet.java
@@ -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 <jross@redhat.com>
@@ -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,
diff --git a/ccm-portalserver/src/com/arsdigita/portalserver/PortalSite.java b/ccm-portalserver/src/com/arsdigita/portalserver/PortalSite.java
index c20a85945..dd24a193b 100644
--- a/ccm-portalserver/src/com/arsdigita/portalserver/PortalSite.java
+++ b/ccm-portalserver/src/com/arsdigita/portalserver/PortalSite.java
@@ -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:
+ *
+ * applicationName-files
+ * com.arsdigita.web.ApplicationFileServlet
+ *
+ * template-path
+ * /templates/ccm-applicationName
+ *
+ *
+ *
+ *
+ * applicationName-files
+ * /ccm-applicationName/files/*
+ *
+ *
+ * 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";
+ }
+
}
diff --git a/ccm-portalserver/src/com/arsdigita/portalserver/ui/PortalHomePage.java b/ccm-portalserver/src/com/arsdigita/portalserver/ui/PortalHomePage.java
index d8142c219..e7a6c08f8 100644
--- a/ccm-portalserver/src/com/arsdigita/portalserver/ui/PortalHomePage.java
+++ b/ccm-portalserver/src/com/arsdigita/portalserver/ui/PortalHomePage.java
@@ -61,19 +61,14 @@ import org.apache.log4j.Logger;
*
* @author Justin Ross
* @author Jim Parsons
- * @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;
diff --git a/ccm-portalserver/web/WEB-INF/web.ccm-portalserver.xml b/ccm-portalserver/web/WEB-INF/web.ccm-portalserver.xml
new file mode 100644
index 000000000..14506135e
--- /dev/null
+++ b/ccm-portalserver/web/WEB-INF/web.ccm-portalserver.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+ portalsite
+ com.arsdigita.portalserver.PortalServlet
+
+
+
+ portalsite
+ /templates/servlet/portalsite/*
+
+
+
\ No newline at end of file
diff --git a/ccm-portalserver/web/themes/heirloom/apps/personal-portal-creator/xsl/index.xsl b/ccm-portalserver/web/themes/heirloom/apps/personal-portal-creator/xsl/index.xsl
index 3bd9ce051..cf2744089 100644
--- a/ccm-portalserver/web/themes/heirloom/apps/personal-portal-creator/xsl/index.xsl
+++ b/ccm-portalserver/web/themes/heirloom/apps/personal-portal-creator/xsl/index.xsl
@@ -2,5 +2,5 @@
-
+
\ No newline at end of file
diff --git a/ccm-portalserver/web/themes/heirloom/apps/personal-portal/xsl/index.xsl b/ccm-portalserver/web/themes/heirloom/apps/personal-portal/xsl/index.xsl
index 3bd9ce051..cf2744089 100644
--- a/ccm-portalserver/web/themes/heirloom/apps/personal-portal/xsl/index.xsl
+++ b/ccm-portalserver/web/themes/heirloom/apps/personal-portal/xsl/index.xsl
@@ -2,5 +2,5 @@
-
+
\ No newline at end of file
diff --git a/ccm-portalserver/web/themes/heirloom/apps/portal-admin/xsl/index.xsl b/ccm-portalserver/web/themes/heirloom/apps/portal-admin/xsl/index.xsl
index 3bd9ce051..cf2744089 100644
--- a/ccm-portalserver/web/themes/heirloom/apps/portal-admin/xsl/index.xsl
+++ b/ccm-portalserver/web/themes/heirloom/apps/portal-admin/xsl/index.xsl
@@ -2,5 +2,5 @@
-
+
\ No newline at end of file
diff --git a/ccm-portalserver/web/themes/heirloom/apps/portal-archive/xsl/index.xsl b/ccm-portalserver/web/themes/heirloom/apps/portal-archive/xsl/index.xsl
index 3bd9ce051..cf2744089 100644
--- a/ccm-portalserver/web/themes/heirloom/apps/portal-archive/xsl/index.xsl
+++ b/ccm-portalserver/web/themes/heirloom/apps/portal-archive/xsl/index.xsl
@@ -2,5 +2,5 @@
-
+
\ No newline at end of file
diff --git a/ccm-portalserver/web/themes/heirloom/apps/portal-create/xsl/index.xsl b/ccm-portalserver/web/themes/heirloom/apps/portal-create/xsl/index.xsl
index 3bd9ce051..cf2744089 100644
--- a/ccm-portalserver/web/themes/heirloom/apps/portal-create/xsl/index.xsl
+++ b/ccm-portalserver/web/themes/heirloom/apps/portal-create/xsl/index.xsl
@@ -2,5 +2,5 @@
-
+
\ No newline at end of file
diff --git a/ccm-portalserver/web/themes/heirloom/apps/portalsite/xsl/index.xsl b/ccm-portalserver/web/themes/heirloom/apps/portal-site/xsl/index.xsl
similarity index 62%
rename from ccm-portalserver/web/themes/heirloom/apps/portalsite/xsl/index.xsl
rename to ccm-portalserver/web/themes/heirloom/apps/portal-site/xsl/index.xsl
index 3bd9ce051..cf2744089 100644
--- a/ccm-portalserver/web/themes/heirloom/apps/portalsite/xsl/index.xsl
+++ b/ccm-portalserver/web/themes/heirloom/apps/portal-site/xsl/index.xsl
@@ -2,5 +2,5 @@
-
+
\ No newline at end of file
diff --git a/ccm-portalserver/web/themes/heirloom/apps/portal-sitemap/xsl/index.xsl b/ccm-portalserver/web/themes/heirloom/apps/portal-sitemap/xsl/index.xsl
index 738520a64..be4f4e759 100644
--- a/ccm-portalserver/web/themes/heirloom/apps/portal-sitemap/xsl/index.xsl
+++ b/ccm-portalserver/web/themes/heirloom/apps/portal-sitemap/xsl/index.xsl
@@ -2,5 +2,5 @@
-
+
\ No newline at end of file
diff --git a/ccm-sci-bundle/bundles/devel/cfg/project.xml b/ccm-sci-bundle/bundles/devel/cfg/project.xml
index fe61c2950..647a9697f 100644
--- a/ccm-sci-bundle/bundles/devel/cfg/project.xml
+++ b/ccm-sci-bundle/bundles/devel/cfg/project.xml
@@ -146,8 +146,8 @@
-