JBoss Portal SVN: r6263 - trunk/build.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2007-02-14 00:29:16 -0500 (Wed, 14 Feb 2007)
New Revision: 6263
Modified:
trunk/build/build.xml
Log:
Fixed build (commented out core-admin stuff that has been removed for now).
Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml 2007-02-14 03:53:20 UTC (rev 6262)
+++ trunk/build/build.xml 2007-02-14 05:29:16 UTC (rev 6263)
@@ -70,7 +70,7 @@
<!-- Module name(s) & version -->
<property name="module.version"
- value="${version.major}.${version.minor}.${version.revision}${version.tag}"/>
+ value="${version.major}.${version.minor}.${version.revision}${version.tag}"/>
<!-- ========= -->
<!-- Libraries -->
@@ -134,13 +134,13 @@
<module name="wsrp"/>
<module name="registration"/>
<module name="workflow"/>
- <module name="core-admin"/>
+ <!--<module name="core-admin"/>-->
<!-- Module groups -->
<group name="portal">
<include
- modules="common, test, api, faces, jems, server, security, identity, search, format, portlet, portlet-federation, theme, workflow, cms, bridge, samples, registration, wsrp, core, core-cms, core-management, core-samples, core-admin"/>
+ modules="common, test, api, faces, jems, server, security, identity, search, format, portlet, portlet-federation, theme, workflow, cms, bridge, samples, registration, wsrp, core, core-cms, core-management, core-samples"/>
</group>
<group name="cms">
@@ -203,8 +203,8 @@
<!--+====================================================================+-->
<target name="output"
- description="Generate all target output."
- depends="init">
+ description="Generate all target output."
+ depends="init">
<!-- Add module specific elements here. -->
</target>
@@ -224,12 +224,12 @@
<!--+====================================================================+-->
<target name="release"
- description="Builds the default release structure."
- depends="modules-most, output"/>
+ description="Builds the default release structure."
+ depends="modules-most, output"/>
<target name="release-full"
- description="Builds the full release structure."
- depends="modules-all, release"/>
+ description="Builds the full release structure."
+ depends="modules-all, release"/>
<!--+====================================================================+-->
<!--| Misc. |-->
@@ -238,26 +238,26 @@
<!--+====================================================================+-->
<target name="clean" depends="createthirdparty, modules-clean, _buildmagic:clean"
- description="Cleans up most generated files.">
+ description="Cleans up most generated files.">
<!-- Add module specific elements here. -->
</target>
<target name="clobber" depends="_buildmagic:clobber, clean, modules-clobber"
- description="Cleans up all generated files.">
+ description="Cleans up all generated files.">
<!-- Add module specific elements here. -->
</target>
<target name="main" depends="most"
- description="Executes the default target (most)."/>
+ description="Executes the default target (most)."/>
<target name="all" depends="createthirdparty, modules-all"
- description="Executes all modules and builds everything."/>
+ description="Executes all modules and builds everything."/>
<target name="most" depends="createthirdparty, modules-most"
- description="Executes all modules and builds most everything."/>
+ description="Executes all modules and builds most everything."/>
<target name="help" depends="_buildmagic:help:build"
- description="Show this help message."/>
+ description="Show this help message."/>
<!--
@@ -273,23 +273,23 @@
<!--</target>-->
<target name="deploy"
- description="Deploy."
- depends="main">
+ description="Deploy."
+ depends="main">
<require file="${jboss.home}/server/${portal.deploy.dir}"/>
<copy file="../core/output/lib/jboss-portal.sar" todir="${jboss.home}/server/${portal.deploy.dir}"
- overwrite="true"/>
+ overwrite="true"/>
</target>
<target name="undeploy"
- description="Undeploy."
- depends="init">
+ description="Undeploy."
+ depends="init">
<require file="${jboss.home}/server/${portal.deploy.dir}"/>
<delete file="${jboss.home}/server/${portal.deploy.dir}/jboss-portal.sar"/>
</target>
<target name="exploded-deploy"
- description="Deploy exploded sar."
- depends="main">
+ description="Deploy exploded sar."
+ depends="main">
<require file="${jboss.home}/server/${portal.deploy.dir}"/>
<delete dir="${jboss.home}/server/${portal.deploy.dir}/jboss-portal-exploded.sar"/>
<mkdir dir="${jboss.home}/server/${portal.deploy.dir}/jboss-portal-exploded.sar"/>
@@ -362,7 +362,7 @@
<!-- then generate a new libraries.ent file and include it in -->
<!-- the build -->
<target name="createthirdparty" unless="inhibit.downloads"
- depends="check.inhibit.downloads">
+ depends="check.inhibit.downloads">
<ant antfile="build-thirdparty.xml" target="generate-lib-file"/>
</target>
@@ -371,8 +371,8 @@
<condition property="inhibit.downloads">
<or>
<uptodate property="dependencies.current"
- srcfile="build-thirdparty.xml"
- targetfile="../thirdparty/libraries.ent"/>
+ srcfile="build-thirdparty.xml"
+ targetfile="../thirdparty/libraries.ent"/>
<istrue value="${nodownload}"/>
</or>
</condition>
19 years, 2 months
JBoss Portal SVN: r6262 - in trunk/wsrp: src/main/org/jboss/portal/test/wsrp/other and 1 other directories.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2007-02-13 22:53:20 -0500 (Tue, 13 Feb 2007)
New Revision: 6262
Added:
trunk/wsrp/src/main/org/jboss/portal/test/wsrp/other/UserContextConverterTestCase.java
Modified:
trunk/wsrp/build.xml
trunk/wsrp/src/main/org/jboss/portal/wsrp/UserContextConverter.java
Log:
- JBPORTAL-1260: Use JBoss XB to correctly parse xsd:dateTime.
- Added simple test case.
Modified: trunk/wsrp/build.xml
===================================================================
--- trunk/wsrp/build.xml 2007-02-14 00:30:34 UTC (rev 6261)
+++ trunk/wsrp/build.xml 2007-02-14 03:53:20 UTC (rev 6262)
@@ -573,7 +573,7 @@
<test todir="${test.reports}" name="org.jboss.portal.test.wsrp.v1.producer.MarkupTestRunner"/>
<test todir="${test.reports}" name="org.jboss.portal.test.wsrp.v1.producer.RegistrationTestRunner"/>
<test todir="${test.reports}" name="org.jboss.portal.test.wsrp.v1.producer.PortletManagementTestRunner"/>
- </x-test>
+ </x-test>
<x-sysproperty>
<!--
<jvmarg value="-Xdebug"/>
@@ -678,6 +678,7 @@
<x-test>
<test todir="${test.reports}" name="org.jboss.portal.test.wsrp.other.ProducerSessionInformationTestCase"/>
<test todir="${test.reports}" name="org.jboss.portal.test.wsrp.other.WSRPPortletURLTestCase"/>
+ <test todir="${test.reports}" name="org.jboss.portal.test.wsrp.other.UserContextConverterTestCase"/>
<test todir="${test.reports}" name="org.jboss.portal.test.wsrp.handler.RequestHeaderClientHandlerTestCase"/>
</x-test>
<x-sysproperty>
Added: trunk/wsrp/src/main/org/jboss/portal/test/wsrp/other/UserContextConverterTestCase.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/test/wsrp/other/UserContextConverterTestCase.java (rev 0)
+++ trunk/wsrp/src/main/org/jboss/portal/test/wsrp/other/UserContextConverterTestCase.java 2007-02-14 03:53:20 UTC (rev 6262)
@@ -0,0 +1,47 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2007, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This 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 software 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 software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+
+package org.jboss.portal.test.wsrp.other;
+
+import junit.framework.TestCase;
+import org.jboss.xb.binding.SimpleTypeBindings;
+
+import java.util.Calendar;
+
+/**
+ * Needs more complete tests!!
+ *
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris Laprun</a>
+ * @version $Revision$
+ * @since 2.6
+ */
+public class UserContextConverterTestCase extends TestCase
+{
+ public void testDateFormat()
+ {
+ String dateAsString = "1983-12-11T00:00:00.000+01:00";
+ Calendar bdate = SimpleTypeBindings.unmarshalDateTime(dateAsString);
+ String result = SimpleTypeBindings.marshalDateTime(bdate);
+ assertEquals(dateAsString, result);
+ }
+}
Property changes on: trunk/wsrp/src/main/org/jboss/portal/test/wsrp/other/UserContextConverterTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/UserContextConverter.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/UserContextConverter.java 2007-02-14 00:30:34 UTC (rev 6261)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/UserContextConverter.java 2007-02-14 03:53:20 UTC (rev 6262)
@@ -34,14 +34,11 @@
import org.jboss.portal.wsrp.core.Telecom;
import org.jboss.portal.wsrp.core.TelephoneNum;
import org.jboss.portal.wsrp.core.UserProfile;
+import org.jboss.xb.binding.SimpleTypeBindings;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
-import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
@@ -54,7 +51,7 @@
*/
public class UserContextConverter
{
- public static final String XSD_DATETIME_FORMAT = "yyy-MM-dd'T'HH:mm:ss";
+ public static final String XSD_DATETIME_FORMAT = "yyy-MM-dd'T'HH:mm:ss.SSSZ";
public static UserContext createPortalUserContextFrom(org.jboss.portal.wsrp.core.UserContext userContext,
String[] desiredLocales, String preferredLocale)
@@ -87,19 +84,7 @@
String bdateAsString = (String)userInfos.get(P3PConstants.INFO_USER_BDATE);
if (bdateAsString != null)
{
- Locale locale = userContext.getLocale();
- SimpleDateFormat format = new SimpleDateFormat(XSD_DATETIME_FORMAT, locale);
- format.setLenient(false); // should maybe make it lenient?
- try
- {
- Date date = format.parse(bdateAsString);
- bdate = Calendar.getInstance(locale);
- bdate.setTime(date);
- }
- catch (ParseException e)
- {
- throw new IllegalArgumentException(bdateAsString + " is not a valid birthday date!");
- }
+ bdate = SimpleTypeBindings.unmarshalDateTime(bdateAsString);
}
EmployerInfo employerInfo = new EmployerInfo((String)userInfos.get(P3PConstants.INFO_USER_EMPLOYER),
@@ -185,8 +170,7 @@
Calendar bdate = profile.getBdate();
if (bdate != null)
{
- DateFormat dateFormat = new SimpleDateFormat(XSD_DATETIME_FORMAT, getLocale());
- infos.put(P3PConstants.INFO_USER_BDATE, dateFormat.format(bdate));
+ infos.put(P3PConstants.INFO_USER_BDATE, SimpleTypeBindings.marshalDateTime(bdate));
}
infos.put(P3PConstants.INFO_USER_GENDER, profile.getGender());
19 years, 2 months
JBoss Portal SVN: r6261 - trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user.
by portal-commits@lists.jboss.org
Author: thomas.heute(a)jboss.com
Date: 2007-02-13 19:30:34 -0500 (Tue, 13 Feb 2007)
New Revision: 6261
Modified:
trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/listUsers.jsp
Log:
Cosmetic++
Modified: trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/listUsers.jsp
===================================================================
--- trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/listUsers.jsp 2007-02-14 00:20:50 UTC (rev 6260)
+++ trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/listUsers.jsp 2007-02-14 00:30:34 UTC (rev 6261)
@@ -26,8 +26,8 @@
<n:iterate ctx="roles">${n:out("row.roles.name")}<br/></n:iterate>
</td>
<td nowrap="nowrap" class="${n:out("row.cssClass")}"><a
- href="${n:out("row.editURL")}">${n:i18n("LIST_ACTIONSSHOWPROFILE")}</a> <a
- href="${n:out("row.rolesURL")}">${n:i18n("LIST_ACTIONADDROLESTOUSER")}</a> <a
+ href="${n:out("row.editURL")}">${n:i18n("LIST_ACTIONSSHOWPROFILE")}</a> | <a
+ href="${n:out("row.rolesURL")}">${n:i18n("LIST_ACTIONADDROLESTOUSER")}</a> | <a
href="${n:out("row.deleteURL")}">${n:i18n("LIST_ACTIONDELETEUSER")}</a></td>
</tr>
</n:iterate>
19 years, 2 months
JBoss Portal SVN: r6260 - in trunk/core/src: resources/portal-core-war/WEB-INF/jsp/user and 1 other directory.
by portal-commits@lists.jboss.org
Author: thomas.heute(a)jboss.com
Date: 2007-02-13 19:20:50 -0500 (Tue, 13 Feb 2007)
New Revision: 6260
Modified:
trunk/core/src/bin/portal-core-war/themes/renaissance/portal_style.css
trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/listUsers.jsp
Log:
- Roles were not displayed anymore
- Cosmetic change
Modified: trunk/core/src/bin/portal-core-war/themes/renaissance/portal_style.css
===================================================================
--- trunk/core/src/bin/portal-core-war/themes/renaissance/portal_style.css 2007-02-14 00:01:21 UTC (rev 6259)
+++ trunk/core/src/bin/portal-core-war/themes/renaissance/portal_style.css 2007-02-14 00:20:50 UTC (rev 6260)
@@ -1036,7 +1036,6 @@
/* Text in every other row in the table */
.portlet-table-alternate {
- padding: 3px 5px;
background-color: #E6E8E5;
border-bottom: 1px solid #d5d5d5;
}
Modified: trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/listUsers.jsp
===================================================================
--- trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/listUsers.jsp 2007-02-14 00:01:21 UTC (rev 6259)
+++ trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/listUsers.jsp 2007-02-14 00:20:50 UTC (rev 6260)
@@ -23,7 +23,7 @@
<td nowrap="nowrap" class="${n:out("row.cssClass")}">${n:out("row.firstname")}</td>
<td nowrap="nowrap" class="${n:out("row.cssClass")}">${n:out("row.lastname")}</td>
<td nowrap="nowrap" class="${n:out("row.cssClass")}">
- <n:iterate ctx="roles0">${n:out("row.roles.name")}<br/></n:iterate>
+ <n:iterate ctx="roles">${n:out("row.roles.name")}<br/></n:iterate>
</td>
<td nowrap="nowrap" class="${n:out("row.cssClass")}"><a
href="${n:out("row.editURL")}">${n:i18n("LIST_ACTIONSSHOWPROFILE")}</a> <a
19 years, 2 months
JBoss Portal SVN: r6259 - in trunk: core/src/resources/portal-core-sar/META-INF and 3 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-02-13 19:01:21 -0500 (Tue, 13 Feb 2007)
New Revision: 6259
Added:
trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContent.java
trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContentEditor.java
trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContentHandler.java
Removed:
trunk/core-cms/src/main/org/jboss/portal/core/cms/editor/CMSContentEditor.java
trunk/core/src/main/org/jboss/portal/core/impl/model/content/cms/
Modified:
trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContentRenderer.java
trunk/core-cms/src/resources/portal-cms-sar/META-INF/jboss-service.xml
trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml
Log:
moved cms content handler to the core-cms integration package
Modified: trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml
===================================================================
--- trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml 2007-02-13 23:59:09 UTC (rev 6258)
+++ trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml 2007-02-14 00:01:21 UTC (rev 6259)
@@ -561,17 +561,6 @@
proxy-type="attribute">portal:container=Instance</depends>
<attribute name="ContentType">portlet</attribute>
</mbean>
- <mbean
- code="org.jboss.portal.core.impl.model.content.cms.CMSContentHandler"
- name="portal:service=ContentHandler,type=cms"
- xmbean-dd=""
- xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
- <xmbean/>
- <depends
- optional-attribute-name="Registry"
- proxy-type="attribute">portal:container=PortalObject</depends>
- <attribute name="ContentType">cms</attribute>
- </mbean>
<!-- Customization manager -->
<mbean
Added: trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContent.java
===================================================================
--- trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContent.java (rev 0)
+++ trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContent.java 2007-02-14 00:01:21 UTC (rev 6259)
@@ -0,0 +1,68 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This 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 software 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 software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.core.cms.content;
+
+import org.jboss.portal.core.model.content.Content;
+import org.jboss.portal.core.model.content.spi.ContentState;
+import org.jboss.portal.common.util.LocalizedString;
+
+import java.util.Locale;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class CMSContent implements Content
+{
+
+ /** . */
+ private final ContentState state;
+
+ public CMSContent(ContentState state)
+ {
+ this.state = state;
+ }
+
+ public LocalizedString getDisplayName()
+ {
+ return new LocalizedString(state.getURI() + " cms", Locale.ENGLISH);
+ }
+
+ /**
+ *
+ * @return
+ */
+ public String getURI()
+ {
+ return state.getURI();
+ }
+
+ /**
+ *
+ * @param uri
+ */
+ public void setURI(String uri)
+ {
+ state.setURI(uri);
+ }
+}
Copied: trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContentEditor.java (from rev 6247, trunk/core-cms/src/main/org/jboss/portal/core/cms/editor/CMSContentEditor.java)
===================================================================
--- trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContentEditor.java (rev 0)
+++ trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContentEditor.java 2007-02-14 00:01:21 UTC (rev 6259)
@@ -0,0 +1,94 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This 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 software 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 software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.core.cms.content;
+
+import org.jboss.portal.core.portlet.dashboard.AddWindowContext;
+import org.jboss.portal.core.portlet.dashboard.AbstractContentEditor;
+import org.jboss.portal.core.cms.content.CMSContent;
+import org.jboss.portal.core.model.content.ContentType;
+import org.jboss.portal.cms.CMS;
+import org.jboss.portal.cms.Command;
+import org.jboss.portal.cms.model.File;
+import org.jboss.portal.cms.model.Folder;
+
+import javax.portlet.RenderRequest;
+import javax.portlet.ActionRequest;
+import java.io.PrintWriter;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class CMSContentEditor extends AbstractContentEditor
+{
+
+ /** . */
+ private CMS cms;
+
+ public CMS getCMS()
+ {
+ return cms;
+ }
+
+ public void setCMS(CMS cms)
+ {
+ this.cms = cms;
+ }
+
+ public void show(RenderRequest req, PrintWriter writer)
+ {
+ Command listCMD = cms.getCommandFactory().createFolderGetListCommand("/default");
+ Folder folder = (Folder)cms.execute(listCMD);
+ List list = folder.getFiles();
+ writer.println("<select name=\"available_instances\" multiple=\"true\" size=\"20\">\n");
+ for (int i = 0; i < list.size(); i++)
+ {
+ File file = (File)list.get(i);
+ writer.print("<option value=\"");
+ writer.print(file.getBasePath());
+ writer.print("\">");
+ writer.print(file.getName());
+ writer.println("</option>\n");
+ }
+ writer.println("</select>");
+ }
+
+ public void add(ActionRequest req, AddWindowContext ctx)
+ {
+ String[] files = req.getParameterValues("available_instances");
+ try
+ {
+ for (int i = 0; i < files.length; i++)
+ {
+ String file = files[i];
+ CMSContent content = (CMSContent)ctx.createWindow(ContentType.CMS, file);
+
+ }
+ }
+ catch (Exception e)
+ {
+ log.error("Error adding window to region", e);
+ }
+ }
+}
Added: trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContentHandler.java
===================================================================
--- trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContentHandler.java (rev 0)
+++ trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContentHandler.java 2007-02-14 00:01:21 UTC (rev 6259)
@@ -0,0 +1,40 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This 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 software 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 software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.core.cms.content;
+
+import org.jboss.portal.core.model.content.spi.ContentHandler;
+import org.jboss.portal.core.model.content.spi.ContentState;
+import org.jboss.portal.core.impl.model.content.AbstractContentHandler;
+import org.jboss.portal.core.model.content.Content;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class CMSContentHandler extends AbstractContentHandler implements ContentHandler
+{
+ public Content newContent(String contextId, ContentState state)
+ {
+ return new CMSContent(state);
+ }
+}
Modified: trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContentRenderer.java
===================================================================
--- trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContentRenderer.java 2007-02-13 23:59:09 UTC (rev 6258)
+++ trunk/core-cms/src/main/org/jboss/portal/core/cms/content/CMSContentRenderer.java 2007-02-14 00:01:21 UTC (rev 6259)
@@ -23,7 +23,6 @@
package org.jboss.portal.core.cms.content;
import org.jboss.portal.core.impl.model.portal.content.PortletContentRenderer;
-import org.jboss.portal.core.impl.model.content.cms.CMSContent;
import org.jboss.portal.core.model.instance.Instance;
import org.jboss.portal.core.model.instance.InstanceContainer;
import org.jboss.portal.core.model.portal.Window;
Deleted: trunk/core-cms/src/main/org/jboss/portal/core/cms/editor/CMSContentEditor.java
===================================================================
--- trunk/core-cms/src/main/org/jboss/portal/core/cms/editor/CMSContentEditor.java 2007-02-13 23:59:09 UTC (rev 6258)
+++ trunk/core-cms/src/main/org/jboss/portal/core/cms/editor/CMSContentEditor.java 2007-02-14 00:01:21 UTC (rev 6259)
@@ -1,94 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This 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 software 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 software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.core.cms.editor;
-
-import org.jboss.portal.core.portlet.dashboard.AddWindowContext;
-import org.jboss.portal.core.portlet.dashboard.AbstractContentEditor;
-import org.jboss.portal.core.impl.model.content.cms.CMSContent;
-import org.jboss.portal.core.model.content.ContentType;
-import org.jboss.portal.cms.CMS;
-import org.jboss.portal.cms.Command;
-import org.jboss.portal.cms.model.File;
-import org.jboss.portal.cms.model.Folder;
-
-import javax.portlet.RenderRequest;
-import javax.portlet.ActionRequest;
-import java.io.PrintWriter;
-import java.util.List;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class CMSContentEditor extends AbstractContentEditor
-{
-
- /** . */
- private CMS cms;
-
- public CMS getCMS()
- {
- return cms;
- }
-
- public void setCMS(CMS cms)
- {
- this.cms = cms;
- }
-
- public void show(RenderRequest req, PrintWriter writer)
- {
- Command listCMD = cms.getCommandFactory().createFolderGetListCommand("/default");
- Folder folder = (Folder)cms.execute(listCMD);
- List list = folder.getFiles();
- writer.println("<select name=\"available_instances\" multiple=\"true\" size=\"20\">\n");
- for (int i = 0; i < list.size(); i++)
- {
- File file = (File)list.get(i);
- writer.print("<option value=\"");
- writer.print(file.getBasePath());
- writer.print("\">");
- writer.print(file.getName());
- writer.println("</option>\n");
- }
- writer.println("</select>");
- }
-
- public void add(ActionRequest req, AddWindowContext ctx)
- {
- String[] files = req.getParameterValues("available_instances");
- try
- {
- for (int i = 0; i < files.length; i++)
- {
- String file = files[i];
- CMSContent content = (CMSContent)ctx.createWindow(ContentType.CMS, file);
-
- }
- }
- catch (Exception e)
- {
- log.error("Error adding window to region", e);
- }
- }
-}
Modified: trunk/core-cms/src/resources/portal-cms-sar/META-INF/jboss-service.xml
===================================================================
--- trunk/core-cms/src/resources/portal-cms-sar/META-INF/jboss-service.xml 2007-02-13 23:59:09 UTC (rev 6258)
+++ trunk/core-cms/src/resources/portal-cms-sar/META-INF/jboss-service.xml 2007-02-14 00:01:21 UTC (rev 6259)
@@ -672,7 +672,7 @@
<!-- Content editor integration -->
<mbean
- code="org.jboss.portal.core.cms.editor.CMSContentEditor"
+ code="org.jboss.portal.core.cms.content.CMSContentEditor"
name="portal:service=ContentEditor,type=cms"
xmbean-dd=""
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
@@ -698,4 +698,17 @@
optional-attribute-name="Registry"
proxy-type="attribute">portal:service=ContentRendererRegistry</depends>
</mbean>
+
+ <!-- Content handler integration -->
+ <mbean
+ code="org.jboss.portal.core.cms.content.CMSContentHandler"
+ name="portal:service=ContentHandler,type=cms"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends
+ optional-attribute-name="Registry"
+ proxy-type="attribute">portal:container=PortalObject</depends>
+ <attribute name="ContentType">cms</attribute>
+ </mbean>
</server>
19 years, 2 months
JBoss Portal SVN: r6258 - docs/trunk/referenceGuide/en/modules.
by portal-commits@lists.jboss.org
Author: chris.laprun(a)jboss.com
Date: 2007-02-13 18:59:09 -0500 (Tue, 13 Feb 2007)
New Revision: 6258
Modified:
docs/trunk/referenceGuide/en/modules/configuration.xml
Log:
Removed obsolete information on port configuration.
Modified: docs/trunk/referenceGuide/en/modules/configuration.xml
===================================================================
--- docs/trunk/referenceGuide/en/modules/configuration.xml 2007-02-13 23:01:37 UTC (rev 6257)
+++ docs/trunk/referenceGuide/en/modules/configuration.xml 2007-02-13 23:59:09 UTC (rev 6258)
@@ -52,19 +52,12 @@
<literal>jboss-portal.sar/portal-wsrp.sar/default-wsrp.xml</literal>
</listitem>
<listitem>
- <literal>jboss-portal.sar/portal-wsrp-client.jar/META-INF/jboss-client.xml</literal>
- (for the producer with the
- <literal>self</literal>
- id.
- </listitem>
- <listitem>
<literal>jbossws.sar/META-INF/jboss-service.xml</literal>
as indicated in
<ulink url="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBWSFAQURLRewriting">JBoss WS' URL rewriting
FAQ
</ulink>
</listitem>
- <listitem>http-invoker.sar/META-INF/jboss-service.xml</listitem>
</itemizedlist>
</para>
<para>Now you can restart JBoss and use the new port that you defined. On systems like Linux,
19 years, 2 months
JBoss Portal SVN: r6257 - in trunk/tools: src and 6 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-02-13 18:01:37 -0500 (Tue, 13 Feb 2007)
New Revision: 6257
Added:
trunk/tools/build.xml
trunk/tools/src/
trunk/tools/src/main/
trunk/tools/src/main/org/
trunk/tools/src/main/org/jboss/
trunk/tools/src/main/org/jboss/portal/
trunk/tools/src/main/org/jboss/portal/tools/
trunk/tools/src/main/org/jboss/portal/tools/dtd/
trunk/tools/src/main/org/jboss/portal/tools/dtd/DTDToDocbook.java
trunk/tools/src/main/org/jboss/portal/tools/dtd/Test.java
Log:
- added wutka DTD parser
- made a small tool which can convert a commented DTD into docbook (basic for now but works)
Added: trunk/tools/build.xml
===================================================================
--- trunk/tools/build.xml (rev 0)
+++ trunk/tools/build.xml 2007-02-13 23:01:37 UTC (rev 6257)
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE project [
+ <!ENTITY buildmagic SYSTEM "../tools/etc/buildfragments/buildmagic.ent">
+ <!ENTITY tools SYSTEM "../tools/etc/buildfragments/tools.ent">
+ <!ENTITY libraries SYSTEM "../thirdparty/libraries.ent">
+ <!ENTITY modules SYSTEM "../tools/etc/buildfragments/modules.ent">
+ <!ENTITY defaults SYSTEM "../tools/etc/buildfragments/defaults.ent">
+ <!ENTITY targets SYSTEM "../tools/etc/buildfragments/targets.ent">
+ ]>
+
+<!-- $Id: build.xml 6206 2007-02-11 00:33:46Z julien(a)jboss.com $ -->
+
+<!--+======================================================================+-->
+<!--| JBoss Portal (The OpenSource Portal) Build File |-->
+<!--| |-->
+<!--| Distributable under LGPL license. |-->
+<!--| See terms of license at http://www.gnu.org. |-->
+<!--| |-->
+<!--| This file has been designed to work with the 'tools' module and |-->
+<!--| Buildmagic extentions. |-->
+<!--+======================================================================+-->
+
+<project default="main" name="JBoss Portal">
+
+ <!--+====================================================================+-->
+ <!--| Setup |-->
+ <!--| |-->
+ <!--| Include the common build elements. |-->
+ <!--| |-->
+ <!--| This defines several different targets, properties and paths. |-->
+ <!--| It also sets up the basic extention tasks amoung other things. |-->
+ <!--+====================================================================+-->
+
+ &buildmagic;
+ &modules;
+ &defaults;
+ &tools;
+ &targets;
+
+ <!-- ================================================================== -->
+ <!-- Initialization -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Initialize the build system. Must depend on '_buildmagic:init'.
+ | Other targets should depend on 'init' or things will mysteriously fail.
+ -->
+
+ <target name="init" unless="init.disable" depends="_buildmagic:init">
+ </target>
+
+ <!--+====================================================================+-->
+ <!--| Configuration |-->
+ <!--| |-->
+ <!--| This target is invoked by the Buildmagic initialization logic |-->
+ <!--| and should contain module specific configuration elements. |-->
+ <!--+====================================================================+-->
+
+ <target name="configure" unless="configure.disable">
+
+ <!-- Configure thirdparty libraries -->
+ &libraries;
+ <path id="library.classpath">
+ <path refid="wutka.dtdparser.classpath"/>
+ </path>
+
+ <!-- Configure modules -->
+ <call target="configure-modules"/>
+ <path id="dependentmodule.classpath">
+ </path>
+
+ <!--+=======================================+-->
+ <!--| Override any default properties here. |-->
+ <!--+=======================================+-->
+
+ <!-- Configure defaults & build tools -->
+ <call target="configure-defaults"/>
+ <call target="configure-tools"/>
+
+ <!--+=======================================+-->
+ <!--| Define module specific elements here. |-->
+ <!--+=======================================+-->
+ <property name="javadoc.private" value="true"/>
+ <property name="javadoc.protected" value="false"/>
+
+ </target>
+
+
+ <!--+====================================================================+-->
+ <!--| Compile |-->
+ <!--| |-->
+ <!--| This target should depend on other compile-* targets for each |-->
+ <!--| different type of compile that needs to be performed, short of |-->
+ <!--| documentation compiles. |-->
+ <!--+====================================================================+-->
+
+ <target name="compile"
+ description="Compile all source files."
+ depends="
+ _default:compile-classes,
+ _default:compile-etc,
+ _default:compile-resources">
+ <!-- Add module specific elements here. -->
+ </target>
+
+ <!--+====================================================================+-->
+ <!--| Generate Output |-->
+ <!--| |-->
+ <!--| Generates the target output for this module. Target output is |-->
+ <!--| the output which is ment to be released or used by external |-->
+ <!--| modules. |-->
+ <!--+====================================================================+-->
+
+ <target name="output"
+ description="Generate all target output."
+ depends="compile">
+
+ <mkdir dir="${build.lib}"/>
+
+ <jar jarfile="${build.lib}/portal-tools-lib.jar">
+ <fileset dir="${build.classes}">
+ </fileset>
+ </jar>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Cleaning -->
+ <!-- ================================================================== -->
+
+ <!-- Clean up all build output -->
+ <target name="clean" depends="_default:clean">
+ <!-- Add module specific elements here. -->
+ </target>
+
+ <!--+====================================================================+-->
+ <!--| Documents |-->
+ <!--| |-->
+ <!--| Generate all documentation for this module. |-->
+ <!--+====================================================================+-->
+
+ <target name="docs" depends="_default:docs">
+ <!-- Add module specific elements here. -->
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Misc. -->
+ <!-- ================================================================== -->
+
+ <target name="main" depends="most"/>
+ <target name="all" depends="_default:all"/>
+ <target name="most" depends="_default:most"/>
+ <target name="help" depends="_default:help"/>
+
+ <target name="test" depends="init">
+ <java classname="org.jboss.portal.tools.dtd.Test">
+ <classpath>
+ <pathelement location="${build.classes}"/>
+ <path refid="library.classpath"/>
+ </classpath>
+ </java>
+ </target>
+
+</project>
Property changes on: trunk/tools/build.xml
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/tools/src/main/org/jboss/portal/tools/dtd/DTDToDocbook.java
===================================================================
--- trunk/tools/src/main/org/jboss/portal/tools/dtd/DTDToDocbook.java (rev 0)
+++ trunk/tools/src/main/org/jboss/portal/tools/dtd/DTDToDocbook.java 2007-02-13 23:01:37 UTC (rev 6257)
@@ -0,0 +1,96 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This 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 software 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 software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.tools.dtd;
+
+import com.wutka.dtd.DTDParser;
+import com.wutka.dtd.DTD;
+import com.wutka.dtd.DTDComment;
+import com.wutka.dtd.DTDElement;
+import com.wutka.dtd.DTDItem;
+import com.wutka.dtd.DTDContainer;
+
+import java.io.Writer;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class DTDToDocbook
+{
+
+ /** . */
+ private DTD dtd;
+
+ public DTDToDocbook(DTD dtd)
+ {
+ this.dtd = dtd;
+ }
+
+ public void blah(PrintWriter writer) throws IOException
+ {
+ //
+ writer.println("<itemizedlist>");
+
+ Object[] items = dtd.getItems();
+ Object previous = null;
+ for (int i = 0;i < items.length;i++)
+ {
+ Object item = items[i];
+ if (item instanceof DTDElement)
+ {
+ DTDElement elt = (DTDElement)item;
+
+ writer.println("<listitem>");
+
+ //
+ writer.println("<para>");
+ writer.print("Element <![CDATA[");
+ elt.write(writer);
+ writer.println("]]>");
+ writer.write("</para>");
+
+ //
+ if (previous instanceof DTDComment)
+ {
+ DTDComment comment = (DTDComment)previous;
+ writer.println("<para><programlisting><![CDATA[");
+ writer.print(comment.getText().trim());
+ writer.println("]]></programlisting></para>");
+ }
+
+ writer.write("</listitem>");
+
+ //
+ }
+
+ //
+ previous = item;
+ }
+
+ //
+ writer.println("</itemizedlist>");
+ }
+
+}
Added: trunk/tools/src/main/org/jboss/portal/tools/dtd/Test.java
===================================================================
--- trunk/tools/src/main/org/jboss/portal/tools/dtd/Test.java (rev 0)
+++ trunk/tools/src/main/org/jboss/portal/tools/dtd/Test.java 2007-02-13 23:01:37 UTC (rev 6257)
@@ -0,0 +1,60 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This 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 software 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 software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.tools.dtd;
+
+import com.wutka.dtd.DTDParser;
+import com.wutka.dtd.DTD;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.FileOutputStream;
+import java.io.PrintStream;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class Test
+{
+
+ public static void main(String[] args) throws IOException
+ {
+ blah("../core/src/resources/portal-core-sar/dtd/jboss-portlet_2_6.dtd", "output/jboss-portlet_2_6.txt");
+ blah("../core/src/resources/portal-core-sar/dtd/jboss-app_2_6.dtd", "output/jboss-app_2_6.txt");
+ blah("../core/src/resources/portal-core-sar/dtd/portal-object_2_6.dtd", "output/portal-object_2_6.txt");
+ blah("../core/src/resources/portal-core-sar/dtd/portlet-instances_2_6.dtd", "output/portlet-instances_2_6.txt");
+ }
+
+ private static void blah(String src, String dst) throws IOException
+ {
+ File f = new File(src);
+ DTDParser parser = new DTDParser(f);
+ DTD dtd = parser.parse();
+ DTDToDocbook toDocbook = new DTDToDocbook(dtd);
+ FileOutputStream out = new FileOutputStream(dst);
+ PrintWriter writer = new PrintWriter(new PrintStream(out), true);
+ toDocbook.blah(writer);
+ writer.close();
+ }
+}
19 years, 2 months
JBoss Portal SVN: r6256 - docs/trunk/referenceGuide/en/modules.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-02-13 17:58:50 -0500 (Tue, 13 Feb 2007)
New Revision: 6256
Modified:
docs/trunk/referenceGuide/en/modules/xmldescriptors.xml
Log:
added dtd descriptions
Modified: docs/trunk/referenceGuide/en/modules/xmldescriptors.xml
===================================================================
--- docs/trunk/referenceGuide/en/modules/xmldescriptors.xml 2007-02-13 18:09:04 UTC (rev 6255)
+++ docs/trunk/referenceGuide/en/modules/xmldescriptors.xml 2007-02-13 22:58:50 UTC (rev 6256)
@@ -47,6 +47,657 @@
<listitem>For portlet-instances.xml descriptors: "-//JBoss Portal//DTD Portlet Instances 2.6//EN"</listitem>
</itemizedlist>
<para>Those files are available in the <emphasis>jboss-portal.sar/dtd/</emphasis> folder</para>
+ <sect2>
+ <title>JBoss Portlet DTD</title>
+ <para>
+<itemizedlist>
+<listitem>
+<para>
+Element <![CDATA[<!ELEMENT portlet-app (remotable?,portlet*,service*)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The remotable element is used to configure the default behavior of the portlets with respect to WSRP
+exposure.
+
+For each portlet defined in portlet.xml, it is possible to configure specific settings
+of the portlet container.
+
+It is also possible to inject services in the portlet context of the application using the service elements.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT portlet (portlet-name,remotable?,session-config?,transaction?,header-content?)>
+
+]]>
+</para><para><programlisting><![CDATA[
+Additional configuration for a portlet.
+
+The portlet-name defines the name of the portlet. It must match a portlet defined already in portlet.xml
+of the same web application.
+
+The remotable element configures the portlet exposure to WSRP. If no value is present then the value considered
+is either the value defined globally at the portlet application level or false.
+
+The trans-attribute value specifies the behavior of the portlet when it is invoked at runtime with
+respect to the transactionnal context. According to how the portlet is invoked a transaction may exist or not
+before the portlet is invoked. Usually in the local context the portal transaction could be present.
+By default the value considered is NotSupported which means that the portal transaction will be suspended
+for the duration of the portlet invocation.
+
+Example:
+
+<portlet>
+ <portlet-name>MyPortlet</portlet-name>
+ <remotable>true</remotable>
+ <trans-attribute>Required</trans-attribute>
+</portlet>]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT portlet-name (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The portlet name.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT remotable (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The remotable value is used for WSRP exposure. The accepted values are the litterals true of false.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT session-config (distributed)>
+
+]]>
+</para><para><programlisting><![CDATA[
+This element configure the portlet session of the portlet.
+
+The distributed element instructs the container to distribute the session attributes using the
+portal session replication. It applies only to local portlets are not to remote portlets.
+The default value is false.
+
+Example:
+
+<session-config>
+ <distributed>true</distributed>
+</session-config>]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT distributed (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The authorized values for the distributed element are true or false.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT transaction (trans-attribute)>
+
+]]>
+</para><para><programlisting><![CDATA[
+Defines how the portlet behaves with the transactionnal context. The default value
+is Never.
+
+Example:
+
+<transaction>
+ <trans-attribute>Required</transaction>
+<transaction>]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT trans-attribute (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The trans-attribute value defines the transactionnal behavior. The accepted values are Required,
+Mandatory, Never, Supports, NotSupported and RequiresNew.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT header-content (link | script | meta)*>
+
+]]>
+</para><para><programlisting><![CDATA[
+Specify content which should be included in the portal aggregated page when the portlet is present
+on that page. This setting only applies when the portlet is used in the local mode.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT link ANY>
+
+]]>
+</para><para><programlisting><![CDATA[
+todo + check if ANY cannot be restricted]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT script ANY>
+
+]]>
+</para><para><programlisting><![CDATA[
+todo + check if ANY cannot be restricted]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT meta ANY>
+
+]]>
+</para><para><programlisting><![CDATA[
+todo + check if ANY cannot be restricted]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT service (service-name,service-class,service-ref)>
+
+]]>
+</para><para><programlisting><![CDATA[
+Declare a service that will be injected by the portlet container as an attribute of the portlet context.
+
+Example :
+
+<service>
+ <service-name>UserModule</service-name>
+ <service-class>org.jboss.portal.identity.UserModule</service-class>
+ <service-ref>:service=Module,type=User</service-ref>
+</service>
+
+In the portlet it is then possible to use it by doing a lookup on the service name, for example in the
+init() lifecycle method :
+
+public void init()
+{
+ UserModule userModule = (UserModule)getPortletContext().getAttribute("UserModule");
+}]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT service-name (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The service name that will be used to bind the service as a portlet context attribute.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT service-class (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The full qualified name of the interface that the service implements.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT service-ref (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The reference to the service. In the JMX Microkernel environment it consist of the JMX name of the service MBean.
+For an MBean reference if the domain is left out, then the current domain of the portal will be used.]]></programlisting></para>
+</listitem></itemizedlist>
+ </para>
+ </sect2>
+ <sect2>
+ <title>Portlet Instance DTD</title>
+ <para>
+<itemizedlist>
+<listitem>
+<para>
+Element <![CDATA[<!ELEMENT deployments (deployment*)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The deployements element is a container for deployment elements.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT deployment (if-exists?,instance)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The deployment is a container for an instance element.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT if-exists (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT instance (instance-id,portlet-ref,preferences?,security-constraint?)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The instance element is used to create an instance of a portlet from the portlet application of the same
+war file containing the portlet-instances.xml file. The portlet will be created and configured only
+if the portlet is present and an instance with such a name does not already exist.
+
+Example :
+
+<instance>
+ <instance-id>MyPortletInstance</instance-id>
+ <portlet-ref>MyPortlet</portlet-ref>
+ <preferences>
+ <preference>
+ <name>abc</name>
+ <value>def</value>
+ </preference>
+ </preferences>
+ <security-constraint>
+ <policy-permission>
+ <role-name>User</role-name>
+ <action-name>view</action-name>
+ </policy-permission>
+ </security-constraint>
+</instance>]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT instance-id (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The identifier of the instance.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT portlet-ref (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The reference to the portlet which is its portlet name.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT preferences (preference)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The preferences element configures the instance with a specific set of preferences.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT preference (name,value)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The preference configure one preference of a set of preferences.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT name (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+A name.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT value (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+A string value.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT security-constraint (policy-permission)>
+
+]]>
+</para><para><programlisting><![CDATA[
+todo]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT policy-permission (action-name*,unchecked?,role-name*)>
+
+]]>
+</para><para><programlisting><![CDATA[
+todo]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT action-name (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+todo]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT unchecked EMPTY>
+
+]]>
+</para><para><programlisting><![CDATA[
+todo]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT role-name (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+todo]]></programlisting></para>
+</listitem></itemizedlist>
+ </para>
+ </sect2>
+ <sect2>
+ <title>Portal Object DTD</title>
+ <para>
+<itemizedlist>
+<listitem>
+<para>
+Element <![CDATA[<!ELEMENT deployments (deployment*)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The deployements element is a generic container for deployment elements.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT deployment (parent-ref,if-exists?,(context | portal | page | window))>
+
+]]>
+</para><para><programlisting><![CDATA[
+The deployment is a generic container for portal object elements. The parent-ref
+child gives the name of the parent object that the current object will use as parent.
+The optional if-exists element define the behavior when a portal object which an identical
+name is already child of the parent element. The default behavior of the if-exist tag is to
+keep the existing object and not create a new object. The last element is the portal object
+itself.
+
+Example:
+
+<deployment>
+ <parent-ref>default</parent-ref>
+ <page>
+ ...
+ </page>
+</deployment>
+
+All portal objects have a common configuration which can be :
+
+1/ a listener : specifies the id of a listener is the listener registry. A listener object is able to
+listen portal events which apply to the portal node hierarchy.
+
+2/ properties : a set of generic properties owned by the portal object. Some properties can drive the behavior
+of the object.
+
+3/ security-constraint : defines security configuration of the portal object.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT parent-ref (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+Contains a reference to the parent object. The naming convention for naming object
+is to concatenate the names of the path to the object and separate the names by a dot.
+If the path is empty then the empty string must be used.
+
+Example:
+
+<parent-ref/> the root having an empty path
+<parent-ref>default</parent-ref> the object with the name default under the root having the path (default)
+<parent-ref>default.default</parent-ref> the object with the path (default,default)]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT if-exists (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The authorized values are overwrite and keep. Overwrite means that the existing object will be destroyed
+and the current declaration will be used. Keep means that the existing object will not be destroyed and
+no creation hence will be done.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT context (context-name,properties?,listener?,security-constraint?,portal*)>
+
+]]>
+</para><para><programlisting><![CDATA[
+A portal object of type context. A context type represent a node in the tree which does not have
+a visual representation. It can exist only under the root. A context can only have children with the portal type.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT context-name (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The context name value.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT portal (portal-name,supported-modes,supported-window-states?,properties?,listener?,security-constraint?,page*)>
+
+]]>
+</para><para><programlisting><![CDATA[
+A portal object of type portal. A portal type represents a virtual portal and can have children of type page.
+In addition of the common portal object elements it support also the declaration of the modes and the window
+states it supports. If no declaration of modes or window states is done then the default value will be
+respectively (view,edit,help) and (normal,minimized,maximized).]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT portal-name (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The portal name value.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT supported-modes (mode*)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The supported modes of a portal.
+
+Example:
+
+<supported-mode>
+ <mode>view</mode>
+ <mode>edit</mode>
+ <mode>help</mode>
+</supported-mode>]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT mode (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+A portlet mode value.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT supported-window-states (window-state*)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The supported window states of a portal.
+
+Example:
+
+<supported-window-states>
+ <window-state>normal</window-state>
+ <window-state>minimized</window-state>
+ <window-state>maximized</window-state>
+</supported-window-states>]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT window-state (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+A window state value.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT page (page-name,properties?,listener?,security-constraint?,(page | window)*)>
+
+]]>
+</para><para><programlisting><![CDATA[
+A portal object of type page. A page type represents a page which can have children of type page and window.
+The children windows are the windows of the page and the children pages are the subpages of this page.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT page-name (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The page name value.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT window (window-name,(instance-ref | content),region,height,properties?,listener?)>
+
+]]>
+</para><para><programlisting><![CDATA[
+A portal object of type window. A window type represents a window. Beside the common properties a window has
+a content and belong to a region on the page.
+
+The instance-ref or content tags are used to define the content of the window. The usage of the content tag
+is generic and can be used to describe any kind of content. The instance-ref is a shortcut to define a content
+type of portlet which points to a portlet instance.
+
+The region and height defines how the window is placed in the page.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT window-name (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The window name value.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT instance-ref (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+Define the content of the window as a reference to a portlet instance. The value is the id of the instance.
+
+Example:
+
+<instance-ref>MyPortletInstance</instance-ref>]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT content (content-type,content-uri)>
+
+]]>
+</para><para><programlisting><![CDATA[
+Define the content of the window in a generic manner. The content is define by the type of the content
+and an URI which acts as an identificator for the content.
+
+Example:
+
+<content>
+ <content-type>portlet</content-type>
+ <content-uri>MyPortletInstance</content-uri>
+</content>
+
+<content>
+ <content-type>cms</content-type>
+ <content-uri>/default/index.html</content-uri>
+</content>]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT content-type (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The content type of the window.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT content-uri (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The content URI of the window.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT region (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The region the window belongs to.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT height (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+The height of the window in the particular region.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT listener (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+Define a listener for a portal object. The value is the id of the listener.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT properties (property*)>
+
+]]>
+</para><para><programlisting><![CDATA[
+A set of generic properties for the portal object.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT property (name,value)>
+
+]]>
+</para><para><programlisting><![CDATA[
+A generic string property.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT name (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+A name value.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT value (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+A value.]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT security-constraint (policy-permission)>
+
+]]>
+</para><para><programlisting><![CDATA[
+]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT policy-permission (action-name*,unchecked?,role-name*)>
+
+]]>
+</para><para><programlisting><![CDATA[
+]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT action-name (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT unchecked EMPTY>
+
+]]>
+</para><para><programlisting><![CDATA[
+]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT role-name (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+]]></programlisting></para>
+</listitem></itemizedlist>
+ </para>
+ </sect2>
+ <sect2>
+ <title>JBoss App DTD</title>
+ <para>
+<itemizedlist>
+<listitem>
+<para>
+Element <![CDATA[<!ELEMENT jboss-app (app-name?)>
+
+]]>
+</para><para><programlisting><![CDATA[
+<!DOCTYPE jboss-app PUBLIC
+ "-//JBoss Portal//DTD JBoss Web Application 2.6//EN"
+ "http://www.jboss.org/portal/dtd/jboss-app_2_6.dtd">]]></programlisting></para>
+</listitem><listitem>
+<para>
+Element <![CDATA[<!ELEMENT app-name (#PCDATA)>
+
+]]>
+</para><para><programlisting><![CDATA[
+When a web application is deployed, the context path under wich it is deployed is taken as application
+name. The application name value in this descriptor is used to override it. When a component references a
+references a portlet, it needs to reference the application too and if the portlet application war file is renammed
+the reference is not valid anymore. Therefore this tag is used to have an application name that does not depend
+upon the context path under which the application is deployed.]]></programlisting></para>
+</listitem></itemizedlist>
+ </para>
+ </sect2>
</sect1>
<sect1 id="descriptors_portlet">
<title>Portlet Descriptors</title>
19 years, 2 months
JBoss Portal SVN: r6255 - trunk.
by portal-commits@lists.jboss.org
Author: roy.russo(a)jboss.com
Date: 2007-02-13 13:09:04 -0500 (Tue, 13 Feb 2007)
New Revision: 6255
Removed:
trunk/core-admin/
Log:
rolling back all changes
19 years, 2 months
JBoss Portal SVN: r6254 - docs/trunk/referenceGuide/en/modules.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-02-13 12:53:30 -0500 (Tue, 13 Feb 2007)
New Revision: 6254
Modified:
docs/trunk/referenceGuide/en/modules/xmldescriptors.xml
Log:
added section on DTD changes
Modified: docs/trunk/referenceGuide/en/modules/xmldescriptors.xml
===================================================================
--- docs/trunk/referenceGuide/en/modules/xmldescriptors.xml 2007-02-13 16:30:08 UTC (rev 6253)
+++ docs/trunk/referenceGuide/en/modules/xmldescriptors.xml 2007-02-13 17:53:30 UTC (rev 6254)
@@ -8,6 +8,46 @@
</author>
</chapterinfo>
<title>XML Descriptors</title>
+ <sect1>
+ <title>Changes since previous releases</title>
+ <para>The previous releases of JBoss Portal did not have an external schema to validate the various XML
+ descriptors although it was internally validated by the portal. Since 2.6 we have worked on providing
+ Document Type Definition (DTD) for the various descriptors. The DTD validation will be only effective
+ if you XML descriptors declares it like that:</para>
+ <programlisting><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE deployments PUBLIC
+"-//JBoss Portal//DTD Portal Object 2.6//EN"
+"http://www.jboss.org/portal/dtd/portal-object_2_6.dtd">
+...]]></programlisting>
+ <para>If you do not perform the declaration then the previous mechanism will be used. The main difference
+ between using the DTD and not is that the additional DTD validation is more strict specifically on the order
+ of the XML elements. The following example will be accepted without the DTD declaration and will not with the DTD
+ declaration:</para>
+ <programlisting><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment>
+ <if-exists>overwrite</if-exists>
+ <parent-ref>default.default</parent-ref>
+ ...
+</deployment>]]></programlisting>
+ <para>The correct descriptor is rather:</para>
+ <programlisting><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment>
+ <parent-ref>default.default</parent-ref>
+ <if-exists>overwrite</if-exists>
+ ...
+</deployment>]]></programlisting>
+ <para>The various DTD available are:</para>
+ <itemizedlist>
+ <listitem>For -object.xml descriptors: "-//JBoss Portal//DTD Portal Object 2.6//EN"</listitem>
+ <listitem>For jboss-app.xml descriptors: "-//JBoss Portal//DTD JBoss Web Application 2.6//EN"</listitem>
+ <listitem>For jboss-portlet.xml descriptors: "-//JBoss Portal//DTD JBoss Portlet 2.6//EN"</listitem>
+ <listitem>For portlet-instances.xml descriptors: "-//JBoss Portal//DTD Portlet Instances 2.6//EN"</listitem>
+ </itemizedlist>
+ <para>Those files are available in the <emphasis>jboss-portal.sar/dtd/</emphasis> folder</para>
+ </sect1>
<sect1 id="descriptors_portlet">
<title>Portlet Descriptors</title>
<para>To define your portal objects (portals, pages, portlet instances, windows, and portlets), you will be using
19 years, 2 months