gatein SVN: r4191 - portal/branches/wsrp2-integration/component/wsrp/src/main/java/org/gatein/portal/wsrp.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2010-09-14 10:29:17 -0400 (Tue, 14 Sep 2010)
New Revision: 4191
Modified:
portal/branches/wsrp2-integration/component/wsrp/src/main/java/org/gatein/portal/wsrp/MOPPortalStructureProvider.java
Log:
- Re-wrote to use POMSessionManager instead of JCR session directly to make sure that MOP objects state is properly initialized.
Modified: portal/branches/wsrp2-integration/component/wsrp/src/main/java/org/gatein/portal/wsrp/MOPPortalStructureProvider.java
===================================================================
--- portal/branches/wsrp2-integration/component/wsrp/src/main/java/org/gatein/portal/wsrp/MOPPortalStructureProvider.java 2010-09-14 14:21:27 UTC (rev 4190)
+++ portal/branches/wsrp2-integration/component/wsrp/src/main/java/org/gatein/portal/wsrp/MOPPortalStructureProvider.java 2010-09-14 14:29:17 UTC (rev 4191)
@@ -23,11 +23,10 @@
package org.gatein.portal.wsrp;
-import org.chromattic.api.ChromatticSession;
-import org.exoplatform.commons.chromattic.ChromatticLifeCycle;
-import org.exoplatform.commons.chromattic.ChromatticManager;
import org.exoplatform.container.ExoContainer;
import org.exoplatform.portal.mop.Described;
+import org.exoplatform.portal.pom.config.POMSession;
+import org.exoplatform.portal.pom.config.POMSessionManager;
import org.exoplatform.portal.pom.spi.wsrp.WSRP;
import org.gatein.common.util.ParameterValidation;
import org.gatein.mop.api.content.Customization;
@@ -56,26 +55,25 @@
*/
public class MOPPortalStructureProvider implements PortalStructureProvider
{
- private final ChromatticLifeCycle lifeCycle;
- private Map<String, String> pageIdToUUIDs;
+ private final POMSessionManager pomManager;
+ private Map<String, PageInfo> pageInfos;
private Map<String, String> windowIdToUUIDs;
public MOPPortalStructureProvider(ExoContainer container)
{
- ChromatticManager manager = (ChromatticManager)container.getComponentInstanceOfType(ChromatticManager.class);
- lifeCycle = manager.getLifeCycle("mop");
- pageIdToUUIDs = new HashMap<String, String>();
+ pomManager = (POMSessionManager)container.getComponentInstanceOfType(POMSessionManager.class);
windowIdToUUIDs = new HashMap<String, String>();
}
public List<String> getPageIdentifiers()
{
- if (pageIdToUUIDs.isEmpty())
+ if (pageInfos == null)
{
- ChromatticSession session = lifeCycle.getChromattic().openSession();
- Workspace workspace = session.findByPath(Workspace.class, "mop:workspace");
+ POMSession session = pomManager.getSession();
+ Workspace workspace = session.getWorkspace();
Collection<Site> sites = workspace.getSites(ObjectType.PORTAL_SITE);
+ pageInfos = new HashMap<String, PageInfo>();
for (Site site : sites)
{
Page page = site.getRootPage().getChild("pages");
@@ -84,17 +82,9 @@
processPage(page, true);
}
}
-
- /*POMSession session = (POMSession) lifeCycle.getChromattic().openSession();
- Iterator<Page> pages = session.findObjects(ObjectType.PAGE, ObjectType.PORTAL_SITE, null, null);
- while (pages.hasNext())
- {
- Page page = pages.next();
- pageIdToUUIDs.put(page.getName(), page.getObjectId());
- }*/
}
- LinkedList<String> identifiers = new LinkedList<String>(pageIdToUUIDs.keySet());
+ LinkedList<String> identifiers = new LinkedList<String>(pageInfos.keySet());
Collections.sort(identifiers);
return identifiers;
}
@@ -104,7 +94,10 @@
if (!ignoreCurrent)
{
Described described = page.adapt(Described.class);
- pageIdToUUIDs.put(described.getName(), page.getObjectId());
+ PageInfo pageInfo = new PageInfo(page.getObjectId());
+ pageInfos.put(described.getName(), pageInfo);
+ UIContainer container = page.getRootComponent();
+ processContainer(container, pageInfo);
}
Collection<Page> children = page.getChildren();
@@ -119,19 +112,13 @@
public List<String> getWindowIdentifiersFor(String pageId)
{
- ChromatticSession session = lifeCycle.getChromattic().openSession();
- String uuid = pageIdToUUIDs.get(pageId);
- ParameterValidation.throwIllegalArgExceptionIfNull(uuid, "UUID for " + pageId);
- Page page = session.findById(Page.class, uuid);
+ PageInfo pageInfo = pageInfos.get(pageId);
+ ParameterValidation.throwIllegalArgExceptionIfNull(pageInfo, "PageInfo for " + pageId);
- List<String> windows = new LinkedList<String>();
- UIContainer container = page.getRootComponent();
- processContainer(windows, container);
-
- return windows;
+ return pageInfo.getChildrenWindows();
}
- private void processContainer(List<String> windows, UIContainer container)
+ private void processContainer(UIContainer container, PageInfo pageInfo)
{
List<UIComponent> components = container.getComponents();
for (UIComponent component : components)
@@ -142,11 +129,11 @@
Described described = component.adapt(Described.class);
String name = described.getName();
windowIdToUUIDs.put(name, component.getObjectId());
- windows.add(name);
+ pageInfo.addWindow(name);
}
else if (ObjectType.CONTAINER.equals(type))
{
- processContainer(windows, (UIContainer)component);
+ processContainer((UIContainer)component, pageInfo);
}
else
{
@@ -157,10 +144,10 @@
public void assignPortletToWindow(PortletContext portletContext, String windowId, String pageId)
{
- ChromatticSession session = lifeCycle.getChromattic().openSession();
String uuid = windowIdToUUIDs.get(windowId);
ParameterValidation.throwIllegalArgExceptionIfNull(uuid, "UUID for " + windowId);
- UIWindow window = session.findById(UIWindow.class, uuid);
+
+ UIWindow window = pomManager.getSession().findObjectById(ObjectType.WINDOW, uuid);
WSRP wsrp = new WSRP();
String portletId = portletContext.getId();
wsrp.setPortletId(portletId);
@@ -184,4 +171,31 @@
// and re-customize
window.customize(WSRP.CONTENT_TYPE, portletId, wsrp);
}
+
+ private static class PageInfo
+ {
+ private String uuid;
+ private List<String> childrenWindows;
+
+ private PageInfo(String uuid)
+ {
+ this.uuid = uuid;
+ childrenWindows = new LinkedList<String>();
+ }
+
+ public String getUUID()
+ {
+ return uuid;
+ }
+
+ public List<String> getChildrenWindows()
+ {
+ return childrenWindows;
+ }
+
+ public void addWindow(String windowName)
+ {
+ childrenWindows.add(windowName);
+ }
+ }
}
14 years, 3 months
gatein SVN: r4189 - in portal/branches/navcontroller: component/web/controller/src/main/java/org/exoplatform/web/controller and 14 other directories.
by do-not-reply@jboss.org
Author: julien_viet
Date: 2010-09-14 10:01:03 -0400 (Tue, 14 Sep 2010)
New Revision: 4189
Added:
portal/branches/navcontroller/webui/framework/src/main/java/org/exoplatform/webui/application/UIComponentURLBuilder.java
portal/branches/navcontroller/webui/framework/src/main/java/org/exoplatform/webui/url/
portal/branches/navcontroller/webui/framework/src/main/java/org/exoplatform/webui/url/ComponentLocator.java
portal/branches/navcontroller/webui/portlet/src/main/java/org/exoplatform/portal/
portal/branches/navcontroller/webui/portlet/src/main/java/org/exoplatform/portal/url/
portal/branches/navcontroller/webui/portlet/src/main/java/org/exoplatform/portal/url/PortletResourceURL.java
Removed:
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/component/ComponentLocator.java
Modified:
portal/branches/navcontroller/component/web/controller/src/main/java/gatein_router_1_0.xsd
portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/QualifiedName.java
portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/DescriptorBuilder.java
portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/RequestParamDescriptor.java
portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/RouteDescriptor.java
portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/RequestParamDef.java
portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/Route.java
portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/url/ResourceURL.java
portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestDescriptorBuilder.java
portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestHierarchy.java
portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestMatch.java
portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestPortalConfiguration.java
portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestRequestParam.java
portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/router.xml
portal/branches/navcontroller/web/portal/src/main/webapp/WEB-INF/conf/router.xml
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java
portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java
Log:
- allow request param to be optional
- use access type in route parameter
Modified: portal/branches/navcontroller/component/web/controller/src/main/java/gatein_router_1_0.xsd
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/gatein_router_1_0.xsd 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/gatein_router_1_0.xsd 2010-09-14 14:01:03 UTC (rev 4189)
@@ -38,15 +38,23 @@
<xs:complexType name="routeType">
<xs:sequence>
- <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="request-param" type="requestParamType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="route" type="routeType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="path" type="xs:string" use="required"/>
</xs:complexType>
- <xs:complexType name="parameterType">
+ <xs:complexType name="paramType">
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
+ <xs:complexType name="requestParamType">
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="matchName" type="xs:string" use="required"/>
+ <xs:attribute name="matchValue" type="xs:string" use="optional"/>
+ <xs:attribute name="required" type="xs:boolean" use="optional"/>
+ </xs:complexType>
+
</xs:schema>
\ No newline at end of file
Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/QualifiedName.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/QualifiedName.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/QualifiedName.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -92,6 +92,18 @@
return name;
}
+ public String getValue()
+ {
+ if (qualifier.isEmpty())
+ {
+ return name;
+ }
+ else
+ {
+ return "{" + qualifier + "}" + name;
+ }
+ }
+
@Override
public int hashCode()
{
Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/DescriptorBuilder.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/DescriptorBuilder.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/DescriptorBuilder.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -40,8 +40,11 @@
private static final QName routeQN = new QName("http://www.gatein.org/xml/ns/gatein_router_1_0", "route");
/** . */
- private static final QName parameterQN = new QName("http://www.gatein.org/xml/ns/gatein_router_1_0", "parameter");
+ private static final QName paramQN = new QName("http://www.gatein.org/xml/ns/gatein_router_1_0", "param");
+ /** . */
+ private static final QName requestParamQN = new QName("http://www.gatein.org/xml/ns/gatein_router_1_0", "request-param");
+
public RouterDescriptor build(XMLStreamReader reader) throws Exception
{
RouterDescriptor routerDesc = new RouterDescriptor();
@@ -68,12 +71,20 @@
SMInputCursor childC = routeC.childElementCursor();
while (childC.getNext() != null)
{
- if (childC.getQName().equals(parameterQN))
+ if (childC.getQName().equals(paramQN))
{
String name = childC.getAttrValue("name");
String value = childC.getAttrValue("value");
- routeDesc.addParameter(QualifiedName.parse(name), value);
+ routeDesc.addParam(QualifiedName.parse(name), value);
}
+ else if (childC.getQName().equals(requestParamQN))
+ {
+ String name = childC.getAttrValue("name");
+ String matchName = childC.getAttrValue("matchName");
+ String matchValue = childC.getAttrValue("matchValue");
+ String optional = childC.getAttrValue("required");
+ routeDesc.addRequestParam(QualifiedName.parse(name), matchName, matchValue, "true".equals(optional));
+ }
else if (childC.getQName().equals(routeQN))
{
build(childC, routeDesc.getChildren());
Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/RequestParamDescriptor.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/RequestParamDescriptor.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/RequestParamDescriptor.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -29,15 +29,18 @@
{
/** . */
- private QualifiedName name;
+ private final QualifiedName name;
/** . */
- private String matchName;
+ private final String matchName;
/** . */
- private String matchValue;
+ private final String matchValue;
- public RequestParamDescriptor(QualifiedName name, String matchName, String matchValue)
+ /** . */
+ private final boolean required;
+
+ public RequestParamDescriptor(QualifiedName name, String matchName, String matchValue, boolean required)
{
if (name == null)
{
@@ -47,15 +50,12 @@
{
throw new NullPointerException("No null match name accepted");
}
- if (matchValue == null)
- {
- throw new NullPointerException("No null match value accepted");
- }
//
this.name = name;
this.matchName = matchName;
this.matchValue = matchValue;
+ this.required = required;
}
public QualifiedName getName()
@@ -72,4 +72,9 @@
{
return matchValue;
}
+
+ public boolean isRequired()
+ {
+ return required;
+ }
}
Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/RouteDescriptor.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/RouteDescriptor.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/metadata/RouteDescriptor.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -37,7 +37,7 @@
private final String path;
/** . */
- private final Map<QualifiedName, String> parameters;
+ private final Map<QualifiedName, String> params;
/** . */
private final Map<String, RequestParamDescriptor> requestParams;
@@ -48,7 +48,7 @@
public RouteDescriptor(String path)
{
this.path = path;
- this.parameters = new HashMap<QualifiedName, String>();
+ this.params = new HashMap<QualifiedName, String>();
this.requestParams = new HashMap<String, RequestParamDescriptor>();
this.children = new ArrayList<RouteDescriptor>();
}
@@ -58,32 +58,27 @@
return path;
}
- public RouteDescriptor addParameter(QualifiedName name, String value)
+ public RouteDescriptor addParam(QualifiedName name, String value)
{
- parameters.put(name, value);
+ params.put(name, value);
return this;
}
- public RouteDescriptor addParameter(String name, String value)
+ public RouteDescriptor addParam(String name, String value)
{
- return addParameter(QualifiedName.parse(name), value);
+ return addParam(QualifiedName.parse(name), value);
}
- public Map<QualifiedName, String> getParameters()
+ public Map<QualifiedName, String> getParams()
{
- return parameters;
+ return params;
}
- public RouteDescriptor addRequestParam(QualifiedName name, String matchName, String matchValue)
+ public RouteDescriptor addRequestParam(QualifiedName name, String matchName, String matchValue, boolean required)
{
- return addRequestParam(new RequestParamDescriptor(name, matchName, matchValue));
+ return addRequestParam(new RequestParamDescriptor(name, matchName, matchValue, required));
}
- public RouteDescriptor addRequestParam(String name, String matchName, String matchValue)
- {
- return addRequestParam(QualifiedName.parse(name), matchName, matchValue);
- }
-
public RouteDescriptor addRequestParam(RequestParamDescriptor requestParam)
{
requestParams.put(requestParam.getMatchName(), requestParam);
Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/RequestParamDef.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/RequestParamDef.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/RequestParamDef.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -40,6 +40,9 @@
/** . */
final Pattern matchValue;
+ /** . */
+ final boolean required;
+
RequestParamDef(RequestParamDescriptor descriptor)
{
if (descriptor == null)
@@ -48,47 +51,53 @@
}
//
- PatternBuilder matchValue = new PatternBuilder();
- matchValue.expr("^");
- int level = 0;
- for (char c : descriptor.getMatchValue().toCharArray())
+ Pattern matchValue = null;
+ if (descriptor.getMatchValue() != null)
{
- switch (c)
+ PatternBuilder matchValueBuilder = new PatternBuilder();
+ matchValueBuilder.expr("^");
+ int level = 0;
+ for (char c : descriptor.getMatchValue().toCharArray())
{
- case '{':
+ switch (c)
+ {
+ case '{':
- if (level++ > 0)
- {
- matchValue.expr('{');
- }
- break;
- case '}':
- if (--level > 0)
- {
- matchValue.expr('}');
- }
- break;
- default:
- if (level == 0)
- {
- matchValue.litteral(c);
- }
- else
- {
- matchValue.expr(c);
- }
- break;
+ if (level++ > 0)
+ {
+ matchValueBuilder.expr('{');
+ }
+ break;
+ case '}':
+ if (--level > 0)
+ {
+ matchValueBuilder.expr('}');
+ }
+ break;
+ default:
+ if (level == 0)
+ {
+ matchValueBuilder.litteral(c);
+ }
+ else
+ {
+ matchValueBuilder.expr(c);
+ }
+ break;
+ }
}
+ matchValueBuilder.expr("$");
+ matchValue = matchValueBuilder.build();
}
- matchValue.expr("$");
//
this.name = descriptor.getName();
this.matchName = descriptor.getMatchName();
- this.matchValue = matchValue.build();
+ this.matchValue = matchValue;
+ this.required = descriptor.isRequired();
}
- RequestParamDef(QualifiedName name, String matchName, Pattern matchValue)
+ RequestParamDef(QualifiedName name, String matchName, Pattern matchValue, boolean required)
{
if (name == null)
{
@@ -107,6 +116,7 @@
this.name = name;
this.matchName = matchName;
this.matchValue = matchValue;
+ this.required = required;
}
public QualifiedName getName()
@@ -123,4 +133,14 @@
{
return matchValue;
}
+
+ public boolean matchValue(String value)
+ {
+ return matchValue == null || matchValue.matcher(value).matches();
+ }
+
+ public boolean isRequired()
+ {
+ return required;
+ }
}
Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/Route.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/Route.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/controller/router/Route.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -155,7 +155,7 @@
String a = blah.get(requestParamDef.name);
if (a != null)
{
- if (requestParamDef.matchValue.matcher(a).matches())
+ if (requestParamDef.matchValue(a))
{
//
abc.remove(requestParamDef.name);
@@ -231,25 +231,24 @@
{
for (RequestParamDef requestParamDef : requestParamDefs.values())
{
+ String value = null;
String[] values = requestParams.get(requestParamDef.getMatchName());
- if (values != null && values.length > 0)
+ if (values != null && values.length > 0 && values[0] != null)
{
- String value = values[0];
- if (value != null)
+ value = values[0];
+ }
+ if (value != null && requestParamDef.matchValue(value))
+ {
+ if (routeRequestParams.isEmpty())
{
- Matcher matcher = requestParamDef.matchValue.matcher(value);
- if (matcher.matches())
- {
- if (routeRequestParams.isEmpty())
- {
- routeRequestParams = new HashMap<QualifiedName, String>();
- }
- routeRequestParams.put(requestParamDef.getName(), value);
- continue;
- }
+ routeRequestParams = new HashMap<QualifiedName, String>();
}
+ routeRequestParams.put(requestParamDef.getName(), value);
}
- return null;
+ else if (requestParamDef.isRequired())
+ {
+ return null;
+ }
}
}
@@ -450,7 +449,7 @@
//
route.terminal = true;
- route.routeParameters.putAll(descriptor.getParameters());
+ route.routeParameters.putAll(descriptor.getParams());
for (RequestParamDescriptor requestParamDescriptor : descriptor.getRequestParams().values())
{
RequestParamDef requestParamDef = new RequestParamDef(requestParamDescriptor);
Modified: portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/url/ResourceURL.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/url/ResourceURL.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/component/web/controller/src/main/java/org/exoplatform/web/url/ResourceURL.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -34,6 +34,9 @@
/** . */
protected Boolean ajax;
+ /** . */
+ protected String confirm;
+
/**
* Create a resource URL instance.
*
@@ -51,6 +54,7 @@
//
this.locator = locator;
this.ajax = ajax;
+ this.confirm = null;
}
/**
@@ -86,6 +90,26 @@
}
/**
+ * Returns the confirm message.
+ *
+ * @return the confirm message
+ */
+ public String getConfirm()
+ {
+ return confirm;
+ }
+
+ /**
+ * Updates the confirm message.
+ *
+ * @param confirm the new confirm message
+ */
+ public void setConfirm(String confirm)
+ {
+ this.confirm = confirm;
+ }
+
+ /**
* Returns the current resource associated with this URL.
*
* @return the resource
Modified: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestDescriptorBuilder.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestDescriptorBuilder.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestDescriptorBuilder.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -29,7 +29,9 @@
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamReader;
import java.net.URL;
+import java.util.Arrays;
import java.util.Collections;
+import java.util.HashSet;
import java.util.Iterator;
/**
@@ -52,34 +54,52 @@
assertTrue(i.hasNext());
RouteDescriptor route1 = i.next();
assertEquals("/public/{{gtn}sitename}{{gtn}path:.*}", route1.getPath());
- assertEquals(Collections.singletonMap(WebAppController.HANDLER_PARAM, "portal"), route1.getParameters());
+ assertEquals(Collections.singletonMap(WebAppController.HANDLER_PARAM, "portal"), route1.getParams());
//
assertTrue(i.hasNext());
RouteDescriptor route2 = i.next();
assertEquals("/private/{{gtn}sitename}{{gtn}path:.*}", route2.getPath());
- assertEquals(Collections.singletonMap(WebAppController.HANDLER_PARAM, "portal"), route2.getParameters());
+ assertEquals(Collections.singletonMap(WebAppController.HANDLER_PARAM, "portal"), route2.getParams());
//
assertTrue(i.hasNext());
RouteDescriptor route3 = i.next();
assertEquals("/upload", route3.getPath());
- assertEquals(Collections.singletonMap(WebAppController.HANDLER_PARAM, "upload"), route3.getParameters());
+ assertEquals(Collections.singletonMap(WebAppController.HANDLER_PARAM, "upload"), route3.getParams());
//
assertTrue(i.hasNext());
RouteDescriptor route4 = i.next();
assertEquals("/download", route4.getPath());
- assertEquals(Collections.singletonMap(WebAppController.HANDLER_PARAM, "download"), route4.getParameters());
+ assertEquals(Collections.singletonMap(WebAppController.HANDLER_PARAM, "download"), route4.getParams());
//
assertTrue(i.hasNext());
RouteDescriptor route5 = i.next();
assertEquals("/a", route5.getPath());
- assertEquals(Collections.singletonMap(new QualifiedName("a"), "a_value"), route5.getParameters());
+ assertEquals(Collections.singletonMap(new QualifiedName("a"), "a_value"), route5.getParams());
assertEquals(1, route5.getChildren().size());
RouteDescriptor route5_1 = route5.getChildren().get(0);
assertEquals("/b", route5_1.getPath());
- assertEquals(Collections.singletonMap(new QualifiedName("b"), "b_value"), route5_1.getParameters());
+ assertEquals(Collections.singletonMap(new QualifiedName("b"), "b_value"), route5_1.getParams());
+
+ //
+ assertTrue(i.hasNext());
+ RouteDescriptor route6 = i.next();
+ assertEquals("/b", route6.getPath());
+ assertEquals(new HashSet<String>(Arrays.asList("foo", "bar", "juu")), route6.getRequestParams().keySet());
+ assertEquals(QualifiedName.parse("foo"), route6.getRequestParams().get("foo").getName());
+ assertEquals("foo", route6.getRequestParams().get("foo").getMatchName());
+ assertEquals(null, route6.getRequestParams().get("foo").getMatchValue());
+ assertEquals(false, route6.getRequestParams().get("foo").isRequired());
+ assertEquals(QualifiedName.parse("bar"), route6.getRequestParams().get("bar").getName());
+ assertEquals("bar", route6.getRequestParams().get("bar").getMatchName());
+ assertEquals("bar", route6.getRequestParams().get("bar").getMatchValue());
+ assertEquals(false, route6.getRequestParams().get("bar").isRequired());
+ assertEquals(QualifiedName.parse("juu"), route6.getRequestParams().get("juu").getName());
+ assertEquals("juu", route6.getRequestParams().get("juu").getMatchName());
+ assertEquals("juu", route6.getRequestParams().get("juu").getMatchValue());
+ assertEquals(true, route6.getRequestParams().get("juu").isRequired());
}
}
Modified: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestHierarchy.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestHierarchy.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestHierarchy.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -38,8 +38,8 @@
{
RouteDescriptor descriptor = new RouteDescriptor("/a").
- addParameter("foo", "bar").
- addChild(new RouteDescriptor("/b").addParameter("juu", "daa"));
+ addParam("foo", "bar").
+ addChild(new RouteDescriptor("/b").addParam("juu", "daa"));
//
Router router = new Router(new RouterDescriptor().addRoute(descriptor));
Modified: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestMatch.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestMatch.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestMatch.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -132,7 +132,7 @@
public void testParameterPropagationToDescendants() throws Exception
{
RouterDescriptor routerMD = new RouterDescriptor();
- routerMD.addRoute(new RouteDescriptor("/").addParameter("p", "a"));
+ routerMD.addRoute(new RouteDescriptor("/").addParam("p", "a"));
routerMD.addRoute(new RouteDescriptor("/a"));
Router router = new Router(routerMD);
assertEquals(Collections.singletonMap(new QualifiedName("p"), "a"), router.route(("/a")));
@@ -199,7 +199,7 @@
public void testTwoRules1() throws Exception
{
RouterDescriptor routerMD = new RouterDescriptor();
- routerMD.addRoute(new RouteDescriptor("/a").addParameter("b", "b"));
+ routerMD.addRoute(new RouteDescriptor("/a").addParam("b", "b"));
routerMD.addRoute(new RouteDescriptor("/a/b"));
Router router = new Router(routerMD);
@@ -211,7 +211,7 @@
public void testTwoRules2() throws Exception
{
RouterDescriptor routerMD = new RouterDescriptor();
- routerMD.addRoute(new RouteDescriptor("/{a}").addParameter("b", "b"));
+ routerMD.addRoute(new RouteDescriptor("/{a}").addParam("b", "b"));
routerMD.addRoute(new RouteDescriptor("/{a}/b"));
Router router = new Router(routerMD);
Modified: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestPortalConfiguration.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestPortalConfiguration.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestPortalConfiguration.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -23,6 +23,7 @@
import org.exoplatform.web.controller.metadata.RouteDescriptor;
import org.exoplatform.web.controller.metadata.RouterDescriptor;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
@@ -43,26 +44,47 @@
//
RouteDescriptor portalRouteMD = new RouteDescriptor("/private/{{gtn}sitename}{{gtn}path:.*}");
- portalRouteMD.addParameter(new QualifiedName("gtn", "controller"), "site");
- portalRouteMD.addParameter(new QualifiedName("gtn", "sitetype"), "portal");
+ portalRouteMD.addParam(new QualifiedName("gtn", "controller"), "site");
+ portalRouteMD.addParam(new QualifiedName("gtn", "sitetype"), "portal");
+ portalRouteMD.addRequestParam(new QualifiedName("gtn", "componentid"), "portal:componentId", null, false);
routerMD.addRoute(portalRouteMD);
//
+ RouteDescriptor portalRouteMD2 = new RouteDescriptor("/private/{{gtn}sitename}{{gtn}path:.*}");
+ portalRouteMD2.addParam(new QualifiedName("gtn", "controller"), "site");
+ portalRouteMD2.addParam(new QualifiedName("gtn", "sitetype"), "portal");
+ routerMD.addRoute(portalRouteMD2);
+
+ //
RouteDescriptor groupRouteMD = new RouteDescriptor("/groups/{{gtn}sitename}{{gtn}path:.*}");
- portalRouteMD.addParameter(new QualifiedName("gtn", "controller"), "site");
- groupRouteMD.addParameter(new QualifiedName("gtn", "sitetype"), "group");
+ portalRouteMD.addParam(new QualifiedName("gtn", "controller"), "site");
+ groupRouteMD.addParam(new QualifiedName("gtn", "sitetype"), "group");
routerMD.addRoute(groupRouteMD);
//
RouteDescriptor userRouteMD = new RouteDescriptor("/users/{{gtn}sitename}{{gtn}path:.*}");
- portalRouteMD.addParameter(new QualifiedName("gtn", "controller"), "site");
- userRouteMD.addParameter(new QualifiedName("gtn", "sitetype"), "user");
+ portalRouteMD.addParam(new QualifiedName("gtn", "controller"), "site");
+ userRouteMD.addParam(new QualifiedName("gtn", "sitetype"), "user");
routerMD.addRoute(userRouteMD);
//
this.router = new Router(routerMD);
}
+ public void testComponent() throws Exception
+ {
+ Map<QualifiedName, String> expectedParameters = new HashMap<QualifiedName, String>();
+ expectedParameters.put(new QualifiedName("gtn", "controller"), "site");
+ expectedParameters.put(new QualifiedName("gtn", "sitename"), "classic");
+ expectedParameters.put(new QualifiedName("gtn", "sitetype"), "portal");
+ expectedParameters.put(new QualifiedName("gtn", "path"), "");
+ expectedParameters.put(new QualifiedName("gtn", "componentid"), "foo");
+
+ //
+ assertEquals(expectedParameters, router.route("/private/classic", Collections.singletonMap("portal:componentId", new String[]{"foo"})));
+ assertEquals("/private/classic", router.render(expectedParameters));
+ }
+
public void testPrivateClassic() throws Exception
{
Map<QualifiedName, String> expectedParameters = new HashMap<QualifiedName, String>();
Modified: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestRequestParam.java
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestRequestParam.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/TestRequestParam.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -37,7 +37,7 @@
public void testRoot() throws Exception
{
RouterDescriptor descriptor = new RouterDescriptor();
- descriptor.addRoute(new RouteDescriptor("/").addRequestParam("foo", "a", "a"));
+ descriptor.addRoute(new RouteDescriptor("/").addRequestParam(QualifiedName.parse("foo"), "a", "a", true));
Router router = new Router(descriptor);
//
@@ -55,7 +55,7 @@
public void testSegment() throws Exception
{
RouterDescriptor descriptor = new RouterDescriptor();
- descriptor.addRoute(new RouteDescriptor("/a").addRequestParam("foo", "a", "a"));
+ descriptor.addRoute(new RouteDescriptor("/a").addRequestParam(QualifiedName.parse("foo"), "a", "a", true));
Router router = new Router(descriptor);
//
@@ -73,7 +73,7 @@
public void testValuePattern() throws Exception
{
RouterDescriptor descriptor = new RouterDescriptor();
- descriptor.addRoute(new RouteDescriptor("/a").addRequestParam("foo", "a", "{[0-9]+}"));
+ descriptor.addRoute(new RouteDescriptor("/a").addRequestParam(QualifiedName.parse("foo"), "a", "{[0-9]+}", true));
Router router = new Router(descriptor);
//
@@ -93,8 +93,8 @@
public void testPrecedence() throws Exception
{
RouterDescriptor descriptor = new RouterDescriptor();
- descriptor.addRoute(new RouteDescriptor("/a").addRequestParam("foo", "a", "a"));
- descriptor.addRoute(new RouteDescriptor("/a").addRequestParam("bar", "b", "b"));
+ descriptor.addRoute(new RouteDescriptor("/a").addRequestParam(QualifiedName.parse("foo"), "a", "a", true));
+ descriptor.addRoute(new RouteDescriptor("/a").addRequestParam(QualifiedName.parse("bar"), "b", "b", true));
Router router = new Router(descriptor);
//
@@ -117,7 +117,7 @@
public void testInheritance() throws Exception
{
RouterDescriptor descriptor = new RouterDescriptor();
- descriptor.addRoute(new RouteDescriptor("/a").addRequestParam("foo", "a", "a").addChild(new RouteDescriptor("/b").addRequestParam("bar", "b", "b")));
+ descriptor.addRoute(new RouteDescriptor("/a").addRequestParam(QualifiedName.parse("foo"), "a", "a", true).addChild(new RouteDescriptor("/b").addRequestParam(QualifiedName.parse("bar"), "b", "b", true)));
Router router = new Router(descriptor);
//
@@ -148,4 +148,15 @@
assertEquals(expectedRequestParameters, renderContext2.getQueryParams());
}
+ public void testOptional() throws Exception
+ {
+ RouterDescriptor descriptor = new RouterDescriptor();
+ descriptor.addRoute(new RouteDescriptor("/").addRequestParam(QualifiedName.parse("foo"), "a", "a", false));
+ Router router = new Router(descriptor);
+
+ //
+ assertEquals(Collections.<QualifiedName, String>emptyMap(), router.route("/", Collections.<String, String[]>emptyMap()));
+ assertEquals(Collections.singletonMap(QualifiedName.parse("foo"), "a"), router.route("/", Collections.singletonMap("a", new String[]{"a"})));
+ }
+
}
Modified: portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/router.xml
===================================================================
--- portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/router.xml 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/component/web/controller/src/test/java/org/exoplatform/web/controller/router/router.xml 2010-09-14 14:01:03 UTC (rev 4189)
@@ -4,26 +4,32 @@
xmlns="http://www.gatein.org/xml/ns/gatein_router_1_0">
<route path="/public/{{gtn}sitename}{{gtn}path:.*}">
- <parameter name="{gtn}handler" value="portal"/>
+ <param name="{gtn}handler" value="portal"/>
</route>
<route path="/private/{{gtn}sitename}{{gtn}path:.*}">
- <parameter name="{gtn}handler" value="portal"/>
+ <param name="{gtn}handler" value="portal"/>
</route>
<route path="/upload">
- <parameter name="{gtn}handler" value="upload"/>
+ <param name="{gtn}handler" value="upload"/>
</route>
<route path="/download">
- <parameter name="{gtn}handler" value="download"/>
+ <param name="{gtn}handler" value="download"/>
</route>
<route path="/a">
- <parameter name="a" value="a_value"/>
+ <param name="a" value="a_value"/>
<route path="/b">
- <parameter name="b" value="b_value"/>
+ <param name="b" value="b_value"/>
</route>
</route>
+ <route path="/b">
+ <request-param name="foo" matchName="foo"/>
+ <request-param name="bar" matchName="bar" matchValue="bar"/>
+ <request-param name="juu" matchName="juu" matchValue="juu" required="true"/>
+ </route>
+
</router>
\ No newline at end of file
Modified: portal/branches/navcontroller/web/portal/src/main/webapp/WEB-INF/conf/router.xml
===================================================================
--- portal/branches/navcontroller/web/portal/src/main/webapp/WEB-INF/conf/router.xml 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/web/portal/src/main/webapp/WEB-INF/conf/router.xml 2010-09-14 14:01:03 UTC (rev 4189)
@@ -4,26 +4,38 @@
xmlns="http://www.gatein.org/xml/ns/gatein_router_1_0">
<route path="/public/{{gtn}sitename}{{gtn}path:.*}">
- <parameter name="{gtn}handler" value="portal"/>
+ <param name="{gtn}handler" value="portal"/>
+ <param name="{gtn}access" value="public"/>
+<!--
+ <request-param name="{gtn}componentid" matchName="portal:componentId" required="false"/>
+ <request-param name="{gtn}action" matchName="portal:action" required="false"/>
+ <request-param name="{gtn}objectid" matchName="objectId" required="false"/>
+-->
</route>
<route path="/private/{{gtn}sitename}{{gtn}path:.*}">
- <parameter name="{gtn}handler" value="portal"/>
+ <param name="{gtn}handler" value="portal"/>
+ <param name="{gtn}access" value="private"/>
+<!--
+ <request-param name="{gtn}componentid" matchName="portal:componentId" required="false"/>
+ <request-param name="{gtn}action" matchName="portal:action" required="false"/>
+ <request-param name="{gtn}objectid" matchName="objectId" required="false"/>
+-->
</route>
<route path="/upload">
- <parameter name="{gtn}handler" value="upload"/>
+ <param name="{gtn}handler" value="upload"/>
</route>
<route path="/download">
- <parameter name="{gtn}handler" value="download"/>
+ <param name="{gtn}handler" value="download"/>
</route>
<!-- Map the sitemap navigation on the /foo path -->
<route path="/foo">
- <parameter name="{gtn}sitename" value="classic"/>
- <parameter name="{gtn}path" value="/sitemap"/>
- <parameter name="{gtn}handler" value="portal"/>
+ <param name="{gtn}sitename" value="classic"/>
+ <param name="{gtn}path" value="/sitemap"/>
+ <param name="{gtn}handler" value="portal"/>
</route>
</router>
\ No newline at end of file
Added: portal/branches/navcontroller/webui/framework/src/main/java/org/exoplatform/webui/application/UIComponentURLBuilder.java
===================================================================
--- portal/branches/navcontroller/webui/framework/src/main/java/org/exoplatform/webui/application/UIComponentURLBuilder.java (rev 0)
+++ portal/branches/navcontroller/webui/framework/src/main/java/org/exoplatform/webui/application/UIComponentURLBuilder.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2010 eXo Platform SAS.
+ *
+ * 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.exoplatform.webui.application;
+
+import org.exoplatform.web.application.Parameter;
+import org.exoplatform.web.application.URLBuilder;
+import org.exoplatform.web.url.ResourceURL;
+import org.exoplatform.webui.core.UIComponent;
+import org.exoplatform.webui.url.ComponentLocator;
+
+/**
+ * @author <a href="mailto:julien.viet@exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public abstract class UIComponentURLBuilder extends URLBuilder<UIComponent>
+{
+
+ /** . */
+ private final ResourceURL<UIComponent, ComponentLocator> url;
+
+/*
+ public UIComponentURLBuilder(ResourceURL<UIComponent, ComponentLocator> url)
+ {
+ this.url = url;
+ }
+*/
+
+ public UIComponentURLBuilder(String baseURL)
+ {
+ super(baseURL);
+
+ //
+ url = null;
+ }
+
+ @Override
+ public String createAjaxURL(UIComponent targetComponent, String action, String confirm, String targetBeanId, Parameter[] params)
+ {
+ return createURL(true, targetComponent, action, confirm, targetBeanId, params);
+ }
+
+ @Override
+ public String createURL(UIComponent targetComponent, String action, String confirm, String targetBeanId, Parameter[] params)
+ {
+ return createURL(false, targetComponent, action, confirm, targetBeanId, params);
+ }
+
+ private String createURL(boolean ajax, UIComponent targetComponent, String action, String confirm, String targetBeanId, Parameter[] params)
+ {
+ url.setAjax(ajax);
+ url.setConfirm(confirm);
+ url.setResource(targetComponent);
+
+ //
+ ComponentLocator locator = url.getResourceLocator();
+
+ //
+ locator.setAction(action);
+ locator.setTargetBeanId(targetBeanId);
+ for (Parameter param : params)
+ {
+ locator.addParameter(param);
+ }
+
+ //
+ return url.toString();
+ }
+}
Copied: portal/branches/navcontroller/webui/framework/src/main/java/org/exoplatform/webui/url/ComponentLocator.java (from rev 4173, portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/component/ComponentLocator.java)
===================================================================
--- portal/branches/navcontroller/webui/framework/src/main/java/org/exoplatform/webui/url/ComponentLocator.java (rev 0)
+++ portal/branches/navcontroller/webui/framework/src/main/java/org/exoplatform/webui/url/ComponentLocator.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -0,0 +1,121 @@
+/*
+ * Copyright (C) 2010 eXo Platform SAS.
+ *
+ * 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.exoplatform.webui.url;
+
+import org.exoplatform.web.application.Parameter;
+import org.exoplatform.web.controller.QualifiedName;
+import org.exoplatform.web.url.ResourceLocator;
+import org.exoplatform.web.url.ResourceType;
+import org.exoplatform.webui.core.UIComponent;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:julien.viet@exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class ComponentLocator implements ResourceLocator<UIComponent>
+{
+
+ /** . */
+ public static final ResourceType<UIComponent, ComponentLocator> TYPE = new ResourceType<UIComponent, ComponentLocator>() {};
+
+ /** . */
+ public static final QualifiedName COMPONENT = new QualifiedName("gtn", "componentid");
+
+ /** . */
+ public static final QualifiedName ACTION = new QualifiedName("gtn", "action");
+
+ /** . */
+ public static final QualifiedName TARGET = new QualifiedName("gtn", "objectid");
+
+ /** . */
+ private UIComponent resource;
+
+ /** . */
+ private Map<QualifiedName, String> parameters;
+
+ public ComponentLocator()
+ {
+ this.parameters = new HashMap<QualifiedName, String>();
+ }
+
+ private void setParameter(QualifiedName parameterName, String parameterValue)
+ {
+ if (parameterValue == null)
+ {
+ parameters.remove(parameterName);
+ }
+ else
+ {
+ parameters.put(parameterName, parameterValue);
+ }
+ }
+
+ public UIComponent getResource()
+ {
+ return resource;
+ }
+
+ public void setResource(UIComponent resource)
+ {
+ setParameter(COMPONENT, resource != null ? resource.getId() : null);
+
+ //
+ this.resource = resource;
+ }
+
+ public String getAction()
+ {
+ return parameters.get(ACTION);
+ }
+
+ public void setAction(String action)
+ {
+ setParameter(ACTION, action);
+ }
+
+ public String getTargetBeanId()
+ {
+ return parameters.get(TARGET);
+ }
+
+ public void setTargetBeanId(String targetBeanId)
+ {
+ setParameter(TARGET, targetBeanId);
+ }
+
+ public void addParameter(Parameter param)
+ {
+ throw new UnsupportedOperationException("is it really used?");
+ }
+
+ public Set<QualifiedName> getParameterNames()
+ {
+ return parameters.keySet();
+ }
+
+ public String getParameterValue(QualifiedName parameterName)
+ {
+ return parameters.get(parameterName);
+ }
+}
Modified: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestContext.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -102,16 +102,24 @@
/** The path decoded from the request. */
private final String nodePath_;
- private String requestURI_;
+ /** . */
+ private final String access;
- private String portalURI;
+ /** . */
+ private final String requestURI_;
- private int accessPath = -1;
+ /** . */
+ private final String portalURI;
- private HttpServletRequest request_;
+ /** . */
+ private final int accessPath;
- private HttpServletResponse response_;
+ /** . */
+ private final HttpServletRequest request_;
+ /** . */
+ private final HttpServletResponse response_;
+
private String cacheLevel_ = "cacheLevelPortlet";
private boolean ajaxRequest_ = true;
@@ -157,7 +165,8 @@
WebuiApplication app,
ControllerContext controllerContext,
String requestSiteName,
- String requestPath) throws Exception
+ String requestPath,
+ String access) throws Exception
{
super(app);
@@ -224,33 +233,41 @@
nodePath_ = pathInfo.substring(colonIndex, pathInfo.length());
*/
//
- portalOwner_ = requestSiteName;
- nodePath_ = requestPath;
+ this.portalOwner_ = requestSiteName;
+ this.nodePath_ = requestPath;
+ this.access = access;
// portalURI = requestURI_.substring(0, requestURI_.lastIndexOf(nodePath_)) + "/";
Map<QualifiedName, String> tmp = new HashMap<QualifiedName, String>();
tmp.put(WebAppController.HANDLER_PARAM, "portal");
+ tmp.put(PortalRequestHandler.ACCESS, access);
tmp.put(PortalRequestHandler.REQUEST_SITE_NAME, requestSiteName);
tmp.put(PortalRequestHandler.REQUEST_PATH, "/");
portalURI = controllerContext.renderURL(tmp);
//
- if (requestURI_.indexOf("/public/") >= 0)
+ if (access.endsWith("public"))
{
accessPath = PUBLIC_ACCESS;
}
- else if (requestURI_.indexOf("/private/") >= 0)
+ else if (access.equals("private"))
{
accessPath = PRIVATE_ACCESS;
}
+ else
+ {
+ accessPath = -1;
+ }
+ //
urlBuilder = new PortalURLBuilder(requestURI_);
+// urlBuilder = new PortalURLBuilder(createURL(ComponentLocator.TYPE));
}
@Override
public <R, L extends ResourceLocator<R>> ResourceURL<R, L> newURL(ResourceType<R, L> resourceType, L locator)
{
- return new PortalURL<R, L>(this, locator, false);
+ return new PortalURL<R, L>(this, locator, false, portalOwner_, access);
}
public ControllerContext getControllerContext()
Modified: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/application/PortalRequestHandler.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -57,6 +57,9 @@
/** . */
public static final QualifiedName REQUEST_SITE_NAME = new QualifiedName("gtn", "sitename");
+ /** . */
+ public static final QualifiedName ACCESS = new QualifiedName("gtn", "access");
+
public String getHandlerName()
{
return "portal";
@@ -99,10 +102,11 @@
//
String requestPath = controllerContext.getParameter(REQUEST_PATH);
String requestSiteName = controllerContext.getParameter(REQUEST_SITE_NAME);
+ String access = controllerContext.getParameter(ACCESS);
//
PortalApplication app = controllerContext.getController().getApplication(PortalApplication.PORTAL_APPLICATION_ID);
- PortalRequestContext context = new PortalRequestContext(app, controllerContext, requestSiteName, requestPath);
+ PortalRequestContext context = new PortalRequestContext(app, controllerContext, requestSiteName, requestPath, access);
if (context.getPortalOwner().length() == 0) {
res.sendRedirect(req.getContextPath());
return;
Modified: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/PortalURL.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -44,12 +44,18 @@
private final PortalRequestContext requestContext;
/** . */
+ private final String access;
+
+ /** . */
+ private final String siteName;
+
+ /** . */
private StringBuilder buffer;
/** . */
private SimpleRenderContext renderContext;
- public PortalURL(PortalRequestContext requestContext, L locator, Boolean ajax)
+ public PortalURL(PortalRequestContext requestContext, L locator, Boolean ajax, String siteName, String access)
{
super(locator, ajax);
@@ -60,7 +66,9 @@
}
//
+ this.siteName = siteName;
this.requestContext = requestContext;
+ this.access = access;
}
public String toString()
@@ -90,8 +98,9 @@
// julien : find out how to change the hardcoded "classic"
Map<QualifiedName, String> parameters = new HashMap<QualifiedName, String>();
- parameters.put(PortalRequestHandler.REQUEST_SITE_NAME, "classic");
parameters.put(WebAppController.HANDLER_PARAM, "portal");
+ parameters.put(PortalRequestHandler.ACCESS, access);
+ parameters.put(PortalRequestHandler.REQUEST_SITE_NAME, siteName);
//
for (QualifiedName parameterName : locator.getParameterNames())
Deleted: portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/component/ComponentLocator.java
===================================================================
--- portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/component/ComponentLocator.java 2010-09-14 13:24:11 UTC (rev 4188)
+++ portal/branches/navcontroller/webui/portal/src/main/java/org/exoplatform/portal/url/component/ComponentLocator.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2010 eXo Platform SAS.
- *
- * 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.exoplatform.portal.url.component;
-
-import org.exoplatform.web.controller.QualifiedName;
-import org.exoplatform.web.url.ResourceLocator;
-import org.exoplatform.webui.core.UIComponent;
-
-import java.util.Collections;
-import java.util.Set;
-
-/**
- * @author <a href="mailto:julien.viet@exoplatform.com">Julien Viet</a>
- * @version $Revision$
- */
-public class ComponentLocator implements ResourceLocator<UIComponent>
-{
-
- /** . */
- private UIComponent resource;
-
- public UIComponent getResource()
- {
- return resource;
- }
-
- public void setResource(UIComponent resource)
- {
- this.resource = resource;
- }
-
- public Set<QualifiedName> getParameterNames()
- {
- return Collections.emptySet();
- }
-
- public String getParameterValue(QualifiedName parameterName)
- {
- return null;
- }
-}
Added: portal/branches/navcontroller/webui/portlet/src/main/java/org/exoplatform/portal/url/PortletResourceURL.java
===================================================================
--- portal/branches/navcontroller/webui/portlet/src/main/java/org/exoplatform/portal/url/PortletResourceURL.java (rev 0)
+++ portal/branches/navcontroller/webui/portlet/src/main/java/org/exoplatform/portal/url/PortletResourceURL.java 2010-09-14 14:01:03 UTC (rev 4189)
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2010 eXo Platform SAS.
+ *
+ * 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.exoplatform.portal.url;
+
+import org.exoplatform.web.controller.QualifiedName;
+import org.exoplatform.web.url.ResourceLocator;
+import org.exoplatform.web.url.ResourceURL;
+
+import javax.portlet.MimeResponse;
+import javax.portlet.PortletURL;
+
+/**
+ * @author <a href="mailto:julien.viet@exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class PortletResourceURL<R, L extends ResourceLocator<R>> extends ResourceURL<R, L>
+{
+
+ /** . */
+ public static final QualifiedName CONFIRM = new QualifiedName("gtn", "confirm");
+
+ /** . */
+ private PortletURL url;
+
+ private final MimeResponse response;
+
+
+ public PortletResourceURL(MimeResponse response, L locator, Boolean ajax) throws NullPointerException
+ {
+ super(locator, ajax);
+
+ //
+ this.response = response;
+ }
+
+ @Override
+ public String toString()
+ {
+ if (url == null)
+ {
+ url = response.createActionURL();
+ }
+
+ //
+ for (QualifiedName parameterName : locator.getParameterNames())
+ {
+ String parameterValue = locator.getParameterValue(parameterName);
+ url.setParameter(parameterName.getValue(), parameterValue);
+ }
+
+ //
+ return url.toString();
+ }
+}
14 years, 3 months
gatein SVN: r4188 - components/wsrp/trunk/api.
by do-not-reply@jboss.org
Author: chris.laprun(a)jboss.com
Date: 2010-09-14 09:24:11 -0400 (Tue, 14 Sep 2010)
New Revision: 4188
Modified:
components/wsrp/trunk/api/pom.xml
Log:
- Use proper PC version. Should fix compilation issue.
Modified: components/wsrp/trunk/api/pom.xml
===================================================================
--- components/wsrp/trunk/api/pom.xml 2010-09-14 12:37:43 UTC (rev 4187)
+++ components/wsrp/trunk/api/pom.xml 2010-09-14 13:24:11 UTC (rev 4188)
@@ -37,7 +37,6 @@
<dependency>
<groupId>org.gatein.pc</groupId>
<artifactId>pc-api</artifactId>
- <version>2.2.0-Beta01-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
14 years, 3 months
gatein SVN: r4187 - epp/portal/branches/EPP_5_1_Branch/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet.
by do-not-reply@jboss.org
Author: thomas.heute(a)jboss.com
Date: 2010-09-14 08:37:43 -0400 (Tue, 14 Sep 2010)
New Revision: 4187
Modified:
epp/portal/branches/EPP_5_1_Branch/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css
Log:
JBEPP-461: Orange right border in navigation portlet for admin pages
Modified: epp/portal/branches/EPP_5_1_Branch/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css
===================================================================
--- epp/portal/branches/EPP_5_1_Branch/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css 2010-09-14 12:12:50 UTC (rev 4186)
+++ epp/portal/branches/EPP_5_1_Branch/portlet/web/src/main/webapp/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.css 2010-09-14 12:37:43 UTC (rev 4187)
@@ -381,10 +381,6 @@
background: #fff;
}
-.UINavigationPortlet .GroupNavigation .UITab .HighlightNavigationTab .MiddleTab .DropDownArrowIcon {
- border-right: 1px solid #ffcf01;
-}
-
.UINavigationPortlet .GroupNavigation .UITab .SelectedNavigationTab .LeftTab {
background: #fff none no-repeat left -28px;
}
14 years, 3 months
gatein SVN: r4186 - epp/portal/tags.
by do-not-reply@jboss.org
Author: thomas.heute(a)jboss.com
Date: 2010-09-14 08:12:50 -0400 (Tue, 14 Sep 2010)
New Revision: 4186
Added:
epp/portal/tags/EPP_5_1_0_ER01/
Log:
Tagging EPP 5.1 ER01
Copied: epp/portal/tags/EPP_5_1_0_ER01 (from rev 4185, epp/portal/branches/EPP_5_1_Branch)
14 years, 3 months
gatein SVN: r4185 - portal/branches/branch-r4047/web/eXoResources/src/main/webapp/javascript/eXo/gadget.
by do-not-reply@jboss.org
Author: kien_nguyen
Date: 2010-09-14 06:19:35 -0400 (Tue, 14 Sep 2010)
New Revision: 4185
Modified:
portal/branches/branch-r4047/web/eXoResources/src/main/webapp/javascript/eXo/gadget/Gadgets.js
Log:
GTNPORTAL-1458 Gadgets UserPrefs bool type doesnot render a checkbox
Modified: portal/branches/branch-r4047/web/eXoResources/src/main/webapp/javascript/eXo/gadget/Gadgets.js
===================================================================
--- portal/branches/branch-r4047/web/eXoResources/src/main/webapp/javascript/eXo/gadget/Gadgets.js 2010-09-14 08:29:04 UTC (rev 4184)
+++ portal/branches/branch-r4047/web/eXoResources/src/main/webapp/javascript/eXo/gadget/Gadgets.js 2010-09-14 10:19:35 UTC (rev 4185)
@@ -669,6 +669,19 @@
}
attEl.appendChild(el);
}
+ else if (type == "bool") {
+ var el = document.createElement("input");
+ el.type = "checkbox";
+ el.name = prefix + att;
+ el.id = elID;
+ if (userPrefs[att] && userPrefs[att] == "true") {
+ el.checked = userPrefs[att];
+ } else {
+ if(prefs[att].default == "true")
+ el.checked = true;
+ }
+ attEl.appendChild(el);
+ }
formEl.appendChild(attEl);
j++;
}
@@ -745,6 +758,8 @@
var userPrefNamePrefix = 'm_' + this.id + '_up_';
var userPrefName = input.name.substring(userPrefNamePrefix.length);
var userPrefValue = input.value;
+ if(input.type == 'checkbox')
+ userPrefValue = input.checked ? "true" : "false";
prefs[userPrefName] = userPrefValue;
}
}
14 years, 3 months
gatein SVN: r4184 - in epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US: modules and 6 other directories.
by do-not-reply@jboss.org
Author: smumford
Date: 2010-09-14 04:29:04 -0400 (Tue, 14 Sep 2010)
New Revision: 4184
Modified:
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default192.java
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/Foundations.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/cluster-config.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/configuration.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/jbosscache-configuration-templates.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/lock-manager-config.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/multilanguage-support.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/query-handler-config.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/search-configuration.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/statistics.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationTokenConfiguration.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Configuration/DatabaseConfiguration.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Configuration/EMailServiceConfiguration.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/GadgetDevelopment/SetupGadgetServer.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/PortalDevelopment/InternationalizationConfiguration.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/PortalDevelopment/Skinning.xml
epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/WSRP.xml
Log:
JBEPP-441: Began reformatting replaceable terms currently formatted as environment variables
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default192.java
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default192.java 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/extras/PortalDevelopment_Skinning/default192.java 2010-09-14 08:29:04 UTC (rev 4184)
@@ -1 +1 @@
-sh $JBOSS_HOME/bin/run.sh -Dexo.product.developing=true
+sh jboss-as/bin/run.sh -Dexo.product.developing=true
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/Foundations.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/Foundations.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/Foundations.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -79,21 +79,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Advanced_Development_Foundations/default.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0" encoding="ISO-8859-1"?>
-<configuration
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd
- http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"
- xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd">
- <component>
- <key>org.exoplatform.services.database.HibernateService</key>
- <type>org.exoplatform.services.database.impl.HibernateServiceImpl</type>
-
- ...
-
- </component>
-</configuration>]]></programlisting>-->
-
</section>
<section id="sect-Reference_Guide-Configuration_syntax-External_Plugins">
@@ -119,32 +104,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Advanced_Development_Foundations/default1.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
-<configuration
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd
- http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"
- xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd">
-
- <external-component-plugins>
- <target-component>org.exoplatform.container.definition.PortalContainerConfig</target-component>
- <component-plugin>
- <!- The name of the plugin ->
- <name>Add PortalContainer Definitions</name>
-
- <!- The name of the method to call on the PortalContainerConfig
- in order to register the PortalContainerDefinitions ->
- <set-method>registerPlugin</set-method>
-
- <!- The fully qualified name of the PortalContainerDefinitionPlugin ->
- <type>org.exoplatform.container.definition.PortalContainerDefinitionPlugin</type>
-
- ...
-
- </component-plugin>
- </external-component-plugins>
-</configuration>]]></programlisting>-->
-
</section>
<section id="sect-Reference_Guide-Configuration_syntax-Includes_and_special_URLs">
@@ -165,15 +124,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Advanced_Development_Foundations/default2.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML" ><![CDATA[<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd
- http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"
- xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd">
-
- <import>war:/conf/sample-ext/jcr/jcr-configuration.xml</import>
- <import>war:/conf/sample-ext/portal/portal-configuration.xml</import>
-
-</configuration>]]></programlisting>-->
<calloutlist>
<callout arearefs="area-Reference_Guide-Configuration_syntax-Includes_and_special_URLs-url_schema">
@@ -213,38 +163,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Advanced_Development_Foundations/default3.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0" encoding="ISO-8859-1"?>
-<configuration
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd
- http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"
- xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd">
-
- <component>
- <key>org.exoplatform.services.database.HibernateService</key>
- <jmx-name>database:type=HibernateService</jmx-name>
- <type>org.exoplatform.services.database.impl.HibernateServiceImpl</type>
- <init-params>
- <properties-param>
- <name>hibernate.properties</name>
- <description>Default Hibernate Service</description>
- <property name="hibernate.show_sql" value="false" />
- <property name="hibernate.cglib.use_reflection_optimizer" value="true" />
- <property name="hibernate.connection.url"
- value="jdbc:hsqldb:file:../temp/data/exodb${container.name.suffix}" />
- <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" />
- <property name="hibernate.connection.autocommit" value="true" />
- <property name="hibernate.connection.username" value="sa" />
- <property name="hibernate.connection.password" value="" />
- <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
- <property name="hibernate.c3p0.min_size" value="5" />
- <property name="hibernate.c3p0.max_size" value="20" />
- <property name="hibernate.c3p0.timeout" value="1800" />
- <property name="hibernate.c3p0.max_statements" value="50" />
- </properties-param>
- </init-params>
- </component>
-</configuration>]]></programlisting>-->
</section>
</section>
@@ -269,20 +187,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Advanced_Development_Foundations/default4.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<component>
- <key>org.exoplatform.services.naming.InitialContextInitializer</key>
- <type>org.exoplatform.services.naming.InitialContextInitializer</type>
- <init-params>
- <properties-param>
- <name>default-properties</name>
- <description>Default initial context properties</description>
- <property name="java.naming.factory.initial"
- value="org.exoplatform.services.naming.SimpleContextFactory" />
- </properties-param>
- </init-params>
-</component>
-]]></programlisting>-->
-
<para>
An <parameter>InitParams</parameter> element description begins with an <parameter><init-params></parameter> element.
</para>
@@ -325,91 +229,18 @@
<para>
Each <parameter><properties-params></parameter> defines one <literal>java.util.Properties</literal> instance.
</para>
-<!-- <example id="exam-Reference_Guide-InitParams_configuration_object-InitParams_value_param">
- <title>InitParams - value-param</title>
-
-<programlisting role="XML">
-<component>
- <key>org.exoplatform.services.transaction.TransactionService</key>
- <type>org.exoplatform.services.transaction.impl.jotm.TransactionServiceJotmImpl</type>
- <init-params>
- <value-param>
- <name>timeout</name>
- <value>5</value>
- </value-param>
- </init-params>
-</component>
-</programlisting>
- </example> -->
<para>
The value specification for <parameter><value-param></parameter> elements is a <parameter><value></parameter> element which defines a <literal>String</literal> instance.
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Advanced_Development_Foundations/default5.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<component>
- <key>org.exoplatform.services.resources.ResourceBundleService</key>
- <type>org.exoplatform.services.resources.impl.SimpleResourceBundleService</type>
- <init-params>
- <values-param>
- <name>classpath.resources</name>
- <description>The resources that start with the following package name should be load from file system</description>
- <value>locale.portlet</value>
- </values-param>
-
- <values-param>
- <name>init.resources</name>
- <description>Store the following resources into the db for the first launch </description>
- <value>locale.test.resources.test</value>
- </values-param>
-
- <values-param>
- <name>portal.resource.names</name>
- <description>The properties files of the portal , those file will be merged
- into one ResourceBundle properties </description>
- <value>local.portal.portal</value>
- <value>local.portal.custom</value>
- </values-param>
- </init-params>
-</component>
-]]></programlisting>-->
-
<para>
The value specification for <parameter><values-param></parameter> requires one or more <parameter><value></parameter> element. Each <parameter><value></parameter> represents one <literal>String</literal> instance. All <literal>String</literal> values are then collected into a <literal>java.util.List</literal> instance.
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Advanced_Development_Foundations/default6.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<component>
- <key>org.exoplatform.services.cache.CacheService</key>
- <jmx-name>cache:type=CacheService</jmx-name>
- <type>org.exoplatform.services.cache.impl.CacheServiceImpl</type>
- <init-params>
- <object-param>
- <name>cache.config.default</name>
- <description>The default cache configuration</description>
- <object type="org.exoplatform.services.cache.ExoCacheConfig">
- <field name="name">
- <string>default</string>
- </field>
- <field name="maxSize">
- <int>300</int>
- </field>
- <field name="liveTime">
- <long>300</long>
- </field>
- <field name="distributed">
- <boolean>false</boolean>
- </field>
- <field name="implementation">
- <string>org.exoplatform.services.cache.concurrent.ConcurrentFIFOExoCache</string>
- </field>
- </object>
- </object-param>
- </init-params>
-</component>
-]]></programlisting>-->
-
<para>
For <parameter><object-param></parameter> entries, the value specification consists of an <parameter><object></parameter> element which is used for plain java style object specification (specifying an implementation <emphasis>class - <parameter><type></parameter></emphasis>, and <emphasis>property values - <parameter><field></parameter></emphasis>).
</para>
@@ -463,86 +294,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Advanced_Development_Foundations/default7.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
-<configuration
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd
- http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"
- xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd">
-
- <external-component-plugins>
- <!- The full qualified name of the PortalContainerConfig ->
- <target-component>org.exoplatform.container.definition.PortalContainerConfig</target-component>
-
- <component-plugin>
- <!- The name of the plugin ->
- <name>Add PortalContainer Definitions</name>
-
- <!- The name of the method to call on the PortalContainerConfig
- in order to register the PortalContainerDefinitions ->
- <set-method>registerPlugin</set-method>
-
- <!- The full qualified name of the PortalContainerDefinitionPlugin ->
- <type>org.exoplatform.container.definition.PortalContainerDefinitionPlugin</type>
-
- <init-params>
- <object-param>
- <name>portal</name>
- <object type="org.exoplatform.container.definition.PortalContainerDefinition">
- <!- The name of the portal container ->
- <field name="name"><string>portal</string></field>
-
- <!- The name of the context name of the rest web application ->
- <field name="restContextName"><string>rest</string></field>
-
- <!- The name of the realm ->
- <field name="realmName"><string>exo-domain</string></field>
-
- <!- All the dependencies of the portal container ordered by loading priority ->
- <field name="dependencies">
- <collection type="java.util.ArrayList">
- <value>
- <string>eXoResources</string>
- </value>
- <value>
- <string>portal</string>
- </value>
- <value>
- <string>dashboard</string>
- </value>
- <value>
- <string>exoadmin</string>
- </value>
- <value>
- <string>eXoGadgets</string>
- </value>
- <value>
- <string>eXoGadgetServer</string>
- </value>
- <value>
- <string>rest</string>
- </value>
- <value>
- <string>web</string>
- </value>
- <value>
- <string>wsrp-producer</string>
- </value>
- <!- The sample-ext has been added at the end of the dependency list
- in order to have the highest priority ->
- <value>
- <string>sample-ext</string>
- </value>
- </collection>
- </field>
- </object>
- </object-param>
- </init-params>
- </component-plugin>
- </external-component-plugins>
-</configuration>
-]]></programlisting>-->
-
<para>
Dependencies are part of the <emphasis role="bold">extension mechanism</emphasis> which is discussed later in this document.
</para>
@@ -618,20 +369,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Advanced_Development_Foundations/default8.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE web-app PUBLIC -//Sun Microsystems, Inc.//DTD Web Application 2.3//EN
- http://java.sun.com/dtd/web-app_2_3.dtd>
-<web-app>
-
- <display-name>sample-ext</display-name>
-
- <listener>
- <listener-class>org.exoplatform.container.web.PortalContainerConfigOwner</listener-class>
- </listener>
-
- ...
-
-</web-app>]]></programlisting>-->
</step>
<step>
<para>
@@ -698,14 +435,6 @@
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/Advanced_Development_Foundations/default9.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="Java" role="JAVA">
-/**
- * Use this method instead of Servlet.service()
- */
-protected void onService(ExoContainer container, HttpServletRequest req,
- HttpServletResponse res) throws ServletException, IOException;
-</programlisting>-->
-
<note>
<para>
This ensures that <literal>AbstractHttpServlet</literal>'s <literal>service()</literal> interception is not overwritten.
@@ -720,32 +449,13 @@
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/Advanced_Development_Foundations/default10.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="Java" role="JAVA">
-/**
- * Use this method instead of HttpSessionListener.sessionCreated()
- */
-protected void onSessionCreated(ExoContainer container, HttpSessionEvent event);
-/**
- * Use this method instead of HttpSessionListener.sessionDestroyed()
- */
-protected void onSessionDestroyed(ExoContainer container, HttpSessionEvent event);
-</programlisting>-->
-
<para>
Another method must also be implemented in this case:
</para>
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/Advanced_Development_Foundations/default11.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="Java" role="JAVA">
-/**
- * Method should return true if unified servlet context,
- * and unified classloader should be made available
- */
-protected boolean requirePortalEnvironment();
-</programlisting>-->
-
<para>
If this method returns <emphasis>true</emphasis> the current thread's context classloader is set up according to the <emphasis role="bold">dependencies</emphasis> configuration and availability of the associated web applications.
</para>
@@ -783,41 +493,6 @@
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/Advanced_Development_Foundations/GadgetRegister.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="Java" role="JAVA">
-public class GadgetRegister implements ServletContextListener
-{
- public void contextInitialized(ServletContextEvent event)
- {
- // Create a new post-init task
- final PortalContainerPostInitTask task = new PortalContainerPostInitTask() {
-
- public void execute(ServletContext context, PortalContainer portalContainer)
- {
- try
- {
- SourceStorage sourceStorage =
- (SourceStorage) portalContainer.getComponentInstanceOfType(SourceStorage.class);
- ...
- }
- catch (RuntimeException e)
- {
- throw e;
- }
- catch (Exception e)
- {
- throw new RuntimeException("Initialization failed: ", e);
- }
- }
- };
-
- // Add post-init task for execution on all the portal containers
- // that depend on the given ServletContext according to
- // PortalContainerDefinitions (via Dependencies configuration)
- PortalContainer.addInitTask(event.getServletContext(), task);
- }
-}
-</programlisting>-->
-
<para>
In some situations initialization may be required <emphasis>after</emphasis> the portal container is instantiated but <emphasis>before</emphasis> it has initialized. <literal>PortalContainerPreInitTask</literal> can be used in that case.
</para>
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/cluster-config.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/cluster-config.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/cluster-config.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -19,17 +19,17 @@
</step>
<step>
<para>
- Copy the <filename>jcr.ear</filename> into <filename>$JBOSS_HOME/server/default/deploy</filename>.
+ Copy the <filename>jcr.ear</filename> into <filename><replaceable>JBOSS_AS</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy</filename>.
</para>
</step>
<step>
<para>
- Save the <filename>exo-configuration.xml</filename> into the root <filename>$JBOSS_HOME/exo-configuration.xml</filename>.
+ Save the <filename>exo-configuration.xml</filename> into the root <filename><replaceable>JBOSS_AS</replaceable>/exo-configuration.xml</filename>.
</para>
</step>
<step>
<para>
- Configure JAAS by inserting the XML fragment shown below into <filename>$JBOSS_HOME/server/default/conf/login-config.xml</filename>.
+ Configure JAAS by inserting the XML fragment shown below into <filename><replaceable>JBOSS_AS</replaceable>E/server/default/conf/login-config.xml</filename>.
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_cluster-config/default12.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/configuration.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/configuration.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/configuration.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -11,54 +11,13 @@
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_Configuration/NMTOKEN.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting><!ELEMENT repository-service (repositories)>
- <!ATTLIST repository-service default-repository NMTOKEN #REQUIRED>
- <!ELEMENT repositories (repository)>
- <!ELEMENT repository (security-domain,access-control,session-max-age,authentication-policy,workspaces)>
- <!ATTLIST repository
- default-workspace NMTOKEN #REQUIRED
- name NMTOKEN #REQUIRED
- system-workspace NMTOKEN #REQUIRED
- >
- <!ELEMENT security-domain (#PCDATA)>
- <!ELEMENT access-control (#PCDATA)>
- <!ELEMENT session-max-age (#PCDATA)>
- <!ELEMENT authentication-policy (#PCDATA)>
- <!ELEMENT workspaces (workspace+)>
- <!ELEMENT workspace (container,initializer,cache,query-handler)>
- <!ATTLIST workspace name NMTOKEN #REQUIRED>
- <!ELEMENT container (properties,value-storages)>
- <!ATTLIST container class NMTOKEN #REQUIRED>
- <!ELEMENT value-storages (value-storage+)>
- <!ELEMENT value-storage (properties,filters)>
- <!ATTLIST value-storage class NMTOKEN #REQUIRED>
- <!ELEMENT filters (filter+)>
- <!ELEMENT filter EMPTY>
- <!ATTLIST filter property-type NMTOKEN #REQUIRED>
- <!ELEMENT initializer (properties)>
- <!ATTLIST initializer class NMTOKEN #REQUIRED>
- <!ELEMENT cache (properties)>
- <!ATTLIST cache
- enabled NMTOKEN #REQUIRED
- class NMTOKEN #REQUIRED
- >
- <!ELEMENT query-handler (properties)>
- <!ATTLIST query-handler class NMTOKEN #REQUIRED>
- <!ELEMENT access-manager (properties)>
- <!ATTLIST access-manager class NMTOKEN #REQUIRED>
- <!ELEMENT lock-manager (time-out,persister)>
- <!ELEMENT time-out (#PCDATA)>
- <!ELEMENT persister (properties)>
- <!ELEMENT properties (property+)>
- <!ELEMENT property EMPTY>
-</programlisting>-->
<para>
To configure the JCR Service;
</para>
<procedure>
<step>
<para>
- Familiarize yourself with the DTD file above and the either the example configuration file below or the one in your &PRODUCT; deployment (found at; <filename>/jboss-as/server/<replaceable><configuration></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>).
+ Familiarize yourself with the DTD file above and the either the example configuration file below or the one in your &PRODUCT; deployment (found at; <filename>/<replaceable>JBOSS_AS</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>).
</para>
</step>
<step>
@@ -510,388 +469,6 @@
</calloutlist>
</programlistingco>
-<!-- <variablelist>
- <title>Repository Service configuration:</title>
- <varlistentry>
- <term>default-repository</term>
- <listitem>
- <para>
- The name of a default repository (one returned by <literal>RepositoryService.getRepository()</literal>)
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>repositories</term>
- <listitem>
- <para>
- The list of repositories.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <variablelist>
- <title>Repository configuration:</title>
- <varlistentry>
- <term>name</term>
- <listitem>
- <para>
- The name of the repository.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>default-workspace</term>
- <listitem>
- <para>
- The name of the default workspace.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>system-workspace</term>
- <listitem>
- <para>
- The name of workspace where <literal>/jcr:system</literal> node is placed.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>security-domain</term>
- <listitem>
- <para>
- The name of a security domain for JAAS authentication
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>access-control</term>
- <listitem>
- <para>
- The name of an access control policy. There can be three types:
- </para>
- <para>
- <emphasis role="bold">optional</emphasis>
- </para>
- <para>
- AN ACL is created on demand. This is the default policy.
- </para>
- <para>
- <emphasis role="bold">disable</emphasis>
- </para>
- <para>
- Disables access control.
- </para>
- <para>
- <emphasis role="bold">mandatory</emphasis>
- </para>
- <para>
- An ACL is created for each added node. This function is not supported in this release.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>authentication-policy</term>
- <listitem>
- <para>
- The name of an authentication policy class.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>workspaces</term>
- <listitem>
- <para>
- The list of workspaces.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>session-max-age</term>
- <listitem>
- <para>
- The amount of time before an idle session will be removed (called logout). If it is not set, the idle session will never be removed.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <variablelist>
- <title>Workspace configuration:</title>
- <varlistentry>
- <term>name</term>
- <listitem>
- <para>
- The name of the workspace.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>container</term>
- <listitem>
- <para>
- Workspace data container (physical storage) configuration.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>container</term>
- <listitem>
- <para>
- Workspace data container (physical storage) configuration.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>initializer</term>
- <listitem>
- <para>
- Workspace initializer configuration.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>cache</term>
- <listitem>
- <para>
- Workspace storage cache configuration.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>query-handler</term>
- <listitem>
- <para>
- Query handler configuration.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <variablelist>
- <title>Workspace data container configuration:</title>
- <varlistentry>
- <term>class</term>
- <listitem>
- <para>
- A workspace data container class name.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>properties</term>
- <listitem>
- <para>
- The list of properties (in name-value pairs) for the concrete Workspace data container.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>value-storages</term>
- <listitem>
- <para>
- The list of value storage plugins.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <variablelist>
- <title>Value storage plugin configuration (optional feature):</title>
- <varlistentry>
- <term>value-storage</term>
- <listitem>
- <para>
- Optional value storage plugin definition.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>class</term>
- <listitem>
- <para>
- A value storage plugin class name (attribute).
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>properties</term>
- <listitem>
- <para>
- The list of properties (in name-value pairs) for a concrete value storage plugin.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>filters</term>
- <listitem>
- <para>
- The list of filters defining conditions when this plugin is applicable.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- <note>
- <para>
- The value-storage element is optional. If you don't include it, the values will be stored as BLOBs inside the database.
- </para>
- </note>
-
- <variablelist>
- <title>Initializer configuration (optional):</title>
- <varlistentry>
- <term>class</term>
- <listitem>
- <para>
- Initializer implementation class.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>properties</term>
- <listitem>
- <para>
- The list of properties (in name-value pairs). Properties are supported:
- </para>
- <para>
- <emphasis role="bold">root-nodetype</emphasis>
- </para>
- <para>
- The node type for root node initialization.
- </para>
- <para>
- <emphasis role="bold">root-permissions</emphasis>
- </para>
- <para>
- Default permissions of the root node. It is defined as a set of semicolon-delimited permissions containing a group of space-delimited identities and the type of permission.
- </para>
- <para>
- For example any read;:/admin read;:/admin add_node;:/admin set_property;:/admin remove means that users from group admin have all permissions and other users have only a 'read' permission.
- </para>
- <para>
- Configurable initializer adds a capability to override workspace initial startup procedure.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <variablelist>
- <title>Cache configuration:</title>
- <varlistentry>
- <term>enabled</term>
- <listitem>
- <para>
- Defines if the workspace cache is enabled.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>class</term>
- <listitem>
- <para>
- Cache implementation class. This is optional from JCR version 1.9.
- </para>
- <para>
- The default value is <literal>org.exoplatform.services.jcr.impl.dataflow.persistent.LinkedWorkspaceStorageCacheImpl</literal>.
- </para>
- <para>
- The cache can be configured to use concrete implementations of the <literal>WorkspaceStorageCache</literal> interface.
- </para>
- <para>
- The JCR core has two implementations to use:
- </para>
- <para>
- <emphasis role="bold">LinkedWorkspaceStorageCacheImpl</emphasis>
- </para>
- <para>
- The default implementation, with configurable read behavior and statistics.
- </para>
- <para>
- <emphasis role="bold">WorkspaceStorageCacheImpl</emphasis>
- </para>
- <para>
- This implementation is a legacy from pre 1.9 versions of the JCR. However, it can still be used.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>properties</term>
- <listitem>
- <para>
- The list of properties (in name-value pairs) for the workspace cache:
- </para>
- <variablelist>
- <varlistentry>
- <term>max-size</term>
- <listitem>
- <para>
- The maximum size of the cache.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>live-time</term>
- <listitem>
- <para>
- Cached item live time.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- TODO <para>
- TODO LinkedWorkspaceStorageCacheImpl supports additional optional parameters
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <variablelist>
- <title>Query Handler configuration:</title>
- <varlistentry>
- <term>class</term>
- <listitem>
- <para>
- A Query Handler class name.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>properties</term>
- <listitem>
- <para>
- The list of properties (name-value pairs) for a Query Handler (<literal>indexDir</literal>) properties and advanced features described in <xref linkend="sect-Reference_Guide-Search_Configuration"/>.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <variablelist>
- <title>Lock Manager configuration:</title>
- <varlistentry>
- <term>time-out</term>
- <listitem>
- <para>
- The amount of time before the unused global lock is removed.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>persister</term>
- <listitem>
- <para>
- A class for storing lock information for future use. For example; remove lock after restarting JCR.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>path</term>
- <listitem>
- <para>
- Each workspace has its own lock folder.
- </para>
- </listitem>
- </varlistentry>
- </variablelist> -->
</section>
<section id="sect-Reference_Guide-JCR_configuration-Related_documents">
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/jbosscache-configuration-templates.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/jbosscache-configuration-templates.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/jbosscache-configuration-templates.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -19,8 +19,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_jbosscache-configuration-templates/default29.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting><property name="jbosscache-configuration" value="conf/standalone/test-jbosscache-lock-db1-ws1.xml" />
-</programlisting>-->
<para>
If there are many workspaces, however, configuring them in such a way can be hard to manage. Therefore the JCR offers a template-based configuration method for JBoss Cache instances.
</para>
@@ -36,19 +34,11 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_jbosscache-configuration-templates/default30.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[...
-<clustering mode="replication" clusterName="${jbosscache-cluster-name}">
- <stateRetrieval timeout="20000" fetchInMemoryState="false" />
-...]]></programlisting>-->
<para>
The JCR configuration file:
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_jbosscache-configuration-templates/default31.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[...
-<property name="jbosscache-configuration" value="jar:/conf/portal/jbosscache-lock.xml" />
-<property name="jbosscache-cluster-name" value="JCR-cluster-locks-db1-ws" />
-...]]></programlisting>-->
</section>
<section id="sect-Reference_Guide-JBoss_Cache_configuration-JGroups_configuration">
@@ -100,28 +90,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_jbosscache-configuration-templates/default34.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
-<jbosscache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:jboss:jbosscache-core:config:3.1">
-
- <locking useLockStriping="false" concurrencyLevel="50000" lockParentForChildInsertRemove="false"
- lockAcquisitionTimeout="20000" />
-
- <clustering mode="replication" clusterName="${jbosscache-cluster-name}">
- <stateRetrieval timeout="20000" fetchInMemoryState="false" />
- <jgroupsConfig multiplexerStack="jcr.stack" />
- <sync />
- </clustering>
-
- <!- Eviction configuration ->
- <eviction wakeUpInterval="5000">
- <default algorithmClass="org.jboss.cache.eviction.LRUAlgorithm"
- actionPolicyClass="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.ParentNodeEvictionActionPolicy"
- eventQueueSize="1000000">
- <property name="maxNodes" value="1000000" />
- <property name="timeToLive" value="120000" />
- </default>
- </eviction>
-</jbosscache>]]></programlisting>-->
<calloutlist>
<callout arearefs="Reference_Guide-JBoss_Cache_configuration-Templates-jbosscache-cluster-name">
@@ -158,38 +126,6 @@
</areaspec>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_jbosscache-configuration-templates/default35.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
-<jbosscache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:jboss:jbosscache-core:config:3.1">
-
- <locking useLockStriping="false" concurrencyLevel="50000" lockParentForChildInsertRemove="false"
- lockAcquisitionTimeout="20000" />
- <clustering mode="replication" clusterName="${jbosscache-cluster-name}">
- <stateRetrieval timeout="20000" fetchInMemoryState="false" />
- <jgroupsConfig multiplexerStack="jcr.stack" />
- <sync />
- </clustering>
- <loaders passivation="false" shared="true">
- <preload>
- <node fqn="/" />
- </preload>
- <loader class="org.jboss.cache.loader.JDBCCacheLoader" async="false" fetchPersistentState="false"
- ignoreModifications="false" purgeOnStartup="false">
- <properties>
- cache.jdbc.table.name=${jbosscache-cl-cache.jdbc.table.name}
- cache.jdbc.table.create=${jbosscache-cl-cache.jdbc.table.create}
- cache.jdbc.table.drop=${jbosscache-cl-cache.jdbc.table.drop}
- cache.jdbc.table.primarykey=${jbosscache-cl-cache.jdbc.table.primarykey}
- cache.jdbc.fqn.column=${jbosscache-cl-cache.jdbc.fqn.column}
- cache.jdbc.fqn.type=${jbosscache-cl-cache.jdbc.fqn.type}
- cache.jdbc.node.column=${jbosscache-cl-cache.jdbc.node.column}
- cache.jdbc.node.type=${jbosscache-cl-cache.jdbc.node.type}
- cache.jdbc.parent.column=${jbosscache-cl-cache.jdbc.parent.column}
- cache.jdbc.datasource=${jbosscache-cl-cache.jdbc.datasource}
- </properties>
- </loader>
- </loaders>
-</jbosscache>]]></programlisting>-->
<calloutlist>
<callout arearefs="Reference_Guide-JBoss_Cache_configuration-Templates-jbosscache-cluster-name1">
@@ -265,23 +201,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_jbosscache-configuration-templates/default36.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
-<jbosscache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:jboss:jbosscache-core:config:3.1">
- <locking useLockStriping="false" concurrencyLevel="50000" lockParentForChildInsertRemove="false"
- lockAcquisitionTimeout="20000" />
- <clustering mode="replication" clusterName="${jbosscache-cluster-name}">
- <stateRetrieval timeout="20000" fetchInMemoryState="false" />
- <jgroupsConfig multiplexerStack="jcr.stack" />
- <sync />
- </clustering>
- <!- Eviction configuration ->
- <eviction wakeUpInterval="5000">
- <default algorithmClass="org.jboss.cache.eviction.FIFOAlgorithm" eventQueueSize="1000000">
- <property name="maxNodes" value="10000" />
- <property name="minTimeToLive" value="60000" />
- </default>
- </eviction>
-</jbosscache>]]></programlisting>-->
<calloutlist>
<callout arearefs="Reference_Guide-JBoss_Cache_configuration-Templates-jbosscache-cluster-name2">
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/lock-manager-config.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/lock-manager-config.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/lock-manager-config.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -45,19 +45,7 @@
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_lock-manager-config/default47.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="XML" role="XML"><![CDATA[<workspace name="ws">
- ...
- <lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
- <properties>
- <property name="time-out" value="15m" />
- ...
- </properties>
- </lock-manager>
- ...
-</workspace>]]></programlisting>-->
-
-
+
<section id="sect-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl">
<title>CacheableLockManagerImpl</title>
<para>
@@ -72,11 +60,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_lock-manager-config/default48.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<properties>
- <property name="time-out" value="10m" />
- ...
-</properties>]]></programlisting>-->
-
<!-- Doesn't seem necessary
<formalpara>
<title>Configuration</title>
@@ -152,13 +135,6 @@
</areaspec>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_lock-manager-config/default49.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="XML" role="XML"><![CDATA[<lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
- <properties>
- <property name="time-out" value="15m" />
- <property name="jbosscache-configuration" value="conf/standalone/cluster/test-jbosscache-lock-config.xml" />
- </properties>
-</lock-manager>]]></programlisting>-->
<calloutlist>
<callout arearefs="Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-test-jbosscache-lock-config.xml">
@@ -183,65 +159,6 @@
</areaspec>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_lock-manager-config/default50.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
-<jbosscache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:jboss:jbosscache-core:config:3.2">
-
- <locking useLockStriping="false" concurrencyLevel="50000" lockParentForChildInsertRemove="false" lockAcquisitionTimeout="20000" />
-
- <clustering mode="replication" clusterName="JBoss-Cache-Lock-Cluster_Name">
- <stateRetrieval timeout="20000" fetchInMemoryState="false" nonBlocking="true" />
- <jgroupsConfig>
-
- <TCP bind_addr="127.0.0.1" start_port="9800" loopback="true" recv_buf_size="20000000" send_buf_size="640000" discard_incompatible_packets="true"
- max_bundle_size="64000" max_bundle_timeout="30" use_incoming_packet_handler="true" enable_bundling="false" use_send_queues="false" sock_conn_timeout="300"
- skip_suspected_members="true" use_concurrent_stack="true" thread_pool.enabled="true" thread_pool.min_threads="1" thread_pool.max_threads="25"
- thread_pool.keep_alive_time="5000" thread_pool.queue_enabled="false" thread_pool.queue_max_size="100" thread_pool.rejection_policy="run"
- oob_thread_pool.enabled="true" oob_thread_pool.min_threads="1" oob_thread_pool.max_threads="8" oob_thread_pool.keep_alive_time="5000"
- oob_thread_pool.queue_enabled="false" oob_thread_pool.queue_max_size="100" oob_thread_pool.rejection_policy="run" />
- <MPING timeout="2000" num_initial_members="2" mcast_port="34540" bind_addr="127.0.0.1" mcast_addr="224.0.0.1" />
-
-
- <MERGE2 max_interval="30000" min_interval="10000" />
- <FD_SOCK />
- <FD max_tries="5" shun="true" timeout="10000" />
- <VERIFY_SUSPECT timeout="1500" />
- <pbcast.NAKACK discard_delivered_msgs="true" gc_lag="0" retransmit_timeout="300,600,1200,2400,4800" use_mcast_xmit="false" />
- <UNICAST timeout="300,600,1200,2400,3600" />
- <pbcast.STABLE desired_avg_gossip="50000" max_bytes="400000" stability_delay="1000" />
- <pbcast.GMS join_timeout="5000" print_local_addr="true" shun="false" view_ack_collection_timeout="5000" view_bundling="true" />
- <FRAG2 frag_size="60000" />
- <pbcast.STREAMING_STATE_TRANSFER />
- <pbcast.FLUSH timeout="0" />
-
- </jgroupsConfig
-
- <sync />
- </clustering>
-
- <loaders passivation="false" shared="true">
- <preload>
- <node fqn="/" />
- </preload>
- <loader class="org.jboss.cache.loader.JDBCCacheLoader" async="false" fetchPersistentState="false" ignoreModifications="false" purgeOnStartup="false">
- <properties>
- cache.jdbc.table.name=jcrlocks_ws
- cache.jdbc.table.create=true
- cache.jdbc.table.drop=false
- cache.jdbc.table.primarykey=jcrlocks_ws_pk
- cache.jdbc.fqn.column=fqn
- cache.jdbc.fqn.type=VARCHAR(512)
- cache.jdbc.node.column=node
- cache.jdbc.node.type=<BLOB>
- cache.jdbc.parent.column=parent
- cache.jdbc.datasource=jdbcjcr
- </properties>
- </loader>
-
- </loaders>
-
-</jbosscache>]]></programlisting>-->
-
<calloutlist>
<callout arearefs="Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-clusterName">
@@ -403,45 +320,6 @@
</areaspec>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_lock-manager-config/you.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
-<jbosscache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:jboss:jbosscache-core:config:3.1">
-
- <locking useLockStriping="false" concurrencyLevel="50000" lockParentForChildInsertRemove="false"
- lockAcquisitionTimeout="20000" />
-
- <clustering mode="replication" clusterName="${jbosscache-cluster-name}">
- <stateRetrieval timeout="20000" fetchInMemoryState="false" />
- <jgroupsConfig multiplexerStack="jcr.stack" />
- <sync />
- </clustering>
-
- <loaders passivation="false" shared="true">
- <!- All the data of the JCR locks needs to be loaded at startup ->
- <preload>
- <node fqn="/" />
- </preload>
- <!-
- For another cache-loader class you should use another template with
- cache-loader specific parameters
- ->
- <loader class="org.jboss.cache.loader.JDBCCacheLoader" async=q"false" fetchPersistentState="false"
- ignoreModifications="false" purgeOnStartup="false">
- <properties>
- cache.jdbc.table.name=${jbosscache-cl-cache.jdbc.table.name}
- cache.jdbc.table.create=${jbosscache-cl-cache.jdbc.table.create}
- cache.jdbc.table.drop=${jbosscache-cl-cache.jdbc.table.drop}
- cache.jdbc.table.primarykey=${jbosscache-cl-cache.jdbc.table.primarykey}
- cache.jdbc.fqn.column=${jbosscache-cl-cache.jdbc.fqn.column}
- cache.jdbc.fqn.type=${jbosscache-cl-cache.jdbc.fqn.type}
- cache.jdbc.node.column=${jbosscache-cl-cache.jdbc.node.column}
- cache.jdbc.node.type=${jbosscache-cl-cache.jdbc.node.type}
- cache.jdbc.parent.column=${jbosscache-cl-cache.jdbc.parent.column}
- cache.jdbc.datasource=${jbosscache-cl-cache.jdbc.datasource}
- </properties>
- </loader>
- </loaders>
-</jbosscache>]]></programlisting>-->
<calloutlist>
<callout arearefs="Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-cache.jdbc.templates">
@@ -465,26 +343,7 @@
</areaspec>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_lock-manager-config/default51.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="XML" role="XML"><![CDATA[<lock-manager class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
- <properties>
- <property name="time-out" value="15m" />
- <property name="jbosscache-configuration" value="test-jbosscache-lock.xml" />
- <property name="jgroups-configuration" value="udp-mux.xml" />
- <property name="jgroups-multiplexer-stack" value="true" />
- <property name="jbosscache-cluster-name" value="JCR-cluster-locks-ws" />
- <property name="jbosscache-cl-cache.jdbc.table.name" value="jcrlocks_ws" />
- <property name="jbosscache-cl-cache.jdbc.table.create" value="true" />
- <property name="jbosscache-cl-cache.jdbc.table.drop" value="false" />
- <property name="jbosscache-cl-cache.jdbc.table.primarykey" value="jcrlocks_ws_pk" />
- <property name="jbosscache-cl-cache.jdbc.fqn.column" value="fqn" />
- <property name="jbosscache-cl-cache.jdbc.fqn.type" value="AUTO"/>
- <property name="jbosscache-cl-cache.jdbc.node.column" value="node" />
- <property name="jbosscache-cl-cache.jdbc.node.type" value="AUTO"/>
- <property name="jbosscache-cl-cache.jdbc.parent.column" value="parent" />
- <property name="jbosscache-cl-cache.jdbc.datasource" value="jdbcjcr" />
- </properties>
-</lock-manager>]]></programlisting>-->
+
<calloutlist>
<callout arearefs="Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-udp-mux.xml">
@@ -512,40 +371,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_lock-manager-config/default52.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<protocol_stacks>
- <stack name="jcr.stack">
- <config>
- <UDP mcast_addr="228.10.10.10" mcast_port="45588" tos="8" ucast_recv_buf_size="20000000"
- ucast_send_buf_size="640000" mcast_recv_buf_size="25000000" mcast_send_buf_size="640000" loopback="false"
- discard_incompatible_packets="true" max_bundle_size="64000" max_bundle_timeout="30"
- use_incoming_packet_handler="true" ip_ttl="2" enable_bundling="true" enable_diagnostics="true"
- thread_naming_pattern="cl" use_concurrent_stack="true" thread_pool.enabled="true" thread_pool.min_threads="2"
- thread_pool.max_threads="8" thread_pool.keep_alive_time="5000" thread_pool.queue_enabled="true"
- thread_pool.queue_max_size="1000" thread_pool.rejection_policy="discard" oob_thread_pool.enabled="true"
- oob_thread_pool.min_threads="1" oob_thread_pool.max_threads="8" oob_thread_pool.keep_alive_time="5000"
- oob_thread_pool.queue_enabled="false" oob_thread_pool.queue_max_size="100" oob_thread_pool.rejection_policy="Run" />
-
- <PING timeout="2000" num_initial_members="3" />
- <MERGE2 max_interval="30000" min_interval="10000" />
- <FD_SOCK />
- <FD timeout="10000" max_tries="5" shun="true" />
- <VERIFY_SUSPECT timeout="1500" />
- <BARRIER />
- <pbcast.NAKACK use_stats_for_retransmission="false" exponential_backoff="150" use_mcast_xmit="true"
- gc_lag="0" retransmit_timeout="50,300,600,1200" discard_delivered_msgs="true" />
- <UNICAST timeout="300,600,1200" />
- <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000" max_bytes="1000000" />
- <VIEW_SYNC avg_send_interval="60000" />
- <pbcast.GMS print_local_addr="true" join_timeout="3000" shun="false" view_bundling="true" />
- <FC max_credits="500000" min_threshold="0.20" />
- <FRAG2 frag_size="60000" />
- <!-pbcast.STREAMING_STATE_TRANSFER /->
- <pbcast.STATE_TRANSFER />
- <!- pbcast.FLUSH /->
- </config>
- </stack>
-</protocol_stacks>]]></programlisting>-->
-
</section>
</section>
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/multilanguage-support.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/multilanguage-support.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/multilanguage-support.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -63,27 +63,6 @@
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_multilanguage-support/default53.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting>NLS_LANGUAGE AMERICAN
-NLS_TERRITORY AMERICA
-NLS_CURRENCY $
-NLS_ISO_CURRENCY AMERICA
-NLS_NUMERIC_CHARACTERS .,
-NLS_CHARACTERSET AL32UTF8
-NLS_CALENDAR GREGORIAN
-NLS_DATE_FORMAT DD-MON-RR
-NLS_DATE_LANGUAGE AMERICAN
-NLS_SORT BINARY
-NLS_TIME_FORMAT HH.MI.SSXFF AM
-NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
-NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
-NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
-NLS_DUAL_CURRENCY $
-NLS_COMP BINARY
-NLS_LENGTH_SEMANTICS BYTE
-NLS_NCHAR_CONV_EXCP FALSE
-NLS_NCHAR_CHARACTERSET AL16UTF16
-</programlisting>-->
-
<warning>
<para>
JCR 1.12.<replaceable>x</replaceable> versions do not use <parameter>NVARCHAR</parameter> columns, so the value of the <parameter>NLS_NCHAR_CHARACTERSET</parameter> parameter has no effect.
@@ -95,16 +74,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_multilanguage-support/default54.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<workspace name="collaboration">
- <container class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
- <properties>
- <property name="source-name" value="jdbcjcr" />
- <property name="dialect" value="oracle" />
- <property name="multi-db" value="false" />
- <property name="max-buffer-size" value="200k" />
- <property name="swap-directory" value="target/temp/swap/ws" />
- </properties>
- .....]]></programlisting>-->
</section>
<section id="sect-Reference_Guide-Multilanguage_support_in_eXo_JCR_RDB_backend-DB2">
@@ -124,17 +93,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_multilanguage-support/default56.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<workspace name="collaboration">
- <container class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
- <properties>
- <property name="source-name" value="jdbcjcr" />
- <property name="dialect" value="db2" />
- <property name="multi-db" value="false" />
- <property name="max-buffer-size" value="200k" />
- <property name="swap-directory" value="target/temp/swap/ws" />
- </properties>
- .....]]></programlisting>-->
-
<note>
<para>
For DB2 version 8.<replaceable>x</replaceable> support change the property "dialect" to db2v8.
@@ -162,17 +120,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_multilanguage-support/default57.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<workspace name="collaboration">
- <container class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
- <properties>
- <property name="source-name" value="jdbcjcr" />
- <property name="dialect" value="mysql-utf8" />
- <property name="multi-db" value="false" />
- <property name="max-buffer-size" value="200k" />
- <property name="swap-directory" value="target/temp/swap/ws" />
- </properties>
- .....]]></programlisting>-->
-
</section>
<section id="sect-Reference_Guide-Multilanguage_support_in_eXo_JCR_RDB_backend-PostgreSQL">
@@ -206,17 +153,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_multilanguage-support/default58.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<workspace name="collaboration">
- <container class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
- <properties>
- <property name="source-name" value="jdbcjcr" />
- <property name="dialect" value="pgsql" />
- <property name="multi-db" value="false" />
- <property name="max-buffer-size" value="200k" />
- <property name="swap-directory" value="target/temp/swap/ws" />
- </properties>
- .....]]></programlisting>-->
-
</section>
</section>
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/query-handler-config.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/query-handler-config.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/query-handler-config.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -91,20 +91,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_query-handler-config/default59.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="" role=""><![CDATA[<workspace name="ws">
- <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
- <properties>
- <property name="index-dir" value="shareddir/index/db1/ws" />
- <property name="changesfilter-class"
- value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter" />
- <property name="jbosscache-configuration" value="jbosscache-indexer.xml" />
- <property name="jgroups-configuration" value="udp-mux.xml" />
- <property name="jgroups-multiplexer-stack" value="true" />
- <property name="jbosscache-cluster-name" value="JCR-cluster-indexer-ws" />
- <property name="max-volatile-time" value="60" />
- </properties>
- </query-handler>
-</workspace>]]></programlisting>-->
<calloutlist>
<callout arearefs="Reference_Guide-QueryHandler_configuration-Configuration-index-dir">
@@ -150,34 +136,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_query-handler-config/default60.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
-<jbosscache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:jboss:jbosscache-core:config:3.1">
-
- <locking useLockStriping="false" concurrencyLevel="50000" lockParentForChildInsertRemove="false"
- lockAcquisitionTimeout="20000" />
- <!- Configure the TransactionManager ->
- <transaction transactionManagerLookupClass="org.jboss.cache.transaction.JBossStandaloneJTAManagerLookup" />
-
- <clustering mode="replication" clusterName="${jbosscache-cluster-name}">
- <stateRetrieval timeout="20000" fetchInMemoryState="false" />
- <jgroupsConfig multiplexerStack="jcr.stack" />
- <sync />
- </clustering>
- <!- Eviction configuration ->
- <eviction wakeUpInterval="5000">
- <default algorithmClass="org.jboss.cache.eviction.FIFOAlgorithm" eventQueueSize="1000000">
- <property name="maxNodes" value="10000" />
- <property name="minTimeToLive" value="60000" />
- </default>
- </eviction>
-
-</jbosscache>]]></programlisting>-->
-
-<!--This just links back to the top of the section
- <para>
- See more about template configurations in <xref linkend="sect-Reference_Guide-JBoss_Cache_configuration"/>.
- </para> -->
-
</section>
</section>
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/search-configuration.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/search-configuration.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/search-configuration.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -19,29 +19,6 @@
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_search-configuration/default61.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="XML" role="XML"><![CDATA[<repository-service default-repository="db1">
- <repositories>
- <repository name="db1" system-workspace="ws" default-workspace="ws">
- ....
- <workspaces>
- <workspace name="ws">
- ....
- <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
- <properties>
- <property name="index-dir" value="${java.io.tmpdir}/temp/index/db1/ws" />
- <property name="synonymprovider-class" value="org.exoplatform.services.jcr.impl.core.query.lucene.PropertiesSynonymProvider" />
- <property name="synonymprovider-config-path" value="/synonyms.properties" />
- <property name="indexing-config-path" value="/indexing-configuration.xml" />
- <property name="query-class" value="org.exoplatform.services.jcr.impl.core.query.QueryImpl" />
- </properties>
- </query-handler>
- ...
- </workspace>
- </workspaces>
- </repository>
- </repositories>
-</repository-service>]]></programlisting>-->
<table pgwide="1" align="left" >
<title>Configuration parameters</title>
@@ -722,14 +699,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_search-configuration/default69.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="Java" role="JAVA"><![CDATA[<query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
- <properties>
- ...
- <property name="analyzer" value="org.exoplatform.services.jcr.impl.core.MyAnalyzer"/>
- ...
- </properties>
-</query-handler>]]></programlisting>-->
-
<para>
The new <literal>SearchIndex</literal> will start to index contents with the specified filters when the JCR is next started.
</para>
@@ -764,13 +733,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_search-configuration/default71.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0"?>
-<!DOCTYPE configuration SYSTEM "http://www.exoplatform.org/dtd/indexing-configuration-1.0.dtd">
-<configuration xmlns:nt="http://www.jcp.org/jcr/nt/1.0">
- <index-rule nodeType="nt:unstructured">
- <property>Text</property>
- </index-rule>
-</configuration>]]></programlisting> -->
<note>
<title>Namespace Prefixes</title>
<para>
@@ -784,30 +746,12 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_search-configuration/default72.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting><?xml version="1.0"?>
-<!DOCTYPE configuration SYSTEM "http://www.exoplatform.org/dtd/indexing-configuration-1.0.dtd">
-<configuration xmlns:nt="http://www.jcp.org/jcr/nt/1.0">
- <index-rule nodeType="nt:unstructured"
- boost="2.0">
- <property>Text</property>
- </index-rule>
-</configuration>
-</programlisting>-->
<para>
If you do not wish to boost the complete node, but only certain properties, you can also provide a boost value for the listed properties:
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_search-configuration/default73.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting><?xml version="1.0"?>
-<!DOCTYPE configuration SYSTEM "http://www.exoplatform.org/dtd/indexing-configuration-1.0.dtd">
-<configuration xmlns:nt="http://www.jcp.org/jcr/nt/1.0">
- <index-rule nodeType="nt:unstructured">
- <property boost="3.0">Title</property>
- <property boost="1.5">Text</property>
- </index-rule>
-</configuration>
-</programlisting>-->
<formalpara>
<title>Conditional Index Rules</title>
@@ -818,19 +762,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_search-configuration/default74.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0"?>
-<!DOCTYPE configuration SYSTEM "http://www.exoplatform.org/dtd/indexing-configuration-1.0.dtd">
-<configuration xmlns:nt="http://www.jcp.org/jcr/nt/1.0">
- <index-rule nodeType="nt:unstructured"
- boost="2.0"
- condition="@priority = 'high'">
- <property>Text</property>
- </index-rule>
- <index-rule nodeType="nt:unstructured">
- <property>Text</property>
- </index-rule>
-</configuration>]]></programlisting>-->
-
<para>
In the above example the first rule only applies if the <parameter>nt:unstructured</parameter> node has a priority property with a value '<parameter>high</parameter>'. The condition syntax only supports the equals operator and a string literal.
</para>
@@ -840,45 +771,12 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_search-configuration/default75.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0"?>
-<!DOCTYPE configuration SYSTEM "http://www.exoplatform.org/dtd/indexing-configuration-1.0.dtd">
-<configuration xmlns:nt="http://www.jcp.org/jcr/nt/1.0">
- <index-rule nodeType="nt:unstructured"
- boost="2.0"
- condition="ancestor::*/@priority = 'high'">
- <property>Text</property>
- </index-rule>
- <index-rule nodeType="nt:unstructured"
- boost="0.5"
- condition="parent::foo/@priority = 'low'">
- <property>Text</property>
- </index-rule>
- <index-rule nodeType="nt:unstructured"
- boost="1.5"
- condition="bar/@priority = 'medium'">
- <property>Text</property>
- </index-rule>
- <index-rule nodeType="nt:unstructured">
- <property>Text</property>
- </index-rule>
-</configuration>]]></programlisting>-->
-
<para>
The indexing configuration allows the type of a node in the condition to be specified. Please note however that the type match must be exact. It does not consider sub types of the specified node type.
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_search-configuration/default76.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0"?>
-<!DOCTYPE configuration SYSTEM "http://www.exoplatform.org/dtd/indexing-configuration-1.0.dtd">
-<configuration xmlns:nt="http://www.jcp.org/jcr/nt/1.0">
- <index-rule nodeType="nt:unstructured"
- boost="2.0"
- condition="element(*, nt:unstructured)/@priority = 'high'">
- <property>Text</property>
- </index-rule>
-</configuration>]]></programlisting>-->
-
<formalpara>
<title>Exclusion from the Node Scope Index</title>
<para>
@@ -894,14 +792,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_search-configuration/default77.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0"?>
-<!DOCTYPE configuration SYSTEM "http://www.exoplatform.org/dtd/indexing-configuration-1.0.dtd">
-<configuration xmlns:nt="http://www.jcp.org/jcr/nt/1.0">
- <index-rule nodeType="nt:unstructured">
- <property nodeScopeIndex="false">Text</property>
- </index-rule>
-</configuration>]]></programlisting>-->
-
<formalpara>
<title>Index Aggregates</title>
<para>
@@ -917,62 +807,24 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_search-configuration/default78.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0"?>
-<!DOCTYPE configuration SYSTEM "http://www.exoplatform.org/dtd/indexing-configuration-1.0.dtd">
-<configuration xmlns:jcr="http://www.jcp.org/jcr/1.0"
- xmlns:nt="http://www.jcp.org/jcr/nt/1.0">
- <aggregate primaryType="nt:file">
- <include>jcr:content</include>
- </aggregate>
-</configuration>]]></programlisting>-->
-
<para>
Included nodes can also be restricted to a certain type:
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_search-configuration/default79.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0"?>
-<!DOCTYPE configuration SYSTEM "http://www.exoplatform.org/dtd/indexing-configuration-1.0.dtd">
-<configuration xmlns:jcr="http://www.jcp.org/jcr/1.0"
- xmlns:nt="http://www.jcp.org/jcr/nt/1.0">
- <aggregate primaryType="nt:file">
- <include primaryType="nt:resource">jcr:content</include>
- </aggregate>
-</configuration>]]></programlisting>-->
-
<para>
The <emphasis role="bold">*</emphasis> wildcard can be used to match all child nodes:
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_search-configuration/default80.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0"?>
-<!DOCTYPE configuration SYSTEM "http://www.exoplatform.org/dtd/indexing-configuration-1.0.dtd">
-<configuration xmlns:jcr="http://www.jcp.org/jcr/1.0"
- xmlns:nt="http://www.jcp.org/jcr/nt/1.0">
- <aggregate primaryType="nt:file">http://wiki.exoplatform.com/xwiki/bin/edit/JCR/Search+Configuration
- <include primaryType="nt:resource">*</include>
- </aggregate>
-</configuration>]]></programlisting>-->
-
<para>
Nodes to a certain depth below the current node can be included by adding multiple include elements. The <parameter>nt:file</parameter> node may contain a complete XML document under jcr:content for example:
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_search-configuration/default81.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0"?>
-<!DOCTYPE configuration SYSTEM "http://www.exoplatform.org/dtd/indexing-configuration-1.0.dtd">
-<configuration xmlns:jcr="http://www.jcp.org/jcr/1.0"
- xmlns:nt="http://www.jcp.org/jcr/nt/1.0">
- <aggregate primaryType="nt:file">
- <include>*</include>
- <include>*/*</include>
- <include>*/*/*</include>
- </aggregate>
-</configuration>]]></programlisting>-->
-
<formalpara>
<title>Property-Level Analyzers</title>
@@ -983,19 +835,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_search-configuration/default82.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0"?>
-<!DOCTYPE configuration SYSTEM "http://www.exoplatform.org/dtd/indexing-configuration-1.0.dtd">
-<configuration xmlns:nt="http://www.jcp.org/jcr/nt/1.0">
- <analyzers>
- <analyzer class="org.apache.lucene.analysis.KeywordAnalyzer">
- <property>mytext</property>
- </analyzer>
- <analyzer class="org.apache.lucene.analysis.WhitespaceAnalyzer">
- <property>mytext2</property>
- </analyzer>
- </analyzers>
-</configuration>]]></programlisting>-->
-
<para>
The configuration above sets lucene <emphasis role="bold">KeywordAnalyzer</emphasis> to index and search the property "<replaceable>mytext</replaceable>" across the entire workspace while the "<replaceable>mytext2</replaceable>" property is searched with the <emphasis role="bold">WhitespaceAnalyzer</emphasis>.
</para>
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/statistics.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/statistics.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Advanced/JCR/statistics.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -295,18 +295,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../../extras/Advanced_Development_JCR_statistics/default89.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<aspectj>
- <aspects>
- <concrete-aspect name="org.exoplatform.services.jcr.statistics.JCRAPIAspectImpl" extends="org.exoplatform.services.jcr.statistics.JCRAPIAspect">
- <pointcut name="JCRAPIPointcut"
- expression="(target(org.exoplatform.services.jcr.core.ExtendedSession) || target(org.exoplatform.services.jcr.core.ExtendedNode) || target(javax.jcr.Property)) && call(public * *(..))" />
- </concrete-aspect>
- </aspects>
- <weaver options="-XnoInline">
- <include within="org.exoplatform..*" />
- </weaver>
-</aspectj>]]></programlisting>-->
-
<para>
The corresponding CSV files are named <filename>Statistics<replaceable>${interface-name}</replaceable>-<replaceable>${creation-timestamp}</replaceable>.csv</filename>. For more details about how the CSV files are managed please refer to the section dedicated to the statistics manager.
</para>
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationTokenConfiguration.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationTokenConfiguration.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/AuthenticationTokenConfiguration.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -28,15 +28,6 @@
</para>
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/Authentication_Identity_AuthenticationTokenConfiguration/default94.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="Java" role="JAVA">
- public Token getToken(String id) throws PathNotFoundException, RepositoryException;
- public Token deleteToken(String id) throws PathNotFoundException, RepositoryException;
- public String[] getAllTokens();
- public long getNumberTokens() throws Exception;
- public String createToken(Credentials credentials) throws IllegalArgumentException,NullPointerException;
- public Credentials validateToken(String tokenKey, boolean remove) throws NullPointerException;
-</programlisting>-->
<para>
</para>
</section>
@@ -44,7 +35,7 @@
<section id="sect-Reference_Guide-Authentication_Token_Configuration-Configuring_token_services">
<title>Configuring Token Services</title>
<para>
- Token services configuration includes specifying the token validity period. The token service is configured as a portal component using the <filename>server/$CONF/deploy/gatein.ear/02portal.war/WEB-INF/conf/common/autologin-configuration.xml</filename> file.
+ Token services configuration includes specifying the token validity period. The token service is configured as a portal component using the <filename><replaceable>JBOSS_AS</replaceable>server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/common/autologin-configuration.xml</filename> file.
</para>
<para>
In the XML example below, <emphasis>CookieTokenService</emphasis> is a subclass of <emphasis role="bold">AbstractTokenService</emphasis> so it has a property which specifies the validity period of the token.
@@ -64,18 +55,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_AuthenticationTokenConfiguration/default95.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<component>
- <key>org.exoplatform.web.security.security.CookieTokenService</key>
- <type>org.exoplatform.web.security.security.CookieTokenService</type>
- <init-params>
- <values-param>
- <name>service.configuration</name>
- <value>jcr-token</value>
- <value>7</value>
- <value>DAY</value>
- </values-param>
- </init-params>
-</component>]]></programlisting>-->
<calloutlist>
<callout arearefs="area-Reference_Guide-Authentication_Token_Configuration-Configure_token_services-name">
<para>
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -41,86 +41,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_BackendConfiguration/default96.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"
- xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd">
-
- <component>
- <key>org.exoplatform.services.organization.idm.PicketLinkIDMService</key>
- <type>org.exoplatform.services.organization.idm.PicketLinkIDMServiceImpl</type>
- <init-params>
- <value-param>
- <name>config</name>
- <value>war:/conf/organization/idm-config.xml</value>
- </value-param>
- <value-param>
- <name>portalRealm</name>
- <value>realm${container.name.suffix}</value>
- </value-param>
- </init-params>
- </component>
-
-
- <component>
- <key>org.exoplatform.services.organization.OrganizationService</key>
- <type>org.exoplatform.services.organization.idm.PicketLinkIDMOrganizationServiceImpl</type>
- <init-params>
- <object-param>
- <name>configuration</name>
- <object type="org.exoplatform.services.organization.idm.Config">
- <field name="useParentIdAsGroupType">
- <boolean>true</boolean>
- </field>
-
- <field name="forceMembershipOfMappedTypes">
- <boolean>true</boolean>
- </field>
-
- <field name="pathSeparator">
- <string>.</string>
- </field>
-
- <field name="rootGroupName">
- <string>GTN_ROOT_GROUP</string>
- </field>
-
- <field name="groupTypeMappings">
- <map type="java.util.HashMap">
- <entry>
- <key><string>/</string></key>
- <value><string>root_type</string></value>
- </entry>
-
- <!- Sample mapping ->
- <!-
- <entry>
- <key><string>/platform/*</string></key>
- <value><string>platform_type</string></value>
- </entry>
- <entry>
- <key><string>/organization/*</string></key>
- <value><string>organization_type</string></value>
- </entry>
- ->
-
- </map>
- </field>
-
- <field name="associationMembershipType">
- <string>member</string>
- </field>
-
- <field name="ignoreMappedMembershipType">
- <boolean>false</boolean>
- </field>
- </object>
- </object-param>
- </init-params>
-
-
- </component>
-
-</configuration>]]></programlisting>-->
<calloutlist>
<callout arearefs="area-Reference_Guide-PicketLink_IDM_integration-Configuration_files-JBossIDMServiceImpl">
<para>
@@ -397,79 +317,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_BackendConfiguration/default97.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<jboss-identity xmlns="urn:jboss:identity:idm:config:v1_0_beta"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:jboss:identity:idm:config:v1_0_alpha identity-config.xsd">
- <realms>
- <realm>
- <id>PortalRealm</id>
- <repository-id-ref>PortalRepository</repository-id-ref>
- <identity-type-mappings>
- <user-mapping>USER</user-mapping>
- </identity-type-mappings>
- </realm>
- </realms>
- <repositories>
- <repository>
- <id>PortalRepository</id>
- <class>org.jboss.identity.idm.impl.repository.WrapperIdentityStoreRepository</class>
- <external-config/>
- <default-identity-store-id>HibernateStore</default-identity-store-id>
- <default-attribute-store-id>HibernateStore</default-attribute-store-id>
- </repository>
- </repositories>
- <stores>
- <attribute-stores/>
- <identity-stores>
- <identity-store>
- <id>HibernateStore</id>
- <class>org.jboss.identity.idm.impl.store.hibernate.HibernateIdentityStoreImpl</class>
- <external-config/>
- <supported-relationship-types>
- <relationship-type>JBOSS_IDENTITY_MEMBERSHIP</relationship-type>
- <relationship-type>JBOSS_IDENTITY_ROLE</relationship-type>
- </supported-relationship-types>
- <supported-identity-object-types>
- <identity-object-type>
- <name>USER</name>
- <relationships/>
- <credentials>
- <credential-type>PASSWORD</credential-type>
- </credentials>
- <attributes/>
- <options/>
- </identity-object-type>
- </supported-identity-object-types>
- <options>
- <option>
- <name>hibernateSessionFactoryRegistryName</name>
- <value>hibernateSessionFactory</value>
- </option>
- <option>
- <name>allowNotDefinedIdentityObjectTypes</name>
- <value>true</value>
- </option>
- <option>
- <name>populateRelationshipTypes</name>
- <value>true</value>
- </option>
- <option>
- <name>populateIdentityObjectTypes</name>
- <value>true</value>
- </option>
- <option>
- <name>allowNotDefinedAttributes</name>
- <value>true</value>
- </option>
- <option>
- <name>isRealmAware</name>
- <value>true</value>
- </option>
- </options>
- </identity-store>
- </identity-stores>
- </stores>
-</jboss-identity>]]></programlisting>-->
</section>
</section>
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -41,40 +41,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_PredefinedUserConfiguration/default98.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<field name="membershipType">
- <collection type="java.util.ArrayList">
- <value>
- <object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType">
- <field name="type">
- <string>member</string>
- </field>
- <field name="description">
- <string>member membership type</string>
- </field>
- </object>
- </value>
- <value>
- <object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType">
- <field name="type">
- <string>owner</string>
- </field>
- <field name="description">
- <string>owner membership type</string>
- </field>
- </object>
- </value>
- <value>
- <object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType">
- <field name="type">
- <string>validator</string>
- </field>
- <field name="description">
- <string>validator membership type</string>
- </field>
- </object>
- </value>
- </collection>
-</field>]]></programlisting>-->
</section>
<section id="sect-Reference_Guide-Predefined_User_Configuration-Groups">
@@ -85,43 +51,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_PredefinedUserConfiguration/default99.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<field name="group">
- <collection type="java.util.ArrayList">
- <value>
- <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
- <field name="name">
- <string>portal</string>
- </field>
- <field name="parentId">
- <string></string>
- </field>
- <field name="type">
- <string>hierachy</string>
- </field>
- <field name="description">
- <string>the /portal group</string>
- </field>
- </object>
- </value>
- <value>
- <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
- <field name="name">
- <string>community</string>
- </field>
- <field name="parentId">
- <string>/portal</string>
- </field>
- <field name="type">
- <string>hierachy</string>
- </field>
- <field name="description">
- <string>the /portal/community group</string>
- </field>
- </object>
- </value>
- ...
- </collection>
-</field>]]></programlisting>-->
</section>
<section id="sect-Reference_Guide-Predefined_User_Configuration-Users">
@@ -132,31 +61,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_PredefinedUserConfiguration/default100.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<field name="user">
- <collection type="java.util.ArrayList">
- <value>
- <object type="org.exoplatform.services.organization.OrganizationConfig$User">
- <field name="userName"><string>root</string></field>
- <field name="password"><string>exo</string></field>
- <field name="firstName"><string>root</string></field>
- <field name="lastName"><string>root</string></field>
- <field name="email"><string>exoadmin@localhost</string></field>
- <field name="groups"><string>member:/admin,member:/user,owner:/portal/admin</string></field>
- </object>
- </value>
- <value>
- <object type="org.exoplatform.services.organization.OrganizationConfig$User">
- <field name="userName"><string>exo</string></field>
- <field name="password"><string>exo</string></field>
- <field name="firstName"><string>site</string></field>
- <field name="lastName"><string>site</string></field>
- <field name="email"><string>exo@localhost</string></field>
- <field name="groups"><string>member:/user</string></field>
- </object>
- </value>
- ...
- </collection>
-</field>]]></programlisting>-->
</section>
<section id="sect-Reference_Guide-Predefined_User_Configuration-Plugin_for_monitoring_user_creation">
@@ -176,38 +80,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_PredefinedUserConfiguration/default101.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<component-plugin>
- <name>new.user.event.listener</name>
- <set-method>addListenerPlugin</set-method>
- <type>org.exoplatform.services.organization.impl.NewUserEventListener</type>
- <description>this listener assign group and membership to a new created user</description>
- <init-params>
- <object-param>
- <name>configuration</name>
- <description>description</description>
- <object type="org.exoplatform.services.organization.impl.NewUserConfig">
- <field name="group">
- <collection type="java.util.ArrayList">
- <value>
- <object type="org.exoplatform.services.organization.impl.NewUserConfig$JoinGroup">
- <field name="groupId"><string>/user</string></field>
- <field name="membership"><string>member</string></field>
- </object>
- </value>
- </collection>
- </field>
- <field name="ignoredUser">
- <collection type="java.util.HashSet">
- <value><string>exo</string></value>
- <value><string>root</string></value>
- <value><string>company</string></value>
- <value><string>community</string></value>
- </collection>
- </field>
- </object>
- </object-param>
- </init-params>
-</component-plugin>]]></programlisting>-->
</section>
</section>
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/AuthenticationAndIdentity/SSO.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -51,7 +51,7 @@
All the packages required for SSO setup can be found in a zip file located in the <filename>jboss-epp-5.0/gatein-sso</filename> directory of the &PRODUCT; binary package.
</para>
<para>
- In the following scenarios this directory will be referred to as <literal>$GATEIN_SSO_HOME</literal>.
+ In the following scenarios this directory will be referred to as <replaceable>PORTAL_SSO</replaceable>.
</para>
<warning>
<para>
@@ -79,7 +79,7 @@
</step>
<step>
<para>
- Extract the downloaded file into a suitable location. This location will be referred to as <literal>$CAS_HOME</literal> in the following example.
+ Extract the downloaded file into a suitable location. This location will be referred to as <replaceable>CAS_DIR</replaceable> in the following example.
</para>
</step>
</procedure>
@@ -103,7 +103,7 @@
<title>Modifying CAS server</title>
<step>
<para>
- Open <filename>CAS_HOME/cas-server-webapp/src/main/webapp/WEB-INF/deployerConfigContext.xml</filename>
+ Open <filename><replaceable>CAS_DIR</replaceable>/cas-server-webapp/src/main/webapp/WEB-INF/deployerConfigContext.xml</filename>
</para>
</step>
<step>
@@ -112,78 +112,19 @@
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default102.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="XML" role="XML"><![CDATA[<!-
- | Whereas CredentialsToPrincipalResolvers identify who it is some Credentials might authenticate,
- | AuthenticationHandlers actually authenticate credentials. Here e declare the AuthenticationHandlers that
- | authenticate the Principals that the CredentialsToPrincipalResolvers identified. CAS will try these handlers in turn
- | until it finds one that both supports the Credentials presented and succeeds in authenticating.
- +->
- <property name="authenticationHandlers">
- <list>
- <!-
- | This is the authentication handler that authenticates services by means of callback via SSL, thereby validating
- | a server side SSL certificate.
- +->
- <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
- p:httpClient-ref="httpClient" />
- <!-
- | This is the authentication handler declaration that every CAS deployer will need to change before deploying CAS
- | into production. The default SimpleTestUsernamePasswordAuthenticationHandler authenticates UsernamePasswordCredentials
- | where the username equals the password. You will need to replace this with an AuthenticationHandler that implements your
- | local authentication strategy. You might accomplish this by coding a new such handler and declaring
- | edu.someschool.its.cas.MySpecialHandler here, or you might use one of the handlers provided in the adaptors modules.
- +->
- <bean
- class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
- </list>
- </property>]]></programlisting>-->
<para>
...with the following:
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default103.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<!-
- | Whereas CredentialsToPrincipalResolvers identify who it is some Credentials might authenticate,
- | AuthenticationHandlers actually authenticate credentials. Here we declare the AuthenticationHandlers that
- | authenticate the Principals that the CredentialsToPrincipalResolvers identified. CAS will try these handlers in turn
- | until it finds one that both supports the Credentials presented and succeeds in authenticating.
- +->
- <property name="authenticationHandlers">
- <list>
- <!-
- | This is the authentication handler that authenticates services by means of callback via SSL, thereby validating
- | a server side SSL certificate.
- +->
- <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
- p:httpClient-ref="httpClient" />
- <!-
- | This is the authentication handler declaration that every CAS deployer will need to change before deploying CAS
- | into production. The default SimpleTestUsernamePasswordAuthenticationHandler authenticates UsernamePasswordCredentials
- | where the username equals the password. You will need to replace this with an AuthenticationHandler that implements your
- | local authentication strategy. You might accomplish this by coding a new such handler and declaring
- | edu.someschool.its.cas.MySpecialHandler here, or you might use one of the handlers provided in the adaptors modules.
- +->
- <!- Integrates with the Gatein Authentication Service to perform authentication ->
- <!-
- | Note: Modify the Plugin Configuration based on the actual information of a GateIn instance.
- | The instance can be anywhere on the internet...Not necessarily on localhost where CAS is running
- +->
- <bean class="org.gatein.sso.cas.plugin.AuthenticationPlugin">
- <property name="gateInHost"><value>localhost</value></property>
- <property name="gateInPort"><value>8080</value></property>
- <property name="gateInContext"><value>portal</value></property>
- </bean>
- </list>
- </property>]]></programlisting>-->
<para>
- Make sure to set the <emphasis>host</emphasis>, <emphasis>port</emphasis> and <emphasis>context</emphasis> with the values corresponding to your portal (also available in <filename>GATEIN_SSO_HOME/cas/plugin/WEB-INF/deployerConfigContext.xml</filename>).
+ Make sure to set the <emphasis>host</emphasis>, <emphasis>port</emphasis> and <emphasis>context</emphasis> with the values corresponding to your portal (also available in <filename><replaceable>PORTAL_SSO</replaceable>/cas/plugin/WEB-INF/deployerConfigContext.xml</filename>).
</para>
</step>
<step>
<para>
- Copy <filename>GATEIN_SSO_HOME/cas/plugin/WEB-INF/lib/sso-cas-plugin-<VERSION>.jar</filename> and <filename>GATEIN_SSO_HOME/cas/plugin/WEB-INF/lib/commons-httpclient-<VERSION>.jar</filename> into the <filename>CAS_HOME/cas-server-webapp/src/main/webapp/WEB-INF/lib</filename> created directory.
+ Copy <filename><replaceable>PORTAL_SSO</replaceable>/cas/plugin/WEB-INF/lib/sso-cas-plugin-<VERSION>.jar</filename> and <filename><replaceable>PORTAL_SSO</replaceable>/cas/plugin/WEB-INF/lib/commons-httpclient-<VERSION>.jar</filename> into the <filename><replaceable>CAS_DIR</replaceable>/cas-server-webapp/src/main/webapp/WEB-INF/lib</filename> created directory.
</para>
</step>
<step>
@@ -203,14 +144,14 @@
</step>
<step>
<para>
- Navigate locally to the <filename>CAS_HOME/cas-server-webapp</filename> directory and execute the following command:
+ Navigate locally to the <filename><replaceable>CAS_DIR</replaceable>/cas-server-webapp</filename> directory and execute the following command:
</para>
<programlisting>mvn install
</programlisting>
</step>
<step>
<para>
- Copy the <filename>CAS_HOME/cas-server-webapp/target/cas.war</filename> file into the <filename>TOMCAT_HOME/webapps</filename> directory.
+ Copy the <filename><replaceable>CAS_DIR</replaceable>/cas-server-webapp/target/cas.war</filename> file into the <filename>TOMCAT_HOME/webapps</filename> directory.
</para>
<para>
Tomcat should start without issue and should be accessible at <ulink type="http" url="http://localhost:8888/cas">http://localhost:8888/cas</ulink>.
@@ -232,7 +173,7 @@
<title>Setup the CAS client</title>
<step>
<para>
- Copy all the libraries from the <filename>GATEIN_SSO_HOME/cas/gatein.ear/lib</filename> directory into the <filename>JBOSS_HOME/server/default/deploy/gatein.ear/lib</filename>) directory.
+ Copy all the libraries from the <filename><replaceable>PORTAL_SSO</replaceable>/cas/gatein.ear/lib</filename> directory into the <filename>JBOSS_HOME/server/default/deploy/gatein.ear/lib</filename>) directory.
</para>
</step>
<step>
@@ -242,14 +183,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default105.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<authentication>
- <login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
- </login-module>
- <login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
- <module-option name="portalContainerName">portal</module-option>
- <module-option name="realmName">gatein-domain</module-option>
- </login-module>
-</authentication>]]></programlisting>-->
<para>
There's a line comment already in this source file to assist you.
</para>
@@ -289,10 +222,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default106.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="HTML" role="HTML"><![CDATA[<!-
-<a class="Login" onclick="$signInAction"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
-->
-<a class="Login" href="/portal/sso"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>]]></programlisting>-->
</step>
<step>
<para>
@@ -301,10 +230,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default107.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="HTML" role="HTML"><![CDATA[<!-
-<a onclick="$signInAction"><%=_ctx.appRes("UILogoPortlet.action.signin")%></a>
-->
-<a href="/portal/sso"><%=_ctx.appRes("UILogoPortlet.action.signin")%></a>]]></programlisting>-->
</step>
<step>
<para>
@@ -312,16 +237,6 @@
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default108.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="HTML" role="HTML"><![CDATA[<html>
- <head>
- <script type="text/javascript">
- window.location = '/portal/sso';
- </script>
- </head>
- <body>
- </body>
-</html>]]></programlisting>-->
</step>
<step>
<para>
@@ -330,44 +245,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default109.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[ <filter>
- <filter-name>LoginRedirectFilter</filter-name>
- <filter-class>org.gatein.sso.agent.filter.LoginRedirectFilter</filter-class>
- <init-param>
- <!- This should point to your SSO authentication server ->
- <param-name>LOGIN_URL</param-name>
- <!-
- If casRenewTicket param value of InitiateLoginServlet is: not specified or false
- ->
- <param-value>http://localhost:8888/cas/login?service=http://localhost:8080/portal/priv...</param-value>
- <!-
- If casRenewTicket param value of InitiateLoginServlet is : true
- ->
- <!-
- <param-value>http://localhost:8888/cas/login?service=http://localhost:8080/portal/private
- /classic&renew=true</param-value>
- ->
- </init-param>
- </filter>
- <filter>
- <filter-name>CASLogoutFilter</filter-name>
- <filter-class>org.gatein.sso.agent.filter.CASLogoutFilter</filter-class>
- <init-param>
- <!- This should point to your JOSSO authentication server ->
- <param-name>LOGOUT_URL</param-name>
- <param-value>http://localhost:8888/cas/logout</param-value>
- </init-param>
- </filter>
-
- <!- Mapping the filters at the very top of the filter chain ->
- <filter-mapping>
- <filter-name>LoginRedirectFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>CASLogoutFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>]]></programlisting>-->
</step>
<step>
<para>
@@ -376,18 +253,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default110.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<servlet>
- <servlet-name>InitiateLoginServlet</servlet-name>
- <servlet-class>org.gatein.sso.agent.GenericSSOAgent</servlet-class>
- <init-param>
- <param-name>ssoServerUrl</param-name>
- <param-value>http://localhost:8888/cas</param-value>
- </init-param>
- <init-param>
- <param-name>casRenewTicket</param-name>
- <param-value>false</param-value>
- </init-param>
-</servlet>]]></programlisting>-->
</step>
</procedure>
@@ -428,7 +293,7 @@
<title>Modifying JOSSO server</title>
<step>
<para>
- Copy the files from <filename>GATEIN_SSO_HOME/josso/plugin</filename> into the <filename>JOSSO_HOME</filename> directory created in the last step.
+ Copy the files from <filename><replaceable>PORTAL_SSO</replaceable>/josso/plugin</filename> into the <filename>JOSSO_HOME</filename> directory created in the last step.
</para>
<para>
This action should replace or add the following files to the <filename>JOSSO_HOME/webapps/josso/WEB-INF/lib</filename> directory:
@@ -478,12 +343,12 @@
<title>Setup the JOSSO client</title>
<step>
<para>
- Copy the library files from <filename>GATEIN_SSO_HOME/josso/gatein.ear/lib</filename> into <filename>gatein.ear/lib</filename>
+ Copy the library files from <filename><replaceable>PORTAL_SSO</replaceable>/josso/gatein.ear/lib</filename> into <filename>gatein.ear/lib</filename>
</para>
</step>
<step>
<para>
- Copy the <filename>GATEIN_SSO_HOME/josso/gatein.ear/02portal.war/WEB-INF/classes/josso-agent-config.xml</filename> file into the <filename>gatein.ear/02portal.war/WEB-INF/classes</filename> directory.
+ Copy the <filename><replaceable>PORTAL_SSO</replaceable>/josso/gatein.ear/02portal.war/WEB-INF/classes/josso-agent-config.xml</filename> file into the <filename>gatein.ear/02portal.war/WEB-INF/classes</filename> directory.
</para>
</step>
<step>
@@ -493,14 +358,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default111.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<authentication>
- <login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
- </login-module>
- <login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
- <module-option name="portalContainerName">portal</module-option>
- <module-option name="realmName">gatein-domain</module-option>
- </login-module>
-</authentication>]]></programlisting>-->
</step>
<step>
<para>
@@ -535,12 +392,6 @@
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default112.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="HTML" role="HTML"><![CDATA[
-<!-
-<a class="Login" onclick="$signInAction"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
-->
-<a class="Login" href="/portal/sso"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>]]></programlisting>-->
</step>
<step>
<para>
@@ -548,84 +399,24 @@
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default113.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="HTML" role="HTML"><![CDATA[
-<!-
-<a onclick="$signInAction"><%=_ctx.appRes("UILogoPortlet.action.signin")%></a>
-->
-<a href="/portal/sso"><%=_ctx.appRes("UILogoPortlet.action.signin")%></a>]]></programlisting>-->
</step>
<step>
<para>
Replace the entire contents of <filename>gatein.ear/02portal.war/login/jsp/login.jsp</filename> with:
</para>
-
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default114.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="Java" role="JAVA"><![CDATA[<html>
- <head>
- <script type="text/javascript">
- window.location = '/portal/sso';
- </script>
- </head>
- <body>
- </body>
-</html>]]></programlisting>-->
</step>
<step>
<para>
Add the following Filters to the top of the filter chain in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename>:
</para>
-
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default115.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="XML" role="XML"><![CDATA[
- <filter>
- <filter-name>LoginRedirectFilter</filter-name>
- <filter-class>org.gatein.sso.agent.filter.LoginRedirectFilter</filter-class>
- <init-param>
- <!- This should point to your SSO authentication server ->
- <param-name>LOGIN_URL</param-name>
- <param-value>http://localhost:8888/josso/signon/login.do?josso_back_to=http://localhos...
- /private/classic</param-value>
- </init-param>
- </filter>
- <filter>
- <filter-name>JOSSOLogoutFilter</filter-name>
- <filter-class>org.gatein.sso.agent.filter.JOSSOLogoutFilter</filter-class>
- <init-param>
- <!- This should point to your JOSSO authentication server ->
- <param-name>LOGOUT_URL</param-name>
- <param-value>http://localhost:8888/josso/signon/logout.do</param-value>
- </init-param>
- </filter>
-
- <!- filters should be placed at the very top of the filter chain ->
- <filter-mapping>
- <filter-name>LoginRedirectFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>JOSSOLogoutFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
-]]></programlisting>-->
</step>
<step>
<para>
Replace the <literal>InitiateLoginServlet</literal> declaration in <filename>gatein.ear/02portal.war/WEB-INF/web.xml</filename> with:
</para>
-
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default116.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="XML" role="XML"><![CDATA[<servlet>
- <servlet-name>InitiateLoginServlet</servlet-name>
- <servlet-class>org.gatein.sso.agent.GenericSSOAgent</servlet-class>
- <init-param>
- <param-name>ssoServerUrl</param-name>
- <param-value>http://localhost:8888/josso/signon/login.do</param-value>
- </init-param>
-</servlet>]]></programlisting>-->
</step>
<step>
<para>
@@ -697,27 +488,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default117.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version='1.0' encoding="UTF-8"?>
-
-<!DOCTYPE ModuleProperties PUBLIC "=//iPlanet//Authentication Module Properties XML Interface 1.0 DTD//EN"
- "jar://com/sun/identity/authentication/Auth_Module_Properties.dtd">
-
-<ModuleProperties moduleName="AuthenticationPlugin" version="1.0" >
- <Callbacks length="2" order="1" timeout="60"
- header="GateIn OpenSSO Login" >
- <NameCallback>
- <Prompt>
- Username
- </Prompt>
- </NameCallback>
- <PasswordCallback echoPassword="false" >
- <Prompt>
- Password
- </Prompt>
- </PasswordCallback>
- </Callbacks>
-</ModuleProperties>
-]]></programlisting>-->
</step>
<step>
<para>
@@ -726,17 +496,17 @@
<itemizedlist>
<listitem>
<para>
- <filename>GATEIN_SSO_HOME/opensso/plugin/WEB-INF/lib/sso-opensso-plugin-<VERSION>.jar</filename>
+ <filename><replaceable>PORTAL_SSO</replaceable>/opensso/plugin/WEB-INF/lib/sso-opensso-plugin-<VERSION>.jar</filename>
</para>
</listitem>
<listitem>
<para>
- <filename>GATEIN_SSO_HOME/opensso/plugin/WEB-INF/lib/commons-httpclient-<VERSION>.jar</filename>
+ <filename><replaceable>PORTAL_SSO</replaceable>/opensso/plugin/WEB-INF/lib/commons-httpclient-<VERSION>.jar</filename>
</para>
</listitem>
<listitem>
<para>
- <filename>GATEIN_SSO_HOME/opensso/plugin/WEB-INF/lib/commons-logging-<VERSION>.jar</filename>
+ <filename><replaceable>PORTAL_SSO</replaceable>/opensso/plugin/WEB-INF/lib/commons-logging-<VERSION>.jar</filename>
</para>
</listitem>
</itemizedlist>
@@ -747,7 +517,7 @@
</step>
<step>
<para>
- Copy the <filename>GATEIN_SSO_HOME/opensso/plugin/WEB-INF/classes/gatein.properties</filename> file into the <filename>TOMCAT_HOME/webapps/opensso/WEB-INF/classes</filename> directory.
+ Copy the <filename><replaceable>PORTAL_SSO</replaceable>/opensso/plugin/WEB-INF/classes/gatein.properties</filename> file into the <filename>TOMCAT_HOME/webapps/opensso/WEB-INF/classes</filename> directory.
</para>
</step>
<step>
@@ -874,7 +644,7 @@
<title>Setup the OpenSSO client</title>
<step>
<para>
- Copy all libraries from the <filename>GATEIN_SSO_HOME/opensso/gatein.ear/lib</filename> directory into the <filename>JBOSS_HOME/server/default/deploy/gatein.ear/lib</filename> directory.
+ Copy all libraries from the <filename><replaceable>PORTAL_SSO</replaceable>/opensso/gatein.ear/lib</filename> directory into the <filename>JBOSS_HOME/server/default/deploy/gatein.ear/lib</filename> directory.
</para>
<para>
Alternatively, in a Tomcat environment, copy the libraries into the <filename>GATEIN_HOME/lib</filename> directory.
@@ -887,14 +657,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default118.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<authentication>
- <login-module code="org.gatein.sso.agent.login.SSOLoginModule" flag="required">
- </login-module>
- <login-module code="org.exoplatform.services.security.j2ee.JbossLoginModule" flag="required">
- <module-option name="portalContainerName">portal</module-option>
- <module-option name="realmName">gatein-domain</module-option>
- </login-module>
-</authentication>]]></programlisting>-->
</step>
<step>
<para>
@@ -930,12 +692,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default119.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="HTML" role="HTML"><![CDATA[
-<!-
-<a class="Login" onclick="$signInAction"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
-->
-<a class="Login" href="/portal/sso"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
-]]></programlisting>-->
</step>
<step>
<para>
@@ -943,13 +699,6 @@
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default120.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="HTML" role="HTML"><![CDATA[
-<!-
-<a onclick="$signInAction"><%=_ctx.appRes("UILogoPortlet.action.signin")%></a>
-->
-<a href="/portal/sso"><%=_ctx.appRes("UILogoPortlet.action.signin")%></a>
-]]></programlisting>-->
</step>
<step>
<para>
@@ -958,15 +707,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default121.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="HTML" role="HTML"><![CDATA[<html>
- <head>
- <script type="text/javascript">
- window.location = '/portal/sso';
- </script>
- </head>
- <body>
- </body>
-</html>]]></programlisting>-->
</step>
<step>
<para>
@@ -975,37 +715,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default122.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[
- <filter>
- <filter-name>LoginRedirectFilter</filter-name>
- <filter-class>org.gatein.sso.agent.filter.LoginRedirectFilter</filter-class>
- <init-param>
- <!- This should point to your SSO authentication server ->
- <param-name>LOGIN_URL</param-name>
- <param-value>http://localhost:8888/opensso/UI/Login?realm=gatein&amp;goto=http://l...
- /portal/private/classic</param-value>
- </init-param>
- </filter>
- <filter>
- <filter-name>OpenSSOLogoutFilter</filter-name>
- <filter-class>org.gatein.sso.agent.filter.OpenSSOLogoutFilter</filter-class>
- <init-param>
- <!- This should point to your OpenSSO authentication server ->
- <param-name>LOGOUT_URL</param-name>
- <param-value>http://localhost:8888/opensso/UI/Logout</param-value>
- </init-param>
- </filter>
-
- <!- place the filters at the top of the filter chain ->
- <filter-mapping>
- <filter-name>LoginRedirectFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>OpenSSOLogoutFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
-]]></programlisting>-->
</step>
<step>
<para>
@@ -1014,18 +723,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default123.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<servlet>
- <servlet-name>InitiateLoginServlet</servlet-name>
- <servlet-class>org.gatein.sso.agent.GenericSSOAgent</servlet-class>
- <init-param>
- <param-name>ssoServerUrl</param-name>
- <param-value>http://localhost:8888/opensso</param-value>
- </init-param>
- <init-param>
- <param-name>ssoCookieName</param-name>
- <param-value>iPlanetDirectoryPro</param-value>
- </init-param>
-</servlet>]]></programlisting>-->
</step>
</procedure>
<para>
@@ -1085,20 +782,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default124.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<!- SPNEGO domain ->
- <application-policy name="host">
- <authentication>
- <login-module code="com.sun.security.auth.module.Krb5LoginModule"
- flag="required">
- <module-option name="storeKey">true</module-option>
- <module-option name="useKeyTab">true</module-option>
- <module-option name="principal">HTTP/server.local.network(a)LOCAL.NETWORK</module-option>
- <module-option name="keyTab">/home/user/krb5keytabs/jboss.keytab</module-option>
- <module-option name="doNotPrompt">true</module-option>
- <module-option name="debug">true</module-option>
- </login-module>
- </authentication>
- </application-policy>]]></programlisting>-->
<para>
The '<literal>keyTab</literal>' value should point to the keytab file that was generated by the <literal>kadmin</literal> Kerberos tool. See the <ulink type="http" url="http://community.jboss.org/wiki/SettingupyourKerberosDevelopmentEnvironment">Setting up your Kerberos Development Environment</ulink> guide for more details.
</para>
@@ -1110,45 +793,15 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default125.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<property name="authenticators">
- <map keyClass="java.lang.String" valueClass="java.lang.String">
- <entry>
- <key>BASIC</key>
- <value>org.apache.catalina.authenticator.BasicAuthenticator</value>
- </entry>
- <entry>
- <key>CLIENT-CERT</key>
- <value>org.apache.catalina.authenticator.SSLAuthenticator</value>
- </entry>
- <entry>
- <key>DIGEST</key>
- <value>org.apache.catalina.authenticator.DigestAuthenticator</value>
- </entry>
- <entry>
- <key>FORM</key>
- <value>org.apache.catalina.authenticator.FormAuthenticator</value>
- </entry>
- <entry>
- <key>NONE</key>
- <value>org.apache.catalina.authenticator.NonLoginAuthenticator</value>
- </entry>
-
- <!- Add this entry ->
- <entry>
- <key>SPNEGO</key>
- <value>org.jboss.security.negotiation.NegotiationAuthenticator</value>
- </entry>
- </map>
- </property>]]></programlisting>-->
</step>
<step>
<para>
- Add the JBoss Negotiation binary by copying <filename>$GATEIN_SSO_HOME/spnego/jboss-negotiation-2.0.3.GA.jar</filename> to <filename>jboss-as/server/<SERVER-TYPE>/lib</filename>.
+ Add the JBoss Negotiation binary by copying <filename><replaceable>PORTAL_SSO</replaceable>/spnego/jboss-negotiation-2.0.3.GA.jar</filename> to <filename>jboss-as/server/<replaceable>PROFILE</replaceable>/lib</filename>.
</para>
</step>
<step>
<para>
- Add the Gatein SSO module binaries by adding <filename>$GATEIN_SSO_HOME/spnego/gatein.ear/lib/sso-agent.jar</filename> and <filename>$GATEIN_SSO_HOME/spnego/gatein.ear/lib/sso-spnego.jar</filename> to <filename>deploy/gatein.ear/lib</filename>.
+ Add the Gatein SSO module binaries by adding <filename><replaceable>PORTAL_SSO</replaceable>/spnego/gatein.ear/lib/sso-agent.jar</filename> and <filename><replaceable>PORTAL_SSO</replaceable>/spnego/gatein.ear/lib/sso-spnego.jar</filename> to <filename>deploy/gatein.ear/lib</filename>.
</para>
</step>
<step>
@@ -1158,26 +811,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default126.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <application-policy xmlns="urn:jboss:security-beans:1.0" name="gatein-domain">
- <!- Uncomment this for Kerberos based SSO integration ->
- <authentication>
- <login-module
- code="org.gatein.sso.spnego.SPNEGOLoginModule"
- flag="requisite">
- <module-option name="password-stacking">useFirstPass</module-option>
- <module-option name="serverSecurityDomain">host</module-option>
- </login-module>
- <login-module
- code="org.gatein.sso.agent.login.SPNEGORolesModule"
- flag="required">
- <module-option name="password-stacking">useFirstPass</module-option>
- <module-option name="portalContainerName">portal</module-option>
- <module-option name="realmName">gatein-domain</module-option>
- </login-module>
- </authentication>
- </application-policy>
-</deployment>]]></programlisting>-->
<para>
This activate the SPNEGO <literal>LoginModule</literal> for use with &PRODUCT;.
</para>
@@ -1189,20 +822,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default127.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[ <!-
- <login-config>
- <auth-method>FORM</auth-method>
- <realm-name>gatein-domain</realm-name>
- <form-login-config>
- <form-login-page>/initiatelogin</form-login-page>
- <form-error-page>/errorlogin</form-error-page>
- </form-login-config>
- </login-config>
- ->
- <login-config>
- <auth-method>SPNEGO</auth-method>
- <realm-name>SPNEGO</realm-name>
- </login-config>]]></programlisting>-->
<para>
This integrates SPNEGO support into the Portal web archive by switching authentication mechanism from the default "<literal>FORM</literal>"-based to "<literal>SPNEGO</literal>"-based authentication.
</para>
@@ -1214,28 +833,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default128.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[ <filter>
- <filter-name>LoginRedirectFilter</filter-name>
- <filter-class>org.gatein.sso.agent.filter.LoginRedirectFilter</filter-class>
- <init-param>
- <!- This should point to your SSO authentication server ->
- <param-name>LOGIN_URL</param-name>
- <param-value>/portal/private/classic</param-value>
- </init-param>
- </filter>
- <filter>
- <filter-name>SPNEGOFilter</filter-name>
- <filter-class>org.gatein.sso.agent.filter.SPNEGOFilter</filter-class>
- </filter>
-
- <filter-mapping>
- <filter-name>LoginRedirectFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>SPNEGOFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>]]></programlisting>-->
<para>
This integrates request pre-processing needed for SPNEGO.
</para>
@@ -1247,12 +844,6 @@
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default129.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting><!-
-<a onclick="$signInAction"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
-->
-<a href="/portal/sso"><%=_ctx.appRes("UILoginForm.label.Signin")%></a>
-</programlisting>-->
-
<para>
This modifies the Portal's '<emphasis role="bold">Sign In</emphasis>' link to perform SPNEGO authentication.
</para>
@@ -1264,9 +855,6 @@
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/Authentication_Identity_SSO/default130.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting>sudo ./run.sh -Djava.security.krb5.realm=LOCAL.NETWORK -Djava.security.krb5.kdc=server.local.network -c spnego -b server.local.network
-</programlisting>-->
-
</step>
<step>
<para>
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Configuration/DatabaseConfiguration.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Configuration/DatabaseConfiguration.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Configuration/DatabaseConfiguration.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -22,12 +22,12 @@
<title>Configuring the database for JCR</title>
<para>
To configure the database used by JCR you will need to edit the file:
-<programlisting>$JBOSS_HOME/server/default/conf/gatein/configuration.properties
+<programlisting><replaceable>JBOSS_AS</replaceable>/server/<replaceable>PROFILE</replaceable>/conf/gatein/configuration.properties
</programlisting>
</para>
<para>
For Tomcat, the file is located at
-<programlisting>$TOMCAT_HOME/gatein/conf/configuration.properties
+<programlisting><replaceable>TOMCAT_HOME</replaceable>/gatein/conf/configuration.properties
</programlisting>
</para>
<para>
@@ -43,13 +43,16 @@
By default, the name of the database is "jdbcjcr_${name}" - ${name} should be a part of the database name, as it is dynamically replaced by the name of the portal container extension (for instance, gatein-sample-portal.ear defines "sample-portal" as container name and the default portal defines "portal" as container name).
</para>
<para>
- In the case of HSQL the databases are created automatically. For any other database you will need to create a database named jdbcjcr_portal (and "jdbcjcr_sample-portal" if you have gatein-sample-portal.ear in $JBOSS_HOME/server/default/deploy - note that some databases don't accept '-' in the database name, so you may have to remove $JBOSS_HOME/server/default/deploy/gatein-sample-portal.ear)
+ In the case of HSQL the databases are created automatically. For any other database you will need to create a database named jdbcjcr_portal (and "jdbcjcr_sample-portal" if you have gatein-sample-portal.ear in <filename><replaceable>JBOSS_AS</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy</filename>).
</para>
<para>
+ Note that some databases don't accept '-' in the database name, so you may have to remove <filename><replaceable>JBOSS_AS</replaceable>/server/<replaceable>PROFILE</replaceable>/deploy/gatein-sample-portal.ear</filename>)
+ </para>
+ <para>
Make sure the user has rights to create tables on jdbcjcr_portal, and to update them as they will be automatically created during the first startup .
</para>
<para>
- Also add your database's JDBC driver into the classpath - you can put it in $JBOSS_HOME/server/default/lib (or $TOMCAT_HOME/lib, if you are running on Tomcat)
+ Also add your database's JDBC driver into the classpath - you can put it in <replaceable>JBOSS_AS</replaceable>/server/<replaceable>PROFILE</replaceable>/lib (or <replaceable>TOMCAT_HOME</replaceable>/lib, if you are running on Tomcat)
</para>
<para>
MySQL example:
@@ -74,10 +77,10 @@
</para>
<para>
-<programlisting>$JBOSS_HOME/server/default/conf/gatein/configuration.properties
+<programlisting><replaceable>JBOSS_AS</replaceable>/server/<replaceable>PROFILE</replaceable>/conf/gatein/configuration.properties
</programlisting>
For Tomcat, the file is located at
-<programlisting>$TOMCAT_HOME/gatein/conf/configuration.properties
+<programlisting><replaceable>TOMCAT_HOME</replaceable>/gatein/conf/configuration.properties
</programlisting>
</para>
<para>
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Configuration/EMailServiceConfiguration.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Configuration/EMailServiceConfiguration.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/Configuration/EMailServiceConfiguration.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -15,7 +15,7 @@
<section id="sect-Reference_Guide-E_Mail_Service_Configuration-Configuring_the_outgoing_e_mail_account">
<title>Configuring the outgoing e-mail account</title>
<para>
- The e-mail service can use any SMTP account configured in $JBOSS_HOME/server/default/conf/gatein/configuration.properties (or $TOMCAT_HOME/gatein/conf/configuration.properties if you are using Tomcat).
+ The e-mail service can use any SMTP account configured in <replaceable>JBOSS_AS</replaceable>/server/<replaceable>PROFILE</replaceable>/conf/gatein/configuration.properties (or <replaceable>TOMCAT_HOME</replaceable>/gatein/conf/configuration.properties if you are using Tomcat).
</para>
<para>
The relevant section looks like:
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/GadgetDevelopment/SetupGadgetServer.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/GadgetDevelopment/SetupGadgetServer.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/GadgetDevelopment/SetupGadgetServer.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -14,7 +14,7 @@
An example would hosting the portal from <emphasis role="bold">http://www.sample.com</emphasis> and the gadgets from <emphasis role="bold">http://www.samplemodules.com</emphasis>.
</para>
<para>
- To do this, configure the <emphasis>gadgets.hostName</emphasis> parameter in the <filename>server/$CONF/deploy/gatein.ear/02portal.war/WEB-INF/conf/portal/application-registry-configuration.xml</filename> file. The value is the <emphasis role="bold">path/to/gadgetServer</emphasis> in <literal>GadgetRegisteryService</literal>:
+ To do this, configure the <emphasis>gadgets.hostName</emphasis> parameter in the <filename>server/<replaceable>PROFILE</replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/portal/application-registry-configuration.xml</filename> file. The value is the <emphasis role="bold">path/to/gadgetServer</emphasis> in <literal>GadgetRegisteryService</literal>:
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/Gadget_Development_SetupGadgetServer/default139.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/PortalDevelopment/InternationalizationConfiguration.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/PortalDevelopment/InternationalizationConfiguration.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/PortalDevelopment/InternationalizationConfiguration.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -30,16 +30,6 @@
</para>
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/PortalDevelopment_InternationalizationConfiguration/default147.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting>NavigationPortlet_de.properties
-NavigationPortlet_en.properties
-NavigationPortlet_es.properties
-NavigationPortlet_fr.properties
-NavigationPortlet_nl.properties
-NavigationPortlet_ru.properties
-NavigationPortlet_uk.properties
-NavigationPortlet_ar.xml
-</programlisting>-->
<para>
Inside those file are typical <literal>key=value</literal> Java EE properties. For example; in the <literal>French</literal> file:
@@ -47,7 +37,6 @@
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/PortalDevelopment_InternationalizationConfiguration/default148.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="Java" role="JAVA"><![CDATA[javax.portlet.title=Portlet Navigation]]></programlisting>-->
<para>
There are also properties files in the portal itself. They form the <emphasis role="bold">portal resource bundle</emphasis>.
</para>
@@ -78,17 +67,6 @@
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/PortalDevelopment_InternationalizationConfiguration/default149.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="XML" role="XML"><![CDATA[<component>
- <key>org.exoplatform.services.resources.LocaleConfigService</key>
- <type>org.exoplatform.services.resources.impl.LocaleConfigServiceImpl</type>
- <init-params>
- <value-param>
- <name>locale.config.file</name>
- <value>war:/conf/common/locales-config.xml</value>
- </value-param>
- </init-params>
-</component>]]></programlisting>-->
<para>
This configuration points to the locale configuration file.
@@ -105,33 +83,8 @@
<area coords="22" id="area-Reference_Guide-i18n.locales.configuration.orientation" />
</areaspec>
-<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/PortalDevelopment_InternationalizationConfiguration/default150.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
+<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/PortalDevelopment_InternationalizationConfiguration/default150.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
-<locales-config>
- <locale-config>
- <locale>en</locale>
- <output-encoding>UTF-8</output-encoding>
- <input-encoding>UTF-8</input-encoding>
- <description>Default configuration for english locale</description>
- </locale-config>
-
- <locale-config>
- <locale>fr</locale>
- <output-encoding>UTF-8</output-encoding>
- <input-encoding>UTF-8</input-encoding>
- <description>Default configuration for the french locale</description>
- </locale-config>
-
- <locale-config>
- <locale>ar</locale>
- <output-encoding>UTF-8</output-encoding>
- <input-encoding>UTF-8</input-encoding>
- <description>Default configuration for the arabic locale</description>
- <orientation>rt</orientation>
- </locale-config>
-</locales-config>]]></programlisting>-->
-
<calloutlist>
<callout arearefs="area-Reference_Guide-i18n.locales.configuration.locale">
<para>
@@ -175,40 +128,7 @@
</areaspec>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/PortalDevelopment_InternationalizationConfiguration/default151.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="XML" role="XML"><![CDATA[<component>
- <key>org.exoplatform.services.resources.ResourceBundleService</key>
- <type>org.exoplatform.services.resources.impl.SimpleResourceBundleService</type>
- <init-params>
- <values-param>
- <name>classpath.resources</name>
- <description>The resources that start with the following package name should be load from file system</description>
- <value>locale.portlet</value>
- </values-param>
- <values-param>
- <name>init.resources</name>
- <description>Initiate the following resources during the first launch</description>
- <value>locale.portal.expression</value>
- <value>locale.portal.services</value>
- <value>locale.portal.webui</value>
- <value>locale.portal.custom</value>
- <value>locale.navigation.portal.classic</value>
- <value>locale.navigation.group.platform.administrators</value>
- <value>locale.navigation.group.platform.users</value>
- <value>locale.navigation.group.platform.guests</value>
- <value>locale.navigation.group.organization.management.executive-board</value>
- </values-param>
- <values-param>
- <name>portal.resource.names</name>
- <description>The properties files of the portal , those file will be merged
- into one ResoruceBundle properties </description>
- <value>locale.portal.expression</value>
- <value>locale.portal.services</value>
- <value>locale.portal.webui</value>
- <value>locale.portal.custom</value>
- </values-param>
- </init-params>
-</component>]]></programlisting>-->
+
<calloutlist>
<callout arearefs="area-Reference_Guide-i18n.rb.service.classpath_resources">
<para>
@@ -251,11 +171,6 @@
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/PortalDevelopment_InternationalizationConfiguration/default152.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting>organization.title=Organization
-organization.newstaff=New Staff
-organization.management=Management
-</programlisting>-->
-
<para>
This resource bundle is only accessible for the navigation of the <parameter>organization.management.executive-board</parameter> group.
</para>
@@ -298,13 +213,9 @@
</para>
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/PortalDevelopment_InternationalizationConfiguration/default154.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="Java" role="JAVA"><![CDATA[javax.portlet.title=Breadcrumbs Portlet
- javax.portlet.short-title=Breadcrumbs
- javax.portlet.keywords=Breadcrumbs, Breadcrumb]]></programlisting>-->
+
</section>
-<!-- DOC TODO: This section requires more information. Source content and unmark section for next release. -->
<section id="sect-Reference_Guide-_Portlets_-Debugging_Resource_Bundle_Usage">
<title>Debugging Resource Bundle Usage</title>
@@ -313,8 +224,41 @@
When translating an application it can sometimes be difficult to find the right key for a given property.
</para>
<para>
- Execute the portal in <emphasis role="bold">debug mode</emphasis> and select, from the available languages, the special language; <emphasis role="bold">Magic locale</emphasis>.
+ You can start the ortal in <emphasis>debug mode</emphasis> and use the <emphasis role="bold">Magic locale</emphasis> special language to assist in finding the correct translated key value.
</para>
+ <procedure>
+ <title>Executing the portal in <emphasis role="bold">debug mode</emphasis></title>
+ <step>
+ <para>
+ Open the <replaceable>JBOSS_AS</replaceable> <filename>run.conf</filename> file.
+ </para>
+<programlisting>[<replaceable>USER</replaceable>@<replaceable>HOST</replaceable> <replaceable>JBOSS_AS</replaceable>]$ vi bin/run.conf
+</programlisting>
+ </step>
+ <step>
+ <para>
+ Add the <literal>-Xdebug</literal> parameter to the <emphasis role="bold">JAVA_OPTS</emphasis> listed on (or near, if you have made previous configuration changes) line 45.
+ </para>
+<programlisting>if [ "x$JAVA_OPTS" = "x" ]; then
+JAVA_OPTS="-Xms256m -Xmx512m <emphasis role="bold">-Xdebug</emphasis> -XX:MaxPermSize=256m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.lang.ClassLoader.allowArraySyntax=true"
+fi</programlisting>
+ </step>
+ <step>
+ <para>
+ Start the portal as normal:
+ </para>
+<programlisting>[<replaceable>USER</replaceable>@<replaceable>HOST</replaceable> <replaceable>JBOSS_AS</replaceable>]$ ./bin/run.sh
+</programlisting>
+ </step>
+ </procedure>
+ <procedure>
+ <title>Setting the Magic Locale</title>
+ <step>
+ <para>
+ Step 1.
+ </para>
+ </step>
+ </procedure>
<para>
This feature translates a key to the same key value.
</para>
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/PortalDevelopment/Skinning.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/PortalDevelopment/Skinning.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/PortalDevelopment/Skinning.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -96,14 +96,7 @@
To change the skin to <literal>MySkin</literal> you would make the following changes:
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default180.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="XML" role="XML"><![CDATA[<portal-config>
- <portal-name>classic</portal-name>
- <locale>en</locale>
- <access-permissions>Everyone</access-permissions>
- <edit-permission>*:/platform/administrators</edit-permission>
- <skin>MySkin</skin>
- ...]]></programlisting> -->
+
</section>
</section>
@@ -139,20 +132,6 @@
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default181.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!-- <programlisting language="XML" role="XML"><![CDATA[<head>
-...-->
-<!-- The portal skin -->
-<!--<link id="CoreSkin" rel="stylesheet" type="text/CSS" href="/eXoResources/skin/Stylesheet.CSS" />-->
-
-<!-- The portlet skins -->
-<!--<link id="web_FooterPortlet" rel="stylesheet" type="text/CSS" href= "/web/skin/portal/webui/component/UIFooterPortlet/DefaultStylesheet.CSS" />
-<link id="web_NavigationPortlet" rel="stylesheet" type="text/CSS" href= "/web/skin/portal/webui/component/UINavigationPortlet/DefaultStylesheet.CSS" />
-<link id="web_HomePagePortlet" rel="stylesheet" type="text/CSS" href= "/portal/templates/skin/webui/component/UIHomePagePortlet/DefaultStylesheet.CSS" />
-<link id="web_BannerPortlet" rel="stylesheet" type="text/CSS" href= "/web/skin/portal/webui/component/UIBannerPortlet/DefaultStylesheet.CSS" />
-...
-</head>
-]]></programlisting> -->
-
<note>
<title>CSS Classes</title>
<para>
@@ -179,25 +158,6 @@
Below is an example of where to define a skin (<literal>MySkin</literal>) with its CSS location, and specify some window decorator skins:
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default182.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="XML" role="XML"><![CDATA[<gatein-resources>
- <portal-skin>
- <skin-name>MySkin</skin-name>
- <CSS-path>/skin/myskin.CSS</CSS-path>
- <overwrite>false</overwrite>
- </portal-skin>
-</gatein-resources> -->
-
- <!-- window style -->
-<!-- <window-style>
- <style-name>MyThemeCategory</style-name>
- <style-theme>
- <theme-name>MyThemeBlue</theme-name>
- </style-theme>
- <style-theme>
- <theme-name>MyThemeRed</theme-name>
- </style-theme>
- ...]]></programlisting> -->
</section>
<section id="sect-Reference_Guide-The_Skin_Service-Resource_Request_Filter">
@@ -209,17 +169,7 @@
Any new web applications containing skinning CSS files will need to have the following added to their <filename>web.xml</filename> :
</para>
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default183.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting language="XML" role="XML"><![CDATA[<filter>
- <filter-name>ResourceRequestFilter</filter-name>
- <filter-class>org.exoplatform.portal.application.ResourceRequestFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>ResourceRequestFilter</filter-name>
- <url-pattern>*.CSS</url-pattern>
- </filter-mapping>
-]]></programlisting> -->
<note>
<title>The <literal>display-name</literal> Element</title>
@@ -266,12 +216,7 @@
<area coords="4" id="area-Reference_Guide-Skin_Configuration-Default_Skin-portlet" />
</areaspec>
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default184.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting>@import url(DefaultSkin/portal/webui/component/UIPortalApplicationSkin.CSS);
-@import url(DefaultSkin/webui/component/Stylesheet.CSS);
-@import url(PortletThemes/Stylesheet.CSS);
-@import url(Portlet/Stylesheet.CSS);
-</programlisting>-->
+
<calloutlist>
<callout arearefs="area-Reference_Guide-Skin_Configuration-Default_Skin-uiportletapplication">
<para>
@@ -304,9 +249,7 @@
</para>
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default185.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting>@import url(/eXoResources/skin/Portlet/Stylesheet.CSS);
-</programlisting>-->
+
<note>
<title>Stylesheet Merging</title>
<para>
@@ -333,14 +276,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default186.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<gatein-resources>
- <portal-skin>
- <skin-name>MySkin</skin-name>
- <CSS-path>/skin/myskin.CSS</CSS-path>
- <overwrite>false</overwrite>
- </portal-skin>
-</gatein-resources>]]></programlisting>-->
-
<para>
The default portal skin and window styles are defined in <filename>01eXoResources.war/WEB-INF/gatein-resources.xml</filename>.
</para>
@@ -377,9 +312,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default187.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting>.UIChangeSkinForm .UIItemSelector .TemplateContainer .<emphasis role="bold">MySkinImage</emphasis>
-</programlisting>-->
-
<para>
In order for the default skin to display the skin icon for a new portal skin, the preview screenshot needs to be placed in: <filename>01eXoResources.war:/skin/DefaultSkin/portal/webui/component/customization/UIChangeSkinForm/background</filename>.
</para>
@@ -389,13 +321,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default188.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting>.UIChangeSkinForm .UIItemSelector .TemplateContainer .<emphasis role="bold">MySkinImage</emphasis> {
- margin: auto;
- width: 329px; height:204px;
- background: url('background/MySkin.jpg') no-repeat top;
- cursor: pointer ;
-}
-</programlisting>-->
</section>
</section>
@@ -425,16 +350,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default189.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<window-style>
- <style-name>MyTheme</style-name>
- <style-theme>
- <theme-name>MyThemeBlue</theme-name>
- </style-theme>
- <style-theme>
- <theme-name>MyThemeRed</theme-name>
- </style-theme>
-</window-style>]]></programlisting>-->
-
<para>
The windows style configuration for the default skin is configured in: <filename>01eXoResources.war/WEB-INF/gatein-resources.xml</filename>.
</para>
@@ -464,135 +379,7 @@
</para>
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default190.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-
-<!--<programlisting><![CDATA[
-/*–––– MyTheme ––––*/
-.MyTheme .WindowBarCenter .WindowPortletInfo {
- margin-right: 80px; /* orientation=lt */
- margin-left: 80px; /* orientation=rt */
-}
-.MyTheme .WindowBarCenter .ControlIcon {
- float: right;/* orientation=lt */
- float: left;/* orientation=rt */
- width: 24px;
- height: 17px;
- cursor: pointer;
- background-image: url('background/MyTheme.png');
-}
-.MyTheme .ArrowDownIcon {
- background-position: center 20px;
-}
-.MyTheme .OverArrowDownIcon {
- background-position: center 116px;
-}
-.MyTheme .MinimizedIcon {
- background-position: center 44px;
-}
-.MyTheme .OverMinimizedIcon {
- background-position: center 140px;
-}
-.MyTheme .MaximizedIcon {
- background-position: center 68px;
-}
-.MyTheme .OverMaximizedIcon {
- background-position: center 164px;
-}
-.MyTheme .RestoreIcon {
- background-position: center 92px;
-}
-.MyTheme .OverRestoreIcon {
- background-position: center 188px;
-}
-.MyTheme .NormalIcon {
- background-position: center 92px;
-}
-.MyTheme .OverNormalIcon {
- background-position: center 188px;
-}
-.UIPageDesktop .MyTheme .ResizeArea {
- float: right;/* orientation=lt */
- float: left;/* orientation=rt */
- width: 18px; height: 18px;
- cursor: nw-resize;
- background: url('background/ResizeArea18x18.gif') no-repeat left top; /* orientation=lt */
- background: url('background/ResizeArea18x18-rt.gif') no-repeat right top; /* orientation=rt */
-}
-.MyTheme .Information {
- height: 18px; line-height: 18px;
- vertical-align: middle; font-size: 10px;
- padding-left: 5px;/* orientation=lt */
- padding-right: 5px;/* orientation=rt */
- margin-right: 18px;/* orientation=lt */
- margin-left: 18px;/* orientation=rt */
-}
-.MyTheme .WindowBarCenter .WindowPortletIcon {
- background-position: left top; /* orientation=lt */
- background-position: right top; /* orientation=rt */
- padding-left: 20px; /* orientation=lt */
- padding-right: 20px; /* orientation=rt */
- height: 16px;
- line-height: 16px;
-}
-.MyTheme .WindowBarCenter .PortletName {
- font-weight: bold;
- color: #333333;
- overflow: hidden;
- white-space: nowrap;
- width: 100%;
-}
-.MyTheme .WindowBarLeft {
- padding-left: 12px;
- background-image: url('background/MyTheme.png');
- background-repeat: no-repeat;
- background-position: left -148px;
-}
-.MyTheme .WindowBarRight {
- padding-right: 11px;
- background-image: url('background/MyTheme.png');
- background-repeat: no-repeat;
- background-position: right -119px;
-}
-.MyTheme .WindowBarCenter {
- background-image: url('background/MyTheme.png');
- background-repeat: repeat-x;
- background-position: left -90px;
-}
-.MyTheme .WindowBarCenter .FixHeight {
- height: 21px;
- padding-top: 8px;
-}
-.MyTheme .MiddleDecoratorLeft {
- padding-left: 12px;
- background: url('background/MyTheme.png') repeat-y left;
-}
-.MyTheme .MiddleDecoratorRight {
- padding-right: 11px;
- background: url('background/MyTheme.png') repeat-y right;
-}
-.MyTheme .MiddleDecoratorCenter {
- background: #ffffff;
-}
-.MyTheme .BottomDecoratorLeft {
- MyTheme: 12px;
- background-image: url('background/MyTheme.png');
- background-repeat: no-repeat;
- background-position: left -60px;
-}
-.MyTheme .BottomDecoratorRight {
- padding-right: 11px;
- background-image: url('background/MyTheme.png');
- background-repeat: no-repeat;
- background-position: right -30px;
-}
-.MyTheme .BottomDecoratorCenter {
- background-image: url('background/MyTheme.png');
- background-repeat: repeat-x;
- background-position: left top;
-}
-.MyTheme .BottomDecoratorCenter .FixHeight {
- height: 30px;
-}]]>
-</programlisting>-->
+
</section>
<section id="sect-Reference_Guide-Creating_a_New_Window_Style-How_to_Set_the_Default_Window_Style">
@@ -627,20 +414,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default191.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="XML" role="XML"><![CDATA[<portlet-skin>
- <application-name>portletAppName</application-name>
- <portlet-name>PortletName</portlet-name>
- <skin-name>Default</skin-name>
- <CSS-path>/skin/DefaultStylesheet.CSS</CSS-path>
-</portlet-skin>
-
-<portlet-skin>
- <application-name>portletAppName</application-name>
- <portlet-name>PortletName</portlet-name>
- <skin-name>OtherSkin</skin-name>
- <CSS-path>/skin/OtherSkinStylesheet.CSS</CSS-path>
-</portlet-skin>]]></programlisting>-->
-
<para>
This will load the <literal>DefaultStylesheet.css</literal> when the Default skin is used and the <literal>OtherSkinStylesheet.css</literal> when the <literal>OtherSkin</literal> is used.
</para>
@@ -718,9 +491,6 @@
<programlisting language="Java" role="Java"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default192.java" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting>sh $JBOSS_HOME/bin/run.sh -Dexo.product.developing=true
-</programlisting>-->
-
<warning>
<para>
This option may cause display bugs in some browsers.
@@ -749,23 +519,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default193.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></programlisting>
-<!--<programlisting language="HTML" role="HTML"><![CDATA[<div class="Parent">
- <div class="TopLeft">
- <div class="TopRight">
- <div class="TopCenter"><span></span></div>
- </div>
- </div>
- <div class="CenterLeft">
- <div class="CenterRight">
- <div class="CenterCenter">BODY</div>
- </div>
- </div>
- <div class="BottomLeft">
- <div class="BottomRight">
- <div class="BottomCenter"><span></span></div>
- </div>
- <div>
-</div>]]></programlisting>-->
</section>
<section id="sect-Reference_Guide-Some_CSS_techniques-Left_margin_left_pattern">
@@ -781,13 +534,6 @@
<programlisting language="XML" role="XML"><xi:include parse="text" href="../../extras/PortalDevelopment_Skinning/default194.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/></programlisting>
-<!--<programlisting language="HTML" role="HTML"><![CDATA[<div class="Parent">
- <div style="float: left; width: 100px">
- </div>
- <div style="margin-left: 105px;">
- <div>
- <div style="clear: left"><span></span></div>
-</div>]]></programlisting>-->
</section>
</section>
Modified: epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/WSRP.xml
===================================================================
--- epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/WSRP.xml 2010-09-14 07:58:17 UTC (rev 4183)
+++ epp/docs/branches/EPP_5_0_Branch/Reference_Guide/en-US/modules/WSRP.xml 2010-09-14 08:29:04 UTC (rev 4184)
@@ -75,17 +75,17 @@
<orderedlist>
<listitem>
<para>
- That &PRODUCT_NAME; has been installed into <code>$GATEIN_HOME</code>.
+ That the directory &PRODUCT_NAME; has been installed into will be referred to as <replaceable>PORTAL_HOME</replaceable>.
</para>
</listitem>
<listitem>
<para>
- That <code>$WSRP_VERSION</code> is the version of the WSRP component in use (at the time of the writing, it was &WSRP_VERSION;).
+ That <replaceable>WSRP_VERSION</replaceable> is the version of the WSRP component in use (at the time of the writing, it was &WSRP_VERSION;).
</para>
</listitem>
<listitem>
<para>
- That <code>$PORTAL_VERSION</code> is the current &PRODUCT_NAME; version (at the time of the writing, it was &PORTAL_VERSION;).
+ That <replaceable>PORTAL_VERSION</replaceable> is the current &PRODUCT_NAME; version (at the time of the writing, it was &PORTAL_VERSION;).
</para>
</listitem>
</orderedlist>
@@ -94,7 +94,7 @@
<variablelist>
<title>WSRP support files</title>
<varlistentry>
- <term>$GATEIN_HOME/wsrp-admin-gui.war</term>
+ <term><replaceable>PORTAL_HOME</replaceable>/wsrp-admin-gui.war</term>
<listitem>
<para>
This file contains the WSRP Configuration portlet with which you can configure consumers to access remote servers and how the WSRP producer is configured.
@@ -102,7 +102,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>$GATEIN_HOME/wsrp-producer.war</term>
+ <term><replaceable>PORTAL_HOME</replaceable>/wsrp-producer.war</term>
<listitem>
<para>
This file contains the WSRP producer web application.
@@ -110,7 +110,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>$GATEIN_HOME/lib/wsrp-common-$WSRP_VERSION.jar</term>
+ <term><replaceable>PORTAL_HOME</replaceable>/lib/wsrp-common-<replaceable>WSRP_VERSION</replaceable>.jar</term>
<listitem>
<para>
This file contains common classes needed by the different WSRP libraries.
@@ -118,7 +118,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>$GATEIN_HOME/lib/wsrp-consumer-$WSRP_VERSION.jar</term>
+ <term><replaceable>PORTAL_HOME</replaceable>/lib/wsrp-consumer-<replaceable>WSRP_VERSION</replaceable>.jar</term>
<listitem>
<para>
This file contains the WSRP consumer.
@@ -126,7 +126,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>$GATEIN_HOME/lib/wsrp-integration-api-$WSRP_VERSION.jar</term>
+ <term><replaceable>PORTAL_HOME</replaceable>/lib/wsrp-integration-api-<replaceable>WSRP_VERSION</replaceable>.jar</term>
<listitem>
<para>
This file contains the API classes needed to integrate the WSRP component into portals.
@@ -134,7 +134,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>$GATEIN_HOME/lib/wsrp-wsrp2-ws-$WSRP_VERSION.jar</term>
+ <term><replaceable>PORTAL_HOME</replaceable>/lib/wsrp-wsrp2-ws-<replaceable>WSRP_VERSION</replaceable>.jar</term>
<listitem>
<para>
This file contains the JAX-WS classes for WSRP version 2.
@@ -142,7 +142,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>$GATEIN_HOME/lib/wsrp-wsrp1-ws-$WSRP_VERSION.jar</term>
+ <term><replaceable>PORTAL_HOME</replaceable>/lib/wsrp-wsrp1-ws-<replaceable>WSRP_VERSION</replaceable>.jar</term>
<listitem>
<para>
This file contains the generated JAX-WS classes for WSRP version 1.
@@ -150,7 +150,7 @@
</listitem>
</varlistentry>
<varlistentry>
- <term>$GATEIN_HOME/lib/gatein.portal.component.wsrp-$PORTAL_VERSION.jar</term>
+ <term><replaceable>PORTAL_HOME</replaceable>/lib/gatein.portal.component.wsrp-<replaceable>PORTAL_VERSION</replaceable>.jar</term>
<listitem>
<para>
This file contains the code to integrate the WSRP service into &PRODUCT_NAME;.
@@ -159,7 +159,7 @@
</varlistentry>
</variablelist>
<para>
- If WSRP is not going to be used in &PRODUCT_NAME;, the <filename>$GATEIN_HOME/lib/gatein.portal.component.wsrp-$PORTAL_VERSION.jar</filename> can be removed from &PRODUCT_NAME; distribution to deactivate WSRP support.
+ If WSRP is not going to be used in &PRODUCT_NAME;, the <filename><replaceable>PORTAL_HOME</replaceable>/lib/gatein.portal.component.wsrp-<replaceable>PORTAL_VERSION</replaceable>.jar</filename> can be removed from &PRODUCT_NAME; distribution to deactivate WSRP support.
</para>
<section id="sect-Reference_Guide-Deploying_PRODUCT_NAMEs_WSRP_services-Considerations_for_use_with_non-default_port_or_hostname">
<title>Considerations for use with non-default port or hostname</title>
@@ -484,7 +484,7 @@
Although using the WSRP Configuration portlet to configure Consumers is recommended, the WSRP component provides an alternative way to configure consumers.
</para>
<para>
- This is done by editing the XML file located at <filename>$GATEIN_HOME/lib/wsrp-consumer-$WSRP_VERSION.jar/conf/wsrp-consumers-config.xml</filename>.
+ This is done by editing the XML file located at <filename><replaceable>PORTAL_HOME</replaceable>/lib/wsrp-consumer-<replaceable>WSRP_VERSION</replaceable>.jar/conf/wsrp-consumers-config.xml</filename>.
</para>
@@ -518,7 +518,7 @@
</para>
<note>
<para>
- An XML Schema defining which elements are available to configure Consumers via XML can be found in <filename> $GATEIN_HOME/lib/wsrp-integration-api-$WSRP_VERSION.jar/xsd/gatein_wsrp_consumer_1_0.xsd </filename>
+ An XML Schema defining which elements are available to configure Consumers via XML can be found in <filename><replaceable>PORTAL_HOME</replaceable>/lib/wsrp-integration-api-<replaceable>WSRP_VERSION</replaceable>.jar/xsd/gatein_wsrp_consumer_1_0.xsd </filename>
</para>
</note>
</section>
@@ -557,13 +557,13 @@
Although using the WSRP Configuration portlet to configure Consumers is recommended, the WSRP component provides an alternative way to configure consumers.
</para>
<para>
- This is done by editing the XML file located at <filename>$GATEIN_HOME/lib/wsrp-consumer-$WSRP_VERSION.jar/conf/wsrp-consumers-config.xml</filename>.
+ This is done by editing the XML file located at <filename><replaceable>PORTAL_HOME</replaceable>/lib/wsrp-consumer-<replaceable>WSRP_VERSION</replaceable>.jar/conf/wsrp-consumers-config.xml</filename>.
</para>
<note>
<title>XML Elements</title>
<para>
- An XML Schema defining which elements are available to configure Consumers via XML can be found in <filename> $GATEIN_HOME/lib/wsrp-integration-api-$WSRP_VERSION.jar/xsd/gatein_wsrp_consumer_1_0.xsd </filename>
+ An XML Schema defining which elements are available to configure Consumers via XML can be found in <filename> <replaceable>PORTAL_HOME</replaceable>/lib/wsrp-integration-api-<replaceable>WSRP_VERSION</replaceable>.jar/xsd/gatein_wsrp_consumer_1_0.xsd </filename>
</para>
</note>
<note>
@@ -962,10 +962,10 @@
<section id="sect-Reference_Guide-Configuring_PRODUCT_NAMEs_WSRP_Producer-Overview">
<title>Overview</title>
<para>
- The behavior of the Portal's WSRP Producer can be configured using the WSRP administration interface, (this is the recommended method), or by editing the <filename>$GATEIN_HOME/wsrp-producer.war/WEB-INF/conf/producer/config.xml</filename> file.
+ The behavior of the Portal's WSRP Producer can be configured using the WSRP administration interface, (this is the recommended method), or by editing the <filename><replaceable>PORTAL_HOME</replaceable>/wsrp-producer.war/WEB-INF/conf/producer/config.xml</filename> file.
</para>
<para>
- Several aspects can be modified with respects to whether registration is required for consumers to access the Producer's services. An XML Schema for the configuration format is available at <filename> $GATEIN_HOME/lib/wsrp-integration-api-$WSRP_VERSION.jar/xsd/gatein_wsrp_producer_1_0.xsd </filename>.
+ Several aspects can be modified with respects to whether registration is required for consumers to access the Producer's services. An XML Schema for the configuration format is available at <filename> <replaceable>PORTAL_HOME</replaceable>/lib/wsrp-integration-api-<replaceable>WSRP_VERSION</replaceable>.jar/xsd/gatein_wsrp_producer_1_0.xsd </filename>.
</para>
</section>
14 years, 3 months
gatein SVN: r4183 - portal/branches/branch-r4047/web/eXoResources/src/main/webapp/javascript/eXo/portal.
by do-not-reply@jboss.org
Author: phuong_vu
Date: 2010-09-14 03:58:17 -0400 (Tue, 14 Sep 2010)
New Revision: 4183
Modified:
portal/branches/branch-r4047/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalControl.js
Log:
GTNPORTAL-1433 Have problem when search page or user does not exits in list by used enter key press
Modified: portal/branches/branch-r4047/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalControl.js
===================================================================
--- portal/branches/branch-r4047/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalControl.js 2010-09-14 07:53:33 UTC (rev 4182)
+++ portal/branches/branch-r4047/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalControl.js 2010-09-14 07:58:17 UTC (rev 4183)
@@ -19,7 +19,6 @@
function UIPortalControl() {
this.scrollManagers = new Array();
- this.t = 0;
};
/**
* Change state of window
@@ -70,18 +69,20 @@
if(e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
if(code ==13) {
- if(this.t != 13) {
- var uiPortalLoginFormAction = document.getElementById("UIPortalLoginFormAction");
- if(uiPortalLoginFormAction) {
- uiPortalLoginFormAction.onclick() ;
- }
- else
- {
- if(executeScript)
- eval(executeScript);
- }
+ if (window.event) {
+ e.returnValue = false;
+ } else {
+ e.preventDefault();
+ }
+ var uiPortalLoginFormAction = document.getElementById("UIPortalLoginFormAction");
+ if(uiPortalLoginFormAction) {
+ uiPortalLoginFormAction.onclick() ;
}
- this.t = code;
+ else
+ {
+ if(executeScript)
+ eval(executeScript);
+ }
}
};
14 years, 3 months
gatein SVN: r4182 - portal/branches/branch-r4047/web/eXoResources/src/main/webapp/javascript/eXo/core.
by do-not-reply@jboss.org
Author: phuong_vu
Date: 2010-09-14 03:53:33 -0400 (Tue, 14 Sep 2010)
New Revision: 4182
Modified:
portal/branches/branch-r4047/web/eXoResources/src/main/webapp/javascript/eXo/core/UIMaskLayer.js
Log:
GTNPORTAL-1444 Fix js bug with IE : always ignore Text node when use Node.nextSibling
Modified: portal/branches/branch-r4047/web/eXoResources/src/main/webapp/javascript/eXo/core/UIMaskLayer.js
===================================================================
--- portal/branches/branch-r4047/web/eXoResources/src/main/webapp/javascript/eXo/core/UIMaskLayer.js 2010-09-14 04:19:09 UTC (rev 4181)
+++ portal/branches/branch-r4047/web/eXoResources/src/main/webapp/javascript/eXo/core/UIMaskLayer.js 2010-09-14 07:53:33 UTC (rev 4182)
@@ -137,14 +137,14 @@
Browser.setOpacity(maskLayer, opacity) ;
}
- if(object != null){
- if(object.nextSibling) {
- maskLayer.nextSiblingOfObject = object.nextSibling ;
- maskLayer.parentOfObject = null ;
+ if(object != null) {
+ var tempNextSibling = document.createElement("span");
+ if(object.nextSibling) {
+ object.parentNode.insertBefore(tempNextSibling, object.nextSibling);
} else {
- maskLayer.nextSiblingOfObject = null ;
- maskLayer.parentOfObject = object.parentNode ;
+ object.parentNode.appendChild(tempNextSibling);
}
+ maskLayer.nextSiblingOfObject = tempNextSibling ;
//object.style.zIndex = maskLayer.maxZIndex + 1 ;
object.style.zIndex = maskLayer.maxZIndex;
@@ -198,18 +198,18 @@
}
if(object != null){
- if(object.nextSibling) {
- maskLayer.nextSiblingOfObject = object.nextSibling ;
- maskLayer.parentOfObject = null ;
- } else {
- maskLayer.nextSiblingOfObject = null ;
- maskLayer.parentOfObject = object.parentNode ;
- }
+ var tempNextSibling = document.createElement("span");
+ if(object.nextSibling) {
+ object.parentNode.insertBefore(tempNextSibling, object.nextSibling);
+ } else {
+ object.parentNode.appendChild(tempNextSibling);
+ }
+ maskLayer.nextSiblingOfObject = tempNextSibling ;
+
+ object.style.zIndex = maskLayer.maxZIndex + 1 ;
+ object.style.display = "block" ;
- object.style.zIndex = maskLayer.maxZIndex + 1 ;
- object.style.display = "block" ;
-
- blockContainer.appendChild(object) ;
+ blockContainer.appendChild(object) ;
}
}catch(err) {}
@@ -283,16 +283,11 @@
var parentNode = maskLayer.parentNode ;
maskLayer.nextSibling.style.display = "none" ;
- if (maskLayer.nextSiblingOfObject) {
- maskLayer.nextSiblingOfObject.parentNode.insertBefore(maskLayer.nextSibling, maskLayer.nextSiblingOfObject) ;
- maskLayer.nextSiblingOfObject = null ;
- } else {
- maskLayer.parentOfObject.appendChild(maskLayer.nextSibling) ;
- maskLayer.parentOfObject = null ;
- }
-
- parentNode.removeChild(maskLayer) ;
+ maskLayer.nextSiblingOfObject.parentNode.insertBefore(maskLayer.nextSibling, maskLayer.nextSiblingOfObject) ;
+ maskLayer.nextSiblingOfObject.parentNode.removeChild(maskLayer.nextSiblingOfObject);
+ maskLayer.nextSiblingOfObject = null ;
+ parentNode.removeChild(maskLayer) ;
}
} ;
14 years, 3 months