Author: chris.laprun(a)jboss.com
Date: 2009-12-17 07:09:12 -0500 (Thu, 17 Dec 2009)
New Revision: 1042
Added:
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/SynchronizationListener.java
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/SynchronizationStatus.java
portal/branches/wsrp-integration/component/common/src/test/java/org/exoplatform/commons/chromattic/SynchronizationEvent.java
portal/branches/wsrp-integration/component/common/src/test/java/org/exoplatform/commons/chromattic/SynchronizationEventQueue.java
Removed:
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/ModelDemarcation.java
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/application/MOPSessionLifeCycle.java
Modified:
portal/branches/wsrp-integration/component/application-registry/src/main/java/conf/application-nodetypes.xml
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/gadget/GadgetDeployer.java
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/gadget/impl/GadgetDefinition.java
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/gadget/impl/LocalGadgetData.java
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/registry/impl/ApplicationRegistryServiceImpl.java
portal/branches/wsrp-integration/component/application-registry/src/test/java/org/exoplatform/application/registry/TestApplicationRegistryService.java
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/AbstractContext.java
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/ChromatticLifeCycle.java
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/ChromatticManager.java
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/ContextualTask.java
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/SessionContext.java
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/Synchronization.java
portal/branches/wsrp-integration/component/common/src/test/java/org/exoplatform/commons/chromattic/ChromatticIntegrationTestCase.java
portal/branches/wsrp-integration/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMOrganizationServiceImpl.java
portal/branches/wsrp-integration/component/identity/src/test/java/org/exoplatform/services/organization/TestOrganizationService.java
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/DataStorageImpl.java
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/GroupPortalConfigListener.java
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/UserPortalConfigListener.java
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/UserPortalConfigService.java
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMDataStorage.java
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMSession.java
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMSessionManager.java
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/AbstractPortalTest.java
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestCache.java
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestContentRegistry.java
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestDataStorage.java
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestGadget.java
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestLoadedPOM.java
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestOrganization.java
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestPortalConfig.java
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestPortletPreferences.java
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestSavedPOM.java
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestUserPortalConfigService.java
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestWSRP.java
portal/branches/wsrp-integration/component/test/core/src/main/java/org/exoplatform/component/test/AbstractGateInTest.java
portal/branches/wsrp-integration/component/test/core/src/test/java/org/exoplatform/component/test/BootstrapTestCase.java
portal/branches/wsrp-integration/component/test/organization/src/test/java/org/exoplatform/component/test/organization/BootstrapTestCase.java
portal/branches/wsrp-integration/component/web/src/main/java/org/exoplatform/web/WebAppController.java
portal/branches/wsrp-integration/component/web/src/main/java/org/exoplatform/web/application/RequestContext.java
portal/branches/wsrp-integration/docs/user-guide/en/modules/Further_Documentation.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/Portal.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/gadgetsAdmin/Import_Portlets_and_Gadgets.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/gadgetsAdmin/Manage_Gadgets_in_User_Workspace.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/gadgetsAdmin/Manage_Portlets_and_Gadgets.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Change_Interface_Language.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Internationalization_Portlet.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Multi-Language_Navigation_Nodes.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Right_To_Left_Support_(RTL).xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Change_Node_Order.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Change_Portal_Skins.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Create_a_New_Portal.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Drag_and_Drop_the_Page_Body.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Navigation_Nodes.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Page_Navigation.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Pages.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Portals.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Page_Creation_Wizard.xml
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/User_Management.xml
portal/branches/wsrp-integration/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoContainerConfig.java
portal/branches/wsrp-integration/pom.xml
portal/branches/wsrp-integration/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java
portal/branches/wsrp-integration/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_en.properties
portal/branches/wsrp-integration/web/eXoResources/src/main/webapp/javascript/eXo/core/UIMaskLayer.js
portal/branches/wsrp-integration/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/customization/UIPageSelector/Stylesheet.css
portal/branches/wsrp-integration/web/portal/src/main/webapp/WEB-INF/conf/organization/organization-configuration.xml
portal/branches/wsrp-integration/web/portal/src/main/webapp/WEB-INF/webui-configuration.xml
portal/branches/wsrp-integration/web/portal/src/main/webapp/groovy/portal/webui/page/UIPageCreateDescription.gtmpl
portal/branches/wsrp-integration/web/portal/src/main/webapp/groovy/portal/webui/page/UIPageSelector2.gtmpl
portal/branches/wsrp-integration/web/portal/src/main/webapp/templates/skin/webui/component/UIHomePagePortlet/DefaultStylesheet.css
portal/branches/wsrp-integration/webui/core/src/main/java/org/exoplatform/webui/application/portlet/PortletRequestContext.java
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortlet.java
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageCreationWizard.java
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageForm.java
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageNodeForm2.java
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortal.java
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComponentActionListener.java
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java
Log:
- Merged trunk changes from revision 1010 to 1041.
Modified:
portal/branches/wsrp-integration/component/application-registry/src/main/java/conf/application-nodetypes.xml
===================================================================
---
portal/branches/wsrp-integration/component/application-registry/src/main/java/conf/application-nodetypes.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/application-registry/src/main/java/conf/application-nodetypes.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -81,7 +81,7 @@
</propertyDefinition>
</propertyDefinitions>
<childNodeDefinitions>
- <childNodeDefinition name="resources"
defaultPrimaryType="nt:folder" autoCreated="true"
mandatory="true"
+ <childNodeDefinition name="resources"
defaultPrimaryType="nt:folder" autoCreated="false"
mandatory="true"
onParentVersion="COPY" protected="false"
sameNameSiblings="false">
<requiredPrimaryTypes>
<requiredPrimaryType>nt:folder</requiredPrimaryType>
Modified:
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/gadget/GadgetDeployer.java
===================================================================
---
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/gadget/GadgetDeployer.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/gadget/GadgetDeployer.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -118,7 +118,7 @@
{
Element gadgetElement = (Element)nodeList.item(i);
String gadgetName = gadgetElement.getAttribute("name");
- System.out.println("About to import " + gadgetName);
+ log.info("About to import gadget " + gadgetName);
Element pathElt = XMLTools.getUniqueChild(gadgetElement, "path",
false);
if (pathElt != null)
{
@@ -154,7 +154,7 @@
}
finally
{
- lifeCycle.closeContext(context, true);
+ lifeCycle.closeContext(true);
}
}
}
Modified:
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/gadget/impl/GadgetDefinition.java
===================================================================
---
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/gadget/impl/GadgetDefinition.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/gadget/impl/GadgetDefinition.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -24,6 +24,7 @@
import org.chromattic.api.annotations.NodeMapping;
import org.chromattic.api.annotations.OneToOne;
import org.chromattic.api.annotations.Property;
+import org.chromattic.ntdef.NTFolder;
/**
* @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
@@ -68,6 +69,9 @@
@Create
protected abstract RemoteGadgetData createRemoteData();
+ @Create
+ protected abstract NTFolder createFolder();
+
public boolean isLocal()
{
GadgetData data = getData();
@@ -83,6 +87,8 @@
{
LocalGadgetData localData = createLocalData();
setData(localData);
+ NTFolder resources = createFolder();
+ localData.setResources(resources);
}
}
else
Modified:
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/gadget/impl/LocalGadgetData.java
===================================================================
---
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/gadget/impl/LocalGadgetData.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/gadget/impl/LocalGadgetData.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -57,6 +57,8 @@
@MappedBy("resources")
public abstract NTFolder getResources();
+ protected abstract void setResources(NTFolder resources);
+
private NTFile getGadgetContent() {
String fileName = getFileName();
NTFolder resources = getResources();
Modified:
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/registry/impl/ApplicationRegistryServiceImpl.java
===================================================================
---
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/registry/impl/ApplicationRegistryServiceImpl.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/application-registry/src/main/java/org/exoplatform/application/registry/impl/ApplicationRegistryServiceImpl.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -30,6 +30,7 @@
import org.exoplatform.container.ExoContainer;
import org.exoplatform.container.ExoContainerContext;
import org.exoplatform.container.component.ComponentPlugin;
+import org.exoplatform.container.component.RequestLifeCycle;
import org.exoplatform.portal.config.UserACL;
import org.exoplatform.portal.config.model.ApplicationType;
import org.exoplatform.portal.pom.config.POMSessionManager;
@@ -49,7 +50,6 @@
import java.util.Comparator;
import java.util.List;
import java.util.Set;
-import java.util.concurrent.atomic.AtomicReference;
/**
* The fundamental reason that motives to use tasks is because of the JMX access that
does not
@@ -119,31 +119,21 @@
final List<ApplicationCategory> categories = new
ArrayList<ApplicationCategory>();
//
-/*
- pomMGr.execute(new POMTask()
+ ContentRegistry registry = getContentRegistry();
+
+ //
+ for (CategoryDefinition categoryDef : registry.getCategoryList())
{
- public void run(POMSession session) throws Exception
- {
-*/
- ContentRegistry registry = getContentRegistry();
+ ApplicationCategory category = load(categoryDef, appTypes);
+ categories.add(category);
+ }
- //
- for (CategoryDefinition categoryDef : registry.getCategoryList())
- {
- ApplicationCategory category = load(categoryDef, appTypes);
- categories.add(category);
- }
+ //
+ if (sortComparator != null)
+ {
+ Collections.sort(categories, sortComparator);
+ }
- //
- if (sortComparator != null)
- {
- Collections.sort(categories, sortComparator);
- }
-/*
- }
- });
-*/
-
//
return categories;
}
@@ -165,79 +155,46 @@
public ApplicationCategory getApplicationCategory(final String name) throws Exception
{
- final AtomicReference<ApplicationCategory> a = new
AtomicReference<ApplicationCategory>();
+ ContentRegistry registry = getContentRegistry();
//
-/*
- pomMGr.execute(new POMTask()
+ CategoryDefinition categoryDef = registry.getCategory(name);
+ if (categoryDef != null)
{
- public void run(POMSession session) throws Exception
- {
-*/
- ContentRegistry registry = getContentRegistry();
+ ApplicationCategory applicationCategory = load(categoryDef);
+ return applicationCategory;
+ }
- //
- CategoryDefinition categoryDef = registry.getCategory(name);
- if (categoryDef != null)
- {
- ApplicationCategory applicationCategory = load(categoryDef);
- a.set(applicationCategory);
- }
-/*
- }
- });
-*/
-
//
- return a.get();
+ return null;
}
public void save(final ApplicationCategory category) throws Exception
{
-/*
- pomMGr.execute(new POMTask()
- {
- public void run(POMSession session) throws Exception
- {
-*/
- ContentRegistry registry = getContentRegistry();
+ ContentRegistry registry = getContentRegistry();
- //
- String categoryName = category.getName();
+ //
+ String categoryName = category.getName();
- //
- CategoryDefinition categoryDef = registry.getCategory(categoryName);
- if (categoryDef == null)
- {
- categoryDef = registry.createCategory(categoryName);
- }
+ //
+ CategoryDefinition categoryDef = registry.getCategory(categoryName);
+ if (categoryDef == null)
+ {
+ categoryDef = registry.createCategory(categoryName);
+ }
- //
- categoryDef.setDisplayName(category.getDisplayName());
- categoryDef.setCreationDate(category.getCreatedDate());
- categoryDef.setLastModificationDate(category.getModifiedDate());
- categoryDef.setDescription(category.getDescription());
- categoryDef.setAccessPermissions(category.getAccessPermissions());
- }
-/*
- });
+ //
+ categoryDef.setDisplayName(category.getDisplayName());
+ categoryDef.setCreationDate(category.getCreatedDate());
+ categoryDef.setLastModificationDate(category.getModifiedDate());
+ categoryDef.setDescription(category.getDescription());
+ categoryDef.setAccessPermissions(category.getAccessPermissions());
}
-*/
public void remove(final ApplicationCategory category) throws Exception
{
-/*
- pomMGr.execute(new POMTask()
- {
- public void run(POMSession session) throws Exception
- {
-*/
- ContentRegistry registry = getContentRegistry();
- registry.getCategoryMap().remove(category.getName());
-/*
- }
- });
-*/
+ ContentRegistry registry = getContentRegistry();
+ registry.getCategoryMap().remove(category.getName());
}
public List<Application> getApplications(ApplicationCategory category,
ApplicationType<?>... appTypes) throws Exception
@@ -250,36 +207,20 @@
final Comparator<Application> sortComparator,
final ApplicationType<?>... appTypes) throws Exception
{
- final AtomicReference<List<Application>> ref = new
AtomicReference<List<Application>>();
+ ContentRegistry registry = getContentRegistry();
//
-/*
- pomMGr.execute(new POMTask()
+ CategoryDefinition categoryDef = registry.getCategory(category.getName());
+ List<Application> applications = load(categoryDef,
appTypes).getApplications();
+
+ //
+ if (sortComparator != null)
{
- public void run(POMSession session) throws Exception
- {
-*/
- ContentRegistry registry = getContentRegistry();
+ Collections.sort(applications, sortComparator);
+ }
- //
- CategoryDefinition categoryDef = registry.getCategory(category.getName());
- List<Application> applications = load(categoryDef,
appTypes).getApplications();
-
- //
- if (sortComparator != null)
- {
- Collections.sort(applications, sortComparator);
- }
-
- //
- ref.set(applications);
-/*
- }
- });
-*/
-
//
- return ref.get();
+ return applications;
}
public List<Application> getAllApplications() throws Exception
@@ -305,115 +246,82 @@
public Application getApplication(final String category, final String name) throws
Exception
{
- final AtomicReference<Application> ref = new
AtomicReference<Application>();
+ ContentRegistry registry = getContentRegistry();
//
-/*
- pomMGr.execute(new POMTask()
+ CategoryDefinition categoryDef = registry.getCategory(category);
+ if (categoryDef != null)
{
- public void run(POMSession session) throws Exception
+ ContentDefinition contentDef = categoryDef.getContentMap().get(name);
+ if (contentDef != null)
{
-*/
- ContentRegistry registry = getContentRegistry();
-
- //
- CategoryDefinition categoryDef = registry.getCategory(category);
- if (categoryDef != null)
- {
- ContentDefinition contentDef = categoryDef.getContentMap().get(name);
- if (contentDef != null)
- {
- ref.set(load(contentDef));
- }
- }
-/*
+ return load(contentDef);
}
- });
-*/
+ }
//
- return ref.get();
+ return null;
}
public void save(final ApplicationCategory category, final Application application)
throws Exception
{
-/*
- pomMGr.execute(new POMTask()
+ ContentRegistry registry = getContentRegistry();
+
+ //
+ String categoryName = category.getName();
+ CategoryDefinition categoryDef = registry.getCategory(categoryName);
+ if (categoryDef == null)
{
- public void run(POMSession session) throws Exception
- {
-*/
- ContentRegistry registry = getContentRegistry();
+ categoryDef = registry.createCategory(categoryName);
+ save(category, categoryDef);
+ }
- //
- String categoryName = category.getName();
- CategoryDefinition categoryDef = registry.getCategory(categoryName);
- if (categoryDef == null)
- {
- categoryDef = registry.createCategory(categoryName);
- save(category, categoryDef);
- }
+ //
+ ContentDefinition contentDef = null;
+ CategoryDefinition applicationCategoryDef =
registry.getCategory(application.getCategoryName());
+ String applicationName = application.getApplicationName();
+ if (applicationCategoryDef != null)
+ {
+ contentDef = applicationCategoryDef.getContentMap().get(applicationName);
+ }
+ if (contentDef == null)
+ {
+ String contentId = application.getContentId();
+ ContentType<?> contentType = application.getType().getContentType();
+ String definitionName = application.getApplicationName();
+ contentDef = categoryDef.createContent(definitionName, contentType, contentId);
+ }
+ else
+ {
+ // A JCR move actually
+ categoryDef.getContentList().add(contentDef);
+ }
- //
- ContentDefinition contentDef = null;
- CategoryDefinition applicationCategoryDef =
registry.getCategory(application.getCategoryName());
- String applicationName = application.getApplicationName();
- if (applicationCategoryDef != null)
- {
- contentDef = applicationCategoryDef.getContentMap().get(applicationName);
- }
- if (contentDef == null)
- {
- String contentId = application.getContentId();
- ContentType<?> contentType =
application.getType().getContentType();
- String definitionName = application.getApplicationName();
- contentDef = categoryDef.createContent(definitionName, contentType,
contentId);
- }
- else
- {
- // A JCR move actually
- categoryDef.getContentList().add(contentDef);
- }
-
- // Update state
- save(application, contentDef);
-/*
- }
- });
-*/
+ // Update state
+ save(application, contentDef);
}
public void update(final Application application) throws Exception
{
-/*
- pomMGr.execute(new POMTask()
+ ContentRegistry registry = getContentRegistry();
+
+ //
+ String categoryName = application.getCategoryName();
+ CategoryDefinition categoryDef = registry.getCategory(categoryName);
+ if (categoryDef == null)
{
- public void run(POMSession session) throws Exception
- {
-*/
- ContentRegistry registry = getContentRegistry();
+ throw new IllegalStateException();
+ }
- //
- String categoryName = application.getCategoryName();
- CategoryDefinition categoryDef = registry.getCategory(categoryName);
- if (categoryDef == null)
- {
- throw new IllegalStateException();
- }
+ //
+ ContentDefinition contentDef =
categoryDef.getContentMap().get(application.getApplicationName());
+ if (contentDef == null)
+ {
+ throw new IllegalStateException();
+ }
- //
- ContentDefinition contentDef =
categoryDef.getContentMap().get(application.getApplicationName());
- if (contentDef == null)
- {
- throw new IllegalStateException();
- }
-
- // Update state
- save(application, contentDef);
-/*
- }
- });
-*/
+ // Update state
+ save(application, contentDef);
}
public void remove(final Application app) throws Exception
@@ -424,181 +332,151 @@
}
//
-/*
- pomMGr.execute(new POMTask()
- {
- public void run(POMSession session) throws Exception
- {
-*/
- ContentRegistry registry = getContentRegistry();
+ ContentRegistry registry = getContentRegistry();
- //
- String categoryName = app.getCategoryName();
- CategoryDefinition categoryDef = registry.getCategory(categoryName);
+ //
+ String categoryName = app.getCategoryName();
+ CategoryDefinition categoryDef = registry.getCategory(categoryName);
- //
- if (categoryDef != null)
- {
+ //
+ if (categoryDef != null)
+ {
- String contentName = app.getApplicationName();
- categoryDef.getContentMap().remove(contentName);
- }
-/*
- }
- });
-*/
+ String contentName = app.getApplicationName();
+ categoryDef.getContentMap().remove(contentName);
+ }
}
public void importExoGadgets() throws Exception
{
-/*
- pomMGr.execute(new POMTask()
- {
- public void run(POMSession session) throws Exception
- {
-*/
- ContentRegistry registry = getContentRegistry();
+ ContentRegistry registry = getContentRegistry();
- //
- ExoContainer container = ExoContainerContext.getCurrentContainer();
- GadgetRegistryService gadgetService =
(GadgetRegistryService)container.getComponentInstanceOfType(GadgetRegistryService.class);
- List<Gadget> eXoGadgets = gadgetService.getAllGadgets();
+ //
+ ExoContainer container = ExoContainerContext.getCurrentContainer();
+ GadgetRegistryService gadgetService =
(GadgetRegistryService)container.getComponentInstanceOfType(GadgetRegistryService.class);
+ List<Gadget> eXoGadgets = gadgetService.getAllGadgets();
- //
- if (eXoGadgets != null)
- {
- ArrayList<String> permissions = new ArrayList<String>();
- permissions.add(UserACL.EVERYONE);
- String categoryName = "Gadgets";
+ //
+ if (eXoGadgets != null)
+ {
+ ArrayList<String> permissions = new ArrayList<String>();
+ permissions.add(UserACL.EVERYONE);
+ String categoryName = "Gadgets";
- //
- CategoryDefinition category = registry.getCategory(categoryName);
- if (category == null)
- {
- category = registry.createCategory(categoryName);
- category.setDisplayName(categoryName);
- category.setDescription(categoryName);
- category.setAccessPermissions(permissions);
- }
+ //
+ CategoryDefinition category = registry.getCategory(categoryName);
+ if (category == null)
+ {
+ category = registry.createCategory(categoryName);
+ category.setDisplayName(categoryName);
+ category.setDescription(categoryName);
+ category.setAccessPermissions(permissions);
+ }
- //
- for (Gadget ele : eXoGadgets)
- {
- ContentDefinition app = category.getContentMap().get(ele.getName());
- if (app == null)
- {
- app = category.createContent(ele.getName(),
org.exoplatform.portal.pom.spi.gadget.Gadget.CONTENT_TYPE, ele.getName());
- app.setDisplayName(ele.getTitle());
- app.setDescription(ele.getDescription());
- app.setAccessPermissions(permissions);
- }
- }
+ //
+ for (Gadget ele : eXoGadgets)
+ {
+ ContentDefinition app = category.getContentMap().get(ele.getName());
+ if (app == null)
+ {
+ app = category.createContent(ele.getName(),
org.exoplatform.portal.pom.spi.gadget.Gadget.CONTENT_TYPE, ele.getName());
+ app.setDisplayName(ele.getTitle());
+ app.setDescription(ele.getDescription());
+ app.setAccessPermissions(permissions);
}
-/*
}
- });
-*/
+ }
}
public void importAllPortlets() throws Exception
{
-/*
- pomMGr.execute(new POMTask()
+ ContentRegistry registry = getContentRegistry();
+
+ //
+ ExoContainer manager = ExoContainerContext.getCurrentContainer();
+ PortletInvoker portletInvoker =
(PortletInvoker)manager.getComponentInstance(PortletInvoker.class);
+ Set<org.gatein.pc.api.Portlet> portlets = portletInvoker.getPortlets();
+
+ //
+ for (org.gatein.pc.api.Portlet portlet : portlets)
{
- public void run(POMSession session) throws Exception
+ PortletInfo info = portlet.getInfo();
+ String portletApplicationName = info.getApplicationName();
+ String portletName = info.getName();
+
+ // Need to sanitize portlet and application names in case they contain
characters that would
+ // cause an improper Application name
+ portletApplicationName = portletApplicationName.replace('/',
'_');
+ portletName = portletName.replace('/', '_');
+
+ LocalizedString keywordsLS = info.getMeta().getMetaValue(MetaInfo.KEYWORDS);
+
+ String[] categoryNames = null;
+ if (keywordsLS != null)
{
-*/
- ContentRegistry registry = getContentRegistry();
+ String keywords = keywordsLS.getDefaultString();
+ if (keywords != null && keywords.length() != 0)
+ {
+ categoryNames = keywords.split(",");
+ }
+ }
+ if (categoryNames == null || categoryNames.length == 0)
+ {
+ categoryNames = new String[]{portletApplicationName};
+ }
+
+ if (portlet.isRemote())
+ {
+ categoryNames = Tools.appendTo(categoryNames, REMOTE_CATEGORY_NAME);
+ }
+
+ //
+ for (String categoryName : categoryNames)
+ {
+ categoryName = categoryName.trim();
+
//
- ExoContainer manager = ExoContainerContext.getCurrentContainer();
- PortletInvoker portletInvoker =
(PortletInvoker)manager.getComponentInstance(PortletInvoker.class);
- Set<org.gatein.pc.api.Portlet> portlets =
portletInvoker.getPortlets();
+ CategoryDefinition category = registry.getCategory(categoryName);
//
- for (org.gatein.pc.api.Portlet portlet : portlets)
+ if (category == null)
{
- PortletInfo info = portlet.getInfo();
- String portletApplicationName = info.getApplicationName();
- String portletName = info.getName();
+ category = registry.createCategory(categoryName);
+ category.setDisplayName(categoryName);
+ }
- // Need to sanitize portlet and application names in case they contain
characters that would
- // cause an improper Application name
- portletApplicationName = portletApplicationName.replace('/',
'_');
- portletName = portletName.replace('/', '_');
+ //
+ ContentDefinition app = category.getContentMap().get(portletName);
+ if (app == null)
+ {
+ LocalizedString descriptionLS =
portlet.getInfo().getMeta().getMetaValue(MetaInfo.DESCRIPTION);
+ LocalizedString displayNameLS =
portlet.getInfo().getMeta().getMetaValue(MetaInfo.DISPLAY_NAME);
- LocalizedString keywordsLS =
info.getMeta().getMetaValue(MetaInfo.KEYWORDS);
+ // julien: ????
+ // getLocalizedStringValue(descriptionLS, portletName);
- String[] categoryNames = null;
- if (keywordsLS != null)
+ ContentType<?> contentType;
+ String contentId;
+ if (portlet.isRemote())
{
- String keywords = keywordsLS.getDefaultString();
- if (keywords != null && keywords.length() != 0)
- {
- categoryNames = keywords.split(",");
- }
+ contentType = WSRP.CONTENT_TYPE;
+ contentId = portlet.getContext().getId();
}
-
- if (categoryNames == null || categoryNames.length == 0)
+ else
{
- categoryNames = new String[]{portletApplicationName};
+ contentType = Portlet.CONTENT_TYPE;
+ contentId = info.getApplicationName() + "/" +
info.getName();
}
- if (portlet.isRemote())
- {
- categoryNames = Tools.appendTo(categoryNames, REMOTE_CATEGORY_NAME);
- }
//
- for (String categoryName : categoryNames)
- {
- categoryName = categoryName.trim();
-
- //
- CategoryDefinition category = registry.getCategory(categoryName);
-
- //
- if (category == null)
- {
- category = registry.createCategory(categoryName);
- category.setDisplayName(categoryName);
- }
-
- //
- ContentDefinition app = category.getContentMap().get(portletName);
- if (app == null)
- {
- LocalizedString descriptionLS =
portlet.getInfo().getMeta().getMetaValue(MetaInfo.DESCRIPTION);
- LocalizedString displayNameLS =
portlet.getInfo().getMeta().getMetaValue(MetaInfo.DISPLAY_NAME);
-
- // julien: ????
- // getLocalizedStringValue(descriptionLS, portletName);
-
- ContentType<?> contentType;
- String contentId;
- if (portlet.isRemote())
- {
- contentType = WSRP.CONTENT_TYPE;
- contentId = portlet.getContext().getId();
- }
- else
- {
- contentType = Portlet.CONTENT_TYPE;
- contentId = info.getApplicationName() + "/" +
info.getName();
- }
-
-
- //
- app = category.createContent(portletName, contentType, contentId);
- app.setDisplayName(getLocalizedStringValue(displayNameLS,
portletName));
- app.setDescription(getLocalizedStringValue(descriptionLS,
portletName));
- }
- }
+ app = category.createContent(portletName, contentType, contentId);
+ app.setDisplayName(getLocalizedStringValue(displayNameLS, portletName));
+ app.setDescription(getLocalizedStringValue(descriptionLS, portletName));
}
-/*
}
- });
-*/
+ }
}
private boolean isApplicationType(Application app, ApplicationType<?>...
appTypes)
@@ -724,9 +602,7 @@
{
if (plugins != null)
{
-// POMSession session = pomMGr.openSession();
-// SessionContext context = lifeCycle.openContext();
- manager.beginRequest();
+ RequestLifeCycle.begin(manager);
boolean save = false;
try
{
@@ -744,7 +620,8 @@
finally
{
// lifeCycle.closeContext(context, true);
- manager.endRequest(true);
+ manager.getSynchronization().setSave(save);
+ RequestLifeCycle.end();
}
}
}
Modified:
portal/branches/wsrp-integration/component/application-registry/src/test/java/org/exoplatform/application/registry/TestApplicationRegistryService.java
===================================================================
---
portal/branches/wsrp-integration/component/application-registry/src/test/java/org/exoplatform/application/registry/TestApplicationRegistryService.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/application-registry/src/test/java/org/exoplatform/application/registry/TestApplicationRegistryService.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -77,15 +77,16 @@
{
PortalContainer portalContainer = PortalContainer.getInstance();
chromatticManager =
(ChromatticManager)portalContainer.getComponentInstanceOfType(ChromatticManager.class);
- chromatticManager.beginRequest();
service_ =
(ApplicationRegistryService)portalContainer.getComponentInstanceOfType(ApplicationRegistryService.class);
orgService =
(OrganizationService)portalContainer.getComponentInstanceOfType(OrganizationService.class);
+ begin();
}
@Override
protected void tearDown() throws Exception
{
- chromatticManager.endRequest(false);
+ chromatticManager.getSynchronization().setSave(false);
+ end();
}
public void testApplicationCategory() throws Exception
Modified:
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/AbstractContext.java
===================================================================
---
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/AbstractContext.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/AbstractContext.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -21,10 +21,12 @@
import org.chromattic.api.ChromatticSession;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Map;
/**
- * An abstract implementation of the {@link
org.exoplatform.commons.chromattic.SessionContext} interface.
+ * An abstract implementation of the {@link
org.exoplatform.commons.chromattic.SessionContext} interface. The context
+ * owns the chromattic session.
*
* @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
* @version $Revision$
@@ -38,20 +40,24 @@
/** . */
private Map<String, Object> attributes;
- /** The related configurator. */
- private final ChromatticLifeCycle configurator;
+ /** The related life cycle. */
+ private final ChromatticLifeCycle lifeCycle;
- public AbstractContext(ChromatticLifeCycle configurator)
+ /** . */
+ private HashSet<SynchronizationListener> listeners;
+
+ AbstractContext(ChromatticLifeCycle lifeCycle)
{
- this.configurator = configurator;
+ this.lifeCycle = lifeCycle;
this.session = null;
+ this.listeners = null;
}
public final ChromatticSession getSession()
{
if (session == null)
{
- session = configurator.realChromattic.openSession();
+ session = lifeCycle.realChromattic.openSession();
}
return session;
}
@@ -83,6 +89,22 @@
public void close(boolean save)
{
+ if (listeners != null)
+ {
+ for (SynchronizationListener listener : listeners)
+ {
+ try
+ {
+ listener.beforeSynchronization();
+ }
+ catch (Exception e)
+ {
+ // to log
+ }
+ }
+ }
+
+ //
if (session != null)
{
if (save)
@@ -95,9 +117,39 @@
}
//
- configurator.currentContext.set(null);
+ if (listeners != null)
+ {
+ SynchronizationStatus status = save ? SynchronizationStatus.SAVED :
SynchronizationStatus.DISCARDED;
+ for (SynchronizationListener listener : listeners)
+ {
+ try
+ {
+ listener.afterSynchronization(status);
+ }
+ catch (Exception e)
+ {
+ // to log
+ }
+ }
+ }
//
- configurator.onCloseSession(this);
+ lifeCycle.currentContext.set(null);
+
+ //
+ lifeCycle.onCloseSession(this);
}
+
+ public final void addSynchronizationListener(SynchronizationListener listener)
+ {
+ if (listener == null)
+ {
+ throw new NullPointerException();
+ }
+ if (listeners == null)
+ {
+ listeners = new HashSet<SynchronizationListener>();
+ }
+ listeners.add(listener);
+ }
}
Modified:
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/ChromatticLifeCycle.java
===================================================================
---
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/ChromatticLifeCycle.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/ChromatticLifeCycle.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -24,7 +24,6 @@
import org.exoplatform.container.xml.InitParams;
import java.util.List;
-import java.util.concurrent.Callable;
/**
* <p>The chromattic life cycle objets is a plugin that allow to bootstrap a
chromattic builder and make
@@ -166,7 +165,7 @@
throw new IllegalStateException("A session is already opened.");
}
- //
+ // Attempt to get the synchronization
Synchronization sync = manager.getSynchronization();
//
@@ -215,12 +214,18 @@
return context;
}
- public final void closeContext(SessionContext context, boolean save)
+ public final void closeContext(boolean save)
{
- AbstractContext abstractContext = (AbstractContext)context;
+ AbstractContext context = (AbstractContext)getContext(true);
//
- ((AbstractContext)context).close(save);
+ if (context == null)
+ {
+ throw new IllegalStateException("No current context existing");
+ }
+
+ //
+ context.close(save);
}
protected void onOpenSession(SessionContext context)
Modified:
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/ChromatticManager.java
===================================================================
---
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/ChromatticManager.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/ChromatticManager.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -18,7 +18,9 @@
*/
package org.exoplatform.commons.chromattic;
+import org.exoplatform.container.ExoContainer;
import org.exoplatform.container.component.ComponentPlugin;
+import org.exoplatform.container.component.ComponentRequestLifecycle;
import org.exoplatform.services.jcr.RepositoryService;
import java.util.HashMap;
@@ -28,7 +30,7 @@
* @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
* @version $Revision$
*/
-public class ChromatticManager
+public class ChromatticManager implements ComponentRequestLifecycle
{
/** . */
@@ -41,22 +43,19 @@
Map<String, ChromatticLifeCycle> lifeCycles = new HashMap<String,
ChromatticLifeCycle>();
/** . */
- private static final ThreadLocal<Synchronization> currentSynchronization = new
ThreadLocal<Synchronization>();
+ private final ThreadLocal<Synchronization> currentSynchronization = new
ThreadLocal<Synchronization>();
public ChromatticManager(RepositoryService repositoryService) throws Exception {
this.repositoryService = repositoryService;
this.lifeCycleToWorkspaceMap = new HashMap<String, String>();
}
- static Synchronization getCurrentSynchronization() {
- return currentSynchronization.get();
- }
-
public ChromatticLifeCycle getLifeCycle(String lifeCycleName)
{
return lifeCycles.get(lifeCycleName);
}
+ // Called by kernel
public void addLifeCycle(ComponentPlugin plugin)
{
ChromatticLifeCycle lifeCycle = (ChromatticLifeCycle)plugin;
@@ -100,7 +99,7 @@
/**
* Ends the demarcation of a request.
*
- * @param save if state must be saved
+ * @param save to save the state
* @throws IllegalStateException if no request was started previously
*/
public void endRequest(boolean save) throws IllegalStateException
@@ -122,4 +121,16 @@
//
currentSynchronization.set(null);
}
+
+ public void startRequest(ExoContainer container)
+ {
+ beginRequest();
+ }
+
+ public void endRequest(ExoContainer container)
+ {
+ Synchronization sync = currentSynchronization.get();
+ boolean save = sync.isSave();
+ endRequest(save);
+ }
}
Modified:
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/ContextualTask.java
===================================================================
---
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/ContextualTask.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/ContextualTask.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -46,7 +46,7 @@
}
finally
{
- lifeCycle.closeContext(context, true);
+ lifeCycle.closeContext(true);
}
}
else
Modified:
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/SessionContext.java
===================================================================
---
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/SessionContext.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/SessionContext.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -52,4 +52,11 @@
* @param payload the attachment payload
*/
void setAttachment(String name, Object payload);
+
+ /**
+ * Registers a synchronization listener.
+ *
+ * @param listener the listener
+ */
+ void addSynchronizationListener(SynchronizationListener listener);
}
Modified:
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/Synchronization.java
===================================================================
---
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/Synchronization.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/Synchronization.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -28,7 +28,7 @@
* @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
* @version $Revision$
*/
-class Synchronization implements LoginContext
+public class Synchronization implements LoginContext
{
/** The sessions mapped by workspace name. */
@@ -37,6 +37,9 @@
/** . */
private final Map<String, GlobalContext> contexts = new HashMap<String,
GlobalContext>();
+ /** . */
+ private boolean save = true;
+
/**
* Returns a specified global context by its name.
*
@@ -84,8 +87,8 @@
public void close(boolean save)
{
- // First close all sessions
- for (AbstractContext context : contexts.values())
+ // First save all global contexts (sessions)
+ for (GlobalContext context : contexts.values())
{
context.close(save);
}
@@ -96,4 +99,14 @@
session.logout();
}
}
+
+ public boolean isSave()
+ {
+ return save;
+ }
+
+ public void setSave(boolean save)
+ {
+ this.save = save;
+ }
}
Copied:
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/SynchronizationListener.java
(from rev 1041,
portal/trunk/component/common/src/main/java/org/exoplatform/commons/chromattic/SynchronizationListener.java)
===================================================================
---
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/SynchronizationListener.java
(rev 0)
+++
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/SynchronizationListener.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2009 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.commons.chromattic;
+
+/**
+ * <p>Useful for being aware of the synchronization.</p>
+ *
+ * @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
+ * @version $Revision$
+ */
+public interface SynchronizationListener
+{
+
+ /**
+ * Before synchronization occurs.
+ */
+ void beforeSynchronization();
+
+ /**
+ * Once synchronization occured.
+ *
+ * @param status the status of the synchronization
+ */
+ void afterSynchronization(SynchronizationStatus status);
+
+}
Copied:
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/SynchronizationStatus.java
(from rev 1041,
portal/trunk/component/common/src/main/java/org/exoplatform/commons/chromattic/SynchronizationStatus.java)
===================================================================
---
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/SynchronizationStatus.java
(rev 0)
+++
portal/branches/wsrp-integration/component/common/src/main/java/org/exoplatform/commons/chromattic/SynchronizationStatus.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2009 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.commons.chromattic;
+
+/**
+ * @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
+ * @version $Revision$
+ */
+public enum SynchronizationStatus
+{
+
+ DISCARDED, SAVED
+
+}
Modified:
portal/branches/wsrp-integration/component/common/src/test/java/org/exoplatform/commons/chromattic/ChromatticIntegrationTestCase.java
===================================================================
---
portal/branches/wsrp-integration/component/common/src/test/java/org/exoplatform/commons/chromattic/ChromatticIntegrationTestCase.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/common/src/test/java/org/exoplatform/commons/chromattic/ChromatticIntegrationTestCase.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -46,6 +46,10 @@
/** . */
private ChromatticManager chromatticManager;
+ public ChromatticIntegrationTestCase()
+ {
+ }
+
@Override
protected void setUp() throws Exception
{
@@ -54,12 +58,6 @@
testLF = chromatticManager.getLifeCycle("test");
}
- @Override
- protected void tearDown() throws Exception
- {
-
- }
-
public void testConfiguratorInitialized() throws Exception
{
assertNotNull(testLF);
@@ -132,7 +130,7 @@
}
finally
{
- testLF.closeContext(context, false);
+ testLF.closeContext(false);
}
// Assert JCR session was properly closed
@@ -142,7 +140,7 @@
public void testLocalRequestNoSessionAccess()
{
SessionContext context = testLF.openContext();
- testLF.closeContext(context, false);
+ testLF.closeContext(false);
}
public void testGlobalSession() throws Exception
@@ -150,6 +148,9 @@
Session jcrSession;
//
+ SynchronizationEventQueue queue = new SynchronizationEventQueue();
+
+ //
chromatticManager.beginRequest();
try
{
@@ -162,8 +163,12 @@
ChromatticSession session = chromattic.openSession();
// Now we should have a context
- assertNotNull(testLF.getContext(true));
+ SessionContext context = testLF.getContext(true);
+ assertNotNull(context);
+ // Register synchronzation with event queue
+ context.addSynchronizationListener(queue);
+
// Check how chromattic see the session
FooEntity foo = session.create(FooEntity.class);
assertEquals("portal-test", foo.getWorkspace());
@@ -177,12 +182,19 @@
// Closing chromattic session should not close the underlying JCR session
session.close();
assertTrue(jcrSession.isLive());
+
+ // Queue should be empty up to here
+ queue.assertEmpty();
}
finally
{
chromatticManager.endRequest(false);
}
+ //
+ queue.assertEvent(SynchronizationEvent.BEFORE);
+ queue.assertEvent(SynchronizationEvent.DISCARDED);
+
// Assert JCR session was properly closed
assertFalse(jcrSession.isLive());
}
Copied:
portal/branches/wsrp-integration/component/common/src/test/java/org/exoplatform/commons/chromattic/SynchronizationEvent.java
(from rev 1041,
portal/trunk/component/common/src/test/java/org/exoplatform/commons/chromattic/SynchronizationEvent.java)
===================================================================
---
portal/branches/wsrp-integration/component/common/src/test/java/org/exoplatform/commons/chromattic/SynchronizationEvent.java
(rev 0)
+++
portal/branches/wsrp-integration/component/common/src/test/java/org/exoplatform/commons/chromattic/SynchronizationEvent.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2009 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.commons.chromattic;
+
+/**
+ * @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
+ * @version $Revision$
+ */
+public enum SynchronizationEvent
+{
+
+ BEFORE, SAVED, DISCARDED
+
+}
Copied:
portal/branches/wsrp-integration/component/common/src/test/java/org/exoplatform/commons/chromattic/SynchronizationEventQueue.java
(from rev 1041,
portal/trunk/component/common/src/test/java/org/exoplatform/commons/chromattic/SynchronizationEventQueue.java)
===================================================================
---
portal/branches/wsrp-integration/component/common/src/test/java/org/exoplatform/commons/chromattic/SynchronizationEventQueue.java
(rev 0)
+++
portal/branches/wsrp-integration/component/common/src/test/java/org/exoplatform/commons/chromattic/SynchronizationEventQueue.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2009 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.commons.chromattic;
+
+import junit.framework.Assert;
+
+import java.util.LinkedList;
+
+/**
+ * @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
+ * @version $Revision$
+ */
+public class SynchronizationEventQueue implements SynchronizationListener
+{
+
+ /** . */
+ private final LinkedList<SynchronizationEvent> queue = new
LinkedList<SynchronizationEvent>();
+
+ public void beforeSynchronization()
+ {
+ queue.add(SynchronizationEvent.BEFORE);
+ }
+
+ public void afterSynchronization(SynchronizationStatus status)
+ {
+ queue.add(status == SynchronizationStatus.SAVED ? SynchronizationEvent.SAVED :
SynchronizationEvent.DISCARDED);
+ }
+
+ public void assertEmpty()
+ {
+ Assert.assertTrue(queue.isEmpty());
+ }
+
+ public void assertEvent(SynchronizationEvent event)
+ {
+ Assert.assertTrue(queue.size() > 0);
+ Assert.assertEquals(event, queue.removeFirst());
+ }
+}
Modified:
portal/branches/wsrp-integration/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMOrganizationServiceImpl.java
===================================================================
---
portal/branches/wsrp-integration/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMOrganizationServiceImpl.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/identity/src/main/java/org/exoplatform/services/organization/idm/PicketLinkIDMOrganizationServiceImpl.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -21,6 +21,7 @@
import org.exoplatform.container.ExoContainer;
import org.exoplatform.container.component.ComponentRequestLifecycle;
+import org.exoplatform.container.component.RequestLifeCycle;
import org.exoplatform.container.xml.InitParams;
import org.exoplatform.container.xml.ValueParam;
import org.exoplatform.services.cache.CacheService;
@@ -114,15 +115,23 @@
try
{
// Wrap within transaction so all initializers can work
- idmService_.getIdentitySession().beginTransaction();
+// idmService_.getIdentitySession().beginTransaction();
+
+ RequestLifeCycle.begin(this);
+
super.start();
- idmService_.getIdentitySession().getTransaction().commit();
+// idmService_.getIdentitySession().getTransaction().commit();
+
}
catch (Exception e)
{
e.printStackTrace(); //To change body of catch statement use File | Settings |
File Templates.
}
+ finally
+ {
+ RequestLifeCycle.end();
+ }
}
@@ -132,10 +141,13 @@
//toto
}
- /**
+/*
+ */
+/**
* Used to allow nested requests (as done by the authenticator during unit tests) and
avoid
* to commit two times the same transaction.
- */
+ *//*
+
private ThreadLocal<AtomicInteger> currentRequestCount = new
ThreadLocal<AtomicInteger>()
{
@Override
@@ -144,37 +156,30 @@
return new AtomicInteger();
}
};
+*/
public void startRequest(ExoContainer container)
{
- AtomicInteger count = currentRequestCount.get();
- if (count.getAndIncrement() == 0)
+ try
{
- try
- {
- idmService_.getIdentitySession().beginTransaction();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
+ idmService_.getIdentitySession().beginTransaction();
}
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
}
public void endRequest(ExoContainer container)
{
- AtomicInteger count = currentRequestCount.get();
- if (count.decrementAndGet() == 0)
+ try
{
- try
- {
- idmService_.getIdentitySession().getTransaction().commit();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
+ idmService_.getIdentitySession().getTransaction().commit();
}
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
}
public String getGtnGroupType()
Modified:
portal/branches/wsrp-integration/component/identity/src/test/java/org/exoplatform/services/organization/TestOrganizationService.java
===================================================================
---
portal/branches/wsrp-integration/component/identity/src/test/java/org/exoplatform/services/organization/TestOrganizationService.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/identity/src/test/java/org/exoplatform/services/organization/TestOrganizationService.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -22,6 +22,7 @@
import org.exoplatform.commons.utils.PageList;
import org.exoplatform.container.PortalContainer;
import org.exoplatform.container.component.ComponentRequestLifecycle;
+import org.exoplatform.container.component.RequestLifeCycle;
import org.exoplatform.test.BasicTestCase;
import java.util.ArrayList;
@@ -92,7 +93,8 @@
mtHandler_ = service_.getMembershipTypeHandler();
membershipHandler_ = service_.getMembershipHandler();
- ((ComponentRequestLifecycle)service_).startRequest(manager);
+// ((ComponentRequestLifecycle)service_).startRequest(manager);
+ RequestLifeCycle.begin((ComponentRequestLifecycle)service_);
}
@@ -110,8 +112,8 @@
userHandler_.removeUser(userName, true);
}
- ((ComponentRequestLifecycle)service_).endRequest(manager);
-
+// ((ComponentRequestLifecycle)service_).endRequest(manager);
+ RequestLifeCycle.end();
}
public void testSimle() throws Exception
Modified:
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/DataStorageImpl.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/DataStorageImpl.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/DataStorageImpl.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -29,7 +29,6 @@
import org.exoplatform.portal.config.model.Page;
import org.exoplatform.portal.config.model.PageNavigation;
import org.exoplatform.portal.config.model.PortalConfig;
-import org.exoplatform.portal.pom.config.ModelDemarcation;
import org.exoplatform.portal.pom.data.DashboardData;
import org.exoplatform.portal.pom.data.ModelData;
import org.exoplatform.portal.pom.data.ModelDataStorage;
@@ -48,7 +47,7 @@
* @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
* @version $Revision$
*/
-public class DataStorageImpl implements DataStorage, ModelDemarcation
+public class DataStorageImpl implements DataStorage
{
/** . */
@@ -275,20 +274,4 @@
{
delegate.saveDashboard(dashboard.build());
}
-
- public void begin()
- {
- if (delegate instanceof ModelDemarcation)
- {
- ((ModelDemarcation)delegate).begin();
- }
- }
-
- public void end(boolean save)
- {
- if (delegate instanceof ModelDemarcation)
- {
- ((ModelDemarcation)delegate).end(save);
- }
- }
}
Modified:
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/GroupPortalConfigListener.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/GroupPortalConfigListener.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/GroupPortalConfigListener.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -19,8 +19,8 @@
package org.exoplatform.portal.config;
-import org.exoplatform.container.ExoContainer;
-import org.exoplatform.container.ExoContainerContext;
+import org.exoplatform.container.PortalContainer;
+import org.exoplatform.container.component.RequestLifeCycle;
import org.exoplatform.portal.config.model.Container;
import org.exoplatform.portal.config.model.PageNavigation;
import org.exoplatform.portal.config.model.PortalConfig;
@@ -40,111 +40,131 @@
public class GroupPortalConfigListener extends GroupEventListener
{
+ /** . */
+ private final UserPortalConfigService portalConfigService;
+
+ /** . */
+ private final DataStorage dataStorage;
+
+ /** . */
+ private final OrganizationService orgService;
+
+ public GroupPortalConfigListener(
+ UserPortalConfigService portalConfigService,
+ DataStorage dataStorage,
+ OrganizationService orgService)
+ {
+ this.portalConfigService = portalConfigService;
+ this.dataStorage = dataStorage;
+ this.orgService = orgService;
+ }
+
public void preDelete(Group group) throws Exception
{
- ExoContainer container = ExoContainerContext.getCurrentContainer();
- UserPortalConfigService portalConfigService =
-
(UserPortalConfigService)container.getComponentInstanceOfType(UserPortalConfigService.class);
- String groupId = group.getId().trim();
+ RequestLifeCycle.begin(PortalContainer.getInstance());
+ try
+ {
+ String groupId = group.getId().trim();
- // Remove all descendant navigations
- removeGroupNavigation(group, portalConfigService);
-
- portalConfigService.removeUserPortalConfig(PortalConfig.GROUP_TYPE, groupId);
+ // Remove all descendant navigations
+ removeGroupNavigation(group, portalConfigService);
+
+ portalConfigService.removeUserPortalConfig(PortalConfig.GROUP_TYPE, groupId);
+ }
+ finally
+ {
+ RequestLifeCycle.end();
+ }
}
@Override
public void preSave(Group group, boolean isNew) throws Exception
{
- ExoContainer container = ExoContainerContext.getCurrentContainer();
- /*
- * TODO Call start method on RegistryService to allow ecm, ultimate can
- * run with JDK6. This is uncommon behavior. We need find other way to fix
- * it I hope that this issues will be fixed when we use the lastest
- * version of PicoContainer Comment by Hoa Pham.
- */
- // RegistryService registryService =
(RegistryService)container.getComponentInstanceOfType(RegistryService.class);
- // registryService.start();
- UserPortalConfigService portalConfigService =
-
(UserPortalConfigService)container.getComponentInstanceOfType(UserPortalConfigService.class);
- DataStorage dataStorage =
(DataStorage)container.getComponentInstanceOfType(DataStorage.class);
- String groupId = group.getId();
+ RequestLifeCycle.begin(PortalContainer.getInstance());
- // Bug in hibernate org service implementation
- if (groupId == null)
+ try
{
- groupId = "/" + group.getGroupName();
- }
- // Bug in JCR org service implementation
- if ("/administrators".equals(groupId))
- {
- groupId = "/platform/administrators";
- }
- else if ("/users".equals(groupId))
- {
- groupId = "/platform/users";
- }
- else if ("/guests".equals(groupId))
- {
- groupId = "/platform/guests";
- }
- else if ("/management".equals(groupId))
- {
- groupId = "/organization/management";
- }
- else if ("/executive-board".equals(groupId))
- {
- groupId = "/organization/management/executive-board";
- }
- else if ("/human-resources".equals(groupId))
- {
- groupId = "/organization/management/human-resources";
- }
- else if ("/communication".equals(groupId))
- {
- groupId = "/organization/communication";
- }
- else if ("/marketing".equals(groupId))
- {
- groupId = "/organization/communication/marketing";
- }
- else if ("/press-and-media".equals(groupId))
- {
- groupId = "/organization/communication/press-and-media";
- }
- else if ("/operations".equals(groupId))
- {
- groupId = "/organization/operations";
- }
- else if ("/sales".equals(groupId))
- {
- groupId = "/organization/operations/sales";
- }
- else if ("/finances".equals(groupId))
- {
- groupId = "/organization/operations/finances";
- }
+ String groupId = group.getId();
- // Create the portal from the template
- portalConfigService.createUserPortalConfig(PortalConfig.GROUP_TYPE, groupId,
"group");
+ // Bug in hibernate org service implementation
+ if (groupId == null)
+ {
+ groupId = "/" + group.getGroupName();
+ }
- // Need to insert the corresponding group site
- PortalConfig cfg = dataStorage.getPortalConfig(PortalConfig.GROUP_TYPE, groupId);
- if (cfg == null)
+ // Bug in JCR org service implementation
+ if ("/administrators".equals(groupId))
+ {
+ groupId = "/platform/administrators";
+ }
+ else if ("/users".equals(groupId))
+ {
+ groupId = "/platform/users";
+ }
+ else if ("/guests".equals(groupId))
+ {
+ groupId = "/platform/guests";
+ }
+ else if ("/management".equals(groupId))
+ {
+ groupId = "/organization/management";
+ }
+ else if ("/executive-board".equals(groupId))
+ {
+ groupId = "/organization/management/executive-board";
+ }
+ else if ("/human-resources".equals(groupId))
+ {
+ groupId = "/organization/management/human-resources";
+ }
+ else if ("/communication".equals(groupId))
+ {
+ groupId = "/organization/communication";
+ }
+ else if ("/marketing".equals(groupId))
+ {
+ groupId = "/organization/communication/marketing";
+ }
+ else if ("/press-and-media".equals(groupId))
+ {
+ groupId = "/organization/communication/press-and-media";
+ }
+ else if ("/operations".equals(groupId))
+ {
+ groupId = "/organization/operations";
+ }
+ else if ("/sales".equals(groupId))
+ {
+ groupId = "/organization/operations/sales";
+ }
+ else if ("/finances".equals(groupId))
+ {
+ groupId = "/organization/operations/finances";
+ }
+
+ // Create the portal from the template
+ portalConfigService.createUserPortalConfig(PortalConfig.GROUP_TYPE, groupId,
"group");
+
+ // Need to insert the corresponding group site
+ PortalConfig cfg = dataStorage.getPortalConfig(PortalConfig.GROUP_TYPE,
groupId);
+ if (cfg == null)
+ {
+ cfg = new PortalConfig(PortalConfig.GROUP_TYPE);
+ cfg.setPortalLayout(new Container());
+ cfg.setName(groupId);
+ dataStorage.create(cfg);
+ }
+
+ }
+ finally
{
- cfg = new PortalConfig(PortalConfig.GROUP_TYPE);
- cfg.setPortalLayout(new Container());
- cfg.setName(groupId);
- dataStorage.create(cfg);
+ RequestLifeCycle.end();
}
}
private void removeGroupNavigation(Group group, UserPortalConfigService
portalConfigService) throws Exception
{
- ExoContainer container = ExoContainerContext.getCurrentContainer();
- OrganizationService orgService =
-
(OrganizationService)container.getComponentInstanceOfType(OrganizationService.class);
GroupHandler groupHandler = orgService.getGroupHandler();
Collection<String> descendantGroups = getDescendantGroups(group,
groupHandler);
PageNavigation navigation = null;
Modified:
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/UserPortalConfigListener.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/UserPortalConfigListener.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/UserPortalConfigListener.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -19,8 +19,8 @@
package org.exoplatform.portal.config;
-import org.exoplatform.container.ExoContainer;
-import org.exoplatform.container.ExoContainerContext;
+import org.exoplatform.container.PortalContainer;
+import org.exoplatform.container.component.RequestLifeCycle;
import org.exoplatform.portal.config.model.Container;
import org.exoplatform.portal.config.model.PageNavigation;
import org.exoplatform.portal.config.model.PageNode;
@@ -36,54 +36,69 @@
public class UserPortalConfigListener extends UserEventListener
{
+ /** . */
+ private final UserPortalConfigService portalConfigService;
+
+ /** . */
+ private final DataStorage dataStorage;
+
+ public UserPortalConfigListener(
+ UserPortalConfigService portalConfigService,
+ DataStorage dataStorage)
+ {
+ this.portalConfigService = portalConfigService;
+ this.dataStorage = dataStorage;
+ }
+
public void preDelete(User user) throws Exception
{
- ExoContainer container = ExoContainerContext.getCurrentContainer();
- UserPortalConfigService portalConfigService =
-
(UserPortalConfigService)container.getComponentInstanceOfType(UserPortalConfigService.class);
- String userName = user.getUserName();
- portalConfigService.removeUserPortalConfig("user", userName);
+ RequestLifeCycle.begin(PortalContainer.getInstance());
+ try
+ {
+ String userName = user.getUserName();
+ portalConfigService.removeUserPortalConfig("user", userName);
+ }
+ finally
+ {
+ RequestLifeCycle.end();
+ }
}
public void preSave(User user, boolean isNew) throws Exception
{
- ExoContainer container = ExoContainerContext.getCurrentContainer();
- /*
- * TODO Call start method on RegistryService to allow ecm, ultimate can run
- * with JDK6. This is uncommon behavior. We need find other way to fix it I
- * hope that this issues will be fixed when we use the lastest version of
- * PicoContainer Comment by Hoa Pham.
- */
- // RegistryService registryService =
(RegistryService)container.getComponentInstanceOfType(RegistryService.class);
- // registryService.start();
- UserPortalConfigService portalConfigService =
-
(UserPortalConfigService)container.getComponentInstanceOfType(UserPortalConfigService.class);
- DataStorage dataStorage =
(DataStorage)container.getComponentInstanceOfType(DataStorage.class);
- String userName = user.getUserName();
+ RequestLifeCycle.begin(PortalContainer.getInstance());
+ try
+ {
+ String userName = user.getUserName();
- // Create the portal from the template
- portalConfigService.createUserPortalConfig(PortalConfig.USER_TYPE, userName,
"user");
+ // Create the portal from the template
+ portalConfigService.createUserPortalConfig(PortalConfig.USER_TYPE, userName,
"user");
- // Need to insert the corresponding user site if needed
- PortalConfig cfg = dataStorage.getPortalConfig(PortalConfig.USER_TYPE, userName);
- if (cfg == null)
- {
- cfg = new PortalConfig(PortalConfig.USER_TYPE);
- cfg.setPortalLayout(new Container());
- cfg.setName(userName);
- dataStorage.create(cfg);
+ // Need to insert the corresponding user site if needed
+ PortalConfig cfg = dataStorage.getPortalConfig(PortalConfig.USER_TYPE,
userName);
+ if (cfg == null)
+ {
+ cfg = new PortalConfig(PortalConfig.USER_TYPE);
+ cfg.setPortalLayout(new Container());
+ cfg.setName(userName);
+ dataStorage.create(cfg);
+ }
+
+ // Create a blank navigation if needed
+ PageNavigation navigation =
dataStorage.getPageNavigation(PortalConfig.USER_TYPE, userName);
+ if (navigation == null)
+ {
+ PageNavigation pageNav = new PageNavigation();
+ pageNav.setOwnerType(PortalConfig.USER_TYPE);
+ pageNav.setOwnerId(userName);
+ pageNav.setPriority(5);
+ pageNav.setNodes(new ArrayList<PageNode>());
+ portalConfigService.create(pageNav);
+ }
}
-
- // Create a blank navigation if needed
- PageNavigation navigation = dataStorage.getPageNavigation(PortalConfig.USER_TYPE,
userName);
- if (navigation == null)
+ finally
{
- PageNavigation pageNav = new PageNavigation();
- pageNav.setOwnerType(PortalConfig.USER_TYPE);
- pageNav.setOwnerId(userName);
- pageNav.setPriority(5);
- pageNav.setNodes(new ArrayList<PageNode>());
- portalConfigService.create(pageNav);
+ RequestLifeCycle.end();
}
}
}
Modified:
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/UserPortalConfigService.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/UserPortalConfigService.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/config/UserPortalConfigService.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -19,8 +19,11 @@
package org.exoplatform.portal.config;
+import org.exoplatform.commons.chromattic.ChromatticManager;
import org.exoplatform.commons.utils.PageList;
+import org.exoplatform.container.PortalContainer;
import org.exoplatform.container.component.ComponentPlugin;
+import org.exoplatform.container.component.RequestLifeCycle;
import org.exoplatform.portal.config.model.Application;
import org.exoplatform.portal.config.model.Container;
import org.exoplatform.portal.pom.data.ModelChange;
@@ -30,7 +33,6 @@
import org.exoplatform.portal.config.model.PageNode;
import org.exoplatform.portal.config.model.PortalConfig;
import org.exoplatform.portal.config.model.TransientApplicationState;
-import org.exoplatform.portal.pom.config.ModelDemarcation;
import org.exoplatform.services.listener.ListenerService;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -77,13 +79,17 @@
private Log log = ExoLogger.getLogger("Portal:UserPortalConfigService");
- public UserPortalConfigService(UserACL userACL, DataStorage storage,
- OrganizationService orgService, ListenerService listenerService) throws Exception
+ private ChromatticManager manager;
+
+ public UserPortalConfigService(
+ UserACL userACL, DataStorage storage,
+ OrganizationService orgService, ListenerService listenerService, ChromatticManager
manager) throws Exception
{
this.storage_ = storage;
this.orgService_ = orgService;
this.listenerService = listenerService;
this.userACL_ = userACL;
+ this.manager = manager;
}
/**
@@ -636,29 +642,19 @@
return;
//
- if (storage_ instanceof ModelDemarcation)
- {
- ((ModelDemarcation)storage_).begin();
- }
+ RequestLifeCycle.begin(PortalContainer.getInstance());
+ //
newPortalConfigListener_.run();
}
catch (Exception e)
{
log.error("Could not import initial data", e);
- //
- if (storage_ instanceof ModelDemarcation)
- {
- ((ModelDemarcation)storage_).end(false);
- }
}
finally
{
- if (storage_ instanceof ModelDemarcation)
- {
- ((ModelDemarcation)storage_).end(true);
- }
+ RequestLifeCycle.end();
}
}
Deleted:
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/ModelDemarcation.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/ModelDemarcation.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/ModelDemarcation.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -1,32 +0,0 @@
-/**
- * Copyright (C) 2009 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.pom.config;
-
-/**
- * @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
- * @version $Revision$
- */
-public interface ModelDemarcation
-{
-
- void begin();
-
- void end(boolean save);
-
-}
Modified:
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMDataStorage.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMDataStorage.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMDataStorage.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -63,7 +63,7 @@
* @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
* @version $Revision$
*/
-public class POMDataStorage implements ModelDataStorage, ModelDemarcation
+public class POMDataStorage implements ModelDataStorage
{
/** . */
@@ -314,14 +314,4 @@
generateStorageName(container);
return container;
}
-
- public void begin()
- {
- manager.beginRequest();
- }
-
- public void end(boolean save)
- {
- manager.endRequest(true);
- }
}
Modified:
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMSession.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMSession.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMSession.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -22,6 +22,8 @@
import org.chromattic.api.ChromatticSession;
import org.chromattic.api.UndeclaredRepositoryException;
import org.exoplatform.commons.chromattic.SessionContext;
+import org.exoplatform.commons.chromattic.SynchronizationListener;
+import org.exoplatform.commons.chromattic.SynchronizationStatus;
import org.exoplatform.portal.application.PortletPreferences;
import org.exoplatform.portal.pom.data.Mapper;
import org.gatein.mop.api.Model;
@@ -54,6 +56,15 @@
{
/** . */
+ private static final Map<ObjectType<?>, Class> mapping = new
HashMap<ObjectType<?>, Class>();
+
+ static
+ {
+ mapping.put(ObjectType.PAGE, PageImpl.class);
+ mapping.put(ObjectType.NAVIGATION, NavigationImpl.class);
+ }
+
+ /** . */
final POMSessionManager mgr;
/** . */
@@ -82,6 +93,10 @@
public POMSession(POMSessionManager mgr, MOPChromatticLifeCycle configurator,
SessionContext context)
{
+ // Register for cache eviction
+ context.addSynchronizationListener(listener);
+
+ //
this.mgr = mgr;
this.isInTask = false;
this.markedForRollback = false;
@@ -326,13 +341,22 @@
return session.createQueryBuilder().from(mappedClass).<O>
where(statement).get().objects();
}
- private static final Map<ObjectType<?>, Class> mapping = new
HashMap<ObjectType<?>, Class>();
-
- static
+ private final SynchronizationListener listener = new SynchronizationListener()
{
- mapping.put(ObjectType.PAGE, PageImpl.class);
- mapping.put(ObjectType.NAVIGATION, NavigationImpl.class);
- }
+ public void beforeSynchronization()
+ {
+ }
+ public void afterSynchronization(SynchronizationStatus status)
+ {
+ if (status == SynchronizationStatus.SAVED && staleKeys != null)
+ {
+ for (Serializable key : staleKeys)
+ {
+ mgr.cache.remove(key);
+ }
+ }
+ }
+ };
public void execute(POMTask task) throws Exception
{
@@ -394,21 +418,13 @@
save();
}
+ // Close model
if (model != null)
{
model.close();
}
//
- configurator.closeContext(context, save & markedForRollback);
-
- //
- if (staleKeys != null)
- {
- for (Serializable key : staleKeys)
- {
- mgr.cache.remove(key);
- }
- }
+ configurator.closeContext(save & markedForRollback);
}
}
Modified:
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMSessionManager.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMSessionManager.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/main/java/org/exoplatform/portal/pom/config/POMSessionManager.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -42,12 +42,6 @@
private MOPService pomService;
/** . */
- final String repositoryName = "repository";
-
- /** . */
- final String workspaceName = "portal-system";
-
- /** . */
final ExoCache<Serializable, Object> cache;
/** . */
@@ -132,8 +126,7 @@
}
/**
- * <p>Execute the task with a session. The method attempts first to get a
current session and if no such session
- * is found then a session will be created for the scope of the method.</p>
+ * <p>Execute the task with a session.</p>
*
* @param task the task to execute
* @throws Exception any exception thrown by the task
@@ -141,24 +134,11 @@
public <T extends POMTask> T execute(T task) throws Exception
{
POMSession session = getSession();
- if (session == null)
- {
- session = openSession();
- try
- {
- executor.execute(session, task);
- }
- finally
- {
- session.close(true);
- }
- }
- else
- {
- executor.execute(session, task);
- }
//
+ executor.execute(session, task);
+
+ //
return task;
}
Modified:
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/AbstractPortalTest.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/AbstractPortalTest.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/AbstractPortalTest.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -18,10 +18,12 @@
*/
package org.exoplatform.portal.config;
+import org.exoplatform.commons.chromattic.ChromatticManager;
import org.exoplatform.component.test.AbstractGateInTest;
import org.exoplatform.component.test.ConfigurationUnit;
import org.exoplatform.component.test.ConfiguredBy;
import org.exoplatform.component.test.ContainerScope;
+import org.exoplatform.container.PortalContainer;
/**
* @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
@@ -44,4 +46,29 @@
{
super(name);
}
+
+ @Override
+ protected void end()
+ {
+ end(false);
+ }
+
+ protected void end(boolean save)
+ {
+ PortalContainer container = getContainer();
+ ChromatticManager manager =
(ChromatticManager)container.getComponentInstanceOfType(ChromatticManager.class);
+ manager.getSynchronization().setSave(save);
+ super.end();
+ }
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ }
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ //
+ }
}
Modified:
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestCache.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestCache.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestCache.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -45,26 +45,21 @@
public void setUp() throws Exception
{
super.setUp();
- if (storage_ != null)
- return;
- PortalContainer container = PortalContainer.getInstance();
+ PortalContainer container = getContainer();
storage_ = (DataStorage)container.getComponentInstanceOfType(DataStorage.class);
mgr =
(POMSessionManager)container.getComponentInstanceOfType(POMSessionManager.class);
- session = mgr.openSession();
}
- protected void tearDown() throws Exception
+ public void testDirtyWrite() throws Exception
{
- session.close();
- }
+ begin();
+ session = mgr.openSession();
- public void testDirtyWrite() throws Exception
- {
// Read
Page page = storage_.getPage("portal::test::test4");
assertEquals(null, page.getTitle());
- // Update
+ // Update and save
page.setTitle("foo");
storage_.save(page);
@@ -81,9 +76,11 @@
{
try
{
+ begin();
mgr.openSession();
storage_.getPage("portal::test::test4");
session.close();
+ end();
}
catch (Exception e)
{
@@ -102,12 +99,19 @@
Thread.sleep(1);
}
+ // Save the cache should be invalidated
+ session.close();
+ end(true);
+
// Reopen session with no modifications that use the cache
- session.close(true);
+ begin();
mgr.openSession();
//
page = storage_.getPage("portal::test::test4");
assertEquals("foo", page.getTitle());
+
+ //
+ end();
}
}
Modified:
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestContentRegistry.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestContentRegistry.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestContentRegistry.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -42,8 +42,7 @@
public void setUp() throws Exception
{
super.setUp();
-
- //
+ begin();
PortalContainer container = PortalContainer.getInstance();
storage = (DataStorage)container.getComponentInstanceOfType(DataStorage.class);
mgr =
(POMSessionManager)container.getComponentInstanceOfType(POMSessionManager.class);
@@ -53,8 +52,8 @@
protected void tearDown() throws Exception
{
session.close(false);
- session = null;
- storage = null;
+ end();
+ super.tearDown();
}
public void testFoo()
Modified:
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestDataStorage.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestDataStorage.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestDataStorage.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -52,14 +52,19 @@
public class TestDataStorage extends AbstractPortalTest
{
+ /** . */
private final String testPortal = "testPortal";
+ /** . */
private final String testPage = "portal::classic::testPage";
+ /** . */
private final String testPortletPreferences =
"portal#classic:/web/BannerPortlet/testPortletPreferences";
- DataStorage storage_;
+ /** . */
+ private DataStorage storage_;
+ /** . */
private POMSessionManager mgr;
/** . */
@@ -73,8 +78,7 @@
public void setUp() throws Exception
{
super.setUp();
- if (storage_ != null)
- return;
+ begin();
PortalContainer container = PortalContainer.getInstance();
storage_ = (DataStorage)container.getComponentInstanceOfType(DataStorage.class);
mgr =
(POMSessionManager)container.getComponentInstanceOfType(POMSessionManager.class);
@@ -84,6 +88,8 @@
protected void tearDown() throws Exception
{
session.close();
+ end();
+ super.tearDown();
}
public void testCreatePortal() throws Exception
Modified:
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestGadget.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestGadget.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestGadget.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -46,9 +46,8 @@
public void setUp() throws Exception
{
super.setUp();
- if (storage_ != null)
- return;
- PortalContainer container = PortalContainer.getInstance();
+ begin();
+ PortalContainer container = getContainer();
storage_ = (DataStorage)container.getComponentInstanceOfType(DataStorage.class);
mgr =
(POMSessionManager)container.getComponentInstanceOfType(POMSessionManager.class);
session = mgr.openSession();
@@ -57,6 +56,8 @@
protected void tearDown() throws Exception
{
session.close();
+ end();
+ super.tearDown();
}
public void testBilto() throws Exception
Modified:
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestLoadedPOM.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestLoadedPOM.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestLoadedPOM.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -66,11 +66,9 @@
public void setUp() throws Exception
{
super.setUp();
-
- //
- PortalContainer container = PortalContainer.getInstance();
- portalConfigService =
-
(UserPortalConfigService)container.getComponentInstanceOfType(UserPortalConfigService.class);
+ begin();
+ PortalContainer container = getContainer();
+ portalConfigService =
(UserPortalConfigService)container.getComponentInstanceOfType(UserPortalConfigService.class);
storage = (DataStorage)container.getComponentInstanceOfType(DataStorage.class);
mgr =
(POMSessionManager)container.getComponentInstanceOfType(POMSessionManager.class);
session = mgr.openSession();
@@ -78,9 +76,9 @@
protected void tearDown() throws Exception
{
- session.close(false);
- session = null;
- storage = null;
+ session.close();
+ end();
+ super.tearDown();
}
public void testLegacyGroupWithNormalizedName() throws Exception
Modified:
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestOrganization.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestOrganization.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestOrganization.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -21,12 +21,10 @@
import org.exoplatform.commons.utils.PageList;
import org.exoplatform.container.PortalContainer;
-import org.exoplatform.container.component.ComponentRequestLifecycle;
import org.exoplatform.services.organization.GroupHandler;
import org.exoplatform.services.organization.OrganizationService;
import org.exoplatform.services.organization.User;
import org.exoplatform.services.organization.UserHandler;
-import org.exoplatform.test.BasicTestCase;
import java.util.Collection;
import java.util.List;
@@ -43,17 +41,17 @@
@Override
protected void setUp() throws Exception
{
- PortalContainer container = PortalContainer.getInstance();
+ super.setUp();
+ begin();
+ PortalContainer container = getContainer();
organizationService =
(OrganizationService)container.getComponentInstance(OrganizationService.class);
- ((ComponentRequestLifecycle)organizationService).startRequest(container);
}
@Override
protected void tearDown() throws Exception
{
- PortalContainer container = PortalContainer.getInstance();
- organizationService =
(OrganizationService)container.getComponentInstance(OrganizationService.class);
- ((ComponentRequestLifecycle)organizationService).endRequest(container);
+ end();
+ super.tearDown();
}
public void testFindGroups() throws Exception
Modified:
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestPortalConfig.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestPortalConfig.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestPortalConfig.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -21,6 +21,7 @@
import org.exoplatform.container.PortalContainer;
import org.exoplatform.container.component.ComponentRequestLifecycle;
+import org.exoplatform.container.component.RequestLifeCycle;
import org.exoplatform.portal.config.model.PortalConfig;
import org.exoplatform.portal.pom.config.POMSession;
import org.exoplatform.portal.pom.config.POMSessionManager;
@@ -53,21 +54,19 @@
public void setUp() throws Exception
{
super.setUp();
-
+ begin();
PortalContainer container = PortalContainer.getInstance();
org =
(OrganizationService)container.getComponentInstanceOfType(OrganizationService.class);
storage = (DataStorage)container.getComponentInstanceOfType(DataStorage.class);
mgr =
(POMSessionManager)container.getComponentInstanceOfType(POMSessionManager.class);
session = mgr.openSession();
- ((ComponentRequestLifecycle)org).startRequest(container);
}
protected void tearDown() throws Exception
{
session.close();
- storage = null;
- PortalContainer container = PortalContainer.getInstance();
- ((ComponentRequestLifecycle)org).endRequest(container);
+ end();
+ super.tearDown();
}
public void testSiteLayout() throws Exception
Modified:
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestPortletPreferences.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestPortletPreferences.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestPortletPreferences.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -53,9 +53,8 @@
public void setUp() throws Exception
{
super.setUp();
- if (storage_ != null)
- return;
- PortalContainer container = PortalContainer.getInstance();
+ begin();
+ PortalContainer container = getContainer();
storage_ = (DataStorage)container.getComponentInstanceOfType(DataStorage.class);
mgr =
(POMSessionManager)container.getComponentInstanceOfType(POMSessionManager.class);
session = mgr.openSession();
@@ -63,8 +62,9 @@
protected void tearDown() throws Exception
{
- session.close(false);
- session = null;
+ session.close();
+ end();
+ super.tearDown();
}
public void testSiteScopedPreferences() throws Exception
Modified:
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestSavedPOM.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestSavedPOM.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestSavedPOM.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -66,11 +66,9 @@
public void setUp() throws Exception
{
super.setUp();
-
- //
- PortalContainer container = PortalContainer.getInstance();
- portalConfigService =
-
(UserPortalConfigService)container.getComponentInstanceOfType(UserPortalConfigService.class);
+ begin();
+ PortalContainer container = getContainer();
+ portalConfigService =
(UserPortalConfigService)container.getComponentInstanceOfType(UserPortalConfigService.class);
storage = (DataStorage)container.getComponentInstanceOfType(DataStorage.class);
mgr =
(POMSessionManager)container.getComponentInstanceOfType(POMSessionManager.class);
session = mgr.openSession();
@@ -79,7 +77,8 @@
protected void tearDown() throws Exception
{
session.close();
- storage = null;
+ end();
+ super.tearDown();
}
public void testNavigation() throws Exception
Modified:
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestUserPortalConfigService.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestUserPortalConfigService.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestUserPortalConfigService.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -54,6 +54,7 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.CountDownLatch;
/**
* @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
@@ -111,9 +112,8 @@
}
};
- PortalContainer container = PortalContainer.getInstance();
- userPortalConfigSer_ =
-
(UserPortalConfigService)container.getComponentInstanceOfType(UserPortalConfigService.class);
+ PortalContainer container = getContainer();
+ userPortalConfigSer_ =
(UserPortalConfigService)container.getComponentInstanceOfType(UserPortalConfigService.class);
orgService_ =
(OrganizationService)container.getComponentInstanceOfType(OrganizationService.class);
mgr =
(POMSessionManager)container.getComponentInstanceOfType(POMSessionManager.class);
authenticator =
(Authenticator)container.getComponentInstanceOfType(Authenticator.class);
@@ -165,7 +165,7 @@
assertEquals("classic", portalCfg.getName());
assertNotNull(userPortalCfg.getNavigations());
Map<String, PageNavigation> navigations = toMap(userPortalCfg);
- assertEquals(5, navigations.size());
+ assertEquals("expected to have 5 navigations instead of " +
navigations, 5, navigations.size());
assertTrue(navigations.containsKey("portal::classic"));
assertTrue(navigations.containsKey("group::/platform/administrators"));
assertTrue(navigations.containsKey("group::/organization/management/executive-board"));
@@ -189,7 +189,7 @@
assertEquals("classic", portalCfg.getName());
assertNotNull(userPortalCfg.getNavigations());
Map<String, PageNavigation> navigations = toMap(userPortalCfg);
- assertEquals(5, navigations.size());
+ assertEquals("expected to have 5 navigations instead of " +
navigations, 5, navigations.size());
assertTrue(navigations.containsKey("portal::classic"));
assertTrue(navigations.containsKey("group::/platform/administrators"));
assertTrue(navigations.containsKey("group::/organization/management/executive-board"));
@@ -249,7 +249,7 @@
{
UserPortalConfig userPortalCfg =
userPortalConfigSer_.getUserPortalConfig("classic", "root");
List<PageNavigation> navigations = userPortalCfg.getNavigations();
- assertEquals(5, navigations.size());
+ assertEquals("expected to have 5 navigations instead of " +
navigations, 5, navigations.size());
assertEquals("classic", navigations.get(0).getOwnerId()); // 1
assertEquals("/platform/administrators",
navigations.get(1).getOwnerId()); // 2
assertEquals("root", navigations.get(2).getOwnerId()); // 3
@@ -274,7 +274,7 @@
assertEquals("jazz", portalCfg.getName());
assertNotNull(userPortalCfg.getNavigations());
Map<String, PageNavigation> navigations = toMap(userPortalCfg);
- assertEquals(5, navigations.size());
+ assertEquals("expected to have 5 navigations instead of " +
navigations, 5, navigations.size());
assertTrue(navigations.containsKey("portal::jazz"));
assertTrue(navigations.containsKey("group::/platform/administrators"));
assertTrue(navigations.containsKey("group::/organization/management/executive-board"));
@@ -565,6 +565,7 @@
}.execute(null);
}
+/*
public void testCreateMultipleNavigations(){
for(int i =0; i < 10; i++){
createNavigation(null, "group", "/platform/administrators" +
i);
@@ -622,6 +623,7 @@
}
}.execute(user);
}
+*/
public void testUpdateNavigation()
{
@@ -833,6 +835,9 @@
Throwable failure = null;
//
+ begin();
+
+ //
ConversationState conversationState = null;
if (userId != null)
{
@@ -849,10 +854,6 @@
//
if (failure == null)
{
- // Clear cache
-// mgr.clearCache();
-
- //
mopSession = mgr.openSession();
if (failure == null)
{
@@ -870,8 +871,8 @@
finally
{
ConversationState.setCurrent(null);
- mopSession.close();
- mopSession = null;
+ mopSession.close(false);
+ end();
}
}
}
Modified:
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestWSRP.java
===================================================================
---
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestWSRP.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/portal/src/test/java/org/exoplatform/portal/config/TestWSRP.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -47,11 +47,8 @@
public void setUp() throws Exception
{
super.setUp();
- if (storage_ != null)
- {
- return;
- }
- PortalContainer container = PortalContainer.getInstance();
+ begin();
+ PortalContainer container = getContainer();
storage_ = (DataStorage)container.getComponentInstanceOfType(DataStorage.class);
mgr =
(POMSessionManager)container.getComponentInstanceOfType(POMSessionManager.class);
session = mgr.openSession();
@@ -59,8 +56,9 @@
protected void tearDown() throws Exception
{
- session.close(false);
- session = null;
+ session.close();
+ end();
+ super.tearDown();
}
public void testBilto() throws Exception
Modified:
portal/branches/wsrp-integration/component/test/core/src/main/java/org/exoplatform/component/test/AbstractGateInTest.java
===================================================================
---
portal/branches/wsrp-integration/component/test/core/src/main/java/org/exoplatform/component/test/AbstractGateInTest.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/test/core/src/main/java/org/exoplatform/component/test/AbstractGateInTest.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -18,16 +18,12 @@
*/
package org.exoplatform.component.test;
-import junit.framework.AssertionFailedError;
import junit.framework.TestCase;
import org.exoplatform.container.PortalContainer;
-import org.exoplatform.container.component.ComponentRequestLifecycle;
+import org.exoplatform.container.component.RequestLifeCycle;
-import java.util.ArrayList;
-import java.util.Collections;
import java.util.EnumMap;
import java.util.HashSet;
-import java.util.List;
import java.util.Set;
/**
@@ -40,8 +36,12 @@
public abstract class AbstractGateInTest extends TestCase
{
+ /** . */
+ private PortalContainer container;
+
protected AbstractGateInTest()
{
+ super();
}
protected AbstractGateInTest(String name)
@@ -49,6 +49,21 @@
super(name);
}
+ public PortalContainer getContainer()
+ {
+ return container;
+ }
+
+ protected void begin()
+ {
+ RequestLifeCycle.begin(container);
+ }
+
+ protected void end()
+ {
+ RequestLifeCycle.end();
+ }
+
@Override
public void runBare() throws Throwable
{
@@ -78,9 +93,7 @@
}
//
- PortalContainer container = null;
- List<ComponentRequestLifecycle> componentRLFs = Collections.emptyList();
- List<Throwable> failures = new ArrayList<Throwable>();
+// List<Throwable> failures = new ArrayList<Throwable>();
//
try
@@ -91,40 +104,19 @@
// Boot the container
container = PortalContainer.getInstance();
- // Honours the request life cycle
- componentRLFs =
(List<ComponentRequestLifecycle>)container.getComponentInstancesOfType(ComponentRequestLifecycle.class);
-
- //
- for (ComponentRequestLifecycle componentRLF : componentRLFs)
- {
- componentRLF.startRequest(container);
- }
-
// Execute test
super.runBare();
}
finally
{
- if (container != null)
- {
- for (ComponentRequestLifecycle componentRLF : componentRLFs)
- {
- try
- {
- componentRLF.endRequest(container);
- }
- catch (Throwable e)
- {
- failures.add(e);
- }
- }
- }
+ container = null;
//
Thread.currentThread().setContextClassLoader(realClassLoader);
}
//
+/*
if (failures.size() > 0)
{
Throwable failure = failures.get(0);
@@ -132,5 +124,6 @@
afe.initCause(failure);
throw afe;
}
+*/
}
}
Modified:
portal/branches/wsrp-integration/component/test/core/src/test/java/org/exoplatform/component/test/BootstrapTestCase.java
===================================================================
---
portal/branches/wsrp-integration/component/test/core/src/test/java/org/exoplatform/component/test/BootstrapTestCase.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/test/core/src/test/java/org/exoplatform/component/test/BootstrapTestCase.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -40,8 +40,12 @@
{
PortalContainer container = PortalContainer.getInstance();
CustomService testService =
(CustomService)container.getComponentInstanceOfType(CustomService.class);
+ assertNull(testService.currentContainer);
+ begin();
+ assertNotNull(testService);
assertSame(container, testService.currentContainer);
- assertNotNull(testService);
+ end();
+ assertNull(testService.currentContainer);
}
public void testDataSource() throws Exception
Modified:
portal/branches/wsrp-integration/component/test/organization/src/test/java/org/exoplatform/component/test/organization/BootstrapTestCase.java
===================================================================
---
portal/branches/wsrp-integration/component/test/organization/src/test/java/org/exoplatform/component/test/organization/BootstrapTestCase.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/test/organization/src/test/java/org/exoplatform/component/test/organization/BootstrapTestCase.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -52,6 +52,7 @@
OrganizationService organization =
(OrganizationService)container.getComponentInstanceOfType(OrganizationService.class);
assertNotNull(organization);
+ begin();
User test = new UserImpl("testUser");
organization.getUserHandler().createUser(test, false);
@@ -59,6 +60,7 @@
assertNull(test);
test = organization.getUserHandler().findUserByName("testUser");
assertNotNull(test);
+ end();
}
}
\ No newline at end of file
Modified:
portal/branches/wsrp-integration/component/web/src/main/java/org/exoplatform/web/WebAppController.java
===================================================================
---
portal/branches/wsrp-integration/component/web/src/main/java/org/exoplatform/web/WebAppController.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/web/src/main/java/org/exoplatform/web/WebAppController.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -22,6 +22,7 @@
import org.exoplatform.container.ExoContainer;
import org.exoplatform.container.ExoContainerContext;
import org.exoplatform.container.component.ComponentRequestLifecycle;
+import org.exoplatform.container.component.RequestLifeCycle;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
import org.exoplatform.web.application.Application;
@@ -136,29 +137,14 @@
if (handler != null)
{
ExoContainer portalContainer = ExoContainerContext.getCurrentContainer();
- List<ComponentRequestLifecycle> components =
-
portalContainer.getComponentInstancesOfType(ComponentRequestLifecycle.class);
+ RequestLifeCycle.begin(portalContainer);
try
{
- for (ComponentRequestLifecycle component : components)
- {
- component.startRequest(portalContainer);
- }
handler.execute(this, req, res);
}
finally
{
- for (ComponentRequestLifecycle component : components)
- {
- try
- {
- component.endRequest(portalContainer);
- }
- catch (Exception e)
- {
- log.warn("An error occured while calling the endRequest
method", e);
- }
- }
+ RequestLifeCycle.end();
}
}
}
Modified:
portal/branches/wsrp-integration/component/web/src/main/java/org/exoplatform/web/application/RequestContext.java
===================================================================
---
portal/branches/wsrp-integration/component/web/src/main/java/org/exoplatform/web/application/RequestContext.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/component/web/src/main/java/org/exoplatform/web/application/RequestContext.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -119,6 +119,11 @@
{
return parentAppRequestContext_.getWriter();
}
+
+ public void setWriter (Writer writer)
+ {
+ parentAppRequestContext_.setWriter(writer);
+ }
final public Object getAttribute(String name)
{
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/Further_Documentation.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/Further_Documentation.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/Further_Documentation.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -23,7 +23,7 @@
--><title>Futher Documentation</title>
<para>
- Further documentation about using and configuring the GateIn Portal can be found in the
GateIn Portal Install Guide or the GateIn Portal Reference Guide which are hosted at
<ulink type="http"
url="www.redhat.com/docs">www.redhat.com/docs</ulink>.
+ Further documentation about using and configuring the &PRODUCT; can be found in the
&PRODUCT; Install Guide or the &PRODUCT; Reference Guide which are hosted at
<ulink type="http"
url="www.redhat.com/docs">www.redhat.com/docs</ulink>.
</para>
</chapter>
Modified: portal/branches/wsrp-integration/docs/user-guide/en/modules/Portal.xml
===================================================================
--- portal/branches/wsrp-integration/docs/user-guide/en/modules/Portal.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++ portal/branches/wsrp-integration/docs/user-guide/en/modules/Portal.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -28,8 +28,8 @@
<xi:include href="portal/Manage_Permission.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="portal/Change_Portal_Skins.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="portal/Manage_Page_Navigation.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-<!-- <xi:include href="portal/Manage_Navigation_Nodes.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="portal/Change_Node_Order.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> To be included in Reference
Guide -->
+ <xi:include href="portal/Manage_Navigation_Nodes.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="portal/Change_Node_Order.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="portal/Manage_Pages.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="portal/Page_Creation_Wizard.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="portal/Drag_and_Drop_the_Page_Body.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/gadgetsAdmin/Import_Portlets_and_Gadgets.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/gadgetsAdmin/Import_Portlets_and_Gadgets.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/gadgetsAdmin/Import_Portlets_and_Gadgets.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -25,32 +25,39 @@
<para>
This convenient feature that helps you import default portlets/gadgets automatically in
different categories and these portlets/gadgets will be listed on the left pane.
</para>
- <orderedlist numeration="arabic">
- <listitem>
+ <note>
+ <title>Technical Information about the Portlet Import</title>
<para>
- info("Technical Information about the Portlet Import: The Application Registry
looks in all webapps of your application server for a file located at WEB-INF/portlet.xml
and registers the portlets found there. When the user clicks on "Auto Import"
the portlets of all webapps are imported. If there is a portlet.xml file in a webapp a new
category is created whose name is the webapp war name (or the webapp folder name). All the
portlets that are configured in the portlet.xml file are added to the new
category.")
+ The Application Registry looks in all webapps of your application server for a file
located at WEB-INF/portlet.xml and registers the portlets found there. When the user
clicks on "Auto Import" the portlets of all webapps are imported. If there is a
portlet.xml file in a webapp a new category is created whose name is the webapp war name
(or the webapp folder name). All the portlets that are configured in the portlet.xml file
are added to the new category.")
</para>
- </listitem>
- </orderedlist>
- <para>
- 1. Go to <emphasis role="bold">Administration</emphasis>->
<emphasis role="bold">Application Registry</emphasis> page->
<emphasis role="bold">Organize</emphasis> item on the navigation
bar. A form for organizing portlets/gadgets will be displayed:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Org1.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- 2. Click the <emphasis role="bold">Auto Import</emphasis>
button!images/Auto1.png! at upper right corner on the action bar. A pop up will be shown:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/local.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- 2. Click the <emphasis role="bold">OK</emphasis> button to accept
importing gadgets automatically. All portlets/gadgets categories will be imported and
listed on the left pane.
- </para>
+ </note>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">Administration</emphasis>->
<emphasis role="bold">Application Registry</emphasis> page->
<emphasis role="bold">Organize</emphasis> item on the navigation
bar. A form for organizing portlets/gadgets will be displayed:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Org1.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Auto Import</emphasis>
button!images/Auto1.png! at upper right corner on the action bar. A pop up will be shown:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/local.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">OK</emphasis> button to accept
importing gadgets automatically. All portlets/gadgets categories will be imported and
listed on the left pane.
+ </para>
+ </step>
+ </procedure>
</section>
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/gadgetsAdmin/Manage_Gadgets_in_User_Workspace.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/gadgetsAdmin/Manage_Gadgets_in_User_Workspace.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/gadgetsAdmin/Manage_Gadgets_in_User_Workspace.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -21,120 +21,134 @@
Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- --><title>Manage Gadgets in User Workspace</title>
+ --><title>Manage Gadgets</title>
<orderedlist numeration="arabic">
<listitem>
<para>
- gadget is a small convenient application that helps you perform private actions.
GateIn Portal provides you with some useful gadgets: todo, calendar, calculator and RSS
Reader. Besides using ready-to-use gadgets in your User Workspace. You can easily add
gadgets organized in categories in your User Workspace to meet the need of your work :
+ Gadgets are a small convenient applications that helps you perform private actions.
&PRODUCT; provides you with some useful gadgets: todo, calendar, calculator and RSS
Reader. Besides using ready-to-use gadgets, you can easily add gadgets organized in
categories to meet the need of your work :
</para>
</listitem>
</orderedlist>
<section
id="sect-User_Guide-Manage_Gadgets_in_User_Workspace-Add_a_Gadget">
<title>Add a Gadget</title>
- <para>
- To add a gadget, you can follow these steps:
- </para>
- <para>
- 1. Open the User Workspace on your left pane.
- </para>
- <para>
- 2. Click the tool!images/Tool.png! icon to add a new category
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/UserWorkspace.png" format="PNG"
/>
- </imageobject>
- </mediaobject>
- <para>
- The <emphasis role="bold">Gadget Containers
Management</emphasis> dialog appears:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/GadgetManagement.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- Click the add icon !images/AddIcon.png! to show the <emphasis
role="bold">Gadget Container Form</emphasis> .
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/GadgetContainer.png" format="PNG"
/>
- </imageobject>
- </mediaobject>
- <informaltable colsep="0" frame="none" rowsep="0">
- <tgroup cols="2">
- <colspec align="center"></colspec>
- <colspec align="center"></colspec>
- <tbody>
- <row>
- <entry>
- <emphasis role="bold"> Name </emphasis>
- </entry>
- <entry>
- <emphasis role="bold"> Description </emphasis>
- </entry>
- </row>
- <row>
- <entry>
- Label
- </entry>
- <entry>
- The display name of the category. This field is required and must have at least 3
characters.
- </entry>
- </row>
- <row>
- <entry>
- Description
- </entry>
- <entry>
- The brief description of the category.A length from 0 to 255 characters is
allowed. This field is not required.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <para>
- Enter values for fields in the <emphasis role="bold">Gadget Container
Form</emphasis> .
- </para>
- <para>
- Click on the <emphasis role="bold">Save</emphasis> button to
accept adding a new category or click <emphasis
role="bold">Cancel</emphasis> to quit. After you added the new category
you will see it in the dialog :
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/GadgetManagement1.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- Edit the information of an existing category by selecting it from the left pane, the
selected category is marked by a symbol. Then click the edit icon to show the edit form.
Change the current category information and click on the <emphasis
role="bold">button</emphasis> to accept changes.
- </para>
- <para>
- Delete an existing category by selecting it from the left pane. In the message box
Click on the <emphasis role="bold">OK</emphasis> button to confirm
the deletion or click the <emphasis role="bold">Cancel</emphasis>
button.
- </para>
- <para>
- 3. Click on the <emphasis role="bold">Save</emphasis> button in
the <emphasis role="bold">Gadget Containers Management</emphasis>
dialog to accept or on the <emphasis role="bold">Cancel</emphasis>
button to quit. Added categories will be displayed in list in the User Workspace.
- </para>
- <para>
- 4. Click the list icon!images/ListIcon.png! to see category list and select one in
list.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/UserWorkspace1.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- 5. Click the add icon!images/AddIcon1.png! at the bottom of the User Workspace to open
the <emphasis role="bold">Add Application</emphasis> dialog:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/AddApplication.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- 6. Select a gadget by clicking the add icon !images/PlusIcon.png! that is located next
to the the gadget. The selected gadget is displayed immediately in the user workspace.
Normally, you can see only two gadgets in the User Workspace. When there are more gadgets,
some gadgets are not visible.
- </para>
- <para>
- 7. Click the scroll down icon !images/DownIcon.png!images/ or the scroll up
icon!images/ UpIcon.png! at the bottom of the User Workspace to see the other gadgets. If
there are no more gadgets to scroll to, the color of the scroll down and scroll up icon
switches to gray color.
- </para>
+ <para>
+ To add a gadget, you can follow these steps:
+ </para>
+ <procedure>
+ <step>
+ <para>
+ Open the User Workspace on your left pane.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the tool!images/Tool.png! icon to add a new category
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/UserWorkspace.png" format="PNG"
/>
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ The <emphasis role="bold">Gadget Containers
Management</emphasis> dialog appears:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/GadgetManagement.png"
format="PNG" width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Click the add icon !images/AddIcon.png! to show the <emphasis
role="bold">Gadget Container Form</emphasis> .
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/GadgetContainer.png"
format="PNG" />
+ </imageobject>
+ </mediaobject>
+ <variablelist>
+ <varlistentry>
+ <term>Label</term>
+ <listitem>
+ <para>
+ The display name of the category. This field is required and must have at least 3
characters.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Description</term>
+ <listitem>
+ <para>
+ The brief description of the category.A length from 0 to 255 characters is
allowed. This field is not required.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </step>
+ <step>
+ <para>
+ Enter values for fields in the <emphasis role="bold">Gadget
Container Form</emphasis> .
+ </para>
+ </step>
+ <step>
+ <para>
+ Click on the <emphasis role="bold">Save</emphasis> button to
accept adding a new category or click <emphasis
role="bold">Cancel</emphasis> to quit. After you added the new category
you will see it in the dialog :
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/GadgetManagement1.png"
format="PNG" width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Edit the information of an existing category by selecting it from the left pane,
the selected category is marked by a symbol. Then click the edit icon to show the edit
form. Change the current category information and click on the <emphasis
role="bold">button</emphasis> to accept changes.
+ </para>
+ </step>
+ <step>
+ <para>
+ Delete an existing category by selecting it from the left pane. In the message box
Click on the <emphasis role="bold">OK</emphasis> button to confirm
the deletion or click the <emphasis role="bold">Cancel</emphasis>
button.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click on the <emphasis role="bold">Save</emphasis> button in
the <emphasis role="bold">Gadget Containers Management</emphasis>
dialog to accept or on the <emphasis role="bold">Cancel</emphasis>
button to quit. Added categories will be displayed in list in the User Workspace.
+ </para>
+ </step>
+ <step>
+ <para>
+ 4. Click the list icon!images/ListIcon.png! to see category list and select one in
list.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/UserWorkspace1.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ 5. Click the add icon!images/AddIcon1.png! at the bottom of the User Workspace to
open the <emphasis role="bold">Add Application</emphasis> dialog:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/AddApplication.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Select a gadget by clicking the add icon !images/PlusIcon.png! that is located next
to the the gadget. The selected gadget is displayed immediately in the user workspace.
Normally, you can see only two gadgets in the User Workspace. When there are more gadgets,
some gadgets are not visible.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the scroll down icon !images/DownIcon.png!images/ or the scroll up
icon!images/ UpIcon.png! at the bottom of the User Workspace to see the other gadgets. If
there are no more gadgets to scroll to, the color of the scroll down and scroll up icon
switches to gray color.
+ </para>
+ </step>
+ </procedure>
</section>
<section
id="sect-User_Guide-Manage_Gadgets_in_User_Workspace-Edit_a_Gadget">
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/gadgetsAdmin/Manage_Portlets_and_Gadgets.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/gadgetsAdmin/Manage_Portlets_and_Gadgets.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/gadgetsAdmin/Manage_Portlets_and_Gadgets.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -16,90 +16,85 @@
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.
- --><title>Manage Portlets and Gadgets</title>
- <section id="sect-User_Guide-Manage_Portlets_and_Gadgets-Introduction">
- <title>Introduction</title>
+ -->
+
+ <title>Manage Portlets and Gadgets</title>
<para>
Portlets and gadgets are organized in different categories. Each category contains one
or several portlets or gadgets. You can also mix portlets and gadgets into one category.
By default all gadgets are placed in the <emphasis>ExoGadgets</emphasis>
category.
</para>
- </section>
<section
id="sect-User_Guide-Manage_Portlets_and_Gadgets-Add_a_new_Category">
<title>Add a new Category</title>
<para>
You easily add a new category by following these guides:
</para>
- <para>
- Go to <emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Application Registry</emphasis> page ->
<emphasis role="bold">Organize</emphasis> item.
- </para>
- <para>
- 1. Open a form to add a new category on the right pane by clicking the <emphasis
role="bold">Add Category</emphasis> button on the action bar:
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/AddCategory1.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- </para>
- <para>
- The <emphasis role="bold">Category Setting</emphasis> tab:
includes common information about a category.
- </para>
- <informaltable colsep="0" frame="none" rowsep="0">
- <tgroup cols="2">
- <colspec align="center"></colspec>
- <colspec align="center"></colspec>
- <tbody>
- <row>
- <entry>
- <emphasis role="bold"> Name </emphasis>
- </entry>
- <entry>
- <emphasis role="bold"> Description </emphasis>
- </entry>
- </row>
- <row>
- <entry>
- Category name
- </entry>
- <entry>
- The name of the category which you want to add. This field is required and its
length must be between 3 and 30 characters.
- </entry>
- </row>
- <row>
- <entry>
- Display name
- </entry>
- <entry>
- The display name of the category in list and its length must be between 3 and 30
characters.
- </entry>
- </row>
- <row>
- <entry>
- Description
- </entry>
- <entry>
- A brief description of the category. Any length from 0 to 255 characters is
allowed.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <para>
- The <emphasis role="bold">Permission Setting</emphasis> tab:
used to set the access permission for a category.
- </para>
- <figure
id="figu-User_Guide-Add_a_new_Category-info_This_access_permission_enters_the_game_whenever_a_user_creates_or_modifies_a_page._In_that_moment_the_user_only_can_see_and_use_portlets_in_those_categories_on_which_he_or_she_has_access_permission_defined_by_groups_and_memberships._info">
- <title>{info} This access permission enters the game whenever a user creates or
modifies a page. In that moment the user only can see and use portlets in those categories
on which he or she has access permission (defined by groups and memberships).
{info}</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Permission2.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- </figure>
- <para>
- 2. Enter values for required fields in this form.
- </para>
- <para>
- 3. Click the <emphasis role="bold">Save</emphasis> button to
accept adding a new category into a category list. The new category will be added into a
list on the left pane.
- </para>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">Administration</emphasis>
-> <emphasis role="bold">Application Registry</emphasis> page
-> <emphasis role="bold">Organize</emphasis> item.
+ </para>
+ </step>
+ <step>
+ <para>
+ Open a form to add a new category on the right pane by clicking the <emphasis
role="bold">Add Category</emphasis> button on the action bar:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/AddCategory1.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ <para>
+ The <emphasis role="bold">Category Setting</emphasis> tab:
includes common information about a category.
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Category name</term>
+ <listitem>
+ <para>
+ The name of the category which you want to add. This field is required and its
length must be between 3 and 30 characters.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Display name</term>
+ <listitem>
+ <para>
+ The display name of the category in list and its length must be between 3 and 30
characters.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Description</term>
+ <listitem>
+ <para>
+ A brief description of the category. Any length from 0 to 255 characters is
allowed.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ The <emphasis role="bold">Permission Setting</emphasis> tab:
used to set the access permission for a category.
+ </para>
+ <para>This access permission enters the game whenever a user creates or
modifies a page. In that moment the user only can see and use portlets in those categories
on which he or she has access permission (defined by groups and memberships).
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Permission2.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Enter values for required fields in this form.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Save</emphasis> button to
accept adding a new category into a category list. The new category will be added into a
list on the left pane.
+ </para>
+ </step>
+ </procedure>
</section>
<section
id="sect-User_Guide-Manage_Portlets_and_Gadgets-Edit_a_Category">
@@ -107,15 +102,23 @@
<para>
You can edit a category in list by following:
</para>
- <para>
- 1. Click the edit icon!images/EditIcon1.png! on the title bar of a category that you
want to edit.
- </para>
- <para>
- 2. Change the information of the selected category.
- </para>
- <para>
- 3. Click the <emphasis role="bold">Save</emphasis> button to
accept changes.
- </para>
+ <procedure>
+ <step>
+ <para>
+ Click the edit icon!images/EditIcon1.png! on the title bar of a category that you
want to edit.
+ </para>
+ </step>
+ <step>
+ <para>
+ Change the information of the selected category.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Save</emphasis> button to
accept changes.
+ </para>
+ </step>
+ </procedure>
</section>
<section
id="sect-User_Guide-Manage_Portlets_and_Gadgets-Delete_a_Category">
@@ -123,12 +126,18 @@
<para>
You also easily remove a category from a list:
</para>
- <para>
- 1. Click the trash can icon!images/DeleteIcon.png! on the Title bar of the category
that you want to delete.
- </para>
- <para>
- 2. Click on the <emphasis role="bold">OK</emphasis> button on
the message to accept deleting or click on the <emphasis
role="bold">Cancel</emphasis> button to quit.
- </para>
+ <procedure>
+ <step>
+ <para>
+ Click the trash can icon!images/DeleteIcon.png! on the Title bar of the category
that you want to delete.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click on the <emphasis role="bold">OK</emphasis> button on the
message to accept deleting or click on the <emphasis
role="bold">Cancel</emphasis> button to quit.
+ </para>
+ </step>
+ </procedure>
</section>
<section
id="sect-User_Guide-Manage_Portlets_and_Gadgets-Add_PortletsGadgets_to_the_specific_Category">
@@ -136,55 +145,51 @@
<para>
You can follow these steps to add a portlet/gadget to your prefered category :
</para>
- <para>
- 1. Click the "add" icon!images/AddIcon.png! on the title bar of a category
to which you want to add portlets. An interface will appear in the right pane as you can
see below:
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/AddPortlet2.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <informaltable colsep="0" frame="none"
rowsep="0">
- <tgroup cols="2">
- <colspec align="left"></colspec>
- <colspec align="left"></colspec>
- <tbody>
- <row>
- <entry>
- <emphasis role="bold">Name</emphasis>
- </entry>
- <entry>
- <emphasis role="bold">Description</emphasis>
- </entry>
- </row>
- <row>
- <entry>
- Display name
- </entry>
- <entry>
- The display name of a portlet/gadget that you want to add to a category.
- </entry>
- </row>
- <row>
- <entry>
- Application Type
- </entry>
- <entry>
+ <procedure>
+ <step>
+ <para>
+ Click the "add" icon!images/AddIcon.png! on the title bar of a category to
which you want to add portlets. An interface will appear in the right pane as you can see
below:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/AddPortlet2.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ <variablelist>
+ <varlistentry>
+ <term>Display name</term>
+ <listitem>
+ <para>
+ The display name of a portlet/gadget that you want to add to a category.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Application Type</term>
+ <listitem>
+ <para>
the type of selected object.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </para>
- <para>
- 2. Enter the display name and select a type for the selected portlet/gadget.
- </para>
- <para>
- 3. Select a portlet/gadget by checking the radio button.
- </para>
- <para>
- 4. Click the <emphasis role="bold">Save</emphasis> button to
accept adding a portlet/gadget to a category.
- </para>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </step>
+ <step>
+ <para>
+ Enter the display name and select a type for the selected portlet/gadget.
+ </para>
+ </step>
+ <step>
+ <para>
+ Select a portlet/gadget by checking the radio button.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Save</emphasis> button to
accept adding a portlet/gadget to a category.
+ </para>
+ </step>
+ </procedure>
</section>
<section
id="sect-User_Guide-Manage_Portlets_and_Gadgets-Set_Access_Permission_on_Portlets">
@@ -192,33 +197,43 @@
<para>
You easily set an access permission on a portlet by following these guides:
</para>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Page Navigations</emphasis> -> select
<emphasis role="bold">Administration</emphasis> -->
<emphasis role="bold">Application Registry</emphasis>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/PortletPermission.png"
format="PNG" width="444" />
- </imageobject>
- </mediaobject>
- </para>
- <para>
- 2. Select a category on the left pane that includes the portlet you want to set right.
Then all portlets of the selected category are listed immediately and detail information
of each portlet is displayed on the right pane.
- </para>
- <para>
- 3. To set permission for a portlet:
- <itemizedlist>
- <listitem>
- <para>
- Click the <emphasis role="bold">Add Permission</emphasis>
button to add access permissions to more groups.
- </para>
- </listitem>
- <listitem>
- <para>
- Or check the <emphasis role="bold">Make it public</emphasis>
check box to allow everyone to access.
- </para>
- </listitem>
- </itemizedlist>
- Whenever the user creates or modifies a page he or she can only see and use portlets
that fulfill two conditions: the portlet is in a <emphasis
role="bold">category</emphasis> on which the user has access permission
(see category section above) and the user has access permission on the <emphasis
role="bold">portlet</emphasis>
- </para>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Page Navigations</emphasis> -> select
<emphasis role="bold">Administration</emphasis> -->
<emphasis role="bold">Application Registry</emphasis>
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/PortletPermission.png"
format="PNG" width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Select a category on the left pane that includes the portlet you want to set right.
Then all portlets of the selected category are listed immediately and detail information
of each portlet is displayed on the right pane.
+ </para>
+ </step>
+ <step>
+ <para>
+ To set permission for a portlet:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Click the <emphasis role="bold">Add Permission</emphasis>
button to add access permissions to more groups.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Or check the <emphasis role="bold">Make it public</emphasis>
check box to allow everyone to access.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Whenever the user creates or modifies a page he or she can only see and use portlets
that fulfill two conditions: the portlet is in a <emphasis
role="bold">category</emphasis> on which the user has access permission
(see category section above) and the user has access permission on the <emphasis
role="bold">portlet</emphasis>
+ </para>
+ </step>
+ </procedure>
</section>
<section
id="sect-User_Guide-Manage_Portlets_and_Gadgets-View_detail_information_of_the_specific_Portlets">
@@ -226,49 +241,41 @@
<para>
You easily view detail information of all specific portlets by following these
guides:
</para>
- <para>
- 1. On the navigation bar, go to the <emphasis
role="bold">Administration</emphasis>-> <emphasis
role="bold">Application Registry</emphasis> page-> <emphasis
role="bold">Portlet</emphasis> item . A form to view all portlets will
appear:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Portlet.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <informaltable colsep="0" frame="none" rowsep="0">
- <tgroup cols="2">
- <colspec align="center"></colspec>
- <colspec align="center"></colspec>
- <tbody>
- <row>
- <entry>
- <emphasis role="bold"> Name </emphasis>
- </entry>
- <entry>
- <emphasis role="bold"> Description </emphasis>
- </entry>
- </row>
- <row>
- <entry>
- Left pane
- </entry>
- <entry>
- lists all portlets in two parts: Local and Remote
- </entry>
- </row>
- <row>
- <entry>
- Right pane
- </entry>
- <entry>
- shows detail information about a portlet: Name, Display name, Description and
Portlet preferences.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <para>
- 2. Select one portlet in the list on the left pane. The detail information of that
portlet appears on the right pane.
- </para>
+ <procedure>
+ <step>
+ <para>
+ On the navigation bar, go to the <emphasis
role="bold">Administration</emphasis>-> <emphasis
role="bold">Application Registry</emphasis> page-> <emphasis
role="bold">Portlet</emphasis> item . A form to view all portlets will
appear:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Portlet.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ <variablelist>
+ <varlistentry>
+ <term>Left pane</term>
+ <listitem>
+ <para>
+ lists all portlets in two parts: Local and Remote
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Right pane</term>
+ <listitem>
+ <para>
+ shows detail information about a portlet: Name, Display name, Description and
Portlet preferences.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </step>
+ <step>
+ <para>
+ Select one portlet in the list on the left pane. The detail information of that
portlet appears on the right pane.
+ </para>
+ </step>
+ </procedure>
</section>
<section id="sect-User_Guide-Manage_Portlets_and_Gadgets-Add_a_Gadget">
@@ -287,133 +294,186 @@
<para>
There are two ways to add gadgets:
</para>
- </section>
+ <procedure
id="proc-User_Guide-Manage_Portlets_and_Gadgets-Add_a_remote_Gadget">
+ <title>Add a remote Gadget</title>
+ <step>
+ <para>
+ Open the form to add a remote gadget by clicking <emphasis
role="bold">Add a remote gadget</emphasis> :
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/AddGadgetnew.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Enter a link to an .xml file in the <emphasis
role="bold">URL</emphasis> field.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click on the <emphasis role="bold">Add</emphasis> button to
accept the entered URL or on the <emphasis
role="bold">Cancel</emphasis> button to quit. The added gadget will be
added into gadget list on left pane of the Dashboard portlet.
+ </para>
+ </step>
+ </procedure>
- <section
id="sect-User_Guide-Manage_Portlets_and_Gadgets-Add_a_remote_Gadget">
- <title>Add a remote Gadget</title>
- <para>
- 1. Open the form to add a remote gadget by clicking <emphasis
role="bold">Add a remote gadget</emphasis> :
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/AddGadgetnew.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- 2. Enter a link to an .xml file in the <emphasis
role="bold">URL</emphasis> field.
- </para>
- <para>
- 3. Click on the <emphasis role="bold">Add</emphasis> button to
accept the entered URL or on the <emphasis
role="bold">Cancel</emphasis> button to quit. The added gadget will be
added into gadget list on left pane of the Dashboard portlet.
- </para>
+ <procedure
id="sect-User_Guide-Manage_Portlets_and_Gadgets-Create_a_new_Gadget">
+ <title>Create a new Gadget</title>
+ <step>
+ <para>
+ Show the form to add a new gadget by clicking <emphasis
role="bold">Create a new gadget</emphasis> :
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/CreateGadget1.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ <variablelist>
+ <varlistentry>
+ <term>Source</term>
+ <listitem>
+ <para>
+ The source code to create a new gadget. This source will be a .xml file.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </step>
+ <step>
+ <para>
+ Enter a value for the <emphasis
role="bold">Source</emphasis> field in this form.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Save</emphasis> button to
create a new gadget. The created gadget will be added to the gadget list on the left pane
of the Dashboard Portlet.
+ </para>
+ </step>
+ </procedure>
+ <para>
+ You also edit, refresh and delete a local gadget as well as a remote gadget:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ActionGadget.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
</section>
- <section
id="sect-User_Guide-Manage_Portlets_and_Gadgets-Create_a_new_Gadget">
- <title>Create a new Gadget</title>
- <para>
- 1. Show the form to add a new gadget by clicking <emphasis
role="bold">Create a new gadget</emphasis> :
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/CreateGadget1.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- Source: The source code to create a new gadget. This source will be a .xml file.
- </para>
- <para>
- 2. Enter a value for the <emphasis role="bold">Source</emphasis>
field in this form.
- </para>
- <para>
- 3. Click the <emphasis role="bold">Save</emphasis> button to
create a new gadget. The created gadget will be added to the gadget list on the left pane
of the Dashboard Portlet.
- </para>
- <para>
- You also edit, refresh and delete a local gadget as well as a remote gadget:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/ActionGadget.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- </section>
-
<section
id="sect-User_Guide-Manage_Portlets_and_Gadgets-Add_a_new_Gadget_to_the_Dashboard_Portlet">
<title>Add a new Gadget to the Dashboard Portlet</title>
<para>
You can add a new gadget to the gadget list in the Dashboard portlet :
</para>
- <para>
- 1. Go to the Dashboard on the navigation bar. Click on the <emphasis
role="bold">Add Gadgets</emphasis> link :
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Add.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- The dialog to add a new gadget will appear :
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Add3.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- 2. Enter a link (a .xml file or RSS) in the text box on the left pane.
- </para>
- <para>
- 3. Click on the icon!images/PlusIcon.png! to add a new gadget to the gadget list
beneath.
- </para>
+ <procedure>
+ <step>
+ <para>
+ Go to the Dashboard on the navigation bar. Click on the <emphasis
role="bold">Add Gadgets</emphasis> link :
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Add.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ <para>
+ The dialog to add a new gadget will appear :
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Add3.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Enter a link (a .xml file or RSS) in the text box on the left pane.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click on the icon!images/PlusIcon.png! to add a new gadget to the gadget list
beneath.
+ </para>
+ </step>
+ </procedure>
</section>
<section
id="sect-User_Guide-Manage_Portlets_and_Gadgets-Manage_Gadgets">
<title>Manage Gadgets</title>
- <section id="sect-User_Guide-Manage_Gadgets-Edit_a_Gadget">
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="proc-User_Guide-Manage_Gadgets-Edit_a_Gadget"/>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="proc-User_Guide-Manage_Gadgets-Refresh_a_Gadget"/>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="proc-User_Guide-Manage_Gadgets-Delete_a_Gadget"/>
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <procedure id="proc-User_Guide-Manage_Gadgets-Edit_a_Gadget">
<title>Edit a Gadget</title>
- <para>
- 1. Click the edit icon!images/EditGadget.png! . It will display a dialog:
+ <step>
+ <para>
+ Click the edit icon!images/EditGadget.png! . It will display a dialog:
+ </para>
<mediaobject>
<imageobject>
<imagedata fileref="images/Source.png" format="PNG"
width="444" />
</imageobject>
</mediaobject>
- </para>
- <para>
- 2. After editing , click the <emphasis
role="bold">Save</emphasis> button to accept changing or <emphasis
role="bold">Cancel</emphasis> button to quit.
- </para>
- </section>
+ </step>
+ <step>
+ <para>
+ After editing , click the <emphasis
role="bold">Save</emphasis> button to accept changing or <emphasis
role="bold">Cancel</emphasis> button to quit.
+ </para>
+ </step>
+ </procedure>
- <section id="sect-User_Guide-Manage_Gadgets-Refresh_a_Gadget">
+ <procedure id="proc-User_Guide-Manage_Gadgets-Refresh_a_Gadget">
<title>Refresh a Gadget</title>
- <para>
- <itemizedlist>
- <listitem>
- <para>
- Local gadget: After editing information about the gadget that you want to, click
the icon!images/Refresh.png! to refresh all information of that gadget.
- </para>
- </listitem>
- <listitem>
- <para>
- Remote gadget: When information of a remote gadget has been changed by another
server, click the icon!images/Refresh.png! means it will update information of a remote
gadget from that server.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </section>
+ <step>
+ <formalpara>
+ <title>Local gadget</title>
+ <para>
+ After editing information about the gadget that you want to, click the
icon!images/Refresh.png! to refresh all information of that gadget.
+ </para>
+ </formalpara>
+
+ <formalpara>
+ <title>Remote gadget</title>
+ <para>
+ When information of a remote gadget has been changed by another server, click the
icon!images/Refresh.png! means it will update information of a remote gadget from that
server.
+ </para>
+ </formalpara>
+ </step>
+ </procedure>
- <section id="sect-User_Guide-Manage_Gadgets-Delete_a_Gadget">
+ <procedure id="proc-User_Guide-Manage_Gadgets-Delete_a_Gadget">
<title>Delete a Gadget</title>
- <para>
- 1. Click the trash can icon!images/DeleteGadget.png! on the row of the gadget that
you want to delete. It will display an alert message :
+ <step>
+ <para>
+ Click the trash can icon!images/DeleteGadget.png! on the row of the gadget that you
want to delete. It will display an alert message :
+ </para>
<mediaobject>
<imageobject>
<imagedata fileref="images/Delete.png" format="PNG" />
</imageobject>
</mediaobject>
- </para>
- <para>
- 2. Click the <emphasis role="bold">OK</emphasis> button to
accept deleting or <emphasis role="bold">Cancel</emphasis> button to
quit without deleting.
- </para>
- </section>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">OK</emphasis> button to accept
deleting or <emphasis role="bold">Cancel</emphasis> button to quit
without deleting.
+ </para>
+ </step>
+ </procedure>
</section>
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Change_Interface_Language.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Change_Interface_Language.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Change_Interface_Language.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -23,36 +23,67 @@
--><title>Change Interface Language</title>
<para>
- GateIn Portal provides users with the most familiar interface language to work with and
perform all actions efficiently. The priority of the interface language is 1. User's
language 2. Browser's language 3. Portal 's language. Thus to display your prefer
language, you should pay attention to this order to change the language type
appropriately.
+ &PRODUCT; provides users with the most familiar interface language to work with and
perform all actions efficiently. The priority of the interface language is as follows:
</para>
+ <orderedlist numeration="arabic">
+ <listitem>
+ <para>
+ User's language
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Browser's language
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Portal 's language
+ </para>
+ </listitem>
+ </orderedlist>
<para>
+ Thus to display your prefered language, you should pay attention to this order to
change the language type appropriately.
+ </para>
+
+ <para>
You can change the interface language permanently by three ways :
</para>
<section id="sect-User_Guide-Change_Interface_Language-The_1st_way">
- <title>The 1^st^ way</title>
- <para>
- This way supports you to change the interface language of the current Portal.
- </para>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Current portal</emphasis>.
- </para>
- <para>
- 2. Click !images/EditIcon.png! icon to edit portal's properties.
- </para>
- <para>
- 3. In the <emphasis role="bold">Portal Setting</emphasis> tab:
You can change display language of Portal by selecting another language in the
<emphasis role="bold">Locale</emphasis> field.
- </para>
- <para>
- 4. Click <emphasis role="bold">Save</emphasis> and <emphasis
role="bold">Finish</emphasis>!images/FinishIcon.png! icon to take
affect.
- </para>
- <para>
+ <title>Method One</title>
+ <para>
+ This way supports you to change the interface language of the current Portal.
+ </para>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">&PRODUCT; Start</emphasis>
-> <emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Current portal</emphasis>.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click !images/EditIcon.png! icon to edit portal's properties.
+ </para>
+ </step>
+ <step>
+ <para>
+ In the <emphasis role="bold">Portal Setting</emphasis> tab:
You can change display language of Portal by selecting another language in the
<emphasis role="bold">Locale</emphasis> field.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click <emphasis role="bold">Save</emphasis> and <emphasis
role="bold">Finish</emphasis>!images/FinishIcon.png! icon to take
affect.
+ </para>
+ </step>
+ </procedure>
+ <!-- <para>
For Portal 2.6
</para>
<para>
You easily change the interface language of the current Portal by following guides:
</para>
<para>
- 1. Go to <emphasis role="bold">Editor</emphasis> on the Toolbar
--> click <emphasis role="bold">Edit Page</emphasis>. The
<emphasis role="bold">Edit Inline Composer</emphasis> popup will
appear:
+ 1. Go to <emphasis role="bold">Editor</emphasis> on the Toolbar
> click <emphasis role="bold">Edit Page</emphasis>. The
<emphasis role="bold">Edit Inline Composer</emphasis> popup will
appear:
</para>
<mediaobject>
<imageobject>
@@ -67,39 +98,49 @@
</para>
<para>
4. Click <emphasis role="bold">Save</emphasis> and <emphasis
role="bold">Finish</emphasis>!images/DiskIcon.png! icon to take
affect.
- </para>
+ </para> -->
</section>
<section id="sect-User_Guide-Change_Interface_Language-The_2nd_way">
- <title>The 2^nd^ way</title>
- <para>
- If you can access GateIn Start, you can do this way to set interface language for
yourself, not for interface language of Portal by these following steps:
- </para>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Language Settings</emphasis>
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/InterfaceLanguage.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- The <emphasis role="bold">Interface Language Setting</emphasis>
form is displayed with a list of all supported languages. The current using language is
marked by!images/MarkedIcon.png! icon.
- </para>
- <para>
- 2. Select another one by clicking on the name of language.
- </para>
- <para>
- 3. Click the <emphasis role="bold">Apply</emphasis> button and
wait for few seconds to take affect.
- </para>
- <para>
+ <title>Method Two</title>
+ <para>
+ If you can access &PRODUCT; Start, you can do this way to set interface language
for yourself, not for interface language of Portal by these following steps:
+ </para>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">&PRODUCT; Start</emphasis>
-> <emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Language Settings</emphasis>
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/InterfaceLanguage.png"
format="PNG" width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ The <emphasis role="bold">Interface Language
Setting</emphasis> form is displayed with a list of all supported languages. The
current using language is marked by!images/MarkedIcon.png! icon.
+ </para>
+ </step>
+ <step>
+ <para>
+ Select another one by clicking on the name of language.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Apply</emphasis> button and
wait for few seconds to take affect.
+ </para>
+ </step>
+ </procedure>
+ <!--<para>
For Portal 2.6
</para>
<para>
You can set the interface language for yourself by following guides:
</para>
<para>
- 1. Go to GateIn on the Toolbar --> click <emphasis
role="bold">Change Language</emphasis>
+ 1. Go to &PRODUCT; on the Toolbar > click <emphasis
role="bold">Change Language</emphasis>
</para>
<mediaobject>
<imageobject>
@@ -114,83 +155,83 @@
</para>
<para>
3. Click the <emphasis role="bold">Apply</emphasis> button and
wait for few seconds to take affect.
- </para>
+ </para> -->
</section>
<section id="sect-User_Guide-Change_Interface_Language-The_3rd_way">
- <title>The 3^rd^ way</title>
+ <title>Method Three</title>
<para>
You also set interface language for yourself, not for interface language of the Portal
by this way.
</para>
- <para>
- 1. Click <emphasis role="bold">Change Language</emphasis> on the
right corner to show the <emphasis role="bold">Interface Language
Setting</emphasis> form:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Root1.png" format="PNG" />
- </imageobject>
- </mediaobject>
- <para>
- The <emphasis role="bold">Interface Language Setting</emphasis>
form will appear:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/InterfaceLanguage.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- 2. Select another language in list. The selected language will be marked by
!images/MarkedIcon.png! icon.
- </para>
- <para>
- 3. Click the <emphasis role="bold">Apply</emphasis> button to
change the interface language and wait for few seconds to take affect or click the
<emphasis role="bold">Cancel</emphasis> button to quit without
changes.
- </para>
+ <procedure>
+ <step>
+ <para>
+ Click <emphasis role="bold">Change Language</emphasis> on the
right corner to show the <emphasis role="bold">Interface Language
Setting</emphasis> form:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Root1.png" format="PNG" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ The <emphasis role="bold">Interface Language
Setting</emphasis> form will appear:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/InterfaceLanguage.png"
format="PNG" width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Select another language in list. The selected language will be marked by
!images/MarkedIcon.png! icon.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Apply</emphasis> button to
change the interface language and wait for few seconds to take affect or click the
<emphasis role="bold">Cancel</emphasis> button to quit without
changes.
+ </para>
+ </step>
+ </procedure>
</section>
<section
id="sect-User_Guide-Change_Interface_Language-Set_language_for_a_user">
<title>Set language for a user</title>
- <para>
- There are two modes to set displaying language for a user.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis role="bold">Public Mode</emphasis>: Displaying
language of this mode depends on the language of browser that you are using.
- </para>
- </listitem>
- </itemizedlist>
- <itemizedlist>
- <listitem>
- <para>
- If you set language of browser that Portal does not support, the displaying language
will be the language of Portal.
- </para>
- </listitem>
- <listitem>
- <para>
- If you set language of browser that Portal supports, the displaying language will be
the language of browser.
- </para>
- </listitem>
- </itemizedlist>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis role="bold">Private Mode</emphasis>: Displaying
language of this mode belongs to the language of each user which is set when registering.
- </para>
- </listitem>
- </itemizedlist>
- <itemizedlist>
- <listitem>
- <para>
- When you sign in by a default account (root, john, demo, marry): the displaying
language of these users are none, so it will belong to browser's language. If you
change value in the <emphasis role="bold">Language</emphasis> field
in the <emphasis role="bold">User Profile</emphasis> tab (only
default user: root and john can change this value by access 'Management' page: Go
to <emphasis role="bold">Organization</emphasis>-->
<emphasis role="bold">Management</emphasis> page), your displaying
language will be the set value. Your displaying language has also directly affect when you
change language by other ways.
- </para>
- </listitem>
- <listitem>
- <para>
- When you sign in by a new registered user: by default, your displaying language is
English. However, if you set by another language in the <emphasis
role="bold">Language</emphasis> field in the <emphasis
role="bold">User Profile</emphasis> tab when you register a new
account, your displaying language is the set language.
- </para>
- </listitem>
- </itemizedlist>
+ <para>
+ There are two modes to set displaying language for a user.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Public Mode</term>
+ <listitem>
+ <para>
+ Displaying language of this mode depends on the language of browser that you are
using.
+ </para>
+ <para>
+ If you set language of browser that Portal does not support, the displaying
language will be the language of Portal.
+ </para>
+ <para>
+ If you set language of browser that Portal supports, the displaying language will
be the language of browser.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Private Mode</term>
+ <listitem>
+ <para>
+ Displaying language of this mode belongs to the language of each user which is set
when registering.
+ </para>
+ <para>
+ When you sign in by a default account (root, john, demo, marry): the displaying
language of these users are none, so it will belong to browser's language. If you
change value in the <emphasis role="bold">Language</emphasis> field
in the <emphasis role="bold">User Profile</emphasis> tab (only
default user: root and john can change this value by access 'Management' page: Go
to <emphasis role="bold">Organization</emphasis>-->
<emphasis role="bold">Management</emphasis> page), your displaying
language will be the set value. Your displaying language has also directly affect when you
change language by other ways.
+ </para>
+ <para>
+ When you sign in by a new registered user: by default, your displaying language is
English. However, if you set by another language in the <emphasis
role="bold">Language</emphasis> field in the <emphasis
role="bold">User Profile</emphasis> tab when you register a new
account, your displaying language is the set language.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
</section>
</section>
-
-
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Internationalization_Portlet.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Internationalization_Portlet.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Internationalization_Portlet.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -33,62 +33,57 @@
<para>
Each resource supports a language. So, you can define a word or a phrase according to
the supported language.
</para>
+
<section
id="sect-User_Guide-Internationalization_Portlet-Add_a_new_Resource">
<title>Add a new Resource</title>
- <para>
- 1. Select the <emphasis role="bold">New Resource</emphasis>
button in the <emphasis role="bold">Internationalization
Portlet</emphasis> form. The <emphasis role="bold">Resource
Data</emphasis> form will appear:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/ResourceData1.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <informaltable colsep="0" frame="none" rowsep="0">
- <tgroup cols="2">
- <colspec align="center"></colspec>
- <colspec align="center"></colspec>
- <tbody>
- <row>
- <entry>
- <emphasis role="bold"> Name </emphasis>
- </entry>
- <entry>
- <emphasis role="bold"> Description </emphasis>
- </entry>
- </row>
- <row>
- <entry>
- Name
- </entry>
- <entry>
- The name of Resource. This field is required.
- </entry>
- </row>
- <row>
- <entry>
- Language
- </entry>
- <entry>
+ <procedure>
+ <step>
+ <para>
+ Select the <emphasis role="bold">New Resource</emphasis>
button in the <emphasis role="bold">Internationalization
Portlet</emphasis> form. The <emphasis role="bold">Resource
Data</emphasis> form will appear:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ResourceData1.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ <variablelist>
+ <varlistentry>
+ <term>Name</term>
+ <listitem>
+ <para>
+ The name of Resource. This field is required.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Language</term>
+ <listitem>
+ <para>
The language that this resource 'll support. This field is required.
- </entry>
- </row>
- <row>
- <entry>
- Resource
- </entry>
- <entry>
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Resource</term>
+ <listitem>
+ <para>
The word or the phrase which you want to define.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <para>
- 2. Enter values into required fields.
- </para>
- <para>
- 3. Click the <emphasis role="bold">Save</emphasis> button to
accept adding a new resource or the <emphasis
role="bold">Cancel</emphasis> button to quit.
- </para>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </step>
+ <step>
+ <para>
+ Enter values into required fields.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Save</emphasis> button to
accept adding a new resource or the <emphasis
role="bold">Cancel</emphasis> button to quit.
+ </para>
+ </step>
+ </procedure>
</section>
<section
id="sect-User_Guide-Internationalization_Portlet-View_and_Edit_a_Resource">
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Multi-Language_Navigation_Nodes.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Multi-Language_Navigation_Nodes.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Multi-Language_Navigation_Nodes.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -25,7 +25,7 @@
<section id="sect-User_Guide-Multi_Language_Navigation_Nodes-Overview">
<title>Overview</title>
<para>
- Exo Portal supports a multi-language environment for your portal. You can
internationalize any menu entry on the navigation. As the navigation bar is composed by
nodes so you have to modify the display names of the nodes. Instead of entering the
display name in English you have to use a so called resource key. This resource key is
used to define the label that is shown on the navigation bar, the menu, and the
breadcrumb.
+ &PRODUCT; supports a multi-language environment for your portal. You can
internationalize any menu entry on the navigation. As the navigation bar is composed by
nodes so you have to modify the display names of the nodes. Instead of entering the
display name in English you have to use a so called resource key. This resource key is
used to define the label that is shown on the navigation bar, the menu, and the
breadcrumb.
</para>
</section>
@@ -42,8 +42,26 @@
<section
id="sect-User_Guide-Multi_Language_Navigation_Nodes-Creating_Keys">
<title>Creating Keys</title>
<para>
- There are three ways to create a key for a node: using the <emphasis
role="bold">Create Page Wizard</emphasis> or using the <emphasis
role="bold">Edit Page Wizard</emphasis> or the <emphasis
role="bold">Edit Page and Navigation</emphasis> dialog.
+ There are three ways to create a key for a node:
</para>
+ <orderedlist numeration="arabic">
+ <listitem>
+ <para>
+ <xref
linkend="sect-User_Guide-Multi_Language_Navigation_Nodes-Creating_Keys_using_the_Create_Page_Wizard"/>;
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref
linkend="sect-User_Guide-Multi_Language_Navigation_Nodes-CreatingEditing_Keys_by_Edit_Page_Wizard"/>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref
linkend="sect-User_Guide-Multi_Language_Navigation_Nodes-CreatingEditing_Keys_using_the_Edit_Page_and_Navigation"/>
+ </para>
+ </listitem>
+ </orderedlist>
+
</section>
<section
id="sect-User_Guide-Multi_Language_Navigation_Nodes-Creating_Keys_using_the_Create_Page_Wizard">
@@ -54,27 +72,27 @@
<procedure>
<step>
<para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis>
-> <emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Basic</emphasis> --> <emphasis
role="bold">Create Page Wizard</emphasis>
+ Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Basic</emphasis> --> <emphasis
role="bold">Create Page Wizard</emphasis>
</para>
</step>
<step>
<para>
- 2. Click <emphasis role="bold">Next</emphasis> to move to step
1
+ Click <emphasis role="bold">Next</emphasis> to move to step 1
</para>
</step>
<step>
<para>
- 3. At step 1, continue as usual, but enter a resource key in the <emphasis
role="bold">Display Name</emphasis> field.
+ At step 1, continue as usual, but enter a resource key in the <emphasis
role="bold">Display Name</emphasis> field.
+ </para>
<mediaobject>
<imageobject>
<imagedata fileref="images/PageWizard.png" format="PNG"
width="444" />
</imageobject>
</mediaobject>
- </para>
</step>
<step>
<para>
- 4. Click on the <emphasis role="bold">Next</emphasis> button
and continue and click on the <emphasis role="bold">Save</emphasis>
button. For example, create a key named "AAA".
+ Click on the <emphasis role="bold">Next</emphasis> button and
continue and click on the <emphasis role="bold">Save</emphasis>
button. For example, create a key named "AAA".
</para>
</step>
</procedure>
@@ -83,207 +101,229 @@
<section
id="sect-User_Guide-Multi_Language_Navigation_Nodes-CreatingEditing_Keys_by_Edit_Page_Wizard">
<title>Creating/Editing Keys by *Edit Page Wizard*</title>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Basic</emphasis> --> <emphasis
role="bold">Edit Page Wizard</emphasis>
- </para>
- <para>
- 2. Click on the <emphasis role="bold">Next</emphasis> button to
move to step 1
- </para>
- <para>
- 3. At step 1, continue as usual, but enter a resource key in the <emphasis
role="bold">Display Name</emphasis> field.
- </para>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Basic</emphasis> --> <emphasis
role="bold">Edit Page Wizard</emphasis>
+ </para>
+ </step>
+ <step>
+ <para>
+ Click on the <emphasis role="bold">Next</emphasis> button to
move to step 1
+ </para>
+ </step>
+ <step>
+ <para>
+ At step 1, continue as usual, but enter a resource key in the <emphasis
role="bold">Display Name</emphasis> field.
+ </para>
+ </step>
+ </procedure>
</section>
<section
id="sect-User_Guide-Multi_Language_Navigation_Nodes-CreatingEditing_Keys_using_the_Edit_Page_and_Navigation">
<title>Creating/Editing Keys using the *Edit Page and Navigation*</title>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>.
- </para>
- <para>
- 2. There are two alternatives:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Create a new node: Select the parent path, right click and click on <emphasis
role="bold">Add new node</emphasis> option .
- </para>
- </listitem>
- <listitem>
- <para>
- Edit an existing node: Right click on the node you want to create/edit key and click
on <emphasis role="bold">Edit this node</emphasis> in the pop-up
menu.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- 3. A Create/Edit node dialog appears, enter a resource key in the <emphasis
role="bold">Label</emphasis> field
- </para>
- <para>
- +Note:+ You can reuse the same resource key in several nodes.
- </para>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>.
+ </para>
+ </step>
+ <step>
+ <para>
+ There are two alternatives:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Create a new node: Select the parent path, right click and click on <emphasis
role="bold">Add new node</emphasis> option .
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Edit an existing node: Right click on the node you want to create/edit key and
click on <emphasis role="bold">Edit this node</emphasis> in the
pop-up menu.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </step>
+ <step>
+ <para>
+ A Create/Edit node dialog appears, enter a resource key in the <emphasis
role="bold">Label</emphasis> field
+ </para>
+ </step>
+ </procedure>
+ <note>
+ <para>
+ You can reuse the same resource key in several nodes.
+ </para>
+ </note>
</section>
<section
id="sect-User_Guide-Multi_Language_Navigation_Nodes-Internationalize_Resource_Keys">
<title>Internationalize Resource Keys</title>
<para>
- Exo Portal organizes resource keys in resource files. Each file contains a list of
keys and their meanings (translations) in one specific language. Normally one resource
file has one language supported by Portal. This helps to structure the resource keys. Each
resource file has a name and a language attribute. One resource file only can contain
translations for one single language.
+ &PRODUCT; organizes resource keys in resource files. Each file contains a list of
keys and their meanings (translations) in one specific language. Normally one resource
file has one language supported by Portal. This helps to structure the resource keys. Each
resource file has a name and a language attribute. One resource file only can contain
translations for one single language.
</para>
+
<para>
- Do as follows: 1. Go to <emphasis role="bold">GateIn
Start</emphasis> -> <emphasis role="bold">Page
Navigation</emphasis> -> <emphasis
role="bold">Administration</emphasis> --> <emphasis
role="bold">Internationalization</emphasis>
+ To utilize Internationalization features do the following:
</para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Internal2.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- 2. Select a data resource that you want to internationalize. You also may search the
desired resource name with a specific language:
- </para>
- <itemizedlist>
- <listitem>
+ <procedure>
+ <step>
<para>
- Enter a resource name in the <emphasis
role="bold">Name</emphasis> field in the <emphasis
role="bold">Search Resource</emphasis> form
+ Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Page Navigation</emphasis> ->
<emphasis role="bold">Administration</emphasis> -->
<emphasis role="bold">Internationalization</emphasis>
</para>
- </listitem>
- <listitem>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Internal2.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
<para>
- Select a corresponding language of the resource.
+ Select a data resource that you want to internationalize. You also may search the
desired resource name with a specific language:
</para>
- </listitem>
- <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Enter a resource name in the <emphasis
role="bold">Name</emphasis> field in the <emphasis
role="bold">Search Resource</emphasis> form
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Select a corresponding language of the resource.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Click on the <emphasis role="bold">Search</emphasis> button
to match all data resource and display the result on the table above.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ If you want to define a key for a node which belongs to a specific portal, search
for a resource like:locale.navigation.portal.portal name]
+ </para>
+ </listitem>
+ </itemizedlist>
<para>
- Click on the <emphasis role="bold">Search</emphasis> button to
match all data resource and display the result on the table above.
+ +Example:+ if you want to define a key of a node of portal "classic" in
language French, search resource: locale.navigation.portal.classic with value in the
<emphasis role="bold">Language</emphasis> field is "fr"
</para>
- </listitem>
- <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ If you want to define a key for the node that belongs to a specific group, search
resource like: locale.navigation.group.group path]
+ </para>
+ </listitem>
+ </itemizedlist>
<para>
- If you want to define a key for a node which belongs to a specific portal, search
for a resource like:locale.navigation.portal.portal name]
+ +Example:+ if you want to define a key for a node on navigation of
"administrators" group that is the sub one of the "platform" group in
language French, search resource: locale.navigation.group.platform.administrators with the
value in the <emphasis role="bold">Language</emphasis> field is
"fr"
</para>
- </listitem>
- </itemizedlist>
- <para>
- +Example:+ if you want to define a key of a node of portal "classic" in
language French, search resource: locale.navigation.portal.classic with value in the
<emphasis role="bold">Language</emphasis> field is "fr"
- </para>
- <itemizedlist>
- <listitem>
+ </step>
+ <step>
<para>
- If you want to define a key for the node that belongs to a specific group, search
resource like: locale.navigation.group.group path]
+ Click the magnifying glass!images/MagnifyIcon.png! icon corresponding to a data
resource to see details of the resource file. Click the <emphasis
role="bold">Edit</emphasis> button in order to modify the content.
</para>
- </listitem>
- </itemizedlist>
- <para>
- +Example:+ if you want to define a key for a node on navigation of
"administrators" group that is the sub one of the "platform" group in
language French, search resource: locale.navigation.group.platform.administrators with the
value in the <emphasis role="bold">Language</emphasis> field is
"fr"
- </para>
- <para>
- 3. Click the magnifying glass!images/MagnifyIcon.png! icon corresponding to a data
resource to see details of the resource file. Click the <emphasis
role="bold">Edit</emphasis> button in order to modify the content.
- </para>
- <para>
- 4. Enter the resource key with the string that will be displayed as node name on the
navigation bar .
- </para>
- <para>
- 5. Click on the <emphasis role="bold">Save</emphasis> button.
- </para>
+ </step>
+ <step>
+ <para>
+ Enter the resource key with the string that will be displayed as node name on the
navigation bar .
+ </para>
+ </step>
+ <step>
+ <para>
+ Click on the <emphasis role="bold">Save</emphasis> button.
+ </para>
+ </step>
+ </procedure>
</section>
-
+
<section id="sect-User_Guide-Multi_Language_Navigation_Nodes-Example">
- <title>Example</title>
- <itemizedlist>
- <listitem>
+ <title>Walk-through</title>
+ <procedure>
+ <para>
+ Below is a graphical walk-through illustrating how to change the language of a
resource. In this case the current language is English and will be changed to French.
+ </para>
+ <step>
<para>
- The current language is English
- </para>
- </listitem>
- <listitem>
- <para>
Go to <emphasis role="bold">Create Page Wizard</emphasis>, at
step 1, select navigation and enter values like in the figure below:
</para>
- </listitem>
- </itemizedlist>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/PageWizard.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <itemizedlist>
- <listitem>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/PageWizard.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
<para>
Click <emphasis role="bold">Next</emphasis>, at step 2 and 3,
set layout for page Test button.
</para>
- </listitem>
- <listitem>
+ </step>
+ <step>
<para>
After creating page with that key, the node on the navigation bar will be displayed
with name #{AAA}
</para>
- </listitem>
- </itemizedlist>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/AAANavi.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <itemizedlist>
- <listitem>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/AAANavi.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
<para>
And now you have to define what to display instead of displaying the key. Go to
<emphasis role="bold">GateIn Start</emphasis> -> <emphasis
role="bold">Page Navigation</emphasis> -> <emphasis
role="bold">Administration</emphasis> --> <emphasis
role="bold">Internationalization</emphasis>.
</para>
- </listitem>
- <listitem>
+ </step>
+ <step>
<para>
Search resource locale.navigation.portal.classic with language French (fr)
</para>
- </listitem>
- </itemizedlist>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Search.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <itemizedlist>
- <listitem>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Search.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
<para>
Click the magnifying icon!images/MagnifyIcon.png! to see the content.
</para>
- </listitem>
- </itemizedlist>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/ResourceData1.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <itemizedlist>
- <listitem>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ResourceData1.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
<para>
Click on the <emphasis role="bold">Edit</emphasis> button to
modify. In the <emphasis role="bold">Resource</emphasis> field,
enter the key and assign the string to display.
</para>
- </listitem>
- </itemizedlist>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/AfterEdit1.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <itemizedlist>
- <listitem>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/AfterEdit1.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
<para>
Click on the <emphasis role="bold">Save</emphasis> button.
</para>
- </listitem>
- <listitem>
+ </step>
+ <step>
<para>
Go to GateIn <emphasis role="bold">Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Language Settings</emphasis>: select French
--> Apply.
</para>
- </listitem>
- <listitem>
+ </step>
+ <step>
<para>
The French translation of your new resource key appears on the menu.
</para>
- </listitem>
- </itemizedlist>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Nouvel.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- </section>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Nouvel.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ </procedure>
+ </section>
</section>
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Right_To_Left_Support_(RTL).xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Right_To_Left_Support_(RTL).xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/language/Right_To_Left_Support_(RTL).xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -33,50 +33,58 @@
<imagedata fileref="images/HomePage2.png" format="PNG"
width="444" />
</imageobject>
</mediaobject>
- <section
id="sect-User_Guide-RTL_Support_Right_To_Left-The_Account_Portlet">
+ <formalpara>
<title>The Account Portlet</title>
+ <para>
<mediaobject>
<imageobject>
<imagedata fileref="images/NewAccount3.png" format="PNG"
width="444" />
</imageobject>
</mediaobject>
- </section>
+ </para>
+ </formalpara>
- <section
id="sect-User_Guide-RTL_Support_Right_To_Left-The_Application_Registry_Portlet">
+ <formalpara>
<title>The Application Registry Portlet</title>
+ <para>
<mediaobject>
<imageobject>
<imagedata fileref="images/ApplicationRegistry2.png"
format="PNG" width="444" />
</imageobject>
</mediaobject>
- </section>
+ </para>
+ </formalpara>
- <section
id="sect-User_Guide-RTL_Support_Right_To_Left-The_Internationalization_Portlet">
+ <formalpara>
<title>The Internationalization Portlet:</title>
+ <para>
<mediaobject>
<imageobject>
<imagedata fileref="images/In3.png" format="PNG" />
</imageobject>
</mediaobject>
- </section>
+ </para>
+ </formalpara>
- <section
id="sect-User_Guide-RTL_Support_Right_To_Left-The_Organization_Portlet">
+ <formalpara>
<title>The Organization Portlet:</title>
+ <para>
<mediaobject>
<imageobject>
<imagedata fileref="images/Organization5.png" format="PNG"
width="444" />
</imageobject>
</mediaobject>
- </section>
+ </para>
+ </formalpara>
- <section
id="sect-User_Guide-RTL_Support_Right_To_Left-The_User_Workspace">
+<!-- Deprecated <section
id="sect-User_Guide-RTL_Support_Right_To_Left-The_User_Workspace">
<title>The User Workspace</title>
<mediaobject>
<imageobject>
<imagedata fileref="images/UserWorkspace2.png" format="PNG"
width="444" />
</imageobject>
</mediaobject>
- </section>
+ </section> -->
</section>
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Change_Node_Order.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Change_Node_Order.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Change_Node_Order.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -22,31 +22,41 @@
02110-1301 USA, or see the FSF site:
http://www.fsf.org.
--><title>Change Node Order</title>
- <para>
- You can easily change the position of node on the navigation bar on their own
convenient order by following these steps:
- </para>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>.
- </para>
- <para>
- 2. Select a navigation from the navigation list.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Navigation.png" format="PNG" />
- </imageobject>
- </mediaobject>
- <para>
- 3. Select the node that you want to move. Right click on the selected node and then
click on <emphasis role="bold">Move up</emphasis> or <emphasis
role="bold">Move down</emphasis>
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/MoveUpDown.png" format="PNG" />
- </imageobject>
- </mediaobject>
- <para>
- The selected node will be moved up/down.
- </para>
+ <para>
+ You can easily change the position of node on the navigation bar on their own
convenient order by following these steps:
+ </para>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>.
+ </para>
+ </step>
+ <step>
+ <para>
+ Select a navigation from the navigation list.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Navigation.png" format="PNG"
/>
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Select the node that you want to move. Right click on the selected node and then
click on <emphasis role="bold">Move up</emphasis> or <emphasis
role="bold">Move down</emphasis>
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/MoveUpDown.png" format="PNG"
/>
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ The selected node will be moved up/down.
+ </para>
+ </step>
+ </procedure>
</section>
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Change_Portal_Skins.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Change_Portal_Skins.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Change_Portal_Skins.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -28,18 +28,6 @@
<para>
skin switch that takes only effect on the user's current session until he signs
out. You can change the skin permanently or temporarily.
</para>
- <itemizedlist>
- <listitem>
- <para>
- <xref
linkend="User_Guide-Change_Portal_Skins-Change_the_skin_temporarily"/>
- </para>
- </listitem>
- <listitem>
- <para>
- <xref
linkend="User_Guide-Change_Portal_Skins-Change_the_skin_permanently"/>
- </para>
- </listitem>
- </itemizedlist>
<variablelist>
<varlistentry
id="User_Guide-Change_Portal_Skins-Change_the_skin_temporarily">
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Create_a_New_Portal.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Create_a_New_Portal.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Create_a_New_Portal.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -25,84 +25,82 @@
<para>
Creating a new portal requires you to have a special permission that only an
administrator can give you. You need follow these guides to create a new portal.
</para>
+ <procedure>
+ <step>
+ <para>
+ Click on <emphasis role="bold">Site</emphasis> in the toolbar.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Add New Portal</emphasis>
button. By default, the <emphasis role="bold">Create New
Portal</emphasis> form is shown with the <emphasis
role="bold">Portal Templates</emphasis> tab.
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/PortalTemplate2.6.png"
format="PNG" width="444" />
+ </imageobject>
+ </mediaobject>
+ </para>
+ <para>
+ By default, Portal template is Classic. Select the <emphasis
role="bold">Portal Setting</emphasis> tab.
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/PortalSetting2.5.png"
format="PNG" width="444" />
+ </imageobject>
+ </mediaobject>
+ </para>
+ </step>
+ <step>
+ <para>
+ Enter a value for the <emphasis role="bold">Portal
Name</emphasis> field. This field is required and must be unique. Only alpha, digit
and underscore characters are allowed for this field and it must have at least 3
characters.
+ </para>
+ </step>
+ <step>
+ <para>
+ Select a display language for the portal by selecting a language from the list.
+ </para>
+ </step>
+ <step>
+ <para>
+ Select a skin for a portal by selecting one from the skin list.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click on the <emphasis role="bold">Properties</emphasis> tab to
fill in the <emphasis role="bold">Keep session alive</emphasis>
property. Keeping the working session for a long time to avoid a time out. There are 3
options:
+ <itemizedlist>
+ <listitem>
+ <para>
+ never : it never happens even if an application requests it
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ on-demand : it starts to be used as soon as an application requests it
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ always : it's always enabled (which has a cost but the administrator will be
aware of that)
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </step>
+ <step>
+ <para>
+ Click on the <emphasis role="bold">Permission
Setting</emphasis> tab and set the permissions for the Portal.
+ </para>
+ <para>
+ By default the access permissions list for the portal is empty. You have to select at
least one or tick on the <emphasis role="bold">Make it
public</emphasis> check box to assign access permission to everyone.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click on <emphasis role="bold">Save</emphasis> to accept
creating a new portal.
+ </para>
+ </step>
+ </procedure>
<para>
- <orderedlist>
- <listitem>
- <para>
- Click on <emphasis role="bold">Site</emphasis> in the
toolbar.
- </para>
- </listitem>
- <listitem>
- <para>
- Click the <emphasis role="bold">Add New Portal</emphasis>
button. By default, the <emphasis role="bold">Create New
Portal</emphasis> form is shown with the <emphasis
role="bold">Portal Templates</emphasis> tab.
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/PortalTemplate2.6.png"
format="PNG" width="444" />
- </imageobject>
- </mediaobject>
- </para>
- <para>
- By default, Portal template is Classic. Select the <emphasis
role="bold">Portal Setting</emphasis> tab.
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/PortalSetting2.5.png"
format="PNG" width="444" />
- </imageobject>
- </mediaobject>
- </para>
- </listitem>
- <listitem>
- <para>
- Enter a value for the <emphasis role="bold">Portal
Name</emphasis> field. This field is required and must be unique. Only alpha, digit
and underscore characters are allowed for this field and it must have at least 3
characters.
- </para>
- </listitem>
- <listitem>
- <para>
- Select a display language for the portal by selecting a language from the list.
- </para>
- </listitem>
- <listitem>
- <para>
- Select a skin for a portal by selecting one from the skin list.
- </para>
- </listitem>
- <listitem>
- <para>
- Click on the <emphasis role="bold">Properties</emphasis> tab
to fill in the <emphasis role="bold">Keep session alive</emphasis>
property. Keeping the working session for a long time to avoid a time out. There are 3
options:
- <itemizedlist>
- <listitem>
- <para>
- never : it never happens even if an application requests it
- </para>
- </listitem>
- <listitem>
- <para>
- on-demand : it starts to be used as soon as an application requests it
- </para>
- </listitem>
- <listitem>
- <para>
- always : it's always enabled (which has a cost but the administrator will be
aware of that)
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- <listitem>
- <para>
- Click on the <emphasis role="bold">Permission
Setting</emphasis> tab and set the permissions for the Portal.
- </para>
- <para>
- By default the access permissions list for the portal is empty. You have to select
at least one or tick on the <emphasis role="bold">Make it
public</emphasis> check box to assign access permission to everyone.
- </para>
- </listitem>
- <listitem>
- <para>
- Click on <emphasis role="bold">Save</emphasis> to accept
creating a new portal.
- </para>
- </listitem>
- </orderedlist>
- </para>
- <para>
You also can edit or delete a portal, see more details on <xref
linkend="sect-User_Guide-Manage_Portals" />
</para>
</section>
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Drag_and_Drop_the_Page_Body.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Drag_and_Drop_the_Page_Body.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Drag_and_Drop_the_Page_Body.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -25,22 +25,28 @@
<para>
You can easily drag and drop page body to the specific place where you want to in the
page by following guides:
</para>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Current portal</emphasis>. It will display :
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/DragPage1.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- 2. Click on the <emphasis role="bold">Portal Page</emphasis>,
drag and drop to another reasonable places which you want to in this page.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/DragPage3.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Current portal</emphasis>. It will display :
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/DragPage1.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Click on the <emphasis role="bold">Portal Page</emphasis>,
drag and drop to another reasonable places which you want to in this page.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/DragPage3.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ </procedure>
</section>
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Navigation_Nodes.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Navigation_Nodes.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Navigation_Nodes.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -22,394 +22,419 @@
02110-1301 USA, or see the FSF site:
http://www.fsf.org.
--><title>Manage Navigation Nodes</title>
- <section id="sect-User_Guide-Manage_Navigation_Nodes-Overview">
- <title>Overview</title>
<para>
If you are allowed to access GateIn Start in the User Workspace, you can take all
actions related to a node such as : add a new node, edit, copy, cut, delete and clone
node.
</para>
- </section>
-
- <section id="sect-User_Guide-Manage_Navigation_Nodes-Add_a_new_node">
- <title>Add a new node</title>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>
- </para>
- <para>
- 2. Select a navigation from the navigation list.
- </para>
- <para>
- 3. Select a node from list (to create a new node like sub-node of the selected node)
or click the icon!images/UpIcon.png! to create a new node on root
- </para>
- <para>
- 4. Right-click on the selected navigation or node and select <emphasis
role="bold">Add new Node</emphasis> option. Add new node form appears:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/AddNode4.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- The <emphasis role="bold">Page Node Setting</emphasis> tab
includes:
- </para>
- <informaltable colsep="0" frame="none" rowsep="0">
- <tgroup cols="2">
- <colspec align="center"></colspec>
- <colspec align="center"></colspec>
- <tbody>
- <row>
- <entry>
- <emphasis role="bold"> Name </emphasis>
- </entry>
- <entry>
- <emphasis role="bold"> Description </emphasis>
- </entry>
- </row>
- <row>
- <entry>
- Uri
- </entry>
- <entry>
- An identification of the node. The Uri is automatically created after adding a new
node
- </entry>
- </row>
- <row>
- <entry>
- Node name
- </entry>
- <entry>
- The name of the node. This field is required and must be unique. Only alpha, digit
and underscore characters are allowed for this field and it must have at least 3
characters.
- </entry>
- </row>
- <row>
- <entry>
- Label
- </entry>
- <entry>
- The display name of the node on the screen. This field is not required and may be
changed. This field must have a length between 3 and 120 characters.
- </entry>
- </row>
- <row>
- <entry>
- Visible
- </entry>
- <entry>
- This check box allow to hide (and show) the page and its node at the navigation
bar, the page navigation and the site map
- </entry>
- </row>
- <row>
- <entry>
- Publication date & time
- </entry>
- <entry>
- This option allows publishing this node for a period of time. *Start Publication
Date* and *End Publication Date* only appear when this option is selected.
- </entry>
- </row>
- <row>
- <entry>
- Start Publication Date
- </entry>
- <entry>
- The start date and time to publish the node.
- </entry>
- </row>
- <row>
- <entry>
- End Publication Date
- </entry>
- <entry>
- The end date and time to publish the node.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <para>
- In the <emphasis role="bold">Page Selector</emphasis> tab, you
can select a page or not for this node.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/PageSelector.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <informaltable colsep="0" frame="none" rowsep="0">
- <tgroup cols="2">
- <colspec align="center"></colspec>
- <colspec align="center"></colspec>
- <tbody>
- <row>
- <entry>
- <emphasis role="bold"> Name </emphasis>
- </entry>
- <entry>
- <emphasis role="bold"> Description </emphasis>
- </entry>
- </row>
- <row>
- <entry>
- Page Id
- </entry>
- <entry>
- The identification string of the page.
- </entry>
- </row>
- <row>
- <entry>
- Name
- </entry>
- <entry>
- The selected page's name.
- </entry>
- </row>
- <row>
- <entry>
- Title
- </entry>
- <entry>
- The selected page's title.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <para>
- You do not have to input values in these fields. It is automatically displayed after
selecting an existing page by clicking the <emphasis role="bold">Search
and Select Page</emphasis> button. The <emphasis role="bold">Select
a page</emphasis> form appears like:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/SelectPage1.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <orderedlist numeration="arabic">
- <listitem>
+
+ <section id="sect-User_Guide-Manage_Navigation_Nodes-Add_a_new_node">
+ <title>Add a new node</title>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">GateIn Start</emphasis>
-> <emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>
+ </para>
+ </step>
+ <step>
+ <para>
+ Select a navigation from the navigation list.
+ </para>
+ </step>
+ <step>
+ <para>
+ Select a node from list (to create a new node like sub-node of the selected node)
or click the icon!images/UpIcon.png! to create a new node on root
+ </para>
+ </step>
+ <step>
+ <para>
+ Right-click on the selected navigation or node and select <emphasis
role="bold">Add new Node</emphasis> option. Add new node form appears:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/AddNode4.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ <para>
+ The <emphasis role="bold">Page Node Setting</emphasis> tab
includes:
+ </para>
+ <informaltable colsep="0" frame="none"
rowsep="0">
+ <tgroup cols="2">
+ <colspec align="center"></colspec>
+ <colspec align="center"></colspec>
+ <tbody>
+ <row>
+ <entry>
+ <emphasis role="bold"> Name </emphasis>
+ </entry>
+ <entry>
+ <emphasis role="bold"> Description </emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Uri
+ </entry>
+ <entry>
+ An identification of the node. The Uri is automatically created after adding a
new node
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Node name
+ </entry>
+ <entry>
+ The name of the node. This field is required and must be unique. Only alpha,
digit and underscore characters are allowed for this field and it must have at least 3
characters.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Label
+ </entry>
+ <entry>
+ The display name of the node on the screen. This field is not required and may
be changed. This field must have a length between 3 and 120 characters.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Visible
+ </entry>
+ <entry>
+ This check box allow to hide (and show) the page and its node at the navigation
bar, the page navigation and the site map
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Publication date & time
+ </entry>
+ <entry>
+ This option allows publishing this node for a period of time. *Start
Publication Date* and *End Publication Date* only appear when this option is selected.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Start Publication Date
+ </entry>
+ <entry>
+ The start date and time to publish the node.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ End Publication Date
+ </entry>
+ <entry>
+ The end date and time to publish the node.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ <para>
+ In the <emphasis role="bold">Page Selector</emphasis> tab,
you can select a page or not for this node.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/PageSelector.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ <informaltable colsep="0" frame="none"
rowsep="0">
+ <tgroup cols="2">
+ <colspec align="center"></colspec>
+ <colspec align="center"></colspec>
+ <tbody>
+ <row>
+ <entry>
+ <emphasis role="bold"> Name </emphasis>
+ </entry>
+ <entry>
+ <emphasis role="bold"> Description </emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Page Id
+ </entry>
+ <entry>
+ The identification string of the page.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Name
+ </entry>
+ <entry>
+ The selected page's name.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Title
+ </entry>
+ <entry>
+ The selected page's title.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
<para>
- list of all existing pages is displayed with basic information. You can follow these
guides to select a page for creating a node:
+ You do not have to input values in these fields. It is automatically displayed after
selecting an existing page by clicking the <emphasis role="bold">Search
and Select Page</emphasis> button. The <emphasis role="bold">Select
a page</emphasis> form appears like:
</para>
- </listitem>
- <listitem>
- <para>
- Select a page from list or search a specific page :
- </para>
- </listitem>
- </orderedlist>
- <itemizedlist>
- <listitem>
- <para>
- Enter a search term related to the page which you want to search:
- </para>
- </listitem>
- </itemizedlist>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/NewSearch1.png" format="PNG" />
- </imageobject>
- </mediaobject>
- <itemizedlist>
- <listitem>
- <para>
- Choose the field you wish to search in:
- </para>
- </listitem>
- </itemizedlist>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/NewSearch2.png" format="PNG" />
- </imageobject>
- </mediaobject>
- <itemizedlist>
- <listitem>
- <para>
- Click the magnifying glass!images/NewGlassIcon.png! icon to perform searching. All
pages matching with search term will be listed.
- </para>
- </listitem>
- <listitem>
- <para>
- Click the OK!images/NewOkIcon.png! icon on the row of the page to select.
- </para>
- </listitem>
- <listitem>
- <para>
- After selecting a page, the details of this page will be displayed in the
<emphasis role="bold">Page Selector</emphasis> form.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- After configuring the page node settings, the page selector and the node's icon,
click the <emphasis role="bold">Save</emphasis> button to accept or
the <emphasis role="bold">Cancel</emphasis> button to quit without
creating a new node.
- </para>
- </section>
-
- <section id="sect-User_Guide-Manage_Navigation_Nodes-Edit_a_node">
- <title>Edit a node</title>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>
- </para>
- <para>
- 2. Select a navigation from the navigation list.
- </para>
- <para>
- 3. Right-click on the selected node and select <emphasis
role="bold">Edit this Node</emphasis> option.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/EditNode1.png" format="PNG" />
- </imageobject>
- </mediaobject>
- <para>
- It will displays a form to edit this node:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/PageNodeSetting.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- In the <emphasis role="bold">Page Node Setting</emphasis> tab:
you can change the value of these fields: Label, Visible and Publication Date &
time. After finish changing, click the <emphasis
role="bold">Save</emphasis> button to accept changing or <emphasis
role="bold">Cancel</emphasis> button to refuse it.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/PageSelector6.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- In the <emphasis role="bold">Page Selector</emphasis> tab : you
also search and select another page for this node by clicking the <emphasis
role="bold">Search and Select Page</emphasis> button. You can see more
details on how to select a page for a node on the above <emphasis
role="bold">Add a new node</emphasis> section. After finish changing
another page for this node, click the <emphasis
role="bold">Save</emphasis> button to accept changing or <emphasis
role="bold">Cancel</emphasis> button to leave without saving any
changes.
- </para>
- </section>
-
- <section id="sect-User_Guide-Manage_Navigation_Nodes-Copy_a_node">
- <title>Copy a node</title>
- <para>
- You also easily copy a node by following these steps:
- </para>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>
- </para>
- <para>
- 2. Select a navigation from the navigation list.
- </para>
- <para>
- 3. Right-click on the selected node and select <emphasis
role="bold">Copy node</emphasis> option.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/CopyNode3.png" format="PNG" />
- </imageobject>
- </mediaobject>
- <para>
- 4. Select the position that you want to paste this node and select <emphasis
role="bold">Paste Node</emphasis> option. Click
the!images/MarkIcon.png! icon to <emphasis
role="bold">Save</emphasis>.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/PasteNode3.png" format="PNG" />
- </imageobject>
- </mediaobject>
- </section>
-
- <section id="sect-User_Guide-Manage_Navigation_Nodes-Clone_nodes">
- <title>Clone nodes</title>
- <para>
- Clone node<emphasis role="bold">function allows you to copy the node.
However, the differences between</emphasis>copy node<emphasis
role="bold">and</emphasis>clone node<emphasis
role="bold">is that the clone node has its own page and this page has the
same content as the selected node, so there will be a new page that has the same name with
the selected node's page, is shown in the page list when you
access</emphasis>Manage Pages.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis>
-> <emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>
- </para>
- </listitem>
- <listitem>
- <para>
- 2. Select a navigation from the navigation list.
- </para>
- </listitem>
- <listitem>
- <para>
- 3. Right-click on selected node and select <emphasis
role="bold">Clone node</emphasis> option.
- </para>
<mediaobject>
<imageobject>
- <imagedata fileref="images/CloneNode2.png" format="PNG"
/>
+ <imagedata fileref="images/SelectPage1.png" format="PNG"
width="444" />
</imageobject>
</mediaobject>
- </listitem>
- <listitem>
+ <para>
+ This window lists of all existing pages is displayed with basic information. You
can follow these guides to select a page for creating a node:
+ </para>
+ <para>
+ Select a page from list or search a specific page :
+ </para>
+ <procedure
id="proc-User_Guide-Manage_Navigation_Nodes-Search_for_a_page">
+ <step>
+ <para>
+ Enter a search term related to the page which you want to search:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/NewSearch1.png" format="PNG"
/>
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Choose the field you wish to search in:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/NewSearch2.png" format="PNG"
/>
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Click the magnifying glass!images/NewGlassIcon.png! icon to perform searching.
All pages matching with search term will be listed.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the OK!images/NewOkIcon.png! icon on the row of the page to select.
+ </para>
+ </step>
+ <step>
+ <para>
+ After selecting a page, the details of this page will be displayed in the
<emphasis role="bold">Page Selector</emphasis> form.
+ </para>
+ </step>
+ </procedure>
+ <para>
+ After configuring the page node settings, the page selector and the node's
icon, click the <emphasis role="bold">Save</emphasis> button to
accept or the <emphasis role="bold">Cancel</emphasis> button to quit
without creating a new node.
+ </para>
+ </step>
+ </procedure>
+ </section>
+
+ <section id="sect-User_Guide-Manage_Navigation_Nodes-Edit_a_node">
+ <title>Edit a node</title>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">GateIn Start</emphasis>
-> <emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>
+ </para>
+ </step>
+ <step>
+ <para>
+ Select a navigation from the navigation list.
+ </para>
+ </step>
+ <step>
+ <para>
+ Right-click on the selected node and select <emphasis
role="bold">Edit this Node</emphasis> option.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/EditNode1.png" format="PNG"
/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ It will displays a form to edit this node:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/PageNodeSetting.png"
format="PNG" width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ In the <emphasis role="bold">Page Node Setting</emphasis>
tab: you can change the value of these fields: Label, Visible and Publication Date
& time. After finish changing, click the <emphasis
role="bold">Save</emphasis> button to accept changing or <emphasis
role="bold">Cancel</emphasis> button to refuse it.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/PageSelector6.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ In the <emphasis role="bold">Page Selector</emphasis> tab :
you also search and select another page for this node by clicking the <emphasis
role="bold">Search and Select Page</emphasis> button. You can see more
details on how to select a page for a node on the above <emphasis
role="bold">Add a new node</emphasis> section. After finish changing
another page for this node, click the <emphasis
role="bold">Save</emphasis> button to accept changing or <emphasis
role="bold">Cancel</emphasis> button to leave without saving any
changes.
+ </para>
+ </step>
+ </procedure>
+ </section>
+
+ <section id="sect-User_Guide-Manage_Navigation_Nodes-Copy_a_node">
+ <title>Copy a node</title>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">GateIn Start</emphasis>
-> <emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>
+ </para>
+ </step>
+ <step>
+ <para>
+ Select a navigation from the navigation list.
+ </para>
+ </step>
+ <step>
+ <para>
+ Right-click on the selected node and select <emphasis
role="bold">Copy node</emphasis> option.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/CopyNode3.png" format="PNG"
/>
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Select the position that you want to paste this node and select <emphasis
role="bold">Paste Node</emphasis> option. Click
the!images/MarkIcon.png! icon to <emphasis
role="bold">Save</emphasis>.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/PasteNode3.png" format="PNG"
/>
+ </imageobject>
+ </mediaobject>
+ </step>
+ </procedure>
+ </section>
+
+ <section id="sect-User_Guide-Manage_Navigation_Nodes-Clone_nodes">
+ <title>Clone nodes</title>
<para>
- 4. Select the position that you want to paste this node and select <emphasis
role="bold">Paste Node</emphasis> option. Click
the!images/MarkIcon.png! icon to <emphasis
role="bold">Save</emphasis>.
+ <emphasis role="bold">Clone node</emphasis> function allows
you to copy the node. However, the differences between <emphasis
role="bold">copy node</emphasis> and <emphasis
role="bold">clone node</emphasis> is that the clone node has its own
page and this page has the same content as the selected node, so there will be a new page
that has the same name with the selected node's page, is shown in the page list when
you access<emphasis role="bold">Manage Pages</emphasis>.
</para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/PasteCloneNode2.png" format="PNG"
/>
- </imageobject>
- </mediaobject>
- <para>
- In <emphasis role="bold">Manage Pages</emphasis> you will
see:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/ManagePage2.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- </listitem>
- </itemizedlist>
- </section>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">GateIn Start</emphasis>
-> <emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>
+ </para>
+ </step>
+ <step>
+ <para>
+ Select a navigation from the navigation list.
+ </para>
+ </step>
+ <step>
+ <para>
+ Right-click on selected node and select <emphasis
role="bold">Clone node</emphasis> option.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/CloneNode2.png" format="PNG"
/>
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Select the position that you want to paste this node and select <emphasis
role="bold">Paste Node</emphasis> option. Click
the!images/MarkIcon.png! icon to <emphasis
role="bold">Save</emphasis>.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/PasteCloneNode2.png"
format="PNG" />
+ </imageobject>
+ </mediaobject>
+ <para>
+ In <emphasis role="bold">Manage Pages</emphasis> you will
see:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ManagePage2.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ </procedure>
+ </section>
- <section id="sect-User_Guide-Manage_Navigation_Nodes-Cut_a_node">
- <title>Cut a node</title>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>
- </para>
- <para>
- 2. Select a navigation from the navigation list.
- </para>
- <para>
- 3. Right-click on the selected node and select <emphasis
role="bold">Cut node</emphasis> option.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/CutNode4.png" format="PNG" />
- </imageobject>
- </mediaobject>
- <para>
- 4. Select the position that you want to paste this node and select <emphasis
role="bold">Paste Node</emphasis> option. Click
the!images/MarkIcon.png! icon to <emphasis
role="bold">Save</emphasis>.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/PasteCutNode4.png" format="PNG"
/>
- </imageobject>
- </mediaobject>
- </section>
+ <section id="sect-User_Guide-Manage_Navigation_Nodes-Cut_a_node">
+ <title>Cut a node</title>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">GateIn Start</emphasis>
-> <emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>
+ </para>
+ </step>
+ <step>
+ <para>
+ Select a navigation from the navigation list.
+ </para>
+ </step>
+ <step>
+ <para>
+ Right-click on the selected node and select <emphasis
role="bold">Cut node</emphasis> option.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/CutNode4.png" format="PNG"
/>
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Select the position that you want to paste this node and select <emphasis
role="bold">Paste Node</emphasis> option. Click
the!images/MarkIcon.png! icon to <emphasis
role="bold">Save</emphasis>.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/PasteCutNode4.png" format="PNG"
/>
+ </imageobject>
+ </mediaobject>
+ </step>
+ </procedure>
+ </section>
- <section id="sect-User_Guide-Manage_Navigation_Nodes-Delete_a_node">
- <title>Delete a node</title>
- <orderedlist>
- <listitem>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis>
-> <emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>
- </para>
- </listitem>
- <listitem>
- <para>
- 2. Select a navigation from the navigation list.
- </para>
- </listitem>
- <listitem>
- <para>
- 3. Right-click on the selected node and select <emphasis
role="bold">Delete node</emphasis> option.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/DeleteNode2.png" format="PNG"
/>
- </imageobject>
- </mediaobject>
- <para>
- It will display an alert message, click the <emphasis
role="bold">OK</emphasis> button to accept deleting or <emphasis
role="bold">Cancel</emphasis> button to quit without deleting a node.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/http.png" format="PNG" />
- </imageobject>
- </mediaobject>
- </listitem>
- </orderedlist>
- </section>
-
+ <section id="sect-User_Guide-Manage_Navigation_Nodes-Delete_a_node">
+ <title>Delete a node</title>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">GateIn Start</emphasis>
-> <emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>
+ </para>
+ </step>
+ <step>
+ <para>
+ Select a navigation from the navigation list.
+ </para>
+ </step>
+ <step>
+ <para>
+ Right-click on the selected node and select <emphasis
role="bold">Delete node</emphasis> option.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/DeleteNode2.png" format="PNG"
/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ It will display an alert message, click the <emphasis
role="bold">OK</emphasis> button to accept deleting or <emphasis
role="bold">Cancel</emphasis> button to quit without deleting a node.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/http.png" format="PNG" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ </procedure>
+ </section>
</section>
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Page_Navigation.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Page_Navigation.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Page_Navigation.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -7,7 +7,7 @@
Copyright (C) 2009 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
+ under the titles 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.
@@ -26,151 +26,170 @@
In order to understand clearly about what the navigation is and navigation types that
GateIn Portal supports, please refer the <xref
linkend="sect-User_Guide-Navigation" /> page.
</para>
+ <section
id="User_Guide-Manage_Page_Navigation-Portals_page_navigation">
+ <title>Portal's page navigation</title>
+ <para>
+ Stuff Goes here?
+ </para>
+ </section>
+
+ <section
id="User_Guide-Manage_Page_Navigation-Creating_a_portals_navigation">
+ <title>Creating a portal's navigation</title>
+ <para>
+ The page navigation of a portal is created automatically when a portal is created.
+ </para>
+ </section>
+
+ <section
id="User_Guide-Manage_Page_Navigation-Editing_a_portals_navigation">
+ <title>Editing a portal's navigation</title>
+ <para>
+ Only users who have the edit right on a portal can perform this action.
+ </para>
+ <para>
+ Follows these below guides to edit a portal's navigation:
+ </para>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">GateIn Start</emphasis>->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis>--> <emphasis
role="bold">Edit Page and Navigation</emphasis>.
+ </para>
+ </step>
+ <step>
+ <para>
+ Select Portal navigation in list on the left pane (eg: portal: classic's
Nav).
+ </para>
+ </step>
+ <step>
+ <para>
+ Right click the blank space on the left pane and select <emphasis
role="bold">Edit Navigation</emphasis> in the menu:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/EditPortalNavigation.png"
format="PNG" />
+ </imageobject>
+ </mediaobject>
+ <para>
+ The form for editing the portal navigation will be opened:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/EditPortalNavigation2.png"
format="PNG" width="444" />
+ </imageobject>
+ </mediaobject>
+ <para>
+ The number that users select in the <emphasis
role="bold">Priority</emphasis> field is the priority of a page
navigation on the Navigation bar.
+ </para>
+ </step>
+ <step>
+ <para>
+ Make changes to fields in this form: <emphasis
role="bold">Description</emphasis>, <emphasis
role="bold">Priority</emphasis>.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Save</emphasis> button to
accept changes.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the!images/OKIcon.png! to take effect of new change or click the
<emphasis role="bold">Cancel</emphasis> button to quit without
saving any change.
+ </para>
+ </step>
+ </procedure>
+ </section>
+
+ <section
id="User_Guide-Manage_Page_Navigation-Deleting_a_portals_navigation">
+ <title>Deleting a portal's navigation</title>
+ <para>
+ No one can create the portal's page navigation so no one can delete it. A
navigation is deleted automatically after you delete its portal.
+ </para>
+ </section>
- <section
id="sect-User_Guide-Manage_Page_Navigation-Portals_page_navigation">
- <title>Portal's page navigation</title>
- <para>
- Stuff Goes here?
- </para>
- </section>
+ <section
id="User_Guide-Manage_Page_Navigation-Groups_page_navigation">
+ <title>Group's page navigation</title>
+ <para>
+ Each group has only one page navigation. Only users of that group have the
"manager" membership can create/edit/delete navigation for that group
+ </para>
+ </section>
- <section
id="sect-User_Guide-Manage_Page_Navigation-Creating_a_portals_navigation">
- <title>Creating a portal's navigation</title>
- <para>
- The page navigation of a portal is created automatically when a portal is created.
- </para>
- </section>
-
- <section
id="sect-User_Guide-Manage_Page_Navigation-Editing_a_portals_navigation">
- <title>Editing a portal's navigation</title>
- <para>
- Only users who have the edit right on a portal can perform this action.
- </para>
- <para>
- Follows these below guides to edit a portal 's navigation:
- </para>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis>->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis>--> <emphasis
role="bold">Edit Page and Navigation</emphasis>.
- </para>
- <para>
- 2. Select Portal navigation in list on the left pane (eg: portal: classic's Nav).
- </para>
- <para>
- 3. Right click the blank space on the left pane and select <emphasis
role="bold">Edit Navigation</emphasis> in the menu:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/EditPortalNavigation.png"
format="PNG" />
- </imageobject>
- </mediaobject>
- <para>
- The form for editing the portal navigation will be opened:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/EditPortalNavigation2.png"
format="PNG" width="444" />
- </imageobject>
- </mediaobject>
- <para>
- <emphasis><emphasis
role="bold">Notice</emphasis></emphasis>: The number that users
select in the <emphasis role="bold">Priority</emphasis> field is the
priority of a page navigation on the Navigation bar.
- </para>
- <para>
- 4. Make changes to fields in this form: <emphasis
role="bold">Description</emphasis>, <emphasis
role="bold">Priority</emphasis>.
- </para>
- <para>
- 5. Click the <emphasis role="bold">Save</emphasis> button to
accept changes.
- </para>
- <para>
- 6. Click the!images/OKIcon.png! to take effect of new changes.
- </para>
- <para>
- Or click the <emphasis role="bold">Cancel</emphasis> button to
quit without saving any change.
- </para>
- </section>
-
- <section
id="sect-User_Guide-Manage_Page_Navigation-Deleting_a_portals_navigation">
- <title>Deleting a portal's navigation</title>
- <para>
- No one can create the portal's page navigation so no one can delete it. A
navigation is deleted automatically after you delete its portal.
- </para>
- </section>
-
- <section
id="sect-User_Guide-Manage_Page_Navigation-Groups_page_navigation">
- <title>Group's page navigation</title>
- <para>
- Each group has only one page navigation. Only users of that group have the
"manager" membership can create/edit/delete navigation for that group
- </para>
- </section>
-
- <section
id="sect-User_Guide-Manage_Page_Navigation-Editing_a_groups_navigation">
- <title>Editing a group's navigation</title>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>.
- </para>
- <para>
- 2. Select a Group navigation in the list on the left pane (eg:
group:platform/administrator's Nav). All pages of this group will be listed
underneath.
- </para>
- <para>
- 3. Right click the blank space on the left pane and select <emphasis
role="bold">Edit Navigation</emphasis> in the context menu:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/EditGroupNavigation.png"
format="PNG" />
- </imageobject>
- </mediaobject>
- <para>
- The form for editing the group navigation will be opened:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/EditGroupNavigation2.png"
format="PNG" width="444" />
- </imageobject>
- </mediaobject>
- <para>
- 4. Make changes for two fields: <emphasis
role="bold">Description</emphasis> and <emphasis
role="bold">Priority</emphasis>.
- </para>
- <para>
- <emphasis><emphasis
role="bold">Notice</emphasis></emphasis>: The number that users
select in the <emphasis role="bold">Priority</emphasis> field is the
priority of a page navigation on the Navigation bar.
- </para>
- <para>
- 5. Click the <emphasis role="bold">Save</emphasis> button to
accept any changes.
- </para>
- <para>
- 6. Click the!images/OKIcon.png! to take effect new changes on the Navigation bar.
- </para>
- <para>
- Or click the <emphasis role="bold">Cancel</emphasis> button to
quit without saving any change.
- </para>
- </section>
-
- <section
id="sect-User_Guide-Manage_Page_Navigation-Users_page_navigation">
- <title>User's page navigation</title>
- <para>
- Stuff Goes here?
- </para>
- </section>
-
- <section
id="sect-User_Guide-Manage_Page_Navigation-Creating_a_users_navigation">
- <title>Creating a user's navigation</title>
- <para>
- The page navigation of a user is created automatically when a user is created
(registered). So an administrator don't have to create it.
- </para>
- </section>
-
- <section
id="sect-User_Guide-Manage_Page_Navigation-Editing_a_users_navigation">
- <title>Editing a user's navigation</title>
- <para>
- Only the user who is the owner of the user page navigation can edit it.
- </para>
- </section>
-
- <section
id="sect-User_Guide-Manage_Page_Navigation-Deleting_a_users_navigation">
- <title>Deleting a user's navigation</title>
- <para>
- No one can create user's page navigation so that no one can delete it. A
user's navigation is deleted automatically when its user is deleted.
- </para>
- </section>
+ <section
id="User_Guide-Manage_Page_Navigation-Editing_a_groups_navigation">
+ <title>Editing a group's navigation</title>
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">GateIn Start</emphasis>
-> <emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Page and Navigation</emphasis>.
+ </para>
+ </step>
+ <step>
+ <para>
+ Select a Group navigation in the list on the left pane (eg:
group:platform/administrator's Nav). All pages of this group will be listed
underneath.
+ </para>
+ </step>
+ <step>
+ <para>
+ Right click the blank space on the left pane and select <emphasis
role="bold">Edit Navigation</emphasis> in the context menu:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/EditGroupNavigation.png"
format="PNG" />
+ </imageobject>
+ </mediaobject>
+ <para>
+ The form for editing the group navigation will be opened:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/EditGroupNavigation2.png"
format="PNG" width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Make changes for two fields: <emphasis
role="bold">Description</emphasis> and <emphasis
role="bold">Priority</emphasis>.
+ </para>
+ <para>
+ The number that users select in the <emphasis
role="bold">Priority</emphasis> field is the priority of a page
navigation on the Navigation bar.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Save</emphasis> button to
accept any changes.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the!images/OKIcon.png! to take effect new changes on the Navigation bar or
click the <emphasis role="bold">Cancel</emphasis> button to quit
without saving any change.
+ </para>
+ </step>
+ </procedure>
+ </section>
+
+ <section id="User_Guide-Manage_Page_Navigation-Users_page_navigation">
+ <title>User's page navigation</title>
+ <para>
+ Stuff Goes here?
+ </para>
+ </section>
+
+ <section
id="User_Guide-Manage_Page_Navigation-Creating_a_users_navigation">
+ <title>Creating a user's navigation</title>
+ <para>
+ The page navigation of a user is created automatically when a user is created
(registered). So an administrator don't have to create it.
+ </para>
+ </section>
+
+ <section
id="User_Guide-Manage_Page_Navigation-Editing_a_users_navigation">
+ <title>Editing a user's navigation</title>
+ <para>
+ Only the user who is the owner of the user page navigation can edit it.
+ </para>
+ </section>
+
+ <section
id="User_Guide-Manage_Page_Navigation-Deleting_a_users_navigation">
+ <title>Deleting a user's navigation</title>
+ <para>
+ No one can create user's page navigation so that no one can delete it. A
user's navigation is deleted automatically when its user is deleted.
+ </para>
+ </section>
</section>
-
-
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Pages.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Pages.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Pages.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -22,440 +22,446 @@
02110-1301 USA, or see the FSF site:
http://www.fsf.org.
--><title>Manage Pages</title>
- <para>
- Only by using one page list can users add, edit, delete and view quickly and easily
which pages you like to. Following these guides to manage pages:
- </para>
- <section
id="sect-User_Guide-Manage_Pages-Add_a_new_Page_in_the_Page_List">
- <title>Add a new Page in the Page List</title>
<para>
- You easily add a new page by following these simple steps:
+ Only by using one page list can users add, edit, delete and view quickly and easily
which pages you like to. Following these guides to manage pages:
</para>
- <para>
- 1. Go to <emphasis role="bold">GateIn</emphasis>
-><emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Manage Pages</emphasis>
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/ManagePage.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- For GateIn Portal 2.6
- </para>
- <orderedlist>
- <listitem>
+
+ <section
id="sect-User_Guide-Manage_Pages-Add_a_new_Page_in_the_Page_List">
+ <title>Add a new Page in the Page List</title>
<para>
- 1. Go to <emphasis role="bold">Administrator</emphasis> on the
Toolbar --> <emphasis role="bold">Manage Pages</emphasis>
+ You easily add a new page by following these simple steps:
</para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/ManagePage2.6.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
- Details
- </para>
- <informaltable colsep="0" frame="none"
rowsep="0">
- <tgroup cols="2">
- <colspec align="center"></colspec>
- <colspec align="center"></colspec>
- <tbody>
- <row>
- <entry>
- <emphasis role="bold"> Button </emphasis>
- </entry>
- <entry>
- <emphasis role="bold"> Description </emphasis>
- </entry>
- </row>
- <row>
- <entry>
- Add New Page
- </entry>
- <entry>
- allows you to add a new page.
- </entry>
- </row>
- <row>
- <entry>
- Back
- </entry>
- <entry>
- allows you to return to home page.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </listitem>
- <listitem>
- <para>
- 2. Click the <emphasis role="bold">Add New Page</emphasis>
button.
- </para>
- </listitem>
- <listitem>
- <para>
- 3. Enter values for fields in the <emphasis role="bold">Page
Setting</emphasis> tab
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/PageSetting.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <informaltable colsep="0" frame="none"
rowsep="0">
- <tgroup cols="2">
- <colspec align="center"></colspec>
- <colspec align="center"></colspec>
- <tbody>
- <row>
- <entry>
- <emphasis role="bold"> Name </emphasis>
- </entry>
- <entry>
- <emphasis role="bold"> Description </emphasis>
- </entry>
- </row>
- <row>
- <entry>
- Page Id
- </entry>
- <entry>
- The string to identify the page. It is automatically generated when you will
finish creating page.
- </entry>
- </row>
- <row>
- <entry>
- Owner type
- </entry>
- <entry>
- The owner type of the the page (portal, group or user). The "User"
type is displayed by default. You can change the owner type by clicking on the icon.
- </entry>
- </row>
- <row>
- <entry>
- Owner Id
- </entry>
- <entry>
- The identification name of page owner. When the owner type is "group",
there will be a list of groups of which you have to select one.
- </entry>
- </row>
- <row>
- <entry>
- Page Name
- </entry>
- <entry>
- The name of the page. This is a required field and must be unique. Only alpha,
digit and underscore characters are allowed to be used for this field and it must have a
length between 3 and 30 characters
- </entry>
- </row>
- <row>
- <entry>
- Page title
- </entry>
- <entry>
- The title of the the page. This field is not required and must have a length
between 3 and 30 characters.
- </entry>
- </row>
- <row>
- <entry>
- Show Max Window
- </entry>
- <entry>
- The option allows to choose whether showing the page in maximum size or not.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <para>
- If the <emphasis role="bold">Owner type</emphasis> is
"portal" or "group":
- </para>
- <itemizedlist>
- <listitem>
+ <procedure>
+ <step>
<para>
- <emphasis role="bold">Owner type</emphasis> is
'portal': it means you create a page for a portal. Thus only users who have edit
permissions on the portal can create this page type.
+ Go to <emphasis role="bold">GateIn</emphasis>
-><emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Manage Pages</emphasis>.
</para>
- </listitem>
- <listitem>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ManagePage.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
<para>
- <emphasis role="bold">Owner type</emphasis> is
'group': it means you create a page for a group. Thus only users who are
'manager' of a group can create this page type.
+ Click on Add New Page
</para>
- </listitem>
- </itemizedlist>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/PageSetting1.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <itemizedlist>
- <listitem>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ManagePage2.6.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
<para>
- Permission Setting is initialized
+ Details
</para>
- </listitem>
- </itemizedlist>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/PermissionSetting1.png"
format="PNG" width="444" />
- </imageobject>
- </mediaobject>
- <itemizedlist>
- <listitem>
+ <informaltable colsep="0" frame="none"
rowsep="0">
+ <tgroup cols="2">
+ <colspec align="center"></colspec>
+ <colspec align="center"></colspec>
+ <tbody>
+ <row>
+ <entry>
+ <emphasis role="bold"> Button </emphasis>
+ </entry>
+ <entry>
+ <emphasis role="bold"> Description </emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Add New Page
+ </entry>
+ <entry>
+ allows you to add a new page.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Back
+ </entry>
+ <entry>
+ allows you to return to home page.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </step>
+ <step>
<para>
+ Click the <emphasis role="bold">Add New Page</emphasis>
button.
+ </para>
+ </step>
+ <step>
+ <para>
+ Enter values for fields in the <emphasis role="bold">Page
Setting</emphasis> tab
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/PageSetting.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ <informaltable colsep="0" frame="none"
rowsep="0">
+ <tgroup cols="2">
+ <colspec align="center"></colspec>
+ <colspec align="center"></colspec>
+ <tbody>
+ <row>
+ <entry>
+ <emphasis role="bold"> Name </emphasis>
+ </entry>
+ <entry>
+ <emphasis role="bold"> Description </emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Page Id
+ </entry>
+ <entry>
+ The string to identify the page. It is automatically generated when you will
finish creating page.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Owner type
+ </entry>
+ <entry>
+ The owner type of the the page (portal, group or user). The "User"
type is displayed by default. You can change the owner type by clicking on the icon.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Owner Id
+ </entry>
+ <entry>
+ The identification name of page owner. When the owner type is
"group", there will be a list of groups of which you have to select one.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Page Name
+ </entry>
+ <entry>
+ The name of the page. This is a required field and must be unique. Only alpha,
digit and underscore characters are allowed to be used for this field and it must have a
length between 3 and 30 characters
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Page title
+ </entry>
+ <entry>
+ The title of the the page. This field is not required and must have a length
between 3 and 30 characters.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Show Max Window
+ </entry>
+ <entry>
+ The option allows to choose whether showing the page in maximum size or not.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ <para>
+ If the <emphasis role="bold">Owner type</emphasis> is
"portal" or "group":
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="bold">Owner type</emphasis> is
'portal': it means you create a page for a portal. Thus only users who have edit
permissions on the portal can create this page type.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">Owner type</emphasis> is
'group': it means you create a page for a group. Thus only users who are
'manager' of a group can create this page type.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/PageSetting1.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </listitem>
+ <listitem>
+ <para>
+ Permission Setting is initialized
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/PermissionSetting1.png"
format="PNG" width="444" />
+ </imageobject>
+ </mediaobject>
+ </listitem>
+ <listitem>
+ <para>
With <emphasis role="bold">Access Permission</emphasis>: The
content of this tab is identical to the <emphasis role="bold">Owner
type</emphasis> field in the <emphasis role="bold">Page
Setting</emphasis> tab. Thus, all users have access rights of the page type selected
in the <emphasis role="bold">Owner type</emphasis> field will appear
in this tab. But you also can change the value of this tab as follows:
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Check the check box if you want to share access with everyone
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Or click the <emphasis role="bold">Add
Permission</emphasis> button to assign permission on group level, then select a
group and membership.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Or click the trash can icon to remove a group from the list.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ With <emphasis role="bold">Edit Permission</emphasis>: The
content of this tab depends on the value of the <emphasis
role="bold">Owner type</emphasis> field in the <emphasis
role="bold">Page Setting</emphasis> tab.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ If the <emphasis role="bold">Owner type</emphasis> is
"group", edit permission is assigned to users who are "manager" of the
group that is selected in <emphasis role="bold">Owner id</emphasis>.
You only can change this value when editing the page.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/EditPermission1.png"
format="PNG" width="444" />
+ </imageobject>
+ </mediaobject>
+ </listitem>
+ <listitem>
+ <para>
+ If the <emphasis role="bold">Owner type</emphasis> is
"portal": The name of the current portal is automatically selected for
<emphasis role="bold">Owner id</emphasis> so that the edit
permissions are assigned to users who can edit the current portal. Users only can change
this value when editing the page.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/EditPermission2.png"
format="PNG" width="444" />
+ </imageobject>
+ </mediaobject>
+ </listitem>
+ </itemizedlist>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Save</emphasis> button to
accept creating a new page or the <emphasis
role="bold">Cancel</emphasis> button to quit the form.
</para>
- </listitem>
- <listitem>
+ </step>
+ </procedure>
+ </section>
+
+ <section id="sect-User_Guide-Manage_Pages-Edit_a_Page">
+ <title>Edit a Page</title>
+ <procedure>
+ <step>
<para>
- Check the check box if you want to share access with everyone
+ Go to <emphasis role="bold">GateIn Start</emphasis>
-> <emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Manage Pages</emphasis>
</para>
- </listitem>
- <listitem>
+ </step>
+ <step>
<para>
- Or click the <emphasis role="bold">Add Permission</emphasis>
button to assign permission on group level, then select a group and membership.
+ In the existing pages list: click the edit icon on the row of page you want to
edit.
</para>
- </listitem>
- <listitem>
+ <!-- <informaltable colsep="0" frame="none"
rowsep="0">
+ <tgroup cols="2">
+ <colspec align="center"></colspec>
+ <colspec align="center"></colspec>
+ <tbody>
+ <row>
+ <entry>
+ <emphasis role="bold"> Indicator </emphasis>
+ </entry>
+ <entry>
+ <emphasis role="bold"> Meaning </emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ !images/PreviewPage.png!
+ </entry>
+ <entry>
+ Preview page: allows viewing node's page with preview mode in a Normal
Page
+ </entry>
+ </row>
+ <row>
+ <entry>
+ !images/EditPage.png!
+ </entry>
+ <entry>
+ Edit page properties: allows editing node's page properties
+ </entry>
+ </row>
+ <row>
+ <entry>
+ !images/ShowContainer.png!
+ </entry>
+ <entry>
+ Show container: allows to list all existing containers that will be used to
change the layout of a selected page
+ </entry>
+ </row>
+ <row>
+ <entry>
+ !images/ShowPortlet.png!
+ </entry>
+ <entry>
+ Show portlet: allows to list all existing portlets that will be used to
re-arrange the content of selected page.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ !images/SavePage.png!
+ </entry>
+ <entry>
+ Save page: allows saving changes of a page
+ </entry>
+ </row>
+ <row>
+ <entry>
+ !images/Back.png!
+ </entry>
+ <entry>
+ Back: allows returning to the page list without saving
+ </entry>
+ </row>
+ <row>
+ <entry>
+ !images/Finish.png!
+ </entry>
+ <entry>
+ Finish:allows saving and returning to the page list
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable> -->
<para>
- Or click the trash can icon to remove a group from the list.
+ Edit page properties Click the edit!images/EditPage.png! icon to show a form to
edit page properties.
</para>
- </listitem>
- </itemizedlist>
- <itemizedlist>
- <listitem>
+ </step>
+ <step>
<para>
- With <emphasis role="bold">Edit Permission</emphasis>: The
content of this tab depends on the value of the <emphasis
role="bold">Owner type</emphasis> field in the <emphasis
role="bold">Page Setting</emphasis> tab.
+ In the <emphasis role="bold">Page Properties</emphasis>
window:
</para>
- </listitem>
- <listitem>
+ <informaltable colsep="0" frame="none"
rowsep="0">
+ <tgroup cols="2">
+ <colspec align="center"></colspec>
+ <colspec align="center"></colspec>
+ <tbody>
+ <row>
+ <entry>
+ <emphasis role="bold"> Name </emphasis>
+ </entry>
+ <entry>
+ <emphasis role="bold"> Description </emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Page Id
+ </entry>
+ <entry>
+ The string to identify editing page. This string is generated automatically,
user can not change.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Owner type
+ </entry>
+ <entry>
+ The type of editing page. User can not change.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Owner Id
+ </entry>
+ <entry>
+ The identification name of page's owner. User can not change.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Page name
+ </entry>
+ <entry>
+ The name of the page. User can not change.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Page title
+ </entry>
+ <entry>
+ The title of page. User can change and it must have length from 3 to 30
characters.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Show Max Window
+ </entry>
+ <entry>
+ The option allows whether showing page in maximum size or not. User should
check this option for desktop page only.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Permission Setting: This form is supported for pages of a group or a portal.
Because page of an user is private, no one else can access or edit user's page except
the creator, so you do not have to set permission for it. Permission on each page is set
in two levels: Access right and Edit right.
+ </para>
+ </listitem>
+ <listitem>
+<important>
+<title>This does not match GateIn-3.0.0-Beta02</title>
+ <para>
+ <emphasis role="bold">Access right</emphasis>: Page
Access right can be set to some user groups or set to everyone (also includes unregistered
users). There is a list of current access permissions on page. You can click delete icon
to remove permission or click the <emphasis role="bold">Add
Permission</emphasis> button to add more or tick on <emphasis
role="bold">Make it public</emphasis> option check box to allow all
users to access.
+ </para>
+</important>
+ </listitem>
+ <listitem>
+<important>
+<title>This does not match GateIn-3.0.0-Beta02</title>
+ <para>
+ <emphasis role="bold">Edit right</emphasis>: It allows
users to change information of page. Edit right only is set for a group of users. Edit
right on a page can be set for one group with one specific membership type (or
<emphasis role="bold">means every membership types in group). If you want
to re-assign this right to another group, click</emphasis>Select Permission to
choose another one.
+ </para>
+</important>
+ </listitem>
+ <listitem>
+ <para>
+ Editing page container layout
+ </para>
+ </listitem>
+ </itemizedlist>
+ </step>
+ <step>
<para>
- If the <emphasis role="bold">Owner type</emphasis> is
"group", edit permission is assigned to users who are "manager" of the
group that is selected in <emphasis role="bold">Owner id</emphasis>.
You only can change this value when editing the page.
+ Click !images/ShowContainer.png! icon to show current container layout of selected
page on your right and all the container layouts list on the left pane.
</para>
- </listitem>
- </itemizedlist>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/EditPermission1.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <itemizedlist>
- <listitem>
<para>
- If the <emphasis role="bold">Owner type</emphasis> is
"portal": The name of the current portal is automatically selected for
<emphasis role="bold">Owner id</emphasis> so that the edit
permissions are assigned to users who can edit the current portal. Users only can change
this value when editing the page.
+ If you want to change current layout, select a layout type from the list on the
left pane, then left click on the template you want and drag and drop it into the right
pane. New container will be displayed on the right pane. You can change position of
current container by left click and drag and drop it to another place on the right pane or
remove current container by clicking delete icon on the right corner.
</para>
- </listitem>
- </itemizedlist>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/EditPermission2.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- </listitem>
- <listitem>
- <para>
- 4. Click the <emphasis role="bold">Save</emphasis> button to
accept creating a new page or the <emphasis
role="bold">Cancel</emphasis> button to quit the form.
- </para>
- </listitem>
- </orderedlist>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Editing page portlet layout
+ </para>
+ </listitem>
+ </itemizedlist>
+ </step>
+ <step>
+ <para>
+ Click !images/ShowPortlet.png! icon to show current portlet layout of page.
+ </para>
+ <para>
+ If you want to change current layout, select layout type from the list on the left
pane, then left click on the template you want and drag and drop it into the right pane.
New portlet will be added and displayed in the right pane. You can change position of
current portlet by left click and drag and drop it to the place you want on the right pane
or remove current portlet by clicking delete icon.
+ </para>
+ </step>
+ </procedure>
</section>
- <section id="sect-User_Guide-Manage_Pages-Edit_a_Page">
- <title>Edit a Page</title>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Manage Pages</emphasis>
- </para>
- <para>
- 2. In the existing pages list: click the edit icon on the row of page you want to
edit.
- </para>
- <informaltable colsep="0" frame="none" rowsep="0">
- <tgroup cols="2">
- <colspec align="center"></colspec>
- <colspec align="center"></colspec>
- <tbody>
- <row>
- <entry>
- <emphasis role="bold"> Indicator </emphasis>
- </entry>
- <entry>
- <emphasis role="bold"> Meaning </emphasis>
- </entry>
- </row>
- <row>
- <entry>
- !images/PreviewPage.png!
- </entry>
- <entry>
- Preview page: allows viewing node's page with preview mode in a Normal Page
- </entry>
- </row>
- <row>
- <entry>
- !images/EditPage.png!
- </entry>
- <entry>
- Edit page properties: allows editing node's page properties
- </entry>
- </row>
- <row>
- <entry>
- !images/ShowContainer.png!
- </entry>
- <entry>
- Show container: allows to list all existing containers that will be used to change
the layout of a selected page
- </entry>
- </row>
- <row>
- <entry>
- !images/ShowPortlet.png!
- </entry>
- <entry>
- Show portlet: allows to list all existing portlets that will be used to re-arrange
the content of selected page.
- </entry>
- </row>
- <row>
- <entry>
- !images/SavePage.png!
- </entry>
- <entry>
- Save page: allows saving changes of a page
- </entry>
- </row>
- <row>
- <entry>
- !images/Back.png!
- </entry>
- <entry>
- Back: allows returning to the page list without saving
- </entry>
- </row>
- <row>
- <entry>
- !images/Finish.png!
- </entry>
- <entry>
- Finish:allows saving and returning to the page list
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <itemizedlist>
- <listitem>
- <para>
- Edit page properties Click the edit!images/EditPage.png! icon to show a form to edit
page properties.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- In the <emphasis role="bold">Page Setting</emphasis> tab:
- </para>
- <informaltable colsep="0" frame="none" rowsep="0">
- <tgroup cols="2">
- <colspec align="center"></colspec>
- <colspec align="center"></colspec>
- <tbody>
- <row>
- <entry>
- <emphasis role="bold"> Name </emphasis>
- </entry>
- <entry>
- <emphasis role="bold"> Description </emphasis>
- </entry>
- </row>
- <row>
- <entry>
- Page Id
- </entry>
- <entry>
- The string to identify editing page. This string is generated automatically, user
can not change.
- </entry>
- </row>
- <row>
- <entry>
- Owner type
- </entry>
- <entry>
- The type of editing page. User can not change.
- </entry>
- </row>
- <row>
- <entry>
- Owner Id
- </entry>
- <entry>
- The identification name of page's owner. User can not change.
- </entry>
- </row>
- <row>
- <entry>
- Page name
- </entry>
- <entry>
- The name of the page. User can not change.
- </entry>
- </row>
- <row>
- <entry>
- Page title
- </entry>
- <entry>
- The title of page. User can change and it must have length from 3 to 30
characters.
- </entry>
- </row>
- <row>
- <entry>
- Show Max Window
- </entry>
- <entry>
- The option allows whether showing page in maximum size or not. User should check
this option for desktop page only.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <itemizedlist>
- <listitem>
- <para>
- Permission Setting: This form is supported for pages of a group or a portal. Because
page of an user is private, no one else can access or edit user's page except the
creator, so you do not have to set permission for it. Permission on each page is set in
two levels: Access right and Edit right.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">Access right</emphasis>: Page Access
right can be set to some user groups or set to everyone (also includes unregistered
users). There is a list of current access permissions on page. You can click delete icon
to remove permission or click the <emphasis role="bold">Add
Permission</emphasis> button to add more or tick on <emphasis
role="bold">Make it public</emphasis> option check box to allow all
users to access.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis role="bold">Edit right</emphasis>: It allows users
to change information of page. Edit right only is set for a group of users. Edit right on
a page can be set for one group with one specific membership type (or <emphasis
role="bold">means every membership types in group). If you want to re-assign
this right to another group, click</emphasis>Select Permission to choose another
one.
- </para>
- </listitem>
- </itemizedlist>
- <itemizedlist>
- <listitem>
- <para>
- Editing page container layout
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Click !images/ShowContainer.png! icon to show current container layout of selected
page on your right and all the container layouts list on the left pane.
- </para>
- <para>
- If you want to change current layout, select a layout type from the list on the left
pane, then left click on the template you want and drag and drop it into the right pane.
New container will be displayed on the right pane. You can change position of current
container by left click and drag and drop it to another place on the right pane or remove
current container by clicking delete icon on the right corner.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Editing page portlet layout
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Click !images/ShowPortlet.png! icon to show current portlet layout of page.
- </para>
- <para>
- If you want to change current layout, select layout type from the list on the left
pane, then left click on the template you want and drag and drop it into the right pane.
New portlet will be added and displayed in the right pane. You can change position of
current portlet by left click and drag and drop it to the place you want on the right pane
or remove current portlet by clicking delete icon.
- </para>
- </section>
-
<section id="sect-User_Guide-Manage_Pages-View_a_Page">
<title>View a Page</title>
<para>
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Portals.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Portals.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Manage_Portals.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -30,15 +30,84 @@
<para>
You can change information of the current using portal such as properties or layout.
However, you must have the edit right given by an Admininstrator. When you have edit
right, follow these steps to edit the current portal:
</para>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Current Portal</emphasis>. A form to edit the current
portal will appear:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/EditCurrentPortal.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <informaltable colsep="0" frame="none" rowsep="0">
+ <procedure>
+ <step>
+ <para>
+ Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Edit Current Portal</emphasis>. A form to edit the current
portal will appear:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/EditCurrentPortal.png"
format="PNG" width="444" />
+ </imageobject>
+ </mediaobject>
+ <variablelist>
+ <varlistentry>
+ <term>Preview page</term>
+ <listitem>
+ <para>
+ allows viewing node's page in preview mode.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Edit page properties</term>
+ <listitem>
+ <para>
+ Allows editing node's page properties.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Show container</term>
+ <listitem>
+ <para>
+ Allows listing all existing containers when editing node's page.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Show portlet</term>
+ <listitem>
+ <para>
+ Allows listing all existing portlets when editing node's page.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Save page</term>
+ <listitem>
+ <para>
+ Allows saving changes of page when editing node's page.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Rollback</term>
+ <listitem>
+ <para>
+ Allows canceling all changes that have not been saved.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Abort</term>
+ <listitem>
+ <para>
+ Allows canceling all changes that have not been saved and escaping Edit page and
navigation form.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Finish</term>
+ <listitem>
+ <para>
+ Allows saving all changes and escaping Edit page and navigation form.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </step>
+ <!-- <informaltable colsep="0" frame="none"
rowsep="0">
<tgroup cols="2">
<colspec align="center"></colspec>
<colspec align="center"></colspec>
@@ -117,20 +186,29 @@
</row>
</tbody>
</tgroup>
- </informaltable>
- <para>
- 2. Click!images/EditPage.png! icon to edit portal properties.
- </para>
- <para>
- 3. Click!images/ShowContainer.png! icon to edit portal container layout.
- </para>
- <para>
- 4. Click!images/ShowPortlet.png! icon to edit portal portlet layout.
- </para>
- <para>
- 5. Click!images/Savepage.png! icon to save changes.
- </para>
- <orderedlist id="orde-User_Guide-Edit_a_Portal-For_GateIn_Portal_2.6">
+ </informaltable> -->
+ <step>
+ <para>
+ Click!images/EditPage.png! icon to edit portal properties.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click!images/ShowContainer.png! icon to edit portal container layout.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click!images/ShowPortlet.png! icon to edit portal portlet layout.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click!images/Savepage.png! icon to save changes.
+ </para>
+ </step>
+ </procedure>
+ <!-- <orderedlist
id="orde-User_Guide-Edit_a_Portal-For_GateIn_Portal_2.6">
<title>For GateIn Portal 2.6</title>
<para>
You must have the edit right to change information of the current using portal:
@@ -198,57 +276,60 @@
6. Click the <emphasis role="bold">Save</emphasis> button to
accept changes or the <emphasis role="bold">Cancel</emphasis> button
to quit.
</para>
</listitem>
- </orderedlist>
+ </orderedlist> -->
</section>
<section id="sect-User_Guide-Manage_Portals-Delete_a_Portal">
<title>Delete a Portal</title>
<para>
- You can easily delete a portal by following these guides:
+ You can delete a portal by following these guides:
</para>
<para>
1. Go to <emphasis role="bold">GateIn Start</emphasis> ->
<emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Advanced</emphasis> --> <emphasis
role="bold">Manage Portals</emphasis>
</para>
- <para>
- +The 1^st^ way+:
- </para>
- <orderedlist>
- <listitem>
+ <procedure>
+ <title>Method One:</title>
+ <step>
<para>
- 1. Go to <emphasis role="bold">Administrator</emphasis> on the
Toolbar --> <emphasis role="bold">Manage Portals</emphasis>.
List of all portals will be shown.
+ Go to <emphasis role="bold">Administrator</emphasis> on the
Toolbar --> <emphasis role="bold">Manage Portals</emphasis>.
List of all portals will be shown.
</para>
- </listitem>
- <listitem>
+ </step>
+ <step>
<para>
- 2. Click the trash can !images/deleteIcon.png! icon in the row of the portal you
want to delete in the portal list.
+ Click the trash can !images/deleteIcon.png! icon in the row of the portal you want
to delete in the portal list.
</para>
- </listitem>
- <listitem>
+ </step>
+ <step>
<para>
- 3. Click the <emphasis role="bold">OK</emphasis> button in the
confirmation message to delete.
+ Click the <emphasis role="bold">OK</emphasis> button in the
confirmation message to delete.
</para>
- </listitem>
- </orderedlist>
- <para>
- +The 2^nd^ way+:
- </para>
- <orderedlist>
- <listitem>
+ </step>
+ </procedure>
+
+ <procedure>
+ <title>Method Two:</title>
+ <step>
<para>
- 1. Click on <emphasis role="bold">Site</emphasis> in the
Toolbar --> click on!images/DeletePortal2.6.png! .The confirmation message will
appear:
+ Click on <emphasis role="bold">Site</emphasis> in the Toolbar
+
</para>
+ </step>
+ <step>
+ <para>
+ Click on!images/DeletePortal2.6.png! .The confirmation message will appear:
+ </para>
+ </step>
+ <step>
+ <para>
+ Click <emphasis role="bold">OK</emphasis> to accept deleting a
portal or <emphasis role="bold">Cancel</emphasis> to quit without
deleting it.
+ </para>
<mediaobject>
<imageobject>
<imagedata fileref="images/SureDelete.png" format="PNG"
/>
</imageobject>
</mediaobject>
- </listitem>
- <listitem>
- <para>
- 2. Click <emphasis role="bold">OK</emphasis> to accept
deleting a portal or <emphasis role="bold">Cancel</emphasis> to quit
without deleting it.
- </para>
- </listitem>
- </orderedlist>
+ </step>
+ </procedure>
</section>
</section>
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Page_Creation_Wizard.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Page_Creation_Wizard.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/Page_Creation_Wizard.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -25,26 +25,20 @@
<para>
Only by following there simple steps can you create a page quickly by using a wizard
and publish this page on the Navigation bar:
</para>
- <para>
- 1. Go to <emphasis role="bold">GateIn Start</emphasis>
-><emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Basic</emphasis> --> <emphasis
role="bold">Create page wizard</emphasis>. <emphasis
role="bold">Welcome to Page Creation Wizard</emphasis> appears:
- </para>
- <para>
- For GateIn Portal 2.6
- </para>
- <orderedlist>
- <listitem>
+ <procedure>
+ <step>
<para>
- 1. Go to <emphasis role="bold">Editor</emphasis> -->
<emphasis role="bold">Add New Page</emphasis> on the Toolbar.
<emphasis role="bold">Create page wizard</emphasis>: <emphasis
role="bold">Welcome to Page Creation Wizard</emphasis> appears:
+ Go to <emphasis role="bold">GateIn Start</emphasis>
-><emphasis role="bold">Administration</emphasis> ->
<emphasis role="bold">Basic</emphasis> --> <emphasis
role="bold">Create page wizard</emphasis>. <emphasis
role="bold">Welcome to Page Creation Wizard</emphasis> appears:
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/Welcome.png" format="PNG"
width="444" />
</imageobject>
</mediaobject>
- </listitem>
- <listitem>
+ </step>
+ <step>
<para>
- 2. Click the <emphasis role="bold">Next</emphasis> button or
number '1' of the wizard steps in order to go to step 1. This step allows users to
set up page setting such as :the navigation path, the node name, the display name, etc.
+ Click the <emphasis role="bold">Next</emphasis> button or
number '1' of the wizard steps in order to go to step 1. This step allows users to
set up page setting such as :the navigation path, the node name, the display name, etc.
</para>
<mediaobject>
<imageobject>
@@ -54,27 +48,86 @@
<para>
There are two parts: the left pane is used to show a small description that will
guide you what to do in this step. And the main wizard includes two parts: the left pane
contains a list of navigations and shows the page list of each selected navigation, the
right pane displays main information of a page.
</para>
- </listitem>
- <listitem>
+ </step>
+ <step>
<para>
- 3. On the left of wizard: Click the combo box icon !images/ComboBox.png! to see the
navigations list. Select a navigation from the list that you want to create page. The
pages list of selected navigation are displayed.
+ On the left of wizard: Click the combo box icon !images/ComboBox.png! to see the
navigations list. Select a navigation from the list that you want to create page. The
pages list of selected navigation are displayed.
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/PageList.png" format="PNG" />
</imageobject>
</mediaobject>
- </listitem>
- <listitem>
+ </step>
+ <step>
<para>
- 4. Select a page from the above list or click on arrow up icon !images/ArrowIcon.png!
to add a page at root.
+ Select a page from the above list or click on arrow up icon !images/ArrowIcon.png! to
add a page at root.
</para>
<mediaobject>
<imageobject>
<imagedata fileref="images/Pagewizard1.png" format="PNG"
width="444" />
</imageobject>
</mediaobject>
- <informaltable colsep="0" frame="none"
rowsep="0">
+ <variablelist>
+ <varlistentry>
+ <term>Current Selected Page Node</term>
+ <listitem>
+ <para>
+ The path of the selected node to add a new sub page
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Node Name</term>
+ <listitem>
+ <para>
+ The node name of the added page. It is required field. This field must start with a
character and must have a length between 3 and 30 characters.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Display Name</term>
+ <listitem>
+ <para>
+ The display name of the node which contains the added page and must have a length
between 3 and 30 characters.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Visible</term>
+ <listitem>
+ <para>
+ This check box allows to hide this page. If not checked the page is under no
circumstances shown, even if the publication period is OK. If checked the page or the page
node appears on on the navigation bar, the page navigation and the site map. If
"visible" is checked the visibility can depend on the "publication date
& time" option.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Publication date &time</term>
+ <listitem>
+ <para>
+ This option allows publishing the page for a period of time. If this option is
checked the visibility of the page depends on the publication period start and end date.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Start Publication Date</term>
+ <listitem>
+ <para>
+ The start date and time to publish the page
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>End Publication Date</term>
+ <listitem>
+ <para>
+ The end date and time to publish the page.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <!-- <informaltable colsep="0" frame="none"
rowsep="0">
<tgroup cols="2">
<colspec align="center"></colspec>
<colspec align="center"></colspec>
@@ -145,17 +198,19 @@
</row>
</tbody>
</tgroup>
- </informaltable>
- <para>
- +<emphasis role="bold">Note:</emphasis>+You can set date and
time by clicking the <emphasis role="bold">Start Publication
Date</emphasis> field and <emphasis role="bold">End Publication
Date</emphasis> field and select a date in the calendar pop up
- </para>
+ </informaltable> -->
+ <note>
+ <para>
+ You can set date and time by clicking the <emphasis
role="bold">Start Publication Date</emphasis> field and <emphasis
role="bold">End Publication Date</emphasis> field and select a date in
the calendar pop up
+ </para>
+ </note>
<mediaobject>
<imageobject>
<imagedata fileref="images/Calendar.png" format="PNG" />
</imageobject>
</mediaobject>
- </listitem>
- <listitem>
+ </step>
+ <step>
<para>
5. Click <emphasis role="bold">Next</emphasis> or number
'2' of the wizard steps to go to step 2.
</para>
@@ -164,13 +219,13 @@
<imagedata fileref="images/PageWizard2.png" format="PNG"
width="444" />
</imageobject>
</mediaobject>
- </listitem>
- <listitem>
+ </step>
+ <step>
<para>
6. Select <emphasis role="bold">Empty Layout</emphasis> or
click the icon to see more templates to select.
</para>
- </listitem>
- <listitem>
+ </step>
+ <step>
<para>
7. Click the <emphasis role="bold">Next</emphasis> button or
number '3' of the wizard step to go to step 3. You can drag portlets on the left
pane and drop it on the right pane to constitute the content of this page.
</para>
@@ -179,6 +234,12 @@
<imagedata fileref="images/PageWizard3.png" format="PNG"
width="444" />
</imageobject>
</mediaobject>
+<warning>
+<title>These Images are not present</title>
+<para>
+ the images in the below table are not present in the raw document files.
+</para>
+</warning>
<informaltable colsep="0" frame="none"
rowsep="0">
<tgroup cols="2">
<colspec align="center"></colspec>
@@ -219,28 +280,14 @@
</tbody>
</tgroup>
</informaltable>
- </listitem>
- <listitem>
+ </step>
+ <step>
<para>
8. Click the <emphasis role="bold">Show Container</emphasis>
icon !images/ShowContainer.png! if you want to see the existing containers and re-select
the layout of the page. There will be a category list which contains specific containers
when clicking the icon.
</para>
- </listitem>
- </orderedlist>
+ </step>
+ </procedure>
<para>
- for GateIn Portal 2.6
- </para>
- <para>
- The step 2 of creating a page by wizard is the same as the above
- </para>
- <para>
- In the step 3, you can drag portlets from the Edit Inline Composer popup and drag it to
the constitute the content of this page
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Step32.6.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <para>
You can click on!images/Switch.png! to view the content of this page.
</para>
<para>
Modified:
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/User_Management.xml
===================================================================
---
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/User_Management.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/docs/user-guide/en/modules/portal/User_Management.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -7,7 +7,7 @@
Copyright (C) 2009 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
+ under the titles 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.
@@ -33,497 +33,404 @@
<imagedata fileref="images/UserManage.png" format="PNG"
width="444" />
</imageobject>
</mediaobject>
- <section>
- <title>Management processes:</title>
- <para>
- <itemizedlist>
- <listitem>
+
+ <section id="sect-User_Guide-User_Management-Manage_users">
+ <title>Manage users</title>
<para>
- <xref linkend="User_Guide-User_Management-Manage_users"/>
+ Select the <emphasis role="bold">User Management</emphasis>
tab in the <emphasis role="bold">Organization</emphasis> form. By
default, it will show all existing registered users. With <emphasis
role="bold">User Management</emphasis> , you can see all existing
registered users, and also search, edit, delete them. For each user, you can see his
groups and his memberships (roles) in these groups. You can not add users to a group but
you can remove them from the group.
</para>
- </listitem>
- <listitem>
- <para>
- <xref linkend="User_Guide-User_Management-Search_a_user"/>
- </para>
- </listitem>
- <listitem>
- <para>
- <xref linkend="User_Guide-User_Management-Edit_a_user"/>
- </para>
- </listitem>
- <listitem>
- <para>
- <xref linkend="User_Guide-User_Management-Delete_a_user"/>
- </para>
- </listitem>
- <listitem>
- <para>
- <xref linkend="User_Guide-User_Management-Manage_groups"/>
- </para>
- </listitem>
- <listitem>
- <para>
- <xref linkend="User_Guide-User_Management-Add_a_new_group"/>
- </para>
- </listitem>
- <listitem>
- <para>
- <xref linkend="User_Guide-User_Management-Edit-a-group"/>
- </para>
- </listitem>
- <listitem>
- <para>
- <xref
linkend="User_Guide-User_Management-Add_a_new_user_to_the_group"/>
- </para>
- </listitem>
- <listitem>
- <para>
- <xref
linkend="User_Guide-User_Management-Edit_the_user_membership_in_a_group"/>
- </para>
- </listitem>
- <listitem>
- <para>
- <xref linkend="User_Guide-User_Management-Delete_a_group"/>
- </para>
- </listitem>
- <listitem>
- <para>
- <xref linkend="User_Guide-User_Management-Manage_memberships"/>
- </para>
- </listitem>
- <listitem>
- <para>
- <xref
linkend="User_Guide-User_Management-Add_a_new_membership_type"/>
- </para>
- </listitem>
- <listitem>
- <para>
- <xref
linkend="User_Guide-User_Management-Edit_a_membership_type"/>
- </para>
- </listitem>
- <listitem>
- <para>
- <xref
linkend="sect-User_Guide-User_Management-Delete_a_membership_type"/>
- </para>
- </listitem>
- </itemizedlist>
+ </section>
+
+ <section id="sect-User_Guide-User_Management-Search_a_user">
+ <title>Search a user</title>
+ <para>
+ The Administrator can search users by user name, first name, last name or email
address.
</para>
+ <procedure>
+ <step>
+ <para>
+ Type the search title related to the user that you want to search. You do not need
to enter an exact title.
+ </para>
+ </step>
+ <step>
+ <para>
+ Select the field in which you would like to search
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/SearchUser.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Click the magnifying glass icon!images/SearchIcon.png! to perform searching. It
will return a searching result in form.
+ </para>
+ </step>
+ </procedure>
+ </section>
- <variablelist>
- <varlistentry id="User_Guide-User_Management-Manage_users">
- <term>Manage users</term>
- <listitem>
+ <section id="sect-User_Guide-User_Management-Edit_a_user">
+ <title>Edit a user</title>
+ <procedure>
+ <step>
<para>
- Select the <emphasis role="bold">User Management</emphasis>
tab in the <emphasis role="bold">Organization</emphasis> form. By
default, it will show all existing registered users. With <emphasis
role="bold">User Management</emphasis> , you can see all existing
registered users, and also search, edit, delete them. For each user, you can see his
groups and his memberships (roles) in these groups. You can not add users to a group but
you can remove them from the group.
+ Click the edit icon!images/EditIcon.png! corresponding to the user that you want
to edit.
</para>
- </listitem>
- </varlistentry>
- <varlistentry id="User_Guide-User_Management-Search_a_user">
- <term>Search a user</term>
- <listitem>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Demo1.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
<para>
- The Administrator can search users by user name, first name, last name or email
address.
+ Select the <emphasis role="bold">Account Info</emphasis> tab
to view and change the essential user information.
</para>
- <procedure>
- <step>
+ <itemizedlist>
+ <listitem>
<para>
- Type the search term related to the user that you want to search. You do not need
to enter an exact term.
+ The <emphasis role="bold">User Name</emphasis> field can
not be changed, other fields <emphasis role="bold">First
Name</emphasis> , <emphasis role="bold">Last Name</emphasis> ,
<emphasis role="bold">Email Address</emphasis> can be changed.
</para>
- </step>
- <step>
+ </listitem>
+ <listitem>
<para>
- Select the field in which you would like to search
+ The <emphasis role="bold">Change Password</emphasis> option
allows making a new password for this user when he/she forgets his/her password. When the
<emphasis role="bold">Change Password</emphasis> option is
unchecked, <emphasis role="bold">New Password</emphasis> and
<emphasis role="bold">Confirm Password</emphasis> are hidden.
Passwords must contain at least 6 characters (letters, numbers and punctuation marks).
</para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/SearchUser.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- </step>
- <step>
- <para>
- Click the magnifying glass icon!images/SearchIcon.png! to perform searching. It
will return a searching result in form.
- </para>
- </step>
- </procedure>
- </listitem>
- </varlistentry>
- <varlistentry id="User_Guide-User_Management-Edit_a_user">
- <term>Edit a user</term>
- <listitem>
- <procedure>
- <step>
- <para>
- Click the edit icon!images/EditIcon.png! corresponding to the user that you want
to edit.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Demo1.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- </step>
- <step>
- <para>
- Select the <emphasis role="bold">Account Info</emphasis>
tab to view and change the essential user information.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- The <emphasis role="bold">User Name</emphasis> field can
not be changed, other fields <emphasis role="bold">First
Name</emphasis> , <emphasis role="bold">Last Name</emphasis> ,
<emphasis role="bold">Email Address</emphasis> can be changed.
- </para>
- </listitem>
- <listitem>
- <para>
- The <emphasis role="bold">Change Password</emphasis>
option allows making a new password for this user when he/she forgets his/her password.
When the <emphasis role="bold">Change Password</emphasis> option is
unchecked, <emphasis role="bold">New Password</emphasis> and
<emphasis role="bold">Confirm Password</emphasis> are hidden.
Passwords must contain at least 6 characters (letters, numbers and punctuation marks).
- </para>
- </listitem>
- </itemizedlist>
- </step>
- <step>
- <para>
- Select the <emphasis role="bold">User Profile</emphasis>
tab to view and change profile information. The <emphasis
role="bold">Language</emphasis> field is used to set the display
language of that user.
- </para>
- </step>
- <step>
- <para>
- Select the <emphasis role="bold">User Membership</emphasis>
tab to see user's information in groups.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Demo3.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <itemizedlist>
- <listitem>
- <para>
- The <emphasis role="bold">User Membership</emphasis> tab
indicates to which group the selected user belongs. In the above figure, the user
"demo" is a member of two groups: "guests" and "users". The
parent group of both is "platform".
- </para>
- </listitem>
- <listitem>
- <para>
- To remove the user from a group, click the trash can
icon!images/DeleteIcon.png! on the row you want.
- </para>
- </listitem>
- </itemizedlist>
- </step>
- <step>
- <para>
- Click the <emphasis role="bold">Save</emphasis> button to
accept changes.
- </para>
- </step>
- </procedure>
- </listitem>
- </varlistentry>
- <varlistentry id="User_Guide-User_Management-Delete_a_user">
- <term>Delete a user</term>
- <listitem>
- <procedure>
- <step>
- <para>
- In the <emphasis role="bold">User Management</emphasis>
form: Click the trash can icon !images/DeleteIcon.png! corresponding to the user that you
want to delete.
- </para>
- </step>
- <step>
- <para>
- Click the <emphasis role="bold">OK</emphasis> button in the
confirmation message to confirm or the <emphasis
role="bold">Cancel</emphasis> button to quit without deleting
anything.
- </para>
- </step>
- </procedure>
- </listitem>
- </varlistentry>
- <varlistentry id="User_Guide-User_Management-Manage_groups">
- <term>Manage groups</term>
- <listitem>
+ </listitem>
+ </itemizedlist>
+ </step>
+ <step>
<para>
- Select the <emphasis role="bold">Group Management</emphasis>
tab in the <emphasis role="bold">Organization</emphasis> form.
+ Select the <emphasis role="bold">User Profile</emphasis> tab
to view and change profile information. The <emphasis
role="bold">Language</emphasis> field is used to set the display
language of that user.
</para>
+ </step>
+ <step>
<para>
- By default, all existing groups will be displayed on the left pane. This tab is
used to add new, edit or delete a group. The right pane shows information about the
selected group including information about the members in the specific group and a small
form to add a new user to a group.
+ Select the <emphasis role="bold">User Membership</emphasis>
tab to see user's information in groups.
</para>
<mediaobject>
<imageobject>
- <imagedata fileref="images/GroupManage.png" format="PNG"
width="444" />
+ <imagedata fileref="images/Demo3.png" format="PNG"
width="444" />
</imageobject>
</mediaobject>
- </listitem>
- </varlistentry>
- <varlistentry id="User_Guide-User_Management-Add_a_new_group">
- <term>Add a New Group</term>
- <listitem>
- <procedure>
- <step>
+ <itemizedlist>
+ <listitem>
<para>
- Choose the path to create a new group by selecting the groups from list on the
left pane or clicking the arrow icon !images/ArrowIcon.png! if you want to create a group
in a higher level. The selected path is displayed in the path bar.
+ The <emphasis role="bold">User Membership</emphasis> tab
indicates to which group the selected user belongs. In the above figure, the user
"demo" is a member of two groups: "guests" and "users". The
parent group of both is "platform".
</para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Admin1.png" format="PNG"
/>
- </imageobject>
- </mediaobject>
- </step>
- <step>
+ </listitem>
+ <listitem>
<para>
- Click the <emphasis role="bold">Add New Group</emphasis>
icon. The <emphasis role="bold">Add New Group</emphasis> form will
be displayed on the right pane:
+ To remove the user from a group, click the trash can icon!images/DeleteIcon.png!
on the row you want.
</para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/AddGroup.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- <informaltable colsep="0" frame="none"
rowsep="0">
- <tgroup cols="2">
- <colspec align="center"></colspec>
- <colspec align="center"></colspec>
- <tbody>
- <row>
- <entry>
- <emphasis role="bold"> Name </emphasis>
- </entry>
- <entry>
- <emphasis role="bold"> Description </emphasis>
- </entry>
- </row>
- <row>
- <entry>
- Group Name
- </entry>
- <entry>
- The name of the new group. This field is required and any length from 3 to 30
characters is allowed.
- </entry>
- </row>
- <row>
- <entry>
- Label
- </entry>
- <entry>
- The display name of the group. Any length from 3 to 30 characters is
allowed.
- </entry>
- </row>
- <row>
- <entry>
- Description
- </entry>
- <entry>
- The description about the group. Any length from 3 to 30 characters is
allowed.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </step>
- <step>
- <para>
- Fill in the required fields. Only alpha, digit and underscore characters are
allowed for the <emphasis role="bold">Group Name</emphasis> field
and it must be unique.
- </para>
- </step>
- <step>
- <para>
- Click the <emphasis role="bold">Save</emphasis> button to
accept entered values or the <emphasis role="bold">Cancel</emphasis>
button to quit.
- </para>
- </step>
- </procedure>
- </listitem>
- </varlistentry>
- <varlistentry id="User_Guide-User_Management-Edit-a-group">
- <term>Edit a group</term>
- <listitem>
- <procedure>
- <step>
- <para>
- Select the path to the group you want to edit by selecting the groups from list
on the left pane.
- </para>
- </step>
- <step>
- <para>
- Click the edit icon!images/EditIcon1.png! to show the <emphasis
role="bold">Edit Group</emphasis> form of the selected group. This form
is identical with the <emphasis role="bold">New Group</emphasis>
form.
- </para>
- </step>
- <step>
- <para>
- You can not change the Group Name. Make changes for a <emphasis
role="bold">Label</emphasis> or a <emphasis
role="bold">Description</emphasis> field and then click the
<emphasis role="bold">Save</emphasis> button to accept changes or
the <emphasis role="bold">Cancel</emphasis> button to cancel changes
and return to the <emphasis role="bold">Group Info</emphasis> form.
- </para>
- </step>
- </procedure>
- </listitem>
- </varlistentry>
- <varlistentry
id="User_Guide-User_Management-Add_a_new_user_to_the_group">
- <term>Add a new user to the group</term>
- <listitem>
- <procedure>
- <step>
- <para>
- Select the path to the group you want to edit by selecting the groups from the
list on the left pane. The Group's information is displayed including the user list
and a form which allows to add a new user.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/AddMember1.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- </step>
- <step>
- <para>
- Enter the exact user name of the user that you want to add to the selected group
or you can enter some characters if you are not sure about the exact spelling.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Click the magnifying glass icon!images/MagnifyIcon.png! to select users.
- </para>
- </listitem>
- <listitem>
- <para>
- After clicking the magnifying icon!images/MagnifyIcon.png! , there will be a
list of all existing users :
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/SelectUser.png" format="PNG"
width="444" />
- </imageobject>
- </mediaobject>
- </listitem>
- <listitem>
- <para>
- Select the check box of the user (s) that you would like to add to the group.
- </para>
- </listitem>
- <listitem>
- <para>
- After clicking the <emphasis role="bold">Add</emphasis>
button you will see the complete user name(s) in the <emphasis
role="bold">Add member</emphasis> form.
- </para>
- </listitem>
- </itemizedlist>
- </step>
- <step>
- <para>
- Select the membership for the user in a group from memberships list. The refresh
icon!images/RefreshIcon.png! can be used to update the memberships list in case there are
any changes.
- </para>
- </step>
- <step>
- <para>
- Click the <emphasis role="bold">Save</emphasis> button to
accept adding the selected user to a specific group with the selected membership type.
- </para>
- </step>
- </procedure>
- </listitem>
- </varlistentry>
- <varlistentry
id="User_Guide-User_Management-Edit_the_user_membership_in_a_group">
- <term>Edit the user membership in a group</term>
- <listitem>
- <procedure>
- <step>
- <para>
- Click the edit icon!images/EditIcon.png! corresponding to a specific user with a
membership in the <emphasis role="bold">Group Info</emphasis> table
to open the <emphasis role="bold">Edit Membership</emphasis> form :
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/EditMember1.png" format="PNG"
/>
- </imageobject>
- </mediaobject>
- </step>
- <step>
- <para>
- Change the membership of the selected user by selecting another value in the
<emphasis role="bold">Membership</emphasis> field.
- </para>
- </step>
- <step>
- <para>
- Complete editing the selected user by clicking the <emphasis
role="bold">Save</emphasis> button.
- </para>
- </step>
- </procedure>
- </listitem>
- </varlistentry>
- <varlistentry id="User_Guide-User_Management-Delete_a_group">
- <term>Delete a group</term>
- <listitem>
- <procedure>
- <step>
- <para>
- Select the path to the group you want to delete by selecting the groups from list
on the left pane.
- </para>
- </step>
- <step>
- <para>
- Click the trash can !images/DeleteIcon.png! icon in order to delete.
- </para>
- </step>
- <step>
- <para>
- Click the <emphasis role="bold">OK</emphasis> button on the
confirmation message to accept or the <emphasis
role="bold">Cancel</emphasis> button to quit without deleting.
- </para>
- </step>
- </procedure>
- </listitem>
- </varlistentry>
- <varlistentry id="User_Guide-User_Management-Manage_memberships">
- <term>Manage memberships</term>
- <listitem>
+ </listitem>
+ </itemizedlist>
+ </step>
+ <step>
<para>
- The roles of an user in the specific group are managed in <emphasis
role="bold">Membership Management</emphasis> form. Currently there are
three membership types: Manager, Member and Validator. By default, Manager has the highest
rights in a group. You can add new, edit or delete a membership type. Select the
<emphasis role="bold">Membership Management</emphasis> tab in the
<emphasis role="bold">Organization</emphasis> portlet. There will be
a membership type list and a form to add new/edit:
+ Click the <emphasis role="bold">Save</emphasis> button to
accept changes.
</para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/MembershipManage1.png"
format="PNG" width="444" />
- </imageobject>
- </mediaobject>
- </listitem>
- </varlistentry>
- <varlistentry
id="User_Guide-User_Management-Add_a_new_membership_type">
- <term>Add a new membership type</term>
- <listitem>
- <procedure>
- <step>
- <para>
- In the <emphasis role="bold">Add/Edit Membership</emphasis>
form at the bottom, the input value for the membership name field (required) and the
description field (optional). Only letters, digits, dots, dashes and underscores are
allowed for the membership name.
- </para>
- </step>
- <step>
- <para>
- Click the <emphasis role="bold">Save</emphasis> button to
accept adding the new membership or click <emphasis
role="bold">Reset</emphasis> button to clear the entered values.
- </para>
- </step>
- </procedure>
- </listitem>
- </varlistentry>
- <varlistentry id="User_Guide-User_Management-Edit_a_membership_type">
- <term>Edit a membership type</term>
- <listitem>
- <procedure>
- <step>
- <para>
- Click the edit icon!images/EditIcon.png! in the row of the membership type you
want to edit. The selected Membership type information is displayed in the Add/Edit
Membership form.
- </para>
- </step>
- <step>
- <para>
- Make changes in this form.
- </para>
- </step>
- <step>
- <para>
- Click <emphasis role="bold">Save</emphasis> to accept
changes.
- </para>
- </step>
- </procedure>
- </listitem>
- </varlistentry>
- <varlistentry
id="sect-User_Guide-User_Management-Delete_a_membership_type">
- <term>Delete a membership type</term>
- <listitem>
- <procedure>
- <step>
- <para>
- Click the trash can icon in the row of the membership type that you want to
delete.
- </para>
- </step>
- <step>
- <para>
- Click the <emphasis role="bold">OK</emphasis> button in the
confirmation message to accept the deletion.
- </para>
- </step>
- </procedure>
- </listitem>
- </varlistentry>
- </variablelist>
+ </step>
+ </procedure>
</section>
+
+ <section id="sect-User_Guide-User_Management-Delete_a_user">
+ <title>Delete a user</title>
+ <procedure>
+ <step>
+ <para>
+ In the <emphasis role="bold">User Management</emphasis> form:
Click the trash can icon !images/DeleteIcon.png! corresponding to the user that you want
to delete.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">OK</emphasis> button in the
confirmation message to confirm or the <emphasis
role="bold">Cancel</emphasis> button to quit without deleting
anything.
+ </para>
+ </step>
+ </procedure>
+ </section>
+
+ <section id="sect-User_Guide-User_Management-Manage_groups">
+ <title>Manage groups</title>
+ <para>
+ Select the <emphasis role="bold">Group Management</emphasis>
tab in the <emphasis role="bold">Organization</emphasis> form.
+ </para>
+ <para>
+ By default, all existing groups will be displayed on the left pane. This tab is used
to add new, edit or delete a group. The right pane shows information about the selected
group including information about the members in the specific group and a small form to
add a new user to a group.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/GroupManage.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </section>
+
+ <section id="sect-User_Guide-User_Management-Add_a_new_group">
+ <title>Add a New Group</title>
+ <procedure>
+ <step>
+ <para>
+ Choose the path to create a new group by selecting the groups from list on the
left pane or clicking the arrow icon !images/ArrowIcon.png! if you want to create a group
in a higher level. The selected path is displayed in the path bar.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Admin1.png" format="PNG" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Add New Group</emphasis>
icon. The <emphasis role="bold">Add New Group</emphasis> form will
be displayed on the right pane:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/AddGroup.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ <informaltable colsep="0" frame="none"
rowsep="0">
+ <tgroup cols="2">
+ <colspec align="center"></colspec>
+ <colspec align="center"></colspec>
+ <tbody>
+ <row>
+ <entry>
+ <emphasis role="bold"> Name </emphasis>
+ </entry>
+ <entry>
+ <emphasis role="bold"> Description </emphasis>
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Group Name
+ </entry>
+ <entry>
+ The name of the new group. This field is required and any length from 3 to 30
characters is allowed.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Label
+ </entry>
+ <entry>
+ The display name of the group. Any length from 3 to 30 characters is allowed.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ Description
+ </entry>
+ <entry>
+ The description about the group. Any length from 3 to 30 characters is
allowed.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </step>
+ <step>
+ <para>
+ Fill in the required fields. Only alpha, digit and underscore characters are
allowed for the <emphasis role="bold">Group Name</emphasis> field
and it must be unique.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Save</emphasis> button to
accept entered values or the <emphasis role="bold">Cancel</emphasis>
button to quit.
+ </para>
+ </step>
+ </procedure>
+ </section>
+
+ <section id="sect-User_Guide-User_Management-Edit-a-group">
+ <title>Edit a group</title>
+ <procedure>
+ <step>
+ <para>
+ Select the path to the group you want to edit by selecting the groups from list on
the left pane.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the edit icon!images/EditIcon1.png! to show the <emphasis
role="bold">Edit Group</emphasis> form of the selected group. This form
is identical with the <emphasis role="bold">New Group</emphasis>
form.
+ </para>
+ </step>
+ <step>
+ <para>
+ You can not change the Group Name. Make changes for a <emphasis
role="bold">Label</emphasis> or a <emphasis
role="bold">Description</emphasis> field and then click the
<emphasis role="bold">Save</emphasis> button to accept changes or
the <emphasis role="bold">Cancel</emphasis> button to cancel changes
and return to the <emphasis role="bold">Group Info</emphasis> form.
+ </para>
+ </step>
+ </procedure>
+ </section>
+
+ <section
id="sect-User_Guide-User_Management-Add_a_new_user_to_the_group">
+ <title>Add a new user to the group</title>
+ <procedure>
+ <step>
+ <para>
+ Select the path to the group you want to edit by selecting the groups from the
list on the left pane. The Group's information is displayed including the user list
and a form which allows to add a new user.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/AddMember1.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Enter the exact user name of the user that you want to add to the selected group
or you can enter some characters if you are not sure about the exact spelling.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Click the magnifying glass icon!images/MagnifyIcon.png! to select users.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ After clicking the magnifying icon!images/MagnifyIcon.png! , there will be a
list of all existing users :
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/SelectUser.png" format="PNG"
width="444" />
+ </imageobject>
+ </mediaobject>
+ </listitem>
+ <listitem>
+ <para>
+ Select the check box of the user (s) that you would like to add to the group.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ After clicking the <emphasis role="bold">Add</emphasis>
button you will see the complete user name(s) in the <emphasis
role="bold">Add member</emphasis> form.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </step>
+ <step>
+ <para>
+ Select the membership for the user in a group from memberships list. The refresh
icon!images/RefreshIcon.png! can be used to update the memberships list in case there are
any changes.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Save</emphasis> button to
accept adding the selected user to a specific group with the selected membership type.
+ </para>
+ </step>
+ </procedure>
+ </section>
+
+ <section
id="sect-User_Guide-User_Management-Edit_the_user_membership_in_a_group">
+ <title>Edit the user membership in a group</title>
+ <procedure>
+ <step>
+ <para>
+ Click the edit icon!images/EditIcon.png! corresponding to a specific user with a
membership in the <emphasis role="bold">Group Info</emphasis> table
to open the <emphasis role="bold">Edit Membership</emphasis> form :
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/EditMember1.png" format="PNG"
/>
+ </imageobject>
+ </mediaobject>
+ </step>
+ <step>
+ <para>
+ Change the membership of the selected user by selecting another value in the
<emphasis role="bold">Membership</emphasis> field.
+ </para>
+ </step>
+ <step>
+ <para>
+ Complete editing the selected user by clicking the <emphasis
role="bold">Save</emphasis> button.
+ </para>
+ </step>
+ </procedure>
+ </section>
+
+ <section id="sect-User_Guide-User_Management-Delete_a_group">
+ <title>Delete a group</title>
+ <procedure>
+ <step>
+ <para>
+ Select the path to the group you want to delete by selecting the groups from list
on the left pane.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the trash can !images/DeleteIcon.png! icon in order to delete.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">OK</emphasis> button on the
confirmation message to accept or the <emphasis
role="bold">Cancel</emphasis> button to quit without deleting.
+ </para>
+ </step>
+ </procedure>
+ </section>
+
+ <section id="sect-User_Guide-User_Management-Manage_memberships">
+ <title>Manage memberships</title>
+ <para>
+ The roles of an user in the specific group are managed in <emphasis
role="bold">Membership Management</emphasis> form. Currently there are
three membership types: Manager, Member and Validator. By default, Manager has the highest
rights in a group. You can add new, edit or delete a membership type. Select the
<emphasis role="bold">Membership Management</emphasis> tab in the
<emphasis role="bold">Organization</emphasis> portlet. There will be
a membership type list and a form to add new/edit:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/MembershipManage1.png"
format="PNG" width="444" />
+ </imageobject>
+ </mediaobject>
+ </section>
+
+ <section
id="sect-User_Guide-User_Management-Add_a_new_membership_type">
+ <title>Add a new membership type</title>
+ <procedure>
+ <step>
+ <para>
+ In the <emphasis role="bold">Add/Edit Membership</emphasis>
form at the bottom, the input value for the membership name field (required) and the
description field (optional). Only letters, digits, dots, dashes and underscores are
allowed for the membership name.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">Save</emphasis> button to
accept adding the new membership or click <emphasis
role="bold">Reset</emphasis> button to clear the entered values.
+ </para>
+ </step>
+ </procedure>
+ </section>
+
+ <section id="sect-User_Guide-User_Management-Edit_a_membership_type">
+ <title>Edit a membership type</title>
+ <procedure>
+ <step>
+ <para>
+ Click the edit icon!images/EditIcon.png! in the row of the membership type you
want to edit. The selected Membership type information is displayed in the Add/Edit
Membership form.
+ </para>
+ </step>
+ <step>
+ <para>
+ Make changes in this form.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click <emphasis role="bold">Save</emphasis> to accept
changes.
+ </para>
+ </step>
+ </procedure>
+ </section>
+
+ <section
id="sect-User_Guide-User_Management-Delete_a_membership_type">
+ <title>Delete a membership type</title>
+ <procedure>
+ <step>
+ <para>
+ Click the trash can icon in the row of the membership type that you want to
delete.
+ </para>
+ </step>
+ <step>
+ <para>
+ Click the <emphasis role="bold">OK</emphasis> button in the
confirmation message to accept the deletion.
+ </para>
+ </step>
+ </procedure>
+ </section>
+
</section>
Modified:
portal/branches/wsrp-integration/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoContainerConfig.java
===================================================================
---
portal/branches/wsrp-integration/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoContainerConfig.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoContainerConfig.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -57,7 +57,8 @@
* @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
* @version $Revision$
*/
-public class ExoContainerConfig extends JsonContainerConfig
+public class
+ ExoContainerConfig extends JsonContainerConfig
{
/** . */
Modified: portal/branches/wsrp-integration/pom.xml
===================================================================
--- portal/branches/wsrp-integration/pom.xml 2009-12-17 09:19:54 UTC (rev 1041)
+++ portal/branches/wsrp-integration/pom.xml 2009-12-17 12:09:12 UTC (rev 1042)
@@ -37,10 +37,10 @@
<name>GateIn - Portal</name>
<properties>
-
<org.exoplatform.kernel.version>2.2.0-Beta04</org.exoplatform.kernel.version>
-
<org.exoplatform.core.version>2.3.0-Beta04</org.exoplatform.core.version>
- <org.exoplatform.ws.version>2.1.0-Beta04</org.exoplatform.ws.version>
-
<org.exoplatform.jcr.version>1.12.0-Beta04</org.exoplatform.jcr.version>
+
<org.exoplatform.kernel.version>2.2.0-Beta05</org.exoplatform.kernel.version>
+
<org.exoplatform.core.version>2.3.0-Beta05</org.exoplatform.core.version>
+ <org.exoplatform.ws.version>2.1.0-Beta05</org.exoplatform.ws.version>
+
<org.exoplatform.jcr.version>1.12.0-Beta05</org.exoplatform.jcr.version>
<org.jibx.version>1.2.1</org.jibx.version>
<org.shindig.version>SNAPSHOT-r790473</org.shindig.version>
<org.gatein.common.version>2.0.0-CR02</org.gatein.common.version>
@@ -53,7 +53,7 @@
<rhino.version>1.6R5</rhino.version>
<org.codehaus.groovy.version>1.6.5</org.codehaus.groovy.version>
<javax.servlet.version>2.5</javax.servlet.version>
- <version.chromattic>1.0.0-beta10</version.chromattic>
+ <version.chromattic>1.0.0-beta11</version.chromattic>
<version.reflect>1.0.0-beta4</version.reflect>
<!-- ************** -->
Modified:
portal/branches/wsrp-integration/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java
===================================================================
---
portal/branches/wsrp-integration/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/portlet/exoadmin/src/main/java/org/exoplatform/account/webui/component/UIRegisterForm.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -19,9 +19,6 @@
package org.exoplatform.account.webui.component;
-import java.util.ArrayList;
-import java.util.List;
-
import org.exoplatform.services.organization.OrganizationService;
import org.exoplatform.services.organization.UserHandler;
import org.exoplatform.web.application.ApplicationMessage;
@@ -40,6 +37,9 @@
import org.exoplatform.webui.form.UIFormInputWithActions.ActionData;
import org.exoplatform.webui.form.validator.MandatoryValidator;
+import java.util.ArrayList;
+import java.util.List;
+
/**
*
* @author <a href="mailto:hoang281283@gmail.com">Minh Hoang
TO</a>
@@ -122,13 +122,17 @@
}
String typedUsername = userNameInput.getValue();
+ WebuiRequestContext context = WebuiRequestContext.getCurrentInstance();
+ UIApplication uiApp = context.getUIApplication();
if (usernameIsUsed(typedUsername, orgService))
{
- WebuiRequestContext context = WebuiRequestContext.getCurrentInstance();
- UIApplication uiApp = context.getUIApplication();
-
- uiApp.addMessage(new
ApplicationMessage("UIAccountInputSet.msg.user-exist", new
String[]{typedUsername}));
+ uiApp.addMessage(new
ApplicationMessage("UIAccountInputSet.msg.user-exist", new
String[]{typedUsername},
+ ApplicationMessage.WARNING));
}
+ else
+ {
+ uiApp.addMessage(new
ApplicationMessage("UIAccountInputSet.msg.user-not-exist", new
String[]{typedUsername}));
+ }
}
private boolean usernameIsUsed(String username, OrganizationService orgService)
Modified:
portal/branches/wsrp-integration/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_en.properties
===================================================================
---
portal/branches/wsrp-integration/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_en.properties 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_en.properties 2009-12-17
12:09:12 UTC (rev 1042)
@@ -19,3 +19,4 @@
UIRegisterForm.registerWithSuccess.message=You have successfully registered a new
account!
UIRegisterForm.title=Register New Account
+UIRegisterForm.label.action.CheckUsernameAvailability=Search User
Modified:
portal/branches/wsrp-integration/web/eXoResources/src/main/webapp/javascript/eXo/core/UIMaskLayer.js
===================================================================
---
portal/branches/wsrp-integration/web/eXoResources/src/main/webapp/javascript/eXo/core/UIMaskLayer.js 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/web/eXoResources/src/main/webapp/javascript/eXo/core/UIMaskLayer.js 2009-12-17
12:09:12 UTC (rev 1042)
@@ -126,8 +126,8 @@
maskLayer.className = "MaskLayer" ;
maskLayer.id = "MaskLayer" ;
maskLayer.maxZIndex = 4; //3 ;
- maskLayer.style.width = "100%" ;
- maskLayer.style.height = "100%" ;
+ maskLayer.style.width = eXo.core.Browser.getBrowserWidth();
+ maskLayer.style.height = eXo.core.Browser.getBrowserHeight();
maskLayer.style.top = "0px" ;
maskLayer.style.left = "0px" ;
maskLayer.style.zIndex = maskLayer.maxZIndex ;
Modified:
portal/branches/wsrp-integration/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/customization/UIPageSelector/Stylesheet.css
===================================================================
---
portal/branches/wsrp-integration/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/customization/UIPageSelector/Stylesheet.css 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/web/eXoResources/src/main/webapp/skin/DefaultSkin/portal/webui/component/customization/UIPageSelector/Stylesheet.css 2009-12-17
12:09:12 UTC (rev 1042)
@@ -70,21 +70,6 @@
margin-top: 2px;
}
-.UIPageSelector .UIFormInfo .PropertyName {
- float: left; /* orientation=lt */
- float: right; /* orientation=rt */
- width: 100px;
- text-align: right; /* orientation=lt */
- text-align: left; /* orientation=rt */
- padding: 4px 10px 4px 0px; /* orientation=lt */
- padding: 4px 0px 4px 10px; /* orientation=rt */
-}
-
-.UIPageSelector .UIFormInfo .PropertyValue {
- color: #3176e3;
- padding: 4px;
-}
-
.UIPageSelector .FloatBlockHidden {
filter: alpha(opacity=30); -moz-opacity: .30; opacity: .30;
cursor: default;
Modified:
portal/branches/wsrp-integration/web/portal/src/main/webapp/WEB-INF/conf/organization/organization-configuration.xml
===================================================================
---
portal/branches/wsrp-integration/web/portal/src/main/webapp/WEB-INF/conf/organization/organization-configuration.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/web/portal/src/main/webapp/WEB-INF/conf/organization/organization-configuration.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -311,6 +311,7 @@
<type>org.exoplatform.portal.config.GroupPortalConfigListener</type>
</component-plugin>
+<!--
<component-plugin>
<name>ecm.new.user.event.listener</name>
<set-method>addListenerPlugin</set-method>
@@ -359,5 +360,6 @@
</object-param>
</init-params>
</component-plugin>
+-->
</external-component-plugins>
</configuration>
Modified:
portal/branches/wsrp-integration/web/portal/src/main/webapp/WEB-INF/webui-configuration.xml
===================================================================
---
portal/branches/wsrp-integration/web/portal/src/main/webapp/WEB-INF/webui-configuration.xml 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/web/portal/src/main/webapp/WEB-INF/webui-configuration.xml 2009-12-17
12:09:12 UTC (rev 1042)
@@ -32,7 +32,6 @@
<state-manager>org.exoplatform.portal.application.PortalStateManager</state-manager>
<application-lifecycle-listeners>
-
<listener>org.exoplatform.portal.application.MOPSessionLifeCycle</listener>
<listener>org.exoplatform.portal.application.PortalStatisticLifecycle</listener>
<listener>org.exoplatform.portal.application.PortalApplicationLifecycle</listener>
<listener>org.exoplatform.webui.application.MonitorApplicationLifecycle</listener>
Modified:
portal/branches/wsrp-integration/web/portal/src/main/webapp/groovy/portal/webui/page/UIPageCreateDescription.gtmpl
===================================================================
---
portal/branches/wsrp-integration/web/portal/src/main/webapp/groovy/portal/webui/page/UIPageCreateDescription.gtmpl 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/web/portal/src/main/webapp/groovy/portal/webui/page/UIPageCreateDescription.gtmpl 2009-12-17
12:09:12 UTC (rev 1042)
@@ -1,5 +1,3 @@
-<% import org.exoplatform.webui.core.UIDescription; %>
-
<div class="TopTitleBar">
<div class="DecoratorBox">
<div class="BarDecorator">
Modified:
portal/branches/wsrp-integration/web/portal/src/main/webapp/groovy/portal/webui/page/UIPageSelector2.gtmpl
===================================================================
---
portal/branches/wsrp-integration/web/portal/src/main/webapp/groovy/portal/webui/page/UIPageSelector2.gtmpl 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/web/portal/src/main/webapp/groovy/portal/webui/page/UIPageSelector2.gtmpl 2009-12-17
12:09:12 UTC (rev 1042)
@@ -27,7 +27,7 @@
UIFormInputSet uiform = uicomponent.getChild(UIFormInputSet.class);
%>
-<div class="UIPageSelector" id="<%=uicomponent.getId();%>"
>
+<div class="UIPageSelector"
id="<%=uicomponent.getId();%>">
<div class="PageSelectorTitle">
<div class="Icon
BlueInfoBox16x16Icon"><span></span></div>
<div
class="Title"><%=_ctx.appRes(uicomponent.getId()+".label.currentSelectedPage")%></div>
@@ -35,37 +35,37 @@
</div>
<div class="UIFormInfo">
<div class="FormInfoBG">
- <div class="FormInfoIcon">
- <div class="UIPropertyInfo">
- <div class="OverflowContainer">
- <div
class="PropertyName"><%=_ctx.appRes(uicomponent.getId()+".header.id")%>:</div>
- <div class="PropertyValue">
+ <div class="FormInfoIcon UIForm">
+ <table class="UIPropertyInfo UIFormGrid">
+ <tr>
+ <td
class="FieldLabel"><%=_ctx.appRes(uicomponent.getId()+".header.id")%>:</td>
+ <td class="FieldComponent">
<% if(page != null) { %>
$pageId
<% } %>
- </div>
- </div>
- <div class="OverflowContainer">
- <div
class="PropertyName"><%=_ctx.appRes(uicomponent.getId()+".label.name")%>:</div>
- <div class="PropertyValue">
+ </td>
+ </tr>
+ <tr>
+ <td
class="FieldLabel"><%=_ctx.appRes(uicomponent.getId()+".label.name")%>:</td>
+ <td class="FieldComponent">
<% if(page == null) { %>
<% uiform.renderChild("pageName");%>
<% } else { %>
$name
<% } %>
- </div>
- </div>
- <div class="OverflowContainer">
- <div
class="PropertyName"><%=_ctx.appRes(uicomponent.getId()+".label.title")%>:</div>
- <div class="PropertyValue">
+ </td>
+ </tr>
+ <tr>
+ <td
class="FieldLabel"><%=_ctx.appRes(uicomponent.getId()+".label.title")%>:</td>
+ <td class="FieldComponent">
<% if(page == null) { %>
<% uiform.renderChild("pageTitle");%>
<% } else { %>
$title
<% } %>
- </div>
- </div>
- </div>
+ </td>
+ </tr>
+ </table>
</div>
</div>
</div>
Modified:
portal/branches/wsrp-integration/web/portal/src/main/webapp/templates/skin/webui/component/UIHomePagePortlet/DefaultStylesheet.css
===================================================================
---
portal/branches/wsrp-integration/web/portal/src/main/webapp/templates/skin/webui/component/UIHomePagePortlet/DefaultStylesheet.css 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/web/portal/src/main/webapp/templates/skin/webui/component/UIHomePagePortlet/DefaultStylesheet.css 2009-12-17
12:09:12 UTC (rev 1042)
@@ -58,7 +58,6 @@
margin: 7px auto;
}
-
.UIHomePagePortlet .TRContainer .VersionIcon {
background: url("DefaultSkin/background/HomePagePortlet.gif") no-repeat left
-978px;
height: 65px;
@@ -181,11 +180,10 @@
.UIHomePagePortlet .HomePortletContent .AccountBlock {
height: 105px;
- width: 118px;
+ width: 160px;
float: left; /* orientation=lt */
float: right; /* orientation=rt */
- padding: 0px 42px 0px 0px; /* orientation=lt */
- padding: 0px 0px 0px 42px; /* orientation=rt */
+ text-align: right; /* orientation=rt */
}
.UIHomePagePortlet .HomePortletContent .AdministratorUser {
Modified:
portal/branches/wsrp-integration/webui/core/src/main/java/org/exoplatform/webui/application/portlet/PortletRequestContext.java
===================================================================
---
portal/branches/wsrp-integration/webui/core/src/main/java/org/exoplatform/webui/application/portlet/PortletRequestContext.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/webui/core/src/main/java/org/exoplatform/webui/application/portlet/PortletRequestContext.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -151,6 +151,11 @@
{
return writer_;
}
+
+ public void setWriter(Writer writer)
+ {
+ this.writer_ = writer;
+ }
final public boolean useAjax()
{
Deleted:
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/application/MOPSessionLifeCycle.java
===================================================================
---
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/application/MOPSessionLifeCycle.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/application/MOPSessionLifeCycle.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -1,62 +0,0 @@
-/**
- * Copyright (C) 2009 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.application;
-
-import org.exoplatform.commons.chromattic.ChromatticManager;
-import org.exoplatform.container.ExoContainer;
-import org.exoplatform.web.application.Application;
-import org.exoplatform.web.application.ApplicationLifecycle;
-import org.exoplatform.webui.application.WebuiRequestContext;
-
-/**
- * @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
- * @version $Revision$
- */
-public class MOPSessionLifeCycle implements
ApplicationLifecycle<WebuiRequestContext>
-{
-
- /** . */
- private final ThreadLocal<ChromatticManager> currentMgr = new
ThreadLocal<ChromatticManager>();
-
- public void onInit(Application app) throws Exception
- {
- }
-
- public void onStartRequest(Application app, WebuiRequestContext context) throws
Exception
- {
- ExoContainer container =
context.getApplication().getApplicationServiceContainer();
- ChromatticManager mgr =
(ChromatticManager)container.getComponentInstanceOfType(ChromatticManager.class);
- mgr.beginRequest();
- currentMgr.set(mgr);
- }
-
- public void onEndRequest(Application app, WebuiRequestContext context) throws
Exception
- {
- ChromatticManager mgr = currentMgr.get();
- currentMgr.remove();
-
- // Need to see if saving untouched session has an impact or not on performances
- mgr.endRequest(true);
- }
-
- public void onDestroy(Application app) throws Exception
- {
- }
-}
Modified:
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortlet.java
===================================================================
---
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortlet.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortlet.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -751,7 +751,7 @@
invocation.setUserContext(new ExoUserContext(servletRequest, userProfile));
invocation.setWindowContext(new ExoWindowContext(storageName));
invocation.setPortalContext(new AbstractPortalContext(Collections.singletonMap(
- "javax.portlet.markup.head.element.support", "true")));
+ "javax.portlet.markup.head.element.support", "false")));
invocation.setSecurityContext(new AbstractSecurityContext(servletRequest));
//
Modified:
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java
===================================================================
---
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletLifecycle.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -43,8 +43,6 @@
import java.io.Serializable;
import java.nio.charset.Charset;
-import java.util.HashMap;
-import java.util.Map;
import javax.portlet.PortletMode;
import javax.portlet.WindowState;
@@ -176,36 +174,38 @@
PortletInvocationResponse response =
uicomponent.invoke(renderInvocation);
if (response instanceof FragmentResponse)
{
- FragmentResponse fragmentResponse = (FragmentResponse)response;
- switch (fragmentResponse.getType())
- {
- case FragmentResponse.TYPE_CHARS:
- markup = Text.create(fragmentResponse.getContent());
- break;
- case FragmentResponse.TYPE_BYTES:
- markup = Text.create(fragmentResponse.getBytes(),
Charset.forName("UTF-8"));
- break;
- case FragmentResponse.TYPE_EMPTY:
- markup = Text.create("");
- break;
- }
- portletTitle = fragmentResponse.getTitle();
- if (fragmentResponse.getProperties() != null
- && fragmentResponse.getProperties().getTransportHeaders()
!= null)
- {
- MultiValuedPropertyMap<String> transportHeaders =
- fragmentResponse.getProperties().getTransportHeaders();
- Map<String, String> headers = new HashMap<String,
String>();
+ FragmentResponse fragmentResponse = (FragmentResponse)response;
+ switch (fragmentResponse.getType())
+ {
+ case FragmentResponse.TYPE_CHARS:
+ markup = Text.create(fragmentResponse.getContent());
+ break;
+ case FragmentResponse.TYPE_BYTES:
+ markup = Text.create(fragmentResponse.getBytes(),
Charset.forName("UTF-8"));
+ break;
+ case FragmentResponse.TYPE_EMPTY:
+ markup = Text.create("");
+ break;
+ }
+ portletTitle = fragmentResponse.getTitle();
- for (String key : transportHeaders.keySet())
- {
- for (String value : transportHeaders.getValues(key))
- {
- headers.put(key, value);
- }
- }
- prcontext.setHeaders(headers);
- }
+ // setup portlet properties
+ if (fragmentResponse.getProperties() != null)
+ {
+ //setup transport headers
+ if (fragmentResponse.getProperties().getTransportHeaders() != null)
+ {
+ MultiValuedPropertyMap<String> transportHeaders =
+ fragmentResponse.getProperties().getTransportHeaders();
+ for (String key : transportHeaders.keySet())
+ {
+ for (String value : transportHeaders.getValues(key))
+ {
+ prcontext.getResponse().setHeader(key, value);
+ }
+ }
+ }
+ }
}
else
Modified:
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageCreationWizard.java
===================================================================
---
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageCreationWizard.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageCreationWizard.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -89,7 +89,7 @@
UIPagePreview uiPagePreview = getChild(UIPagePreview.class);
UIPage uiPage = (UIPage)uiPagePreview.getUIComponent();
UIPortal uiPortal = Util.getUIPortal();
- if (PortalConfig.PORTAL_TYPE.equals(uiPage.getOwnerType()))
+ /*if (PortalConfig.PORTAL_TYPE.equals(uiPage.getOwnerType()))
{
uiPage.setAccessPermissions(uiPortal.getAccessPermissions());
uiPage.setEditPermission(uiPortal.getEditPermission());
@@ -102,7 +102,7 @@
uiPage.setAccessPermissions(new String[]{"*:" + ownerId});
uiPage.setEditPermission(acl.getMakableMT() + ":" + ownerId);
}
-
+ */
UIWizardPageSetInfo uiPageInfo = getChild(UIWizardPageSetInfo.class);
UIPageNodeSelector uiNodeSelector = uiPageInfo.getChild(UIPageNodeSelector.class);
PageNode selectedNode = uiNodeSelector.getSelectedPageNode();
@@ -261,16 +261,19 @@
private void setDefaultPermission(Page page, String ownerType, String ownerId)
{
+ UIPortal uiPortal = Util.getUIPortal();
if (PortalConfig.PORTAL_TYPE.equals(ownerType))
{
- page.setAccessPermissions(new String[]{"Everyone"});
- page.setEditPermission("manager:/platform/administrators");
+ page.setAccessPermissions(uiPortal.getAccessPermissions());
+ page.setEditPermission(uiPortal.getEditPermission());
}
else if (PortalConfig.GROUP_TYPE.equals(ownerType))
{
+ UserACL acl =
Util.getUIPortalApplication().getApplicationComponent(UserACL.class);
+ ownerId = ownerId.startsWith("/") ? ownerId : "/" +
ownerId;
page.setAccessPermissions(new String[]{"*:" + ownerId});
- page.setEditPermission("manager:" + ownerId);
- }
+ page.setEditPermission(acl.getMakableMT() + ":" + ownerId);
+ }
}
public void execute(Event<UIPageCreationWizard> event) throws Exception
Modified:
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageForm.java
===================================================================
---
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageForm.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageForm.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -445,13 +445,13 @@
public void execute(Event<UIGroupMembershipSelector> event) throws Exception
{
UIPageForm uiForm = event.getSource().getAncestorOfType(UIPageForm.class);
- if
(!uiForm.getUIStringInput(OWNER_TYPE).getValue().equals(PortalConfig.GROUP_TYPE))
+ /*if
(!uiForm.getUIStringInput(OWNER_TYPE).getValue().equals(PortalConfig.GROUP_TYPE))
return;
String editPer =
uiForm.findFirstComponentOfType(UIPermissionSelector.class).getValue();
if (editPer == null || editPer.length() < 1)
return;
String group = editPer.substring(editPer.indexOf("/") + 1);
- uiForm.ownerIdInput.setValue(group);
+ uiForm.ownerIdInput.setValue(group);*/
event.getRequestContext().addUIComponentToUpdateByAjax(uiForm.getParent());
}
}
Modified:
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageNodeForm2.java
===================================================================
---
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageNodeForm2.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/page/UIPageNodeForm2.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -27,7 +27,9 @@
import org.exoplatform.portal.config.model.Page;
import org.exoplatform.portal.config.model.PageNavigation;
import org.exoplatform.portal.config.model.PageNode;
+import org.exoplatform.portal.config.model.PortalConfig;
import org.exoplatform.portal.webui.navigation.PageNavigationUtils;
+import org.exoplatform.portal.webui.portal.UIPortal;
import org.exoplatform.portal.webui.util.Util;
import org.exoplatform.portal.webui.workspace.UIPortalApplication;
import org.exoplatform.web.application.ApplicationMessage;
@@ -376,8 +378,16 @@
String[] accessPermission = new String[1];
accessPermission[0] = "*:" + ownerId;
String editPermission = userACL.getMakableMT() + ":" + ownerId;
+
+ if (PortalConfig.PORTAL_TYPE.equals(uiForm.getOwnerType()))
+ {
+ UIPortal uiPortal = Util.getUIPortal();
+ accessPermission = uiPortal.getAccessPermissions();
+ editPermission = uiPortal.getEditPermission();
+ }
+
+
UIFormStringInput uiPageName = uiInputSet.getChildById("pageName");
-
UIFormStringInput uiPageTitle = uiInputSet.getChildById("pageTitle");
Page page = new Page();
Modified:
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortal.java
===================================================================
---
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortal.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortal.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -274,7 +274,7 @@
}
if (getNavigations().size() < 1)
return null;
- // TODO dang.tung: get right selectedNavigation
+ // TODO dang.tung: get right selectedNavigation
// -------------------------------------------
List<PageNavigation> navs = getNavigations();
PageNavigation pNav = navs.get(0);
@@ -390,16 +390,16 @@
{
for (PageNavigation nav : navigations)
{
- localizePageNavigation(nav);
+ localizePageNavigation(nav,locale);
}
}
- private void localizePageNavigation(PageNavigation nav)
+ private void localizePageNavigation(PageNavigation nav,Locale locale)
{
ResourceBundleManager mgr = getApplicationComponent(ResourceBundleManager.class);
if (nav.getOwnerType().equals(PortalConfig.USER_TYPE))
return;
- ResourceBundle res = mgr.getNavigationResourceBundle(locale, nav.getOwnerType(),
nav.getOwnerId());
+ ResourceBundle res = mgr.getNavigationResourceBundle(locale.getLanguage(),
nav.getOwnerType(), nav.getOwnerId());
for (PageNode node : nav.getNodes())
{
resolveLabel(res, node);
Modified:
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComponentActionListener.java
===================================================================
---
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComponentActionListener.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/portal/UIPortalComponentActionListener.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -187,7 +187,7 @@
/** Update server-side */
UIContainer parentOfTopAncestor = topAncestor.getParent();
parentOfTopAncestor.removeChildById(topAncestorId);
-
+
/** Update client side */
if (topAncestorId.startsWith(UI_CONTAINER_PREFIX))
{
@@ -197,9 +197,12 @@
removeComponent(topAncestorId, UI_CONTAINER_PREFIX, pcontext);
return;
}
-
- /** If the uiParent is not the topAncestor and having no child, then it is
removed */
- if(uiParent.getChildren().size() == 0)
+
+ /**
+ * If the uiParent is not the topAncestor and having no child,
+ * then it is removed
+ */
+ if (uiParent.getChildren().size() == 0)
{
/** Update server-side */
UIContainer itsParent = uiParent.getParent();
@@ -376,11 +379,17 @@
uiPortlet.setAccessPermissions(accessPers);
UIPage uiPage = uiTarget.getAncestorOfType(UIPage.class);
- //
- CloneApplicationState state = new
CloneApplicationState<Object>(app.getStorageId());
-
- //
- uiPortlet.setState(new PortletState(state, applicationType));
+ // Hardcode on state to fix error while drag/drop Dashboard
+ if ("dashboard/DashboardPortlet".equals(app.getContentId()))
+ {
+ TransientApplicationState state = new
TransientApplicationState<Object>(app.getContentId());
+ uiPortlet.setState(new PortletState(state, applicationType));
+ }
+ else
+ {
+ CloneApplicationState state = new
CloneApplicationState<Object>(app.getStorageId());
+ uiPortlet.setState(new PortletState(state, applicationType));
+ }
uiPortlet.setPortletInPortal(uiTarget instanceof UIPortal);
uiPortlet.setShowEditControl(true);
uiSource = uiPortlet;
@@ -510,14 +519,15 @@
{
String portalName =
event.getRequestContext().getRequestParameter("portalName");
UIPortal uiPortal = Util.getUIPortal();
- UIPortalApplication uiApp =
uiPortal.getAncestorOfType(UIPortalApplication.class);
+ UIPortalApplication uiApp =
uiPortal.getAncestorOfType(UIPortalApplication.class);
UserPortalConfigService service =
uiApp.getApplicationComponent(UserPortalConfigService.class);
- if(portalName !=null && service.getUserPortalConfig(portalName,
event.getRequestContext().getRemoteUser()) == null)
+ if (portalName != null
+ && service.getUserPortalConfig(portalName,
event.getRequestContext().getRemoteUser()) == null)
{
- uiApp.addMessage(new
ApplicationMessage("UISiteManagement.msg.portal-not-exist",new
String[]{portalName}));
+ uiApp.addMessage(new
ApplicationMessage("UISiteManagement.msg.portal-not-exist", new
String[]{portalName}));
return;
}
-
+
UIMaskWorkspace uiMaskWS =
uiApp.getChildById(UIPortalApplication.UI_MASK_WS_ID);
UIPortalForm portalForm = uiMaskWS.createUIComponent(UIPortalForm.class, null,
"UIPortalForm");
portalForm.setPortalOwner(portalName);
Modified:
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java
===================================================================
---
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java 2009-12-17
09:19:54 UTC (rev 1041)
+++
portal/branches/wsrp-integration/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java 2009-12-17
12:09:12 UTC (rev 1042)
@@ -134,6 +134,10 @@
if (userProfile != null)
{
portalLanguage =
userProfile.getUserInfoMap().get("user.language");
+ if(portalLanguage == null)
+ {
+ portalLanguage = "en";
+ }
}
else
{