Author: smumford
Date: 2011-10-03 00:22:11 -0400 (Mon, 03 Oct 2011)
New Revision: 7593
Added:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Advanced_Concepts.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Config_Retrieval.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Configuring_Containers.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Configuring_Services.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Extensions_And_Multiple_Portals.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Kernel.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Profiles.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Requests.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/System_Properties.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/backup-client.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/backup-clonsole-dist.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/exojcr-backup-service.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/use-external-backup-tool.xml
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Author_Group.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Book_Info.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Preface.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Reference_Guide_eXo_JCR_1.14.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Revision_History.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/fallback_content/Conventions.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/fallback_content/Feedback.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/fallback_content/Legal_Notice.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/images/PortalDevelopment/Skinning/leftMarginPattern.png
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/images/PortletDevelopment/Standard/SpecPortalDef.png
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/faq.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/faq/jcr-faq.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr-with-gatein.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr-with-gtn/managed-datasources-under-jboss-as.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/cluster-config.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-advantages.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-applications.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-compatibility-levels.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-exo-implementation.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-extensions.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-namespace-altering.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-registry-service.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-usage.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/nodetype-registration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/nodetypes-and-namespaces.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/why-jcr.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/configuration-persister.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/exo-jcr-configuration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/external-value-storages.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/jdbc-data-container-config.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/multilanguage-support.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/rest-services-on-groovy.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/search-configuration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/workspace-persistence-storage.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/data-container-howto.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/data-container.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/db-cleaner-service.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/intro.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jbosscache-configuration-templates.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jbossts-transaction-service.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jca.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jta.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/lock-manager-config.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/acl-ext.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/acl.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/binary-values-processing.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/jcr-resources.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/link-producer.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/performance-tuning-guide.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/protocols/ftp.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/protocols/webdav.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/query-handler-config.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/repository-creation-service.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/aggregation-rule.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/and-constraint.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/child-node-constraint.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/date-property-comparison.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/escaping-like-statements.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/exact-path-constraint.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-all-descendant-nodes.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-all-nodes.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-nodes-by-mixin-type.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-nodes-by-primary-type.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-nodes-case-insensitive.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-similar-nodes.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/fulltext-search-and-settings.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/fulltext-search-by-all-properties.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/fulltext-search-by-property.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/higlight.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/ignore-accent-symbols.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/index-boost-value.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/jcr-query-usecases.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/like-constraint.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/multivalue-property-comparison.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/node-name-constraint.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/node-scope-index.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/not-constraint.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/offset-and-limit.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/or-constraint.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-descendant.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-path-or-name.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-property.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-score.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/property-comparison.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/property-existance-constraint.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/regexp-indexing-rule.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/searching-repository-content.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/spell-checker.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/synonim-provider.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/tip-nodename-with-number.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/statistics.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/transaction-manager-lookup.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/cache.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/component-plugin-priority.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/container-configuration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/data-source-provider.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/exo-container.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/initialcontext-binder-service.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/inversion-of-control.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/jndi-naming.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/job-scheduler-service.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/kernel.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/listener-service.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/logging.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/manageability.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/rpc-service.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/service-configuration-for-beginners.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/service-configuration-in-detail.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/services-wiring.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/transaction-service.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/understanding-listnerservice.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/AccessingUserProfile.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/AuthenticationTokenConfiguration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/LDAP.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/OrganizationAPI.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/SSO.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Configuration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Configuration/DatabaseConfiguration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Configuration/EMailServiceConfiguration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/GadgetDevelopment.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/GadgetDevelopment/Gadgets.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/GadgetDevelopment/SetupGadgetServer.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Introduction.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/DefaultPortalConfiguration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/DefaultPortalNavigationConfiguration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/DefaultPortalPermissionConfiguration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/InternationalizationConfiguration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/JavascriptConfiguration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/JavascriptInterApplicationCommunication.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/LocalizationConfiguration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/PortalLifecycle.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/RTLFramework.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/Skinning.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/XMLResourceBundles.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/Global_Portlet.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/configuration.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/gettingstarted.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/overview.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/portlet_development.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/Standard.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/WSRP.xml
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/publican.cfg
Log:
Split Foundations chapter into sub-files and incorporate eXo JCR 1.14 kernel content
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Author_Group.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Author_Group.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Author_Group.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<authorgroup>
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Book_Info.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Book_Info.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Book_Info.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<bookinfo id="book-Reference_Guide-Reference_Guide_eXo_JCR_1.14">
@@ -9,7 +9,7 @@
<productname>JBoss Enterprise Portal Platform</productname>
<productnumber>5.2</productnumber>
<edition>5.2.0</edition>
- <pubsnumber>1</pubsnumber>
+ <pubsnumber>2</pubsnumber>
<abstract>
<para>
This Reference Guide is a high-level usage document. It deals with more
advanced topics than the Installation and User Guides, adding new content or taking
concepts discussed in the earlier documents further. It aims to provide supporting
documentation for advanced users of the JBoss Enterprise Portal Platform product. Its
primary focus is on advanced use of the product and it assumes an intermediate or advanced
knowledge of the technology and terms.
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Preface.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Preface.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Preface.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<preface id="pref-Reference_Guide-Preface">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Reference_Guide_eXo_JCR_1.14.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Reference_Guide_eXo_JCR_1.14.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Reference_Guide_eXo_JCR_1.14.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<book>
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Revision_History.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Revision_History.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/Revision_History.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<appendix id="appe-Reference_Guide-Revision_History">
@@ -8,7 +8,7 @@
<simpara>
<revhistory>
<revision>
- <revnumber>5.2.0-1</revnumber>
+ <revnumber>5.2.0-2</revnumber>
<date>Tue Sep 27 2011</date>
<author>
<firstname>Scott</firstname>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/fallback_content/Conventions.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/fallback_content/Conventions.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/fallback_content/Conventions.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Document_Conventions">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/fallback_content/Feedback.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/fallback_content/Feedback.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/fallback_content/Feedback.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-We_Need_Feedback">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/fallback_content/Legal_Notice.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/fallback_content/Legal_Notice.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/fallback_content/Legal_Notice.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE legalnotice PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<legalnotice>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/images/PortalDevelopment/Skinning/leftMarginPattern.png
===================================================================
(Binary files differ)
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/images/PortletDevelopment/Standard/SpecPortalDef.png
===================================================================
(Binary files differ)
Added:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Advanced_Concepts.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Advanced_Concepts.xml
(rev 0)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Advanced_Concepts.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -0,0 +1,1259 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Book_Name.ent">
+%BOOK_ENTITIES;
+]>
+
+<section
id="sect-Reference_Guide-Understanding_how_configuration_files_are_loaded-Advanced_concepts_for_the_PortalContainers">
+ <title>Advanced concepts for the
<emphasis>PortalContainers</emphasis></title>
+ <para>
+ Since eXo JCR 1.12, we added a set of new features that have been
designed to extend portal applications such as GateIn.
+ </para>
+ <section
id="sect-Reference_Guide-Advanced_concepts_for_the_PortalContainers-Add_new_configuration_files_from_a_WAR_file">
+ <title>Add new configuration files from a WAR file</title>
+ <para>
+ A <envar>ServletContextListener</envar> called
<envar>org.exoplatform.container.web.PortalContainerConfigOwner</envar> has
been added in order to notify the application that a given web application provides some
configuration to the portal container, and this configuration file is the file
<emphasis>WEB-INF/conf/configuration.xml</emphasis> available in the web
application itself.
+ </para>
+ <para>
+ If your war file contains some configuration to add to the
<envar>PortalContainer</envar> simply add the following lines in your
<emphasis>web.xml</emphasis> file.
+ </para>
+
+<programlisting language="XML" role="XML"><?xml
version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+...
+ <!-- ==================================================================
-->
+ <!-- LISTENER
-->
+ <!-- ==================================================================
-->
+ <listener>
+
<listener-class>org.exoplatform.container.web.PortalContainerConfigOwner</listener-class>
+ </listener>
+...
+</web-app></programlisting>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Advanced_concepts_for_the_PortalContainers-Creating_your_PortalContainers_from_a_WAR_file">
+ <title>Creating your
<emphasis>PortalContainers</emphasis> from a WAR file</title>
+ <para>
+ A <envar>ServletContextListener</envar> called
<envar>org.exoplatform.container.web.PortalContainerCreator</envar> has been
added in order to create the current portal containers that have been registered. We
assume that all the web applications have already been loaded before calling
<envar>PortalContainerCreator.contextInitialized.</envar>
+ </para>
+ <para>
+ <note>
+ <para>
+ In GateIn, the
<envar>PortalContainerCreator</envar> is already managed by the file
<emphasis>starter.war/ear.</emphasis>
+ </para>
+
+ </note>
+ </para>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Advanced_concepts_for_the_PortalContainers-Defining_a_PortalContainer_with_its_dependencies_and_its_settings">
+ <title>Defining a <emphasis>PortalContainer</emphasis>
with its dependencies and its settings</title>
+ <para>
+ Now we can define precisely a portal container and its dependencies
and settings thanks to the <envar>PortalContainerDefinition</envar> that
currently contains the name of the portal container, the name of the rest context, the
name of the realm, the web application dependencies ordered by loading priority (i.e. the
first dependency must be loaded at first and so on..) and the settings.
+ </para>
+ <para>
+ To be able to define a
<envar>PortalContainerDefinition</envar>, we need to ensure first of all that
a <envar>PortalContainerConfig</envar> has been defined at the
<envar>RootContainer</envar> level, see an example below:
+ </para>
+
+<programlisting language="XML" role="XML">
<component>
+ <!-- The full qualified name of the PortalContainerConfig -->
+
<type>org.exoplatform.container.definition.PortalContainerConfig</type>
+ <init-params>
+ <!-- The name of the default portal container -->
+ <value-param>
+ <name>default.portal.container</name>
+ <value>myPortal</value>
+ </value-param>
+ <!-- The name of the default rest ServletContext -->
+ <value-param>
+ <name>default.rest.context</name>
+ <value>myRest</value>
+ </value-param>
+ <!-- The name of the default realm -->
+ <value-param>
+ <name>default.realm.name</name>
+ <value>my-exo-domain</value>
+ </value-param>
+ <!-- Indicates whether the unregistered webapps have to be ignored
-->
+ <value-param>
+ <name>ignore.unregistered.webapp</name>
+ <value>true</value>
+ </value-param>
+ <!-- The default portal container definition -->
+ <!-- It cans be used to avoid duplicating configuration -->
+ <object-param>
+ <name>default.portal.definition</name>
+ <object
type="org.exoplatform.container.definition.PortalContainerDefinition">
+ <!-- All the dependencies of the portal container ordered by loading
priority -->
+ <field name="dependencies">
+ <collection type="java.util.ArrayList">
+ <value>
+ <string>foo</string>
+ </value>
+ <value>
+ <string>foo2</string>
+ </value>
+ <value>
+ <string>foo3</string>
+ </value>
+ </collection>
+ </field>
+ <!-- A map of settings tied to the default portal container -->
+ <field name="settings">
+ <map type="java.util.HashMap">
+ <entry>
+ <key>
+ <string>foo5</string>
+ </key>
+ <value>
+ <string>value</string>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <string>string</string>
+ </key>
+ <value>
+ <string>value0</string>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <string>int</string>
+ </key>
+ <value>
+ <int>100</int>
+ </value>
+ </entry>
+ </map>
+ </field>
+ <!-- The path to the external properties file -->
+ <field name="externalSettingsPath">
+
<string>classpath:/org/exoplatform/container/definition/default-settings.properties</string>
+ </field>
+ </object>
+ </object-param>
+ </init-params>
+ </component></programlisting>
+ <table
id="tabl-Reference_Guide-Defining_a_PortalContainer_with_its_dependencies_and_its_settings-Descriptions_of_the_fields_of_PortalContainerConfig">
+ <title>Descriptions of the fields of
<envar>PortalContainerConfig</envar></title>
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>
+ default.portal.container (*)
+ </entry>
+ <entry>
+ The name of the default portal container. This field
is optional.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ default.rest.context (*)
+ </entry>
+ <entry>
+ The name of the default rest
<envar>ServletContext</envar>. This field is optional.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ default.realm.name (*)
+ </entry>
+ <entry>
+ The name of the default realm. This field is
optional.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ ignore.unregistered.webapp (*)
+ </entry>
+ <entry>
+ Indicates whether the unregistered webapps have to be
ignored. If a webapp has not been registered as a dependency of any portal container, the
application will use the value of this parameter to know what to do:
+ <itemizedlist>
+ <listitem>
+ <para>
+ If it is set to
<emphasis>false</emphasis>, this webapp will be considered by default as a
dependency of all the portal containers.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ If it is set to
<emphasis>true</emphasis>, this webapp won't be considered by default as a
dependency of any portal container, it will be simply ignored.
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+ This field is optional and by default this parameter
is set to <emphasis>false</emphasis>.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ default.portal.definition
+ </entry>
+ <entry>
+ The definition of the default portal container. This
field is optional. The expected type is
<envar>org.exoplatform.container.definition.PortalContainerDefinition</envar>
that is described below. Allow the parameters defined in this default
<envar>PortalContainerDefinition</envar> will be the default values.
+ </entry>
+
+ </row>
+
+ </tbody>
+
+ </tgroup>
+
+ </table>
+ <note>
+ <para>
+ All the value of the parameters marked with a (*) can be defined
thanks to System properties like any values in configuration files but also thanks to
variables loaded by the <emphasis>PropertyConfigurator</emphasis>. For example
in GateIn by default, it would be all the variables defined in the file
<emphasis>configuration.properties</emphasis>.
+ </para>
+
+ </note>
+ <para>
+ A new <envar>PortalContainerDefinition</envar> can be
defined at the <envar>RootContainer</envar> level thanks to an external
plugin, see an example below:
+ </para>
+
+<programlisting language="XML" role="XML">
<external-component-plugins>
+ <!-- The full qualified name of the PortalContainerConfig -->
+
<target-component>org.exoplatform.container.definition.PortalContainerConfig</target-component>
+ <component-plugin>
+ <!-- The name of the plugin -->
+ <name>Add PortalContainer Definitions</name>
+ <!-- The name of the method to call on the PortalContainerConfig in order to
register the PortalContainerDefinitions -->
+ <set-method>registerPlugin</set-method>
+ <!-- The full qualified name of the PortalContainerDefinitionPlugin
-->
+
<type>org.exoplatform.container.definition.PortalContainerDefinitionPlugin</type>
+ <init-params>
+ <object-param>
+ <name>portal</name>
+ <object
type="org.exoplatform.container.definition.PortalContainerDefinition">
+ <!-- The name of the portal container -->
+ <field name="name">
+ <string>myPortal</string>
+ </field>
+ <!-- The name of the context name of the rest web application
-->
+ <field name="restContextName">
+ <string>myRest</string>
+ </field>
+ <!-- The name of the realm -->
+ <field name="realmName">
+ <string>my-domain</string>
+ </field>
+ <!-- All the dependencies of the portal container ordered by loading
priority -->
+ <field name="dependencies">
+ <collection type="java.util.ArrayList">
+ <value>
+ <string>foo</string>
+ </value>
+ <value>
+ <string>foo2</string>
+ </value>
+ <value>
+ <string>foo3</string>
+ </value>
+ </collection>
+ </field>
+ <!-- A map of settings tied to the portal container -->
+ <field name="settings">
+ <map type="java.util.HashMap">
+ <entry>
+ <key>
+ <string>foo</string>
+ </key>
+ <value>
+ <string>value</string>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <string>int</string>
+ </key>
+ <value>
+ <int>10</int>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <string>long</string>
+ </key>
+ <value>
+ <long>10</long>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <string>double</string>
+ </key>
+ <value>
+ <double>10</double>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <string>boolean</string>
+ </key>
+ <value>
+ <boolean>true</boolean>
+ </value>
+ </entry>
+ </map>
+ </field>
+ <!-- The path to the external properties file -->
+ <field name="externalSettingsPath">
+
<string>classpath:/org/exoplatform/container/definition/settings.properties</string>
+ </field>
+ </object>
+ </object-param>
+ </init-params>
+ </component-plugin>
+ </external-component-plugins></programlisting>
+ <table
id="tabl-Reference_Guide-Defining_a_PortalContainer_with_its_dependencies_and_its_settings-Descriptions_of_the_fields_of_a_PortalContainerDefinition_when_it_is_used_to_define_a_new_portal_container">
+ <title>Descriptions of the fields of a
<envar>PortalContainerDefinition</envar> when it is used to define a new
portal container</title>
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>
+ name (*)
+ </entry>
+ <entry>
+ The name of the portal container. This field is
mandatory .
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ restContextName (*)
+ </entry>
+ <entry>
+ The name of the context name of the rest web
application. This field is optional. The default value will be defined at the
<envar>PortalContainerConfig</envar> level.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ realmName (*)
+ </entry>
+ <entry>
+ The name of the realm. This field is optional. The
default value will be defined at the <envar>PortalContainerConfig</envar>
level.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ dependencies
+ </entry>
+ <entry>
+ All the dependencies of the portal container ordered
by loading priority. This field is optional. The default value will be defined at the
<envar>PortalContainerConfig</envar> level. The dependencies are in fact the
list of the context names of the web applications from which the portal container depends.
This field is optional. The dependency order is really crucial since it will be
interpreted the same way by several components of the platform. All those components, will
consider the 1st element in the list less important than the second element and so on. It
is currently used to:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Know the loading order of all the
dependencies.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ If we have several
<envar>PortalContainerConfigOwner</envar>
+ <itemizedlist>
+ <listitem>
+ <para>
+ The
<envar>ServletContext</envar> of all the
<envar>PortalContainerConfigOwner</envar> will be unified, if we use the
unified <envar>ServletContext</envar>
(<emphasis>PortalContainer.getPortalContext()</emphasis>) to get a resource,
it will try to get the resource in the <envar>ServletContext</envar> of the
most important <envar>PortalContainerConfigOwner</envar> (i.e. last in the
dependency list) and if it cans find it, it will try with the second most important
<envar>PortalContainerConfigOwner</envar> and so on.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ The
<envar>ClassLoader</envar> of all the
<envar>PortalContainerConfigOwner</envar> will be unified, if we use the
unified <envar>ClassLoader</envar>
(<emphasis>PortalContainer.getPortalClassLoader()</emphasis>) to get a
resource, it will try to get the resource in the <envar>ClassLoader</envar> of
the most important <envar>PortalContainerConfigOwner</envar> (i.e. last in the
dependency list) and if it can find it, it will try with the second most important
<envar>PortalContainerConfigOwner</envar> and so on.
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ settings
+ </entry>
+ <entry>
+ A <envar>java.util.Map</envar> of
internal parameters that we would like to tie the portal container. Those parameters could
have any type of value. This field is optional. If some internal settings are defined at
the <envar>PortalContainerConfig</envar> level, the two maps of settings will
be merged. If a setting with the same name is defined in both maps, it will keep the value
defined at the <envar>PortalContainerDefinition</envar> level.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ externalSettingsPath
+ </entry>
+ <entry>
+ The path of the external properties file to load as
default settings to the portal container. This field is optional. If some external
settings are defined at the <envar>PortalContainerConfig</envar> level, the
two maps of settings will be merged. If a setting with the same name is defined in both
maps, it will keep the value defined at the
<envar>PortalContainerDefinition</envar> level. The external properties files
can be either of type "properties" or of type "xml". The path will be
interpreted as follows:
+ <orderedlist>
+ <listitem>
+ <para>
+ The path doesn't contain any prefix
of type "classpath:", "jar:" or "file:", we assume that the
file could be externalized so we apply the following rules:
+ <orderedlist>
+ <listitem>
+ <para>
+ A file exists at
<emphasis>${exo-conf-dir}/portal/${portalContainerName}/${externalSettingsPath}</emphasis>,
we will load this file.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ No file exists at the
previous path, we then assume that the path cans be interpreted by the
<envar>ConfigurationManager</envar>.
+ </para>
+
+ </listitem>
+
+ </orderedlist>
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ The path contains a prefix, we then
assume that the path cans be interpreted by the
<envar>ConfigurationManager</envar>.
+ </para>
+
+ </listitem>
+
+ </orderedlist>
+ </entry>
+
+ </row>
+
+ </tbody>
+
+ </tgroup>
+
+ </table>
+ <table
id="tabl-Reference_Guide-Defining_a_PortalContainer_with_its_dependencies_and_its_settings-Descriptions_of_the_fields_of_a_PortalContainerDefinition_when_it_is_used_to_define_the_default_portal_container">
+ <title>Descriptions of the fields of a
<envar>PortalContainerDefinition</envar> when it is used to define the default
portal container</title>
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>
+ name (*)
+ </entry>
+ <entry>
+ The name of the portal container. This field is
optional. The default portal name will be:
+ <orderedlist>
+ <listitem>
+ <para>
+ If this field is not empty, then the
default value will be the value of this field.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ If this field is empty and the value of
the parameter <emphasis>default.portal.container</emphasis> is not empty, then
the default value will be the value of the parameter.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ If this field and the parameter
<emphasis>default.portal.container</emphasis> are both empty, the default
value will be <emphasis>"portal".</emphasis>
+ </para>
+
+ </listitem>
+
+ </orderedlist>
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ restContextName (*)
+ </entry>
+ <entry>
+ The name of the context name of the rest web
application. This field is optional. The default value wil be:
+ <orderedlist>
+ <listitem>
+ <para>
+ If this field is not empty, then the
default value will be the value of this field.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ If this field is empty and the value of
the parameter <emphasis>default.rest.context</emphasis> is not empty, then the
default value will be the value of the parameter.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ If this field and the parameter
<emphasis>default.rest.context</emphasis> are both empty, the default value
will be <emphasis>"rest".</emphasis>
+ </para>
+
+ </listitem>
+
+ </orderedlist>
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ realmName (*)
+ </entry>
+ <entry>
+ The name of the realm. This field is optional. The
default value will be:
+ <orderedlist>
+ <listitem>
+ <para>
+ If this field is not empty, then the
default value will be the value of this field.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ If this field is empty and the value of
the parameter <emphasis>default.realm.name</emphasis> is not empty, then the
default value will be the value of the parameter.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ If this field and the parameter
<emphasis>default.realm.name</emphasis> are both empty, the default value will
be <emphasis>"exo-domain".</emphasis>
+ </para>
+
+ </listitem>
+
+ </orderedlist>
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ dependencies
+ </entry>
+ <entry>
+ All the dependencies of the portal container ordered
by loading priority. This field is optional. If this field has a non empty value, it will
be the default list of dependencies.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ settings
+ </entry>
+ <entry>
+ A <envar>java.util.Map</envar> of
internal parameters that we would like to tie the default portal container. Those
parameters could have any type of value. This field is optional.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ externalSettingsPath
+ </entry>
+ <entry>
+ The path of the external properties file to load as
default settings to the default portal container. This field is optional. The external
properties files can be either of type "properties" or of type "xml".
The path will be interpreted as follows:
+ <orderedlist>
+ <listitem>
+ <para>
+ The path doesn't contain any prefix
of type "classpath:", "jar:" or "file:", we assume that the
file could be externalized so we apply the following rules:
+ <orderedlist>
+ <listitem>
+ <para>
+ A file exists at
<emphasis>${exo-conf-dir}/portal/${externalSettingsPath}</emphasis>, we will
load this file.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ No file exists at the
previous path, we then assume that the path cans be interpreted by the
<envar>ConfigurationManager</envar>.
+ </para>
+
+ </listitem>
+
+ </orderedlist>
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ The path contains a prefix, we then
assume that the path cans be interpreted by the
<envar>ConfigurationManager</envar>.
+ </para>
+
+ </listitem>
+
+ </orderedlist>
+ </entry>
+
+ </row>
+
+ </tbody>
+
+ </tgroup>
+
+ </table>
+ <note>
+ <para>
+ All the value of the parameters marked with a (*) can be defined
thanks to System properties like any values in configuration files but also thanks to
variables loaded by the <emphasis>PropertyConfigurator</emphasis>. For example
in GateIn by default, it would be all the variables defined in the file
<emphasis>configuration.properties</emphasis>.
+ </para>
+
+ </note>
+ <para>
+ Internal and external settings are both optional, but if we give a
non empty value for both the application will merge the settings. If the same setting name
exists in both settings, we apply the following rules:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ The value of the external setting is
<emphasis>null</emphasis>, we ignore the value.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ The value of the external setting is not
<emphasis>null</emphasis> and the value of the internal setting is
<emphasis>null</emphasis>, the final value will be the external setting value
that is of type <envar>String</envar>.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ Both values are not <envar>null</envar>, we will
have to convert the external setting value into the target type which is the type of the
internal setting value, thanks to the static method
<emphasis>valueOf(String)</emphasis>, the following sub-rules are then
applied:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ The method cannot be found, the final value will be
the external setting value that is of type <envar>String</envar>.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ The method can be found and the external setting
value is an empty <envar>String</envar>, we ignore the external setting
value.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ The method can be found and the external setting
value is not an empty <envar>String</envar> but the method call fails, we
ignore the external setting value.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ The method can be found and the external setting
value is not an empty <envar>String</envar> and the method call succeeds, the
final value will be the external setting value that is of type of the internal setting
value.
+ </para>
+
+ </listitem>
+
+ </orderedlist>
+
+ </listitem>
+
+ </orderedlist>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Advanced_concepts_for_the_PortalContainers-PortalContainer_settings">
+ <title><envar>PortalContainer</envar>
settings</title>
+ <para>
+ We can inject the value of the portal container settings into the
portal container configuration files thanks to the variables which name start with
"<emphasis>portal.container.</emphasis>", so to get the value of a
setting called "<emphasis>foo</emphasis>", just use the following
syntax <emphasis>${portal.container.foo}</emphasis>. You can also use internal
variables, such as:
+ </para>
+ <table
id="tabl-Reference_Guide-PortalContainer_settings-Definition_of_the_internal_variables">
+ <title>Definition of the internal variables</title>
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>
+ portal.container.name
+ </entry>
+ <entry>
+ Gives the name of the current portal container.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ portal.container.rest
+ </entry>
+ <entry>
+ Gives the context name of the rest web application of
the current portal container.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ portal.container.realm
+ </entry>
+ <entry>
+ Gives the realm name of the current portal
container.
+ </entry>
+
+ </row>
+
+ </tbody>
+
+ </tgroup>
+
+ </table>
+ <para>
+ You can find below an example of how to use the variables:
+ </para>
+
+<programlisting language="XML" role="XML"><configuration
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_1.xsd
http://www.exoplaform.org/xml/ns/kernel_1_1.xsd"
+
xmlns="http://www.exoplaform.org/xml/ns/kernel_1_1.xsd">
+ <component>
+
<type>org.exoplatform.container.TestPortalContainer$MyComponent</type>
+ <init-params>
+ <!-- The name of the portal container -->
+ <value-param>
+ <name>portal</name>
+ <value>${portal.container.name}</value>
+ </value-param>
+ <!-- The name of the rest ServletContext -->
+ <value-param>
+ <name>rest</name>
+ <value>${portal.container.rest}</value>
+ </value-param>
+ <!-- The name of the realm -->
+ <value-param>
+ <name>realm</name>
+ <value>${portal.container.realm}</value>
+ </value-param>
+ <value-param>
+ <name>foo</name>
+ <value>${portal.container.foo}</value>
+ </value-param>
+ <value-param>
+ <name>before foo after</name>
+ <value>before ${portal.container.foo} after</value>
+ </value-param>
+ </init-params>
+ </component>
+</configuration></programlisting>
+ <para>
+ In the properties file corresponding to the external settings, you
can reuse variables previously defined (in the external settings or in the internal
settings) to create a new variable. In this case, the prefix
"<emphasis>portal.container.</emphasis>" is not needed, see an
example below:
+<programlisting>my-var1=value 1
+my-var2=value 2
+complex-value=${my-var1}-${my-var2}</programlisting>
+ </para>
+ <para>
+ In the external and internal settings, you can also use create
variables based on value of System paramaters. The System parameters can either be defined
at launch time or thanks to the <envar>PropertyConfigurator</envar> (see next
section for more details). See an example below:
+ </para>
+
+<programlisting>temp-dir=${java.io.tmpdir}${file.separator}my-temp</programlisting>
+ <para>
+ However, for the internal settings, you can use System parameters
only to define settings of type <envar>java.lang.String</envar>.
+ </para>
+ <para>
+ It cans be also very useful to define a generic variable in the
settings of the default portal container, the value of this variable will change according
to the current portal container. See below an example:
+<programlisting>my-generic-var=value of the portal container
"${name}"</programlisting>
+ </para>
+ <para>
+ If this variable is defined at the default portal container level,
the value of this variable for a portal container called
<emphasis>"foo"</emphasis> will be <emphasis>value of the
portal container "foo"</emphasis>.
+ </para>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Advanced_concepts_for_the_PortalContainers-Adding_dynamically_settings_andor_dependencies_to_a_PortalContainer">
+ <title>Adding dynamically settings and/or dependencies to a
<envar>PortalContainer</envar></title>
+ <para>
+ It is possible to use <envar>component-plugin</envar>
elements in order to dynamically change a PortalContainerDefinition. In the example below,
we add the dependency <envar>foo</envar> to the default portal container and
to the portal containers called <envar>foo1</envar> and
<envar>foo2</envar>:
+ </para>
+
+<programlisting language="XML"
role="XML"><external-component-plugins>
+ <!-- The full qualified name of the PortalContainerConfig -->
+
<target-component>org.exoplatform.container.definition.PortalContainerConfig</target-component>
+ <component-plugin>
+ <!-- The name of the plugin -->
+ <name>Change PortalContainer Definitions</name>
+ <!-- The name of the method to call on the PortalContainerConfig in order to
register the changes on the PortalContainerDefinitions -->
+ <set-method>registerChangePlugin</set-method>
+ <!-- The full qualified name of the PortalContainerDefinitionChangePlugin
-->
+
<type>org.exoplatform.container.definition.PortalContainerDefinitionChangePlugin</type>
+ <init-params>
+ <value-param>
+ <name>apply.default</name>
+ <value>true</value>
+ </value-param>
+ <values-param>
+ <name>apply.specific</name>
+ <value>foo1</value>
+ <value>foo2</value>
+ </values-param>
+ <object-param>
+ <name>change</name>
+ <object
type="org.exoplatform.container.definition.PortalContainerDefinitionChange$AddDependencies">
+ <!-- The list of name of the dependencies to add -->
+ <field name="dependencies">
+ <collection type="java.util.ArrayList">
+ <value>
+ <string>foo</string>
+ </value>
+ </collection>
+ </field>
+ </object>
+ </object-param>
+ </init-params>
+ </component-plugin>
+</external-component-plugins></programlisting>
+ <table
id="tabl-Reference_Guide-Adding_dynamically_settings_andor_dependencies_to_a_PortalContainer-Descriptions_of_the_fields_of_a_PortalContainerDefinitionChangePlugin">
+ <title>Descriptions of the fields of a
<envar>PortalContainerDefinitionChangePlugin</envar></title>
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>
+ apply.all (*)
+ </entry>
+ <entry>
+ Indicates whether the changes have to be applied to
all the portal containers or not. The default value of this field is
<envar>false</envar>. This field is a <envar>ValueParam</envar>
and is not mandatory.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ apply.default (*)
+ </entry>
+ <entry>
+ Indicates whether the changes have to be applied to
the default portal container or not. The default value of this field is
<envar>false</envar>. This field is a <envar>ValueParam</envar>
and is not mandatory.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ apply.specific (*)
+ </entry>
+ <entry>
+ A set of specific portal container names to which we
want to apply the changes. This field is a <envar>ValuesParam</envar> and is
not mandatory.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ <envar>Rest of the expected parameters
</envar>
+ </entry>
+ <entry>
+ The rest of the expected parameters are
<envar>ObjectParam</envar> of type
<envar>PortalContainerDefinitionChange</envar>. Those parameters are in fact
the list of changes that we want to apply to one or several portal containers. If the list
of changes is empty, the component plugin will be ignored. The supported implementations
of PortalContainerDefinitionChange are described later in this section.
+ </entry>
+
+ </row>
+
+ </tbody>
+
+ </tgroup>
+
+ </table>
+ <note>
+ <para>
+ All the value of the parameters marked with a (*) can be defined
thanks to System properties like any values in configuration files but also thanks to
variables loaded by the <emphasis>PropertyConfigurator</emphasis>. For example
in GateIn by default, it would be all the variables defined in the file
<emphasis>configuration.properties</emphasis>.
+ </para>
+
+ </note>
+ <para>
+ To identify the portal containers to which the changes have to be
applied, we use the following algorithm:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ The parameter <envar>apply.all</envar> has been
set to <envar>true</envar>. The corresponding changes will be applied to all
the portal containers. The other parameters will be ignored.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ The parameter <envar>apply.default</envar> has
been set to <envar>true</envar> and the parameter
<envar>apply.specific</envar> is <envar>null</envar>. The
corresponding changes will be applied to the default portal container only.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ The parameter <envar>apply.default</envar> has
been set to <envar>true</envar> and the parameter
<envar>apply.specific</envar> is not <envar>null</envar>. The
corresponding changes will be applied to the default portal container and the given list
of specific portal containers.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ The parameter <envar>apply.default</envar> has
been set to <envar>false</envar> or has not been set and the parameter
<envar>apply.specific</envar> is <envar>null</envar>. The
corresponding changes will be applied to the default portal container only.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ The parameter <envar>apply.default</envar> has
been set to <envar>false</envar> or has not been set and the parameter
<envar>apply.specific</envar> is not <envar>null</envar>. The
corresponding changes will be applied to the given list of specific portal containers.
+ </para>
+
+ </listitem>
+
+ </orderedlist>
+ <section
id="sect-Reference_Guide-Adding_dynamically_settings_andor_dependencies_to_a_PortalContainer-The_existing_implementations_of_PortalContainerDefinitionChange">
+ <title>The existing implementations of
<envar>PortalContainerDefinitionChange</envar></title>
+ <para>
+ The modifications that can be applied to a
<envar>PortalContainerDefinition</envar> must be a class of type
<envar>PortalContainerDefinitionChange</envar>. The product proposes out of
the box some implementations that we describe in the next sub sections.
+ </para>
+ <section
id="sect-Reference_Guide-The_existing_implementations_of_PortalContainerDefinitionChange-AddDependencies">
+
<title><envar>AddDependencies</envar></title>
+ <para>
+ This modification adds a list of dependencies at the end of
the list of dependencies defined into the
<envar>PortalContainerDefinition</envar>. The full qualified name is
<emphasis>org.exoplatform.container.definition.PortalContainerDefinitionChange$AddDependencies</emphasis>.
+ </para>
+ <table
id="tabl-Reference_Guide-AddDependencies-Descriptions_of_the_fields_of_an_AddDependencies">
+ <title>Descriptions of the fields of an
<envar>AddDependencies</envar></title>
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>
+ dependencies
+ </entry>
+ <entry>
+ A list of
<emphasis>String</emphasis> corresponding to the list of name of the
dependencies to add. If the value of this field is empty, the change will be ignored.
+ </entry>
+
+ </row>
+
+ </tbody>
+
+ </tgroup>
+
+ </table>
+ <para>
+ See an example below, that will add
<envar>foo</envar> at the end of the dependency list of the default portal
container:
+ </para>
+
+<programlisting language="XML"
role="XML"><external-component-plugins>
+ <!-- The full qualified name of the PortalContainerConfig -->
+
<target-component>org.exoplatform.container.definition.PortalContainerConfig</target-component>
+ <component-plugin>
+ <!-- The name of the plugin -->
+ <name>Change PortalContainer Definitions</name>
+ <!-- The name of the method to call on the PortalContainerConfig in order to
register the changes on the PortalContainerDefinitions -->
+ <set-method>registerChangePlugin</set-method>
+ <!-- The full qualified name of the PortalContainerDefinitionChangePlugin
-->
+
<type>org.exoplatform.container.definition.PortalContainerDefinitionChangePlugin</type>
+ <init-params>
+ <value-param>
+ <name>apply.default</name>
+ <value>true</value>
+ </value-param>
+ <object-param>
+ <name>change</name>
+ <object
type="org.exoplatform.container.definition.PortalContainerDefinitionChange$AddDependencies">
+ <!-- The list of name of the dependencies to add -->
+ <field name="dependencies">
+ <collection type="java.util.ArrayList">
+ <value>
+ <string>foo</string>
+ </value>
+ </collection>
+ </field>
+ </object>
+ </object-param>
+ </init-params>
+ </component-plugin>
+</external-component-plugins></programlisting>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-The_existing_implementations_of_PortalContainerDefinitionChange-AddDependenciesBefore">
+
<title><envar>AddDependenciesBefore</envar></title>
+ <para>
+ This modification adds a list of dependencies before a given
target dependency defined into the list of dependencies of the
<envar>PortalContainerDefinition</envar>. The full qualified name is
<emphasis>org.exoplatform.container.definition.PortalContainerDefinitionChange$AddDependenciesBefore</emphasis>.
+ </para>
+ <table
id="tabl-Reference_Guide-AddDependenciesBefore-Descriptions_of_the_fields_of_an_AddDependenciesBefore">
+ <title>Descriptions of the fields of an
<envar>AddDependenciesBefore</envar></title>
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>
+ dependencies
+ </entry>
+ <entry>
+ A list of
<emphasis>String</emphasis> corresponding to the list of name of the
dependencies to add. If the value of this field is empty, the change will be ignored.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ target
+ </entry>
+ <entry>
+ The name of the dependency before which we
would like to add the new dependencies. If this field is <envar>null</envar>
or the target dependency cannot be found in the list of dependencies defined into the
<envar>PortalContainerDefinition</envar>, the new dependencies will be added
in first position to the list.
+ </entry>
+
+ </row>
+
+ </tbody>
+
+ </tgroup>
+
+ </table>
+ <para>
+ See an example below, that will add
<envar>foo</envar> before <envar>foo2</envar> in the dependency
list of the default portal container:
+ </para>
+
+<programlisting language="XML"
role="XML"><external-component-plugins>
+ <!-- The full qualified name of the PortalContainerConfig -->
+
<target-component>org.exoplatform.container.definition.PortalContainerConfig</target-component>
+ <component-plugin>
+ <!-- The name of the plugin -->
+ <name>Change PortalContainer Definitions</name>
+ <!-- The name of the method to call on the PortalContainerConfig in order to
register the changes on the PortalContainerDefinitions -->
+ <set-method>registerChangePlugin</set-method>
+ <!-- The full qualified name of the PortalContainerDefinitionChangePlugin
-->
+
<type>org.exoplatform.container.definition.PortalContainerDefinitionChangePlugin</type>
+ <init-params>
+ <value-param>
+ <name>apply.default</name>
+ <value>true</value>
+ </value-param>
+ <object-param>
+ <name>change</name>
+ <object
type="org.exoplatform.container.definition.PortalContainerDefinitionChange$AddDependenciesBefore">
+ <!-- The list of name of the dependencies to add -->
+ <field name="dependencies">
+ <collection type="java.util.ArrayList">
+ <value>
+ <string>foo</string>
+ </value>
+ </collection>
+ </field>
+ <!-- The name of the target dependency -->
+ <field name="target">
+ <string>foo2</string>
+ </field>
+ </object>
+ </object-param>
+ </init-params>
+ </component-plugin>
+</external-component-plugins></programlisting>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-The_existing_implementations_of_PortalContainerDefinitionChange-AddDependenciesAfter">
+
<title><envar>AddDependenciesAfter</envar></title>
+ <para>
+ This modification adds a list of dependencies before a given
target dependency defined into the list of dependencies of the
<envar>PortalContainerDefinition</envar>. The full qualified name is
<emphasis>org.exoplatform.container.definition.PortalContainerDefinitionChange$AddDependenciesAfter</emphasis>.
+ </para>
+ <table
id="tabl-Reference_Guide-AddDependenciesAfter-Descriptions_of_the_fields_of_an_AddDependenciesAfter">
+ <title>Descriptions of the fields of an
<envar>AddDependenciesAfter</envar></title>
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>
+ dependencies
+ </entry>
+ <entry>
+ A list of
<emphasis>String</emphasis> corresponding to the list of name of the
dependencies to add. If the value of this field is empty, the change will be ignored.
+ </entry>
+
+ </row>
+ <row>
+ <entry>
+ target
+ </entry>
+ <entry>
+ The name of the dependency after which we
would like to add the new dependencies. If this field is <envar>null</envar>
or the target dependency cannot be found in the list of dependencies defined into the
<envar>PortalContainerDefinition</envar>, the new dependencies will be added
in last position to the list.
+ </entry>
+
+ </row>
+
+ </tbody>
+
+ </tgroup>
+
+ </table>
+ <para>
+ See an example below, that will add
<envar>foo</envar> after <envar>foo2</envar> in the dependency
list of the default portal container:
+ </para>
+
+<programlisting language="XML"
role="XML"><external-component-plugins>
+ <!-- The full qualified name of the PortalContainerConfig -->
+
<target-component>org.exoplatform.container.definition.PortalContainerConfig</target-component>
+ <component-plugin>
+ <!-- The name of the plugin -->
+ <name>Change PortalContainer Definitions</name>
+ <!-- The name of the method to call on the PortalContainerConfig in order to
register the changes on the PortalContainerDefinitions -->
+ <set-method>registerChangePlugin</set-method>
+ <!-- The full qualified name of the PortalContainerDefinitionChangePlugin
-->
+
<type>org.exoplatform.container.definition.PortalContainerDefinitionChangePlugin</type>
+ <init-params>
+ <value-param>
+ <name>apply.default</name>
+ <value>true</value>
+ </value-param>
+ <object-param>
+ <name>change</name>
+ <object
type="org.exoplatform.container.definition.PortalContainerDefinitionChange$AddDependenciesAfter">
+ <!-- The list of name of the dependencies to add -->
+ <field name="dependencies">
+ <collection type="java.util.ArrayList">
+ <value>
+ <string>foo</string>
+ </value>
+ </collection>
+ </field>
+ <!-- The name of the target dependency -->
+ <field name="target">
+ <string>foo2</string>
+ </field>
+ </object>
+ </object-param>
+ </init-params>
+ </component-plugin>
+</external-component-plugins></programlisting>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-The_existing_implementations_of_PortalContainerDefinitionChange-AddSettings">
+
<title><envar>AddSettings</envar></title>
+ <para>
+ This modification adds new settings to a
<envar>PortalContainerDefinition</envar>. The full qualified name is
<emphasis>org.exoplatform.container.definition.PortalContainerDefinitionChange$AddSettings</emphasis>.
+ </para>
+ <table
id="tabl-Reference_Guide-AddSettings-Descriptions_of_the_fields_of_an_AddSettings">
+ <title>Descriptions of the fields of an
<envar>AddSettings</envar></title>
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>
+ settings
+ </entry>
+ <entry>
+ A map of <emphasis><String,
Object></emphasis> corresponding to the settings to add. If the value of this
field is empty, the change will be ignored.
+ </entry>
+
+ </row>
+
+ </tbody>
+
+ </tgroup>
+
+ </table>
+ <para>
+ See an example below, that will add the settings
<envar>string</envar> and <envar>stringX</envar> to the settings
of the default portal container:
+ </para>
+
+<programlisting language="XML"
role="XML"><external-component-plugins>
+ <!-- The full qualified name of the PortalContainerConfig -->
+
<target-component>org.exoplatform.container.definition.PortalContainerConfig</target-component>
+ <component-plugin>
+ <!-- The name of the plugin -->
+ <name>Change PortalContainer Definitions</name>
+ <!-- The name of the method to call on the PortalContainerConfig in order to
register the changes on the PortalContainerDefinitions -->
+ <set-method>registerChangePlugin</set-method>
+ <!-- The full qualified name of the PortalContainerDefinitionChangePlugin
-->
+
<type>org.exoplatform.container.definition.PortalContainerDefinitionChangePlugin</type>
+ <init-params>
+ <value-param>
+ <name>apply.default</name>
+ <value>true</value>
+ </value-param>
+ <object-param>
+ <name>change</name>
+ <object
type="org.exoplatform.container.definition.PortalContainerDefinitionChange$AddSettings">
+ <!-- The settings to add to the to the portal containers -->
+ <field name="settings">
+ <map type="java.util.HashMap">
+ <entry>
+ <key>
+ <string>string</string>
+ </key>
+ <value>
+ <string>value1</string>
+ </value>
+ </entry>
+ <entry>
+ <key>
+ <string>stringX</string>
+ </key>
+ <value>
+ <string>value1</string>
+ </value>
+ </entry>
+ </map>
+ </field>
+ </object>
+ </object-param>
+ </init-params>
+ </component-plugin>
+</external-component-plugins></programlisting>
+
+ </section>
+
+
+ </section>
+
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Advanced_concepts_for_the_PortalContainers-Disable_dynamically_a_portal_container">
+ <title>Disable dynamically a portal container</title>
+ <para>
+ It is possible to use <envar>component-plugin</envar>
elements in order to dynamically disable one or several portal containers. In the example
below, we disable the portal container named <envar>foo</envar>:
+ </para>
+
+<programlisting language="XML"
role="XML"><external-component-plugins>
+ <!-- The full qualified name of the PortalContainerConfig -->
+
<target-component>org.exoplatform.container.definition.PortalContainerConfig</target-component>
+ <component-plugin>
+ <!-- The name of the plugin -->
+ <name>Disable a PortalContainer</name>
+ <!-- The name of the method to call on the PortalContainerConfig in order to
register the changes on the PortalContainerDefinitions -->
+ <set-method>registerDisablePlugin</set-method>
+ <!-- The full qualified name of the PortalContainerDefinitionDisablePlugin
-->
+
<type>org.exoplatform.container.definition.PortalContainerDefinitionDisablePlugin</type>
+ <init-params>
+ <!-- The list of the name of the portal containers to disable -->
+ <values-param>
+ <name>names</name>
+ <value>foo</value>
+ </values-param>
+ </init-params>
+ </component-plugin>
+</external-component-plugins></programlisting>
+ <table
id="tabl-Reference_Guide-Disable_dynamically_a_portal_container-Descriptions_of_the_fields_of_a_PortalContainerDefinitionDisablePlugin">
+ <title>Descriptions of the fields of a
<envar>PortalContainerDefinitionDisablePlugin</envar></title>
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>
+ names (*)
+ </entry>
+ <entry>
+ The list of the name of the portal containers to
disable.
+ </entry>
+
+ </row>
+
+ </tbody>
+
+ </tgroup>
+
+ </table>
+ <note>
+ <para>
+ All the value of the parameters marked with a (*) can be defined
thanks to System properties like any values in configuration files but also thanks to
variables loaded by the <emphasis>PropertyConfigurator</emphasis>. For example
in GateIn by default, it would be all the variables defined in the file
<emphasis>configuration.properties</emphasis>.
+ </para>
+
+ </note>
+ <para>
+ To prevent any accesses to a web application corresponding to
<envar>PortalContainer</envar> that has been disabled, you need to make sure
that the following Http Filter (or a sub class of it) has been added to your web.xml in
first position as below:
+ </para>
+
+<programlisting language="XML"
role="XML"><filter>
+ <filter-name>PortalContainerFilter</filter-name>
+
<filter-class>org.exoplatform.container.web.PortalContainerFilter</filter-class>
+</filter>
+
+<filter-mapping>
+ <filter-name>PortalContainerFilter</filter-name>
+ <url-pattern>/*</url-pattern>
+</filter-mapping></programlisting>
+ <note>
+ <para>
+ It is only possible to disable a portal container when at least
one PortalContainerDefinition has been registered.
+ </para>
+
+ </note>
+
+ </section>
+
+</section>
\ No newline at end of file
Added:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Config_Retrieval.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Config_Retrieval.xml
(rev 0)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Config_Retrieval.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -0,0 +1,176 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Book_Name.ent">
+%BOOK_ENTITIES;
+]>
+
+
+ <section
id="sect-Reference_Guide-Understanding_how_configuration_files_are_loaded-Configuration_Retrieval">
+ <title></title>
+ <para>
+ The container performs the following steps to make eXo Container
configuration retrieval, depending on the container type.
+ </para>
+ <section
id="sect-Reference_Guide-Configuration_Retrieval-Configuration_retrieval_order_for_the_PortalContainer">
+ <title>Configuration retrieval order for the
<envar>PortalContainer</envar></title>
+ <para>
+ The container is initialized by looking into different locations.
This container is used by portal applications. Configurations are overloaded in the
following lookup sequence:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ Services default <envar>RootContainer</envar>
configurations from JAR files <emphasis>/conf/configuration.xml</emphasis>
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ External <envar>RootContainer</envar>
configuration can be found at
<emphasis>$AS_HOME/exo-conf/configuration.xml</emphasis>
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ Services default <envar>PortalContainer</envar>
configurations from JAR files
<emphasis>/conf/portal/configuration.xml</emphasis>
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ Web applications configurations from WAR files
<emphasis>/WEB-INF/conf/configuration.xml</emphasis>
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ External configuration for services of named portal can be
found at
<emphasis>$AS_HOME/exo-conf/portal/$PORTAL_NAME/configuration.xml</emphasis>
+ </para>
+
+ </listitem>
+
+ </orderedlist>
+
+ </section>
+ <section
id="sect-Reference_Guide-Configuration_Retrieval-General_notes_about_the_configuration_retrieval">
+ <title>General notes about the configuration
retrieval</title>
+ <note>
+ <para>
+ <emphasis>$AS_HOME</emphasis> - application server
home directory, or <emphasis>user.dir</emphasis> JVM system property value in
case of Java Standalone application. The application server home is:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ For <envar>Jonas</envar>, the value of the
variable <emphasis>${jonas.base}.</emphasis>
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ For <envar>Jetty</envar>, the value of the
variable <emphasis>${jetty.home}.</emphasis>
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ For <envar>Websphere</envar>, the value of
the variable <emphasis>${was.install.root}.</emphasis>
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ For <envar>Weblogic</envar>, the value of the
variable <emphasis>${wls.home}</emphasis>.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ For <envar>Glassfish</envar>, the value of
the variable <emphasis>${com.sun.aas.instanceRoot}</emphasis>.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ For <envar>Tomcat</envar>, the value of the
variable <emphasis>${catalina.home}</emphasis>.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ For <envar>JBoss AS</envar>, the value of the
variable <emphasis>${jboss.server.config.url}</emphasis> if the exo-conf
directory can be found there otherwise it will be the value of the variable
<emphasis>${jboss.home.dir}</emphasis>.
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+
+ </note>
+ <note>
+ <para>
+ <emphasis>$PORTAL_NAME</emphasis> - portal web
application name.
+ </para>
+
+ </note>
+ <note>
+ <para>
+ External configuration location can be overridden with System
property <emphasis>exo.conf.dir</emphasis>. If the property exists, its value
will be used as path to eXo configuration directory, i.e. to
<emphasis>$AS_HOME/exo-conf</emphasis> alternative. E.g. put property in
command line java <emphasis>-Dexo.conf.dir=/path/to/exo/conf</emphasis>. In
this particular use case, you do not need to use any prefix to import other files. For
instance, if your configuration file is
<emphasis>$AS_HOME/exo-conf/portal/PORTAL_NAME/configuration.xml</emphasis>
and you want to import the configuration file
<emphasis>$AS_HOME/exo-conf/portal/PORTAL_NAME/mySubConfDir/myConfig.xml</emphasis>,
you can do it by adding
<emphasis><import>mySubConfDir/myConfig.xml</import></emphasis>
to your configuration file.
+ </para>
+
+ </note>
+ <note>
+ <para>
+ The name of the configuration folder that is by default
<emphasis>"exo-conf"</emphasis>, can be changed thanks to the System
property <emphasis>exo.conf.dir.name</emphasis>.
+ </para>
+
+ </note>
+ <note>
+ <para>
+ The search looks for a configuration file in each JAR/WAR
available from the classpath using the current thread context classloader. During the
search these configurations are added to a set. If the service was configured previously
and the current JAR contains a new configuration of that service the latest (from the
current JAR/WAR) will replace the previous one. The last one will be applied to the
service during the services start phase.
+ </para>
+
+ </note>
+ <warning>
+ <para>
+ Take care to have no dependencies between configurations from JAR
files (<emphasis>/conf/portal/configuration.xml</emphasis> and
<emphasis>/conf/configuration.xml</emphasis>) since we have no way to know in
advance the loading order of those configurations. In other words, if you want to overload
some configuration located in the file
<emphasis>/conf/portal/configuration.xml</emphasis> of a given JAR file, you
must not do it from the file
<emphasis>/conf/portal/configuration.xml</emphasis> of another JAR file but
from another configuration file loaded after configurations from JAR files
<emphasis>/conf/portal/configuration.xml.</emphasis>
+ </para>
+
+ </warning>
+ <para>
+ After the processing of all configurations available in system, the
container will initialize it and start each service in order of the dependency injection
(DI).
+ </para>
+ <para>
+ The user/developer should be careful when configuring the same
service in different configuration files. It's recommended to configure a service in
its own JAR only. Or, in case of a portal configuration, strictly reconfigure the services
in portal WAR files or in an external configuration.
+ </para>
+ <para>
+ There are services that can be (or should be) configured more than
one time. This depends on business logic of the service. A service may initialize the same
resource (shared with other services) or may add a particular object to a set of objects
(shared with other services too). In the first case, it's critical who will be the
last, i.e. whose configuration will be used. In the second case, it's no matter who is
the first and who is the last (if the parameter objects are independent).
+ </para>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Configuration_Retrieval-Configuration_retrieval_log">
+ <title>Configuration retrieval log</title>
+ <para>
+ In case of problems with service configuration, it's important to
know from which JAR/WAR it comes. For that purpose, the JVM system property
<emphasis>org.exoplatform.container.configuration.debug</emphasis> can be
used.
+<programlisting>java -Dorg.exoplatform.container.configuration.debug
...</programlisting>
+ </para>
+ <para>
+ If the property is enabled, the container configuration manager will
log the configuration adding process at <emphasis>INFO</emphasis> level.
+<programlisting>......
+ Add configuration
jar:file:/D:/Projects/eXo/dev/exo-working/exo-tomcat/lib/exo.kernel.container-trunk.jar!/conf/portal/configuration.xml
+ Add configuration
jar:file:/D:/Projects/eXo/dev/exo-working/exo-tomcat/lib/exo.kernel.component.cache-trunk.jar!/conf/portal/configuration.xml
+ Add configuration jndi:/localhost/portal/WEB-INF/conf/configuration.xml
+ import jndi:/localhost/portal/WEB-INF/conf/common/common-configuration.xml
+ import jndi:/localhost/portal/WEB-INF/conf/database/database-configuration.xml
+ import
jndi:/localhost/portal/WEB-INF/conf/ecm/jcr-component-plugins-configuration.xml
+ import jndi:/localhost/portal/WEB-INF/conf/jcr/jcr-configuration.xml
+ ......</programlisting>
+ </para>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Configuration_Retrieval-Getting_the_effective_configuration_at_Runtime">
+ <title>Getting the effective configuration at
Runtime</title>
+ <para>
+ The effective configuration of the StandaloneContainer, RootContainer
and/or PortalContainer can be known thanks to the method
<emphasis>getConfigurationXML</emphasis>() that is exposed through JMX at the
container's level. This method will give you the effective configuration in XML format
that has been really interpreted by the kernel. This could be helpful to understand how a
given component or plugin has been initialized.
+ </para>
+
+ </section>
+ </section>
\ No newline at end of file
Added:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Configuring_Containers.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Configuring_Containers.xml
(rev 0)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Configuring_Containers.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -0,0 +1,96 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Book_Name.ent">
+%BOOK_ENTITIES;
+]>
+
+ <section
id="sect-Reference_Guide-Foundations-Configuring_a_portal_container">
+ <title>Configuring a portal container</title>
+ <para>
+ A <literal>portal container</literal> is defined by several
attributes:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Portal Container Name</term>
+ <listitem>
+ <para>
+ This attribute is always equal to the URL context to which the
current portal is bound.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>REST Context Name</term>
+ <listitem>
+ <para>
+ This attribute is used for REST access to portal application;
every portal has one unique REST context name.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Realm Name</term>
+ <listitem>
+ <para>
+ This is the name of the security realm used for authentication
when users log into the portal.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Dependencies</term>
+ <listitem>
+ <para>
+ This is a list of other web applications whose resources are
visible to the current portal (via the extension mechanism described later), and are
searched for in the specified order.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/Advanced_Development_Foundations/default7.xml"
parse="text"/></programlisting>
+ <para>
+ Dependencies are part of the <emphasis role="bold">extension
mechanism</emphasis> which is discussed later in this document.
+ </para>
+ <para>
+ Every <literal>PortalContainer</literal> is represented by a
<literal>PortalContainer instance</literal>, which contains:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>eXoContainerContext</term>
+ <listitem>
+ <para>
+ This contains information about the portal.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Unified Servlet Context</term>
+ <listitem>
+ <para>
+ This deals with web-archive-relative resource loading.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Unified Classloader</term>
+ <listitem>
+ <para>
+ For classpath based resource loading.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Various methods for retrieving services</term>
+ <listitem>
+ <para>
+
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ The <emphasis role="bold">Unified servlet
context</emphasis> and <emphasis role="bold">unified
classloader</emphasis> are part of the <emphasis
role="bold">extension mechanism</emphasis> (which is detailed in the
next section).
+ </para>
+ <para>
+ They provide the standard API (<literal>ServletContext</literal>,
<literal>ClassLoader</literal>) with specific resource loading behavior, such
as visibility into associated web application archives, configured with the dependencies
property of <literal>PortalContainerDefinition</literal>.
+ </para>
+ <para>
+ Resources from other web applications are queried in the order specified by
the dependencies. The later entries in the list override the previous ones.
+ </para>
+ </section>
\ No newline at end of file
Added:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Configuring_Services.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Configuring_Services.xml
(rev 0)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Configuring_Services.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -0,0 +1,713 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Book_Name.ent">
+%BOOK_ENTITIES;
+]>
+
+ <section id="sect-Reference_Guide-Foundations-Configuring_services">
+ <title>Configuring Services</title>
+ <para>
+ The eXo Kernel uses dependency injection to create services based on
<filename>configuration.xml</filename> configuration files. The location of
the configuration files determines if services are placed into the
<literal>RootContainer</literal> scope, or into the
<literal>PortalContainer</literal> scope.
+ </para>
+ <para>
+ When creating a service, you also should declare its existence to the
<emphasis role="bold">Container</emphasis>, therefore you create a
first simple configuration file. Copy the following code to a file called
"configuration.xml" and place this file in a /conf subdirectory of your
service base folder. As you already know the container looks for a
"/conf/configuration.xml" file in each jar-file.
+ </para>
+ <para>
+ All <filename>configuration.xml</filename> files located at
<filename>conf/configuration.xml</filename> in the classpath (any directory,
or any jar in the classpath) will have their services configured in the
<literal>RootContainer</literal> scope. All
<filename>configuration.xml</filename> files located at
<filename>conf/portal/configuration.xml</filename> in the classpath will have
their services configured at the <literal>PortalContainer</literal> scope.
+ </para>
+ <para>
+ Additionally, <emphasis role="bold">portal
extensions</emphasis> can contain configuration in
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/configuration.xml</filename>,
and will also have their services configured in the
<literal>PortalContainer</literal> scope.
+ </para>
+ <para>
+ When eXo kernel reads a configuration, it loads the file from the
kernel jar using the classloader and does not use an internet connection to resolve the
file.
+ </para>
+ <note>
+ <para>
+ <emphasis role="bold">Portal extensions</emphasis>
are described later in this document.
+ </para>
+ </note>
+ <section id="sect-Reference_Guide-Foundations-Configuration_syntax">
+ <title>Configuration syntax</title>
+ <section
id="sect-Reference_Guide-Configuration_syntax-Components">
+ <title>Components</title>
+ <para>
+ A service component is defined in
<filename>configuration.xml</filename> by using a <emphasis
role="bold"><component></emphasis> element.
+ </para>
+ <para>
+ Only one piece of information is required when defining a service; the
service implementation class. This is specified using
<literal><type></literal>
+ </para>
+ <para>
+ Every component has a <literal><key></literal>
that identifies it. If not explicitly set, a key defaults to the value of
<literal><type></literal>. If a key can be loaded as a class, a
class object is used as a key, otherwise a string is used.
+ </para>
+ <para>
+ The usual approach is to specify an interface as a key.
+ </para>
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/Advanced_Development_Foundations/default.xml"
parse="text"/></programlisting>
+
+ <para>
+ The configuration you find inside the jar file is considered as the default
configuration. If you want to override this default configuration you can do it in
different places outside the jar. When the container finds several configurations for the
same service, the configuration which is found later replaces completely the one found
previously. Let's call this the <emphasis>configuration override
mechanism</emphasis>.
+ </para>
+ <section
id="sect-Reference_Guide-Configuration_Retrieval-RootContainer">
+ <title>RootContainer</title>
+ <para>
+ As PortalContainer depends on the RootContainer, we will start by looking
into this one.
+ </para>
+ <para>
+ The retrieval sequence in short:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ Services default <classname>RootContainer</classname>
configurations from JAR files <emphasis>/conf/configuration.xml</emphasis>
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ External <classname>RootContainer</classname>
configuration, to be found at
<emphasis>exo-tomcat/exo-conf/configuration.xml</emphasis>
+ </para>
+
+ </listitem>
+
+ </orderedlist>
+ <note>
+ <para>
+ Naturally you always have to replace
<parameter>exo-tomcat</parameter> by your own folder name.
+ </para>
+
+ </note>
+ <para>
+ <emphasis role="bold">HashTable</emphasis> The
<classname>RootContainer</classname> creates a java
<classname>HashTable</classname> which contains key-value pairs for the
services. The qualified interface name of each service is used as key for the hashtable.
Hopefully you still remember that the
<parameter><key></parameter> tag of the configuration file
contains the interface name? The value of each hashtable pair is an object that contains
the service configuration (yes, this means the whole structure between the
<parameter><component></parameter> tags of your
<filename>configuration.xml</filename> file).
+ </para>
+ <para>
+ The <classname>RootContainer</classname> runs over all jar
files you find in <emphasis>exo-tomcat/lib</emphasis> and looks if there is a
configuration file at <emphasis>/conf/configuration.xml</emphasis>, the
services configured in this file are added to the hashtable. That way - at the end of this
process - the default configurations for all services are stored in the hashtable.
+ </para>
+ <note>
+ <para>
+ What happens if the same service - recognized by the same qualified
interface name - is configured in different jars? As the service only can exist one time
the configuration of the jar found later overrides the previous configuration. You know
that the loading <emphasis role="bold">order of the jars is
unpredictable</emphasis> you <emphasis role="bold">must not depend
on this</emphasis>.
+ </para>
+
+ </note>
+ <para>
+ If you wish to provide your own configurations for one or several
services, you can do it in a general configuration file that has to be placed at
<emphasis>exo-tomcat/exo-conf/configuration.xml</emphasis>. Do not search for
such a file on your computer - you won't find one, because this option is not used in
the default installation. Here again the same rule applies: <emphasis>The posterior
configuration replaces the previous one</emphasis>.
+ </para>
+ <para>
+ The further configuration retrieval depends on the container type.
+ </para>
+ <section
id="sect-Reference_Guide-Configuration_Retrieval-PortalContainer">
+ <title>PortalContainer</title>
+ <para>
+ The PortalContainer takes the hashtable filled by the RootContainer and
continues to look in some more places. Here you get the opportunity to replace
RootContainer configurations by those which are specific to your portal. Again, the
configurations are overridden whenever necessary.
+ </para>
+ <para>
+ In short PortalContainer configurations are retrieved in the following
lookup sequence :
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ Take over the configurations of the RootContainer
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ Default PortalContainer configurations from all JAR files (folder
<emphasis>/conf/portal/configuration.xml</emphasis>)
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ Web application configurations from the portal.war file - or the
<emphasis>portal</emphasis> weppapp (folder
<emphasis>/WEB-INF/conf/configuration.xml</emphasis>)
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ External configuration for services of a named portal, it will be
found at
<emphasis>exo-tomcat/exo-conf/portal/$portal_name/configuration.xml</emphasis>
(as of Portal 2.5)
+ </para>
+
+ </listitem>
+
+ </orderedlist>
+ <para>
+ You see, here the
<emphasis>/conf/portal/configuration.xml</emphasis> file of each jar enters
the game, they are searched at first. Next, there is nearly always a configuration.xml in
the portal.war file (or in the portal webapp folder), you find this file at
<emphasis>/WEB-INF/conf/configuration.xml</emphasis>. If you open it, you will
find a lot of import statements that point to other configuration files in the same
portal.war (or portal webapp).
+ </para>
+ <para>
+ <emphasis role="bold">Multiple Portals</emphasis>
Be aware that you might set up several different portals ("admin",
"mexico", etc.), and each of these portals will use a different PortalContainer.
And each of these PortalContainers can be configured separately. As of eXo Portal 2.5 you
also will be able to provide configurations from outside the jars and wars or webapps. Put
a configuration file in
<emphasis>exo-tomcat/exo-conf/portal/$portal_name/configuration.xml</emphasis>
where <parameter>$portal_name</parameter> is the name of the portal you want
to configure for . But normally you only have one portal which is called
"portal" so you use
<emphasis>exo-tomcat/exo-conf/portal/portal/configuration.xml</emphasis>.
+ </para>
+ <note>
+ <para>
+ As of eXo Portal 2.5 you can override the external configuration
location with the system property <emphasis>exo.conf.dir</emphasis>. If the
property exists its value will be used as path to the eXo configuration directory, that
means this is an alternative to <emphasis>exo-tomcat/exo-conf</emphasis>. Just
put this property in the command line: <emphasis>java
-Dexo.conf.dir=/path/to/exo/conf</emphasis> or use eXo.bat or eXo.sh. In this
particular use case, you have no need to use any prefixes in your configuration file to
import other files. For example, if your configuration file is
<emphasis>exo-tomcat/exo-conf/portal/PORTAL_NAME/configuration.xml</emphasis>
and you want to import the configuration file
<emphasis>exo-tomcat/exo-conf/portal/PORTAL_NAME/mySubConfDir/myConfig.xml</emphasis>,
you can do it by adding
<emphasis><import>mySubConfDir/myConfig.xml</import></emphasis>
to your configuration file.
+ </para>
+
+ </note>
+ <note>
+ <para>
+ Under <emphasis role="bold">JBoss</emphasis>
application server <emphasis>exo-conf</emphasis> will be looked up in
directory described by JBoss System property
<emphasis>jboss.server.config.url</emphasis>. If the property is not found or
empty <emphasis>exo-jboss/exo-conf</emphasis> will be asked (since kernel
2.0.4).
+ </para>
+
+ </note>
+ </section>
+ </section>
+
+ <section
id="sect-Reference_Guide-Configuration_syntax-External_Plug_ins">
+ <title>External Plug-ins</title>
+ <para>
+ The eXo Kernel supports non-component objects that can be configured,
instantiated, and injected into registered components using method calls. This
'<emphasis>plugin</emphasis>' method allows portal
extensions to add additional configurations to core services.
+ </para>
+ <para>
+ An external plugin is defined by using the
<literal><external-component-plugin></literal> wrapper element
which contains one or more <literal><component-plugin></literal>
definitions.
+ </para>
+ <para>
+ The
<literal><external-component-plugin></literal> element uses
<literal><target-component></literal> to specify a target
service component that will receive injected objects.
+ </para>
+ <para>
+ Every <literal><component-plugin></literal>
defines an implementation type, and a method on the target component to use for injection
(<literal><set-method></literal>).
+ </para>
+ <para>
+ A plugin implementation class has to implement the <emphasis
role="bold">org.exoplatform.container.component.
ComponentPlugin</emphasis> interface.
+ </para>
+ <para>
+ In the following example the
<literal>PortalContainerDefinitionPlugin</literal> implements the
<literal>ComponentPlugin</literal>:
+ </para>
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/Advanced_Development_Foundations/default1.xml"
parse="text"/></programlisting>
+ <para>
+ The <emphasis
role="bold"><target-component></emphasis> defines the
service for which the plugin is defined. The configuration is injected by the container
using a method that is defined in <emphasis
role="bold"><set-method></emphasis>. The method has
exactly one argument of the type
org.exoplatform.services.cms.categories.impl.TaxonomyPlugin:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+
addTaxonomyPlugin(org.exoplatform.services.cms.categories.impl.TaxonomyPlugin plugin)
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ The content of <emphasis
role="bold"><init-params></emphasis> corresponds to the
structure of the TaxonomyPlugin object.
+ </para>
+ <note>
+ <para>
+ You can configure the component CategoriesService using the
addTaxonomyPlugin as often as you wish, you can also call addTaxonomyPlugin in different
configuration files. The method addTaxonomyPlugin is then called several times, everything
else depends on the implementation of the method.
+ </para>
+ </note>
+ </section>
+ <section
id="sect-Reference_Guide-Service_Configuration_for_Beginners-Service_instantiation">
+ <title>Service instantiation</title>
+ <para>
+ As you have already learned the services are all singletons, so that the
container creates only one single instance of each container. The services are created by
calling the constructors (called <emphasis>constructor injection</emphasis>).
If there are only zero-arguments constructors (<code>Foo public
Foo(){}</code>) there are no problems to be expected. That's easy.
+ </para>
+ <para>
+ But now look at <ulink
url="https://anonsvn.jboss.org/repos/exo-jcr/core/trunk/exo.core.com...
+ </para>
+ <para>
+ This JDBC implementation of BaseOrganizationService interface has only one
constructor:
+ </para>
+
+<programlisting language="Java" role="Java">public
OrganizationServiceImpl(ListenerService listenerService, DatabaseService
dbService);</programlisting>
+ <para>
+ You see this service depends on two other services. In order to be able to
call this constructor the container first needs a
<classname>ListenerService</classname> and a
<classname>DatabaseService</classname>. Therefore these services must be
instantiated before <classname>BaseOrganizationService</classname>, because
<classname>BaseOrganizationService</classname> depends on them.
+ </para>
+ <para>
+ For this purpose the container first looks at the constructors of all
services and creates a matrix of service dependencies in order to call the services in a
proper order. If for any reason there are interdependencies or circular dependencies you
will get a java <classname>Exception</classname>. <emphasis>In this way
the dependencies are injected by the container</emphasis>.
+ </para>
+ <note>
+ <para>
+ What happens if one service has more than one constructor? The container
always tries first to use the constructor with a maximum of arguments, if this is not
possible the container continues step by step with constructors that have less arguments
until arriving at the zero-argument constructor (if there is one).
+ </para>
+
+ </note>
+
+ </section>
+ <section
id="sect-Reference_Guide-Sample_Service-Service_Access">
+ <title>Service Access</title>
+ <para>
+ As you want to follow the principle of <emphasis
role="bold">Inversion of Control,</emphasis> you <emphasis
role="bold">must not</emphasis> access the service directly. You need a
<emphasis role="bold">Container</emphasis> to access the service.
+ </para>
+ <para>
+ With this command you get your current container:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="bold">ExoContainer myContainer =
ExoContainerContext.getCurrentContainer();</emphasis>
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+ <para>
+ Whenever you need one of the services that you have configured use the
method:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis
role="bold">myContainer.getComponentInstance(class)</emphasis>
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+ <para>
+ In our case:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="bold">ArticleStatsService
statsService = (ArticleStatsService)
myContainer.getComponentInstance(ArticleStatsService.class);</emphasis>
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+ <para>
+ Recapitulation:
+ </para>
+
+<programlisting language="Java" role="Java">package
com.laverdad.common;
+
+import org.exoplatform.container.ExoContainer;
+import org.exoplatform.container.ExoContainerContext;
+import com.laverdad.services.*;
+
+public class Statistics {
+
+ public int makeStatistics(String articleText) {
+ ExoContainer myContainer = ExoContainerContext.getCurrentContainer();
+ ArticleStatsService statsService = (ArticleStatsService)
+ myContainer.getComponentInstance(ArticleStatsService.class);
+ int numberOfSentences = statsService.calcSentences(articleText);
+ return numberOfSentences;
+ }
+
+ public static void main( String args[]) {
+ Statistics stats = new Statistics();
+ String newText = "This is a normal text. The method only counts the number of
periods. "
+ + "You can implement your own implementation with a more exact counting. "
+ + "Let`s make a last sentence.";
+ System.out.println("Number of sentences: " + stats.makeStatistics(newText));
+ }
+}</programlisting>
+
+ </section>
+ <section
id="sect-Reference_Guide-Configuration_syntax-Includes_and_special_URLs">
+ <title>Includes, and special URLs</title>
+ <para>
+ It is possible to divide the
<filename>configuration.xml</filename> file into many smaller files, which are
then included into the main configuration file.
+ </para>
+ <para>
+ The included files must be valid xml files; they cannot be fragments of
text.
+ </para>
+ <para>
+ Below is an example <filename>configuration.xml</filename>
that 'outsources' its content into several files:
+ </para>
+ <programlistingco>
+ <areaspec>
+ <area coords="6"
id="area-Reference_Guide-Configuration_syntax-Includes_and_special_URLs-url_schema"/>
+ </areaspec>
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/Advanced_Development_Foundations/default2.xml"
parse="text"/></programlisting>
+ <calloutlist>
+ <callout
arearefs="area-Reference_Guide-Configuration_syntax-Includes_and_special_URLs-url_schema">
+ <para>
+ This line is being used to reference another configuration
file. The <code>war:</code> URL schema indicates that the following path is to
be resolved relative to the current
<literal>PortalContainer</literal>'s servlet context resource path,
starting with <emphasis role="bold">WEB-INF</emphasis> as a root.
+ </para>
+ </callout>
+ </calloutlist>
+ </programlistingco>
+ <note>
+ <para>
+ The current <literal>PortalContainer</literal> is really
a newly created <literal>PortalContainer</literal>, as
<code>war:</code> URLs only make sense for
<literal>PortalContainer</literal> scoped configuration.
+ </para>
+ </note>
+ <para>
+ Through the extension mechanism the servlet context used for resource
loading is a <emphasis role="bold">unified servlet
context</emphasis> (this is explained in a later section).
+ </para>
+ <para>
+ To have an 'include' path resolved relative to current
classpath (context classloader), use a <code>'jar:'</code>
URL schema.
+ </para>
+ </section>
+ <section
id="sect-Reference_Guide-Configuration_syntax-Special_variables">
+ <title>Special variables</title>
+ <para>
+ Configuration files may contain a <emphasis
role="bold">special variable</emphasis> reference
<emphasis>${container.name.suffix}</emphasis>. This variable resolves to the
name of the current portal container, prefixed by underscore (_).
+ </para>
+ <para>
+ This facilitates reuse of configuration files in situations where
portal-specific unique names need to be assigned to some resources; JNDI names,
Database/DataSource names and JCR repository names, for example.
+ </para>
+ <para>
+ This variable is only defined when there is a current
<literal>PortalContainer</literal> available and is only available for
<literal>PortalContainer</literal> scoped services.
+ </para>
+ <para>
+ A good example of this is the <emphasis
role="bold">HibernateService</emphasis>:
+ </para>
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/Advanced_Development_Foundations/default3.xml"
parse="text"/></programlisting>
+ </section>
+ </section>
+ <section
id="sect-Reference_Guide-Foundations-InitParams_configuration_element">
+ <title>InitParams configuration element</title>
+ <para>
+ <parameter>InitParams</parameter> is a configuration element that
is essentially a map of key-value pairs, where <emphasis
role="bold">key</emphasis> is always a
<literal>String</literal>, and <emphasis
role="bold">value</emphasis> can be any type that can be described
using the kernel XML configuration.
+ </para>
+ <para>
+ Service components that form the JBoss Enterprise Portal Platform
infrastructure use <parameter>InitParams</parameter> elements to configure
themselves. A component can have one instance of
<parameter>InitParams</parameter> injected at most.
+ </para>
+ <para>
+ If the service component's constructor takes
<parameter>InitParams</parameter> as any of the parameters it will
automatically be injected at component instantiation time.
+ </para>
+ <para>
+ The XML configuration for a service component that expects an
<parameter>InitParams</parameter> element must have an
<parameter><init-params></parameter> element present, however
this element can be left empty.
+ </para>
+ <para>
+ Below is an example of how the kernel XML configuration syntax looks when
creating <parameter>InitParams</parameter> instances:
+ </para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/Advanced_Development_Foundations/default4.xml"
parse="text"/></programlisting>
+ <para>
+ An <parameter>InitParams</parameter> element description begins
with an <parameter><init-params></parameter> element.
+ </para>
+ <para>
+ It can have zero or more children elements, each of which is one of the
following:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <parameter><value-param></parameter>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter><values-param></parameter>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <parameter><properties-param></parameter>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ or
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <parameter><object-param></parameter>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Each of these child elements takes a
<parameter><name></parameter> that serves as a map entry key,
and an optional <parameter><description></parameter>. It also
takes a type-specific <emphasis role="bold">value</emphasis>
specification.
+ </para>
+ <para>
+ The value specification for the
<parameter><properties-param></parameter> defines one or more
<parameter><property></parameter> elements, each of which
specifies two strings; a property name and a property value. This is evident in the two
previous examples.
+ </para>
+ <para>
+ Each <parameter><properties-params></parameter>
defines one <literal>java.util.Properties</literal> instance.
+ </para>
+ <para>
+ The value specification for
<parameter><value-param></parameter> elements is a
<parameter><value></parameter> element which defines a
<literal>String</literal> instance.
+ </para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/Advanced_Development_Foundations/default5.xml"
parse="text"/></programlisting>
+ <para>
+ The value specification for
<parameter><values-param></parameter> requires one or more
<parameter><value></parameter> elements. Each
<parameter><value></parameter> represents one
<literal>String</literal> instance. All <literal>String</literal>
values are then collected into a <literal>java.util.List</literal> instance.
+ </para>
+ <programlisting language="XML" role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/Advanced_Development_Foundations/default6.xml"
parse="text"/></programlisting>
+ <para>
+ For <parameter><object-param></parameter> entries,
the value specification consists of an
<parameter><object></parameter> element which is used for plain
Java style object specification (specifying an implementation <emphasis>class -
<parameter><type></parameter></emphasis>, and
<emphasis>property values -
<parameter><field></parameter></emphasis>).
+ </para>
+ <para>
+ The following section has an example of specifying a field of with a
<literal>Collection</literal> type.
+ </para>
+ <para>
+ The <parameter>InitParams</parameter> structure (the names and
types of entries) is specific for each service, as it is the code inside a service
components' class that defines which entry names to look up and what types it
expects to find.
+ </para>
+ <section id="sect-Reference_Guide-Parameters-Value_Param">
+ <title>Value-Param</title>
+ <para>
+ There is an value-param example:
+ </para>
+ <programlisting language="XML" role="XML">
<component>
+ <key>org.exoplatform.portal.config.UserACL</key>
+ <type>org.exoplatform.portal.config.UserACL</type>
+ <init-params>
+...
+ <value-param>
+ <name>access.control.workspace</name>
+ <description>groups with memberships that have the right to access
the User Control Workspace</description>
+
<value>*:/platform/administrators,*:/organization/management/executive-board</value>
+ </value-param>
+...
+ </component></programlisting>
+ <para>
+ The UserACL class accesses to the <emphasis
role="bold">value-param</emphasis> in its constructor.
+ </para>
+ <programlisting language="Java" role="Java">package
org.exoplatform.portal.config;
+public class UserACL {
+
+ public UserACL(InitParams params) {
+ UserACLMetaData md = new UserACLMetaData();
+ ValueParam accessControlWorkspaceParam =
params.getValueParam("access.control.workspace");
+ if(accessControlWorkspaceParam != null)
md.setAccessControlWorkspace(accessControlWorkspaceParam.getValue());
+...</programlisting>
+ </section>
+ <section id="sect-Reference_Guide-Parameters-Properties_Param">
+ <title>Properties-Param</title>
+ <para>
+ Properties are name-value pairs. Both the name and the value are Java
Strings.
+ </para>
+ <para>
+ Here you see the hibernate configuration example:
+ </para>
+ <programlisting language="XML" role="XML">
<component>
+
<key>org.exoplatform.services.database.HibernateService</key>
+
<type>org.exoplatform.services.database.impl.HibernateServiceImpl</type>
+ <init-params>
+ <properties-param>
+ <name>hibernate.properties</name>
+ <description>Default Hibernate Service</description>
+ <property name="hibernate.show_sql"
value="false"/>
+ <property
name="hibernate.cglib.use_reflection_optimizer"
value="true"/>
+ <property name="hibernate.connection.url"
value="jdbc:hsqldb:file:../temp/data/exodb"/>
+ <property name="hibernate.connection.driver_class"
value="org.hsqldb.jdbcDriver"/>
+...
+ </properties-param>
+ </init-params>
+ </component></programlisting>
+ <para>
+ In the org.exoplatform.services.database.impl.HibernateServiceImpl you
will find that the name "hibernate.properties" of the properties-param
is used to access the properties.
+ </para>
+ <programlisting language="Java" role="Java">package
org.exoplatform.services.database.impl;
+
+public class HibernateServiceImpl implements HibernateService, ComponentRequestLifecycle
{
+ public HibernateServiceImpl(InitParams initParams, CacheService cacheService) {
+ PropertiesParam param =
initParams.getPropertiesParam("hibernate.properties");
+...
+}</programlisting>
+ </section>
+ <section id="sect-Reference_Guide-Parameters-Object_Param">
+ <title>Object-Param</title>
+ <para>
+ Let's have a look at the configuration of the LDAPService.
It's not important to know LDAP, we only discuss the parameters.
+ </para>
+ <programlisting language="XML"
role="XML"><component>
+ <key>org.exoplatform.services.ldap.LDAPService</key>
+
<type>org.exoplatform.services.ldap.impl.LDAPServiceImpl</type>
+ <init-params>
+ <object-param>
+ <name>ldap.config</name>
+ <description>Default ldap config</description>
+ <object
type="org.exoplatform.services.ldap.impl.LDAPConnectionConfig">
+ <field
name="providerURL"><string>ldaps://10.0.0.3:636</string></field>
+ <field
name="rootdn"><string>CN=Administrator,CN=Users,DC=exoplatform,DC=org</string></field>
+ <field
name="password"><string>exo</string></field>
+ <field
name="version"><string>3</string></field>
+ <field
name="minConnection"><int>5</int></field>
+ <field
name="maxConnection"><int>10</int></field>
+ <field
name="referralMode"><string>ignore</string></field>
+ <field
name="serverName"><string>active.directory</string></field>
+ </object>
+ </object-param>
+ </init-params>
+</component></programlisting>
+ <para>
+ You see here an <emphasis
role="bold">object-param</emphasis> is being used to pass the
parameters inside an object (actually a java bean). It consists of a <emphasis
role="bold">name</emphasis>, a <emphasis
role="bold">description</emphasis> and exactly one <emphasis
role="bold">object</emphasis>. The object defines the <emphasis
role="bold">type</emphasis> and a number of <emphasis
role="bold">fields</emphasis>.
+ </para>
+ <para>
+ Here you see how the service accesses the object:
+ </para>
+ <programlisting language="Java" role="Java">package
org.exoplatform.services.ldap.impl;
+
+public class LDAPServiceImpl implements LDAPService {
+...
+ public LDAPServiceImpl(InitParams params) {
+ LDAPConnectionConfig config = (LDAPConnectionConfig)
params.getObjectParam("ldap.config")
+ .getObject();
+...</programlisting>
+ <para>
+ The passed object is LDAPConnectionConfig which is a classic <emphasis
role="bold">java bean</emphasis>. It contains all fields and also the
appropriate getters and setters (not listed here). You also can provide default values.
The container creates a new instance of your bean and calls all setters whose values are
configured in the configuration file.
+ </para>
+ <programlisting language="Java" role="Java">package
org.exoplatform.services.ldap.impl;
+
+public class LDAPConnectionConfig {
+ private String providerURL = "ldap://127.0.0.1:389";
+ private String rootdn;
+ private String password;
+ private String version;
+ private String authenticationType = "simple";
+ private String serverName = "default";
+ private int minConnection;
+ private int maxConnection;
+ private String referralMode = "follow";
+...</programlisting>
+ <para>
+ You see that the types (String, int) of the fields in the configuration
correspond with the bean. A short glance in the kernel_1_0.xsd file let us discover more
simple types:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="bold">string, int, long, boolean,
date, double</emphasis>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Have a look on this type test xml file: <ulink
url="https://anonsvn.jboss.org/repos/exo-jcr/kernel/trunk/exo.kernel...;.
+ </para>
+ </section>
+ <section id="sect-Reference_Guide-Parameters-Collection">
+ <title>Collection</title>
+ <para>
+ You also can use java collections to configure your service. In order to
see an example, let's open the database-organization-configuration.xml file. This
file defines a default user organization (users, groups, memberships/roles) of your
portal. They use component-plugins which are explained later. You will see that
object-param is used again.
+ </para>
+ <para>
+ There are two collections: The first collection is an <emphasis
role="bold">ArrayList</emphasis>. This ArrayList contains only one
value, but there could be more. The only value is an object which defines the field of the
NewUserConfig$JoinGroup bean.
+ </para>
+ <para>
+ The second collection is a <emphasis
role="bold">HashSet</emphasis> that is a set of strings.
+ </para>
+ <programlisting language="XML" role="XML">
<component-plugin>
+ <name>new.user.event.listener</name>
+ <set-method>addListenerPlugin</set-method>
+
<type>org.exoplatform.services.organization.impl.NewUserEventListener</type>
+ <description>this listener assign group and membership to a new
created user</description>
+ <init-params>
+ <object-param>
+ <name>configuration</name>
+ <description>description</description>
+ <object
type="org.exoplatform.services.organization.impl.NewUserConfig">
+ <field name="group">
+ <collection type="java.util.ArrayList">
+ <value>
+ <object
type="org.exoplatform.services.organization.impl.NewUserConfig$JoinGroup">
+ <field
name="groupId"><string>/platform/users</string></field>
+ <field
name="membership"><string>member</string></field>
+ </object>
+ </value>
+ </collection>
+ </field>
+ <field name="ignoredUser">
+ <collection type="java.util.HashSet">
+
<value><string>root</string></value>
+
<value><string>john</string></value>
+
<value><string>marry</string></value>
+
<value><string>demo</string></value>
+
<value><string>james</string></value>
+ </collection>
+ </field>
+ </object>
+ </object-param>
+ </init-params>
+ </component-plugin></programlisting>
+ <para>
+ Let's look at the
org.exoplatform.services.organization.impl.NewUserConfig bean:
+ </para>
+ <programlisting language="Java" role="Java">public
class NewUserConfig {
+ private List role;
+ private List group;
+ private HashSet ignoredUser;
+
+ ...
+
+ public void setIgnoredUser(String user) {
+ ignoredUser.add(user);
+
+ ...
+
+ static public class JoinGroup {
+ public String groupId;
+ public String membership;
+ ...
+}</programlisting>
+ <para>
+ You see the values of the HashSet are set one by one by the container,
and it's the responsibility of the bean to add these values to its HashSet.
+ </para>
+ <para>
+ The JoinGroup object is just an inner class and implements a bean of its
own. It can be accessed like any other inner class using NewUserConfig.JoinGroup.
+ </para>
+ </section>
+ </section>
+ <section
id="sect-Reference_Guide-Miscellaneous-Configuration_Logging">
+ <title>Configuration Logging</title>
+ <para>
+ In case you need to solve problems with your service configuration, you
have to know from which JAR/WAR causes your troubles. Add the JVM system property
<parameter>org.exoplatform.container.configuration.debug</parameter> to your
eXo.bat or eXo.sh file (exo-tomcat/bin/).
+ </para>
+
+<programlisting>set
EXO_CONFIG_OPTS="-Dorg.exoplatform.container.configuration.debug"</programlisting>
+ <para>
+ If this property is set the container configuration manager reports
during startup the configuration retrieval process to the standard output (System.out).
+ </para>
+
+<programlisting>......
+Add configuration
jar:file:/D:/Projects/eXo/dev/exo-working/exo-tomcat/lib/exo.kernel.container-trunk.jar!/conf/portal/configuration.xml
+Add configuration
jar:file:/D:/Projects/eXo/dev/exo-working/exo-tomcat/lib/exo.kernel.component.cache-trunk.jar!/conf/portal/configuration.xml
+Add configuration jndi:/localhost/portal/WEB-INF/conf/configuration.xml import
jndi:/localhost/portal/WEB-INF/conf/common/common-configuration.xml
+import jndi:/localhost/portal/WEB-INF/conf/database/database-configuration.xml import
jndi:/localhost/portal/WEB-INF/conf/ecm/jcr-component-plugins-configuration.xml
+import jndi:/localhost/portal/WEB-INF/conf/jcr/jcr-configuration.xml
+......</programlisting>
+
+ </section>
+ <section
id="sect-Reference_Guide-Service_Configuration_in_Detail-Import">
+ <title>Import</title>
+ <para>
+ The import tag allows to link to other configuration files. These imported
files can be placed anywhere. If you write a default configuration which is part of your
jar file you should not import files from outside your jar.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis role="bold">war</emphasis>: Imports
from <emphasis role="bold">portal.war/WEB-INF</emphasis>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">jar</emphasis> or
<emphasis role="bold">classpath</emphasis>: Uses the <emphasis
role="bold">classloader</emphasis>, you can use this prefix in the
default configuration for importing an other configuration file which is accessible by the
classloader.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">file</emphasis>: Uses an
<emphasis role="bold">absolute path</emphasis>, you also can put a
<emphasis role="bold">URL</emphasis>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis role="bold">without any
prefix</emphasis>:
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ If you open the
"portal/trunk/web/portal/src/main/webapp/WEB-INF/conf.configuration.xml"
you will see that it consists only of imports:
+ </para>
+ <programlisting language="XML"
role="XML"><import>war:/conf/common/common-configuration.xml</import>
+<import>war:/conf/common/logs-configuration.xml</import>
+<import>war:/conf/database/database-configuration.xml</import>
+<import>war:/conf/jcr/jcr-configuration.xml</import>
+<import>war:/conf/common/portlet-container-configuration.xml</import>
+...</programlisting>
+ </section>
+ <section
id="sect-Reference_Guide-Service_Configuration_in_Detail-System_properties">
+ <title>System properties</title>
+ <para>
+ Since kernel 2.0.7 and 2.1, it is possible to use system properties in
literal values of component configuration meta data. This makes it possible to resolve
properties at runtime instead of providing a value at packaging time.
+ </para>
+ <para>
+ In
portal/trunk/web/portal/src/main/webapp/WEB-INF/conf/database/database-configuration.tmpl.xml
you find an example for system properties:
+ </para>
+ <programlisting language="XML" role="XML">
<component>
+
<key>org.exoplatform.services.database.HibernateService</key>
+ <jmx-name>database:type=HibernateService</jmx-name>
+
<type>org.exoplatform.services.database.impl.HibernateServiceImpl</type>
+ <init-params>
+ <properties-param>
+ <name>hibernate.properties</name>
+ <description>Default Hibernate Service</description>
+...
+ <property name="hibernate.connection.url"
value="${connectionUrl}"/>
+ <property name="hibernate.connection.driver_class"
value="${driverClass}"/>
+ <property name="hibernate.connection.username"
value="${username}"/>
+ <property name="hibernate.connection.password"
value="${password}"/>
+ <property name="hibernate.dialect"
value="${dialect}"/>
+...
+ </properties-param>
+ </init-params>
+ </component></programlisting>
+ <para>
+ As these are system properties you use the -D command: <emphasis
role="bold">java -DconnectionUrl=jdbc:hsqldb:file:../temp/data/exodb
-DdriverClass=org.hsqldb.jdbcDriver</emphasis> Or better use the parameters of
eXo.bat / eXo.sh when you start eXo Portal: <emphasis role="bold">set
EXO_OPTS="-DconnectionUrl=jdbc:hsqldb:file:../temp/data/exodb
-DdriverClass=org.hsqldb.jdbcDriver"</emphasis>
+ </para>
+ </section>
+ </section>
+ </section>
\ No newline at end of file
Added:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Extensions_And_Multiple_Portals.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Extensions_And_Multiple_Portals.xml
(rev 0)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Extensions_And_Multiple_Portals.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -0,0 +1,157 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Book_Name.ent">
+%BOOK_ENTITIES;
+]>
+
+ <section
id="sect-Reference_Guide-Foundations-The_Extension_Mechanism_and_Portal_Extensions">
+ <title>The Extension Mechanism and Portal Extensions</title>
+ <para>
+ The <emphasis role="bold">Extension
mechanism</emphasis> makes it possible to override portal resources in a way similar
to hardware plug-and-play functionalities.
+ </para>
+ <para>
+ Customizations can be implemented without unpacking and repacking the
original portal <code>.war</code> archives by adding a
<code>.war</code> archive to the resources and configuring its position in the
portal's classpath. Custom <code>.war</code> archives can be created
with new resources that override the resources in the original archive.
+ </para>
+ <para>
+ These archives, packaged for use through the extension mechanism, are called
<emphasis role="bold">portal extensions</emphasis>.
+ </para>
+ <procedure
id="proc-Reference_Guide-The_Extension_Mechanism_and_Portal_Extensions-Creating_a_portal_extension">
+ <title>Creating a portal extension</title>
+ <step>
+ <para>
+ Declare the <emphasis
role="bold">PortalConfigOwner</emphasis> servlet context listener in
the <filename>web.xml</filename> of your web application.
+ </para>
+ <para>
+ This example shows a portal extension called <emphasis
role="bold">sample-ext</emphasis>.
+ </para>
+ <programlisting language="XML"
role="XML"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/Advanced_Development_Foundations/default8.xml"
parse="text"/></programlisting>
+ </step>
+ <step>
+ <para>
+ Add the application's servlet context name to the
<literal>PortalContainerDefinition</literal>'s list of dependencies.
This must be done for each portal container that you want to have access to the new
application.
+ </para>
+ <para>
+ The application's position in these lists will dictate its
priority when the portal loads resources. The later your application appears in the list,
the higher its resource priority will be.
+ </para>
+ </step>
+ <step>
+ <para>
+ At this point your new web archive will be on both the
portal's unified classpath and unified servlet context resource path.
+ </para>
+ </step>
+ </procedure>
+ <note>
+ <title>Example</title>
+ <para>
+ Refer to the code extract in <xref
linkend="sect-Reference_Guide-Foundations-Configuring_a_portal_container"/>
for an example of a <literal>PortalContainerDefinition</literal> that has
<emphasis role="bold">sample-ext</emphasis> in its list of
dependencies.
+ </para>
+ </note>
+ <section
id="sect-Reference_Guide-Foundations-Running_Multiple_Portals">
+ <title>Running Multiple Portals</title>
+<!-- DOC TODO: This section requires more work to structure the information
effectively. Consider sub-sections --> <para>
+ It is possible to run several independent portal containers, each bound to a
different URL context, within the same JVM instance.
+ </para>
+ <para>
+ This method of deployment allows for efficient administration and resource
consumption by allowing coexisting portals to <emphasis>reuse</emphasis>
configuration arrangements through the extension mechanism.
+ </para>
+ <para>
+ Portals can <emphasis>inherit</emphasis> resources and
configuration from existing web archives and add extra resources as needed,
<emphasis>overriding</emphasis> those that need to be changed by including
modified copies.
+ </para>
+ <para>
+ In order for a portal application to function correctly when deployed within
a multiple portal deployment, it may have to dynamically query the information about the
current portal container. The application should not make any assumptions about the name,
and other information of the current portal, as there are now multiple different portals
in play.
+ </para>
+ <para>
+ At any point during request processing, or life-cycle event processing, an
application can retrieve this information through
<literal>org.exoplatform.container.eXoContainerContext</literal>.
+ </para>
+ <para>
+ Sometimes an application must ensure that the proper
<literal>PortalContainer</literal> is associated with the current
<literal>eXoContainerContext</literal> call.
+ </para>
+ <para>
+ If the portal application contains servlets or servlet filters that need to
access portal specific resources during their request processing, the servlet or filter
must be associated with the current container.
+ </para>
+ <para>
+ A servlet in this instance should extend the
<literal>org.exoplatform.container.web.AbstractHttpServlet</literal> class so
as to properly initialize the current <literal>PortalContainer</literal>.
+ </para>
+ <para>
+ This will also set the current thread's context Classloader to one
that looks for resources in associated web applications in the order specified by the
<emphasis role="bold">dependencies</emphasis> configuration (as seen
in <xref
linkend="sect-Reference_Guide-Foundations-The_Extension_Mechanism_and_Portal_Extensions"/>).
+ </para>
+ <para>
+ Filter classes need to extend the
<literal>org.exoplatform.container.web.AbstractFilter</literal>.
+ </para>
+ <para>
+ Both <literal>AbstractHttpServlet</literal>, and
<literal>AbstractFilter</literal> have a
<literal>getContainer()</literal> method, which returns the current
<literal>PortalContainer</literal>.
+ </para>
+ <para>
+ If your servlet handles the requests by implementing a
<literal>service()</literal> method, that method must be renamed to match the
following signature:
+ </para>
+ <programlisting language="Java" role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/Advanced_Development_Foundations/default9.java"
parse="text"/></programlisting>
+ <note>
+ <para>
+ This ensures that
<literal>AbstractHttpServlet</literal>'s
<literal>service()</literal> interception is not overwritten.
+ </para>
+ </note>
+ <para>
+ An application may also need access to portal information within the
<emphasis role="bold">HttpSessionListener</emphasis>. Ensure the
abstract class <emphasis
role="bold">org.exoplatform.container.web.AbstractHttpSessionListener</emphasis>
is extended.
+ </para>
+ <para>
+ In this instance, modify the method signatures as follows:
+ </para>
+ <programlisting language="Java" role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/Advanced_Development_Foundations/default10.java"
parse="text"/></programlisting>
+ <para>
+ Another method must also be implemented in this case:
+ </para>
+ <programlisting language="Java" role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/Advanced_Development_Foundations/default11.java"
parse="text"/></programlisting>
+ <para>
+ If this method returns <emphasis>true</emphasis> the current
thread's context Classloader is set up according to the <emphasis
role="bold">dependencies</emphasis> configuration and availability of
the associated web applications.
+ </para>
+ <para>
+ If it returns <emphasis>false</emphasis> the standard application
separation rules are used for resource loading (effectively turning off the extension
mechanism).
+ </para>
+ <para>
+ This method exists on both <literal>AbstractHttpServlet</literal>
and <literal>AbstractFilter</literal>. This is a default implementation that
automatically returns <emphasis>true</emphasis> when it detects there is a
current <literal>PortalContainer</literal> present and
<emphasis>false</emphasis> otherwise.
+ </para>
+ <formalpara
id="form-Reference_Guide-Running_Multiple_Portals-ServletContextListener_based_initialization_access_to_PortalContainer">
+ <title>ServletContextListener-based initialization access to
PortalContainer</title>
+ <para>
+ JBoss Enterprise Portal Platform has no direct control over the
deployment of application archives (<code>.war</code> and
<code>.ear</code> files); it is the application server that performs the
deployment.
+ </para>
+ </formalpara>
+ <para>
+ However, applications in the <emphasis
role="bold">dependencies</emphasis> configuration must be deployed
<emphasis>before</emphasis> the portal that depends on them is initialized in
order for the <emphasis role="bold">extension mechanism</emphasis>
to work properly.
+ </para>
+ <para>
+ Conversely, some applications may require an already initialized
<literal>PortalContainer</literal> to properly initialize themselves. This
gives rise to a recursive dependency problem.
+ </para>
+ <para>
+ A mechanism of <emphasis role="bold">initialization
tasks</emphasis> and <emphasis role="bold">task
queues</emphasis> has been implemented in JBoss Enterprise Portal Platform to
resolve this dependency issue.
+ </para>
+ <para>
+ Web applications that depend on a current
<literal>PortalContainer</literal> to initialize must avoid performing their
initialization directly on a <literal>ServletContextListener</literal>
executed during their deployment (before any
<literal>PortalContainer</literal> was initialized).
+ </para>
+ <para>
+ To ensure this, a web application should package its initialization logic
into an <code>init</code> task of an appropriate type and only use
<literal>ServletContextListener</literal> to insert the
<code>init</code> task instance into the proper <code>init</code>
tasks queue.
+ </para>
+ <para>
+ An example of this is the Gadgets application which registers Google gadgets
with the current <literal>PortalContainer</literal>. This example uses
<emphasis role="bold">PortalContainerPostInitTask</emphasis> which
is executed after the portal container has been initialized.
+ </para>
+ <programlisting language="Java" role="Java"><xi:include
xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../extras/Advanced_Development_Foundations/GadgetRegister.java"
parse="text"/></programlisting>
+ <para>
+ In some situations initialization may be required
<emphasis>after</emphasis> the portal container is instantiated but
<emphasis>before</emphasis> it has initialized.
<literal>PortalContainerPreInitTask</literal> can be used in that case.
+ </para>
+ <para>
+ Use <emphasis
role="bold">PortalContainerPostCreateTask</emphasis> if initialization
is required <emphasis>after</emphasis> all the
<code>post-init</code> tasks have been executed.
+ </para>
+ <formalpara
id="form-Reference_Guide-Running_Multiple_Portals-LoginModules">
+ <title>LoginModules</title>
+ <para>
+ If some custom <literal>LoginModules</literal> require the
current <literal>eXoContainer</literal> for initialization ensure they extend
<emphasis
role="bold">org.exoplatform.services.security.jaas.AbstractLoginModule</emphasis>.
+ </para>
+ </formalpara>
+ <para>
+ <literal>AbstractLoginModule</literal> enforces some basic
configuration. It recognizes two initialization options; <emphasis
role="bold">portalContainerName</emphasis> and <emphasis
role="bold">realmName</emphasis>.
+ </para>
+ <para>
+ The values for these options can be accessed via protected fields of the same
name.
+ </para>
+ </section>
+</section>
\ No newline at end of file
Added:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Kernel.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Kernel.xml
(rev 0)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Kernel.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -0,0 +1,123 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Book_Name.ent">
+%BOOK_ENTITIES;
+]>
+
+<section id="sect-Reference_Guide-Foundations-The_eXo_Kernel">
+<title>The eXo Kernel</title>
+<para>
+ JBoss Enterprise Portal Platform is built as a set of services on top of a
dependency injection kernel. The kernel provides configuration, life-cycle handling,
component scopes and some core services.
+ </para>
+ <para>
+ The portal kernel and the JCR used in JBoss Enterprise Portal Platform use the
<emphasis>Inversion of Control</emphasis> (<emphasis
role="bold">IoC</emphasis>) system to control service instantiation.
This method is also known as 'dependency injection'.
+</para>
+<para>
+ In this system, services are not responsible for the instantiation of the components
on which they depend. It prevents objects creating the instances of any objects
referenced. This task is delegated to the container. The below image illustrates this:
+</para>
+<mediaobject>
+ <imageobject role="html">
+ <imagedata fileref="images/Advanced/Foundations/ioc.png"
format="PNG" align="center"/>
+ </imageobject>
+ <imageobject role="fo">
+ <imagedata fileref="images/Advanced/Foundations/ioc.png"
format="PNG" align="center" width="XXXmm"/>
+ </imageobject>
+</mediaobject>
+<para>
+ There are two ways to inject a dependency :
+ </para>
+ <para>
+ Using a constructor:
+ </para>
+
+<programlisting language="Java" role="Java">public
ServiceA(ServiceB serviceB)</programlisting>
+ <para>
+ Using setter methods:
+ </para>
+
+<programlisting language="Java" role="Java">public void
setServiceB(ServiceB serviceB)</programlisting>
+ <para>
+ When a client service can not be stored in the container then the service locator
pattern is used:
+ </para>
+
+<programlisting language="Java" role="Java">public ServiceA(){
+this.serviceB =Container.getSInstance().getService(ServiceB.class);
+}</programlisting>
+<para>
+ Service components exist in two scopes. The first scope is represented by the
<literal>RootContainer</literal>. It contains services that exist
independently of any portal, and can be accessed by all portals.
+ </para>
+<para>
+ The second scope, the <literal>PortalContainer</literal>, is
portal-specific. Each portal exists in an instance of the
<literal>PortalContainer</literal>. This scope contains services that are
common for a set of portals, and services which should not be shared by all portals.
+ </para>
+<itemizedlist>
+ <listitem>
+ <para>
+ RootContainer: This is a base container. This container plays an
important role during startup, but you should not use it directly.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ PortalContainer: Created at the startup of the portal web application (in
the init() method of the PortalController servlet)
+ </para>
+ </listitem>
+</itemizedlist>
+<para>
+ <mediaobject>
+ <imageobject role="html">
+ <imagedata width="444" align="center" scale="100"
fileref="images/Advanced/Foundations/PortalContainers.png"
format="PNG"/>
+ </imageobject>
+ <imageobject role="fo">
+ <imagedata width="444" contentwidth="150mm"
align="center"
fileref="images/Advanced/Foundations/PortalContainers.png"
format="PNG"/>
+ </imageobject>
+ </mediaobject>
+
+ </para>
+<para>
+ Whenever a specific service is looked up through the
<literal>PortalContainer</literal>, and the service is not available, the
lookup is delegated further up to the <literal>RootContainer</literal>.
+ </para>
+<para>
+ JBoss Enterprise Portal Platform can have default instances of a certain
component in the <literal>RootContainer</literal>, and portal specific
instances in some or all <literal>PortalContainers</literal>, that override
the default instance.
+ </para>
+<para>
+ Whenever your portal application has to be integrated more closely with eXo
services, these services can be looked up through the
<literal>PortalContainer</literal>.
+ </para>
+<important>
+ <para>
+ Only officially documented services should be accessed this way, and used
according to documentation, as most of the services are an implementation detail of eXo,
and subject to change without notice.
+ </para>
+</important>
+ <section
id="sect-Reference_Guide-Container_Configuration-Kernel_configuration_namespace">
+ <title>Kernel configuration namespace</title>
+ <para>
+ To be effective, the namespace URI
<
uri>http://www.exoplaform.org/xml/ns/kernel_1_2.xsd</uri> must be target
namespace of the XML configuration file.
+ </para>
+
+<programlisting language="XML" role="XML"><configuration
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_2.xsd
http://www.exoplaform.org/xml/ns/kernel_1_2.xsd"
+
xmlns="http://www.exoplaform.org/xml/ns/kernel_1_2.xsd">
+
+
+...
+</configuration></programlisting>
+ <note>
+ <para>
+ Any values in the configuration files can be created thanks to variables
since the eXo kernel resolves them, for example the following configuration will be well
interpreted:
+ </para>
+
+<programlisting language="XML"
role="XML"><configuration
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_2.xsd
http://www.exoplaform.org/xml/ns/kernel_1_2.xsd"
+xmlns="http://www.exoplaform.org/xml/ns/kernel_1_2.xsd">
+
+<import>${db.configuration.path}/db.xml</import>
+<import>${java.io.tmpdir}/bindfile.xml</import>
+<import>simple.xml</import>
+
+</configuration></programlisting>
+ <para>
+ The variables that are supported, are System properties and variables that
are specific to your portal container, see next sections for more details.
+ </para>
+
+ </note>
+ </section>
+</section>
\ No newline at end of file
Added:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Profiles.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Profiles.xml
(rev 0)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Profiles.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -0,0 +1,206 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Book_Name.ent">
+%BOOK_ENTITIES;
+]>
+
+<section
id="sect-Reference_Guide-Container_Configuration-Runtime_configuration_profiles">
+ <title>Runtime configuration profiles</title>
+ <para>
+ The kernel configuration is able to handle configuration profiles at runtime
(as opposed to packaging time).
+ </para>
+ <section
id="sect-Reference_Guide-Runtime_configuration_profiles-Profiles_activation">
+ <title>Profiles activation</title>
+ <para>
+ An active profile list is obtained during the boot of the root container
and is composed of the system property <emphasis>exo.profiles</emphasis>
sliced according the "," delimiter and also a server specific profile value
(tomcat for tomcat, jboss for jboss, etc...).
+ </para>
+
+<programlisting># runs GateIn on Tomcat with the profiles tomcat and foo
+sh gatein.sh -Dexo.profiles=foo
+
+# runs GateIn on JBoss with the profiles jboss, foo and bar
+sh run.sh -Dexo.profiles=foo,bar</programlisting>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Runtime_configuration_profiles-Profiles_configuration">
+ <title>Profiles configuration</title>
+ <para>
+ Profiles are configured in the configuration files of the eXo kernel.
+ </para>
+ <section
id="sect-Reference_Guide-Profiles_configuration-Profiles_definition">
+ <title>Profiles definition</title>
+ <para>
+ Profile activation occurs at XML to configuration object
unmarshalling time. It is based on an "profile" attribute that is present on
some of the XML element of the configuration files. To enable this, the kernel
configuration schema has been upgraded to kernel_1_1.xsd. The configuration is based on
the following rules:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ Any kernel element with the no
<emphasis>profiles</emphasis> attribute will create a configuration object
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ Any kernel element having a
<emphasis>profiles</emphasis> attribute containing at least one of the active
profiles will create a configuration object
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ Any kernel element having a
<emphasis>profiles</emphasis> attribute matching none of the active profile
will not create a configuration object
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ Resolution of duplicates (such as two components with same
type) is left up to the kernel
+ </para>
+
+ </listitem>
+
+ </orderedlist>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Profiles_configuration-Profiles_capable_configuration_elements">
+ <title>Profiles capable configuration elements</title>
+ <para>
+ A configuration element is <emphasis>profiles</emphasis>
capable when it carries a profiles element.
+ </para>
+ <section
id="sect-Reference_Guide-Profiles_capable_configuration_elements-Component_element">
+ <title>Component element</title>
+ <para>
+ The component element declares a component when activated. It
will shadow any element with the same key declared before in the same configuration file:
+ </para>
+
+<programlisting language="XML"
role="XML"><component>
+ <key>Component</key>
+ <type>Component</type>
+</component>
+
+<component profiles="foo">
+ <key>Component</key>
+ <type>FooComponent</type>
+</component></programlisting>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Profiles_capable_configuration_elements-Component_plugin_element">
+ <title>Component plugin element</title>
+ <para>
+ The component-plugin element is used to dynamically extend the
configuration of a given component. Thanks to the profiles the component-plugins could be
enabled or disabled:
+ </para>
+
+<programlisting language="XML"
role="XML"><external-component-plugins>
+ <target-component>Component</target-component>
+ <component-plugin profiles="foo">
+ <name>foo</name>
+ <set-method>addPlugin</set-method>
+ <type>type</type>
+ <init-params>
+ <value-param>
+ <name>param</name>
+ <value>empty</value>
+ </value-param>
+ </init-params>
+ </component-plugin>
+</external-component-plugins></programlisting>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Profiles_capable_configuration_elements-Import_element">
+ <title>Import element</title>
+ <para>
+ The import element imports a referenced configuration file when
activated:
+ </para>
+
+<programlisting language="XML"
role="XML"><import>empty</import>
+<import profiles="foo">foo</import>
+<import
profiles="bar">bar</import></programlisting>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Profiles_capable_configuration_elements-Init_param_element">
+ <title>Init param element</title>
+ <para>
+ The init param element configures the parameter argument of the
construction of a component service:
+ </para>
+
+<programlisting language="XML"
role="XML"><component>
+ <key>Component</key>
+ <type>ComponentImpl</type>
+ <init-params>
+ <value-param>
+ <name>param</name>
+ <value>empty</value>
+ </value-param>
+ <value-param profiles="foo">
+ <name>param</name>
+ <value>foo</value>
+ </value-param>
+ <value-param profiles="bar">
+ <name>param</name>
+ <value>bar</value>
+ </value-param>
+ </init-params>
+</component></programlisting>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Profiles_capable_configuration_elements-Value_collection_element">
+ <title>Value collection element</title>
+ <para>
+ The value collection element configures one of the value of
collection data:
+ </para>
+
+<programlisting language="XML" role="XML"><object
type="org.exoplatform.container.configuration.ConfigParam">
+ <field name="role">
+ <collection type="java.util.ArrayList">
+
<value><string>manager</string></value>
+ <value
profiles="foo"><string>foo_manager</string></value>
+ <value
profiles="foo,bar"><string>foo_bar_manager</string></value>
+ </collection>
+ </field>
+</object></programlisting>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Profiles_capable_configuration_elements-Field_configuration_element">
+ <title>Field configuration element</title>
+ <para>
+ The field configuration element configures the field of an
object:
+ </para>
+
+<programlisting language="XML"
role="XML"><object-param>
+ <name>test.configuration</name>
+ <object
type="org.exoplatform.container.configuration.ConfigParam">
+ <field name="role">
+ <collection type="java.util.ArrayList">
+
<value><string>manager</string></value>
+ </collection>
+ </field>
+ <field name="role" profiles="foo,bar">
+ <collection type="java.util.ArrayList">
+
<value><string>foo_bar_manager</string></value>
+ </collection>
+ </field>
+ <field name="role" profiles="foo">
+ <collection type="java.util.ArrayList">
+
<value><string>foo_manager</string></value>
+ </collection>
+ </field>
+ </object>
+</object-param></programlisting>
+
+ </section>
+
+
+ </section>
+
+
+ </section>
+
+
+ </section>
+
\ No newline at end of file
Added:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Requests.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Requests.xml
(rev 0)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/Requests.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -0,0 +1,98 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Book_Name.ent">
+%BOOK_ENTITIES;
+]>
+
+ <section
id="sect-Reference_Guide-Container_Configuration-Component_request_life_cycle">
+ <title>Component request life cycle</title>
+ <section
id="sect-Reference_Guide-Component_request_life_cycle-Component_request_life_cycle_contract">
+ <title>Component request life cycle contract</title>
+ <para>
+ The component request life cycle is an interface that defines a contract
for a component for being involved into a request:
+ </para>
+
+<programlisting language="Java" role="Java">public interface
ComponentRequestLifecycle
+{
+ /**
+ * Start a request.
+ * @param container the related container
+ */
+ void startRequest(ExoContainer container);
+
+ /**
+ * Ends a request.
+ * @param container the related container
+ */
+ void endRequest(ExoContainer container);
+}</programlisting>
+ <para>
+ The container passed is the container to which the component is related.
This contract is often used to setup a thread local based context that will be demarcated
by a request.
+ </para>
+ <para>
+ For instance in the GateIn portal context, a component request life cycle
is triggered for user requests. Another example is the initial data import in GateIn that
demarcates using callbacks made to that interface.
+ </para>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Component_request_life_cycle-Request_life_cycle">
+ <title>Request life cycle</title>
+ <para>
+ The <envar>RequestLifeCycle</envar> class has several statics
methods that are used to schedule the component request life cycle of components. Its main
responsibility is to perform scheduling while respecting the constraint to execute the
request life cycle of a component only once even if it can be scheduled several times.
+ </para>
+ <section
id="sect-Reference_Guide-Request_life_cycle-Scheduling_a_component_request_life_cycle">
+ <title>Scheduling a component request life cycle</title>
+
+<programlisting language="Java"
role="Java">RequestLifeCycle.begin(component);
+try
+{
+ // Do something
+}
+finally
+{
+ RequestLifeCycle.end();
+}</programlisting>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Request_life_cycle-Scheduling_a_container_request_life_cycle">
+ <title>Scheduling a container request life cycle</title>
+ <para>
+ Scheduling a container triggers the component request life cycle of
all the components that implement the interface
<envar>ComponentRequestLifeCycle</envar>. If one of the component has already
been scheduled before and then that component will not be scheduled again. When the local
value is true, then the looked components will be those of the container, when it is false
then the scheduler will also look at the components in the ancestor containers.
+ </para>
+
+<programlisting language="Java"
role="Java">RequestLifeCycle.begin(container, local);
+try
+{
+ // Do something
+}
+finally
+{
+ RequestLifeCycle.end();
+}</programlisting>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-Component_request_life_cycle-When_request_life_cycle_is_triggered">
+ <title>When request life cycle is triggered</title>
+ <section
id="sect-Reference_Guide-When_request_life_cycle_is_triggered-Portal_request_life_cycle">
+ <title>Portal request life cycle</title>
+ <para>
+ Each portal request triggers the life cycle of the associated portal
container.
+ </para>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-When_request_life_cycle_is_triggered-JMX_request_Life_Cycle">
+ <title>JMX request Life Cycle</title>
+ <para>
+ When a JMX bean is invoked, the request life cycle of the container
to which it belongs it scheduled. Indeed JMX is an entry point of the system that may need
component to have a request life cycle triggered.
+ </para>
+
+ </section>
+
+ </section>
+
+
+ </section>
+ </section>
\ No newline at end of file
Added:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/System_Properties.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/System_Properties.xml
(rev 0)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations/System_Properties.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -0,0 +1,75 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Book_Name.ent">
+%BOOK_ENTITIES;
+]>
+
+<section
id="sect-Reference_Guide-Container_Configuration-System_property_configuration">
+ <title>System property configuration</title>
+ <para>
+ A new property configurator service has been developed for taking care of
configuring system properties from the inline kernel configuration or from specified
property files.
+ </para>
+ <para>
+ The services is scoped at the root container level because it is used by all
the services in the different portal containers in the application runtime.
+ </para>
+ <section
id="sect-Reference_Guide-System_property_configuration-Properties_init_param">
+ <title>Properties init param</title>
+ <para>
+ The properties init param takes a property declared to configure various
properties.
+ </para>
+
+<programlisting language="XML"
role="XML"><component>
+ <key>PropertyManagerConfigurator</key>
+
<type>org.exoplatform.container.PropertyConfigurator</type>
+ <init-params>
+ <properties-param>
+ <name>properties</name>
+ <property name="foo" value="bar"/>
+ </properties-param>
+ </init-params>
+</component></programlisting>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-System_property_configuration-Properties_URL_init_param">
+ <title>Properties URL init param</title>
+ <para>
+ The properties URL init param allow to load an external file by
specifying its URL. Both property and XML format are supported, see the javadoc of the
<emphasis><envar>java.util.Properties</envar></emphasis> class for
more information. When a property file is loaded the various property declarations are
loaded in the order in which the properties are declared sequentially in the file.
+ </para>
+
+<programlisting language="XML"
role="XML"><component>
+ <key>PropertyManagerConfigurator</key>
+
<type>org.exoplatform.container.PropertyConfigurator</type>
+ <init-params>
+ <value-param>
+ <name>properties.url</name>
+ <value>classpath:configuration.properties</value>
+ </value-param>
+ </init-params>
+</component></programlisting>
+ <para>
+ In the properties file corresponding to the external properties, you can
reuse variables before defining to create a new variable. In this case, the prefix
"<emphasis>portal.container.</emphasis>" is not needed, see an
example below:
+<programlisting>my-var1=value 1
+my-var2=value 2
+complex-value=${my-var1}-${my-var2}</programlisting>
+ </para>
+
+ </section>
+
+ <section
id="sect-Reference_Guide-System_property_configuration-System_Property_configuration_of_the_properties_URL">
+ <title>System Property configuration of the properties
URL</title>
+ <para>
+ It is possible to replace the properties URL init param by a system
property that overwrites it. The name of that property is
<emphasis>exo.properties.url</emphasis>.
+ </para>
+
+ </section>
+
+
+ <section
id="sect-Reference_Guide-Container_Configuration-Variable_Syntaxes">
+ <title>Variable Syntaxes</title>
+ <para>
+ All the variables that we described in the previous sections can be defined
thanks to 2 possible syntaxes which are <emphasis>${variable-name}</emphasis>
or <emphasis>${variable-name:default-value}</emphasis>. The first syntax
doesn't define any default value so if the variable has not be set the value will be
<emphasis>${variable-name}</emphasis> to indicate that it could not be
resolved. The second syntax allows you to define the default value after the semi colon so
if the variable has not be set the value will be the given default value.
+ </para>
+ </section>
+ </section>
+
\ No newline at end of file
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/Foundations.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,553 +1,20 @@
-<?xml version='1.0' encoding='utf-8' ?>
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- This document was created with Syntext Serna Free. -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM
"../../Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Foundations">
- <title>Foundations</title>
- <section id="sect-Reference_Guide-Foundations-The_eXo_Kernel">
- <title>The eXo Kernel</title>
- <para>
- JBoss Enterprise Portal Platform is built as a set of services on top of a dependency
injection kernel. The kernel provides configuration, life-cycle handling, component
scopes, and some core services.
- </para>
- <para>
- Service components exist in two scopes. The first scope is represented by the
<literal>RootContainer</literal>. It contains services that exist
independently of any portal, and can be accessed by all portals.
- </para>
- <para>
- The second scope, the <literal>PortalContainer</literal>, is
portal-specific. Each portal exists in an instance of the
<literal>PortalContainer</literal>. This scope contains services that are
common for a set of portals, and services which should not be shared by all portals.
- </para>
- <para>
- <mediaobject>
- <imageobject role="html">
- <imagedata align="center"
fileref="images/Advanced/Foundations/PortalContainers.png"
format="PNG" scale="100" width="444" />
- </imageobject>
- <imageobject role="fo">
- <imagedata align="center" contentwidth="150mm"
fileref="images/Advanced/Foundations/PortalContainers.png"
format="PNG" width="444" />
- </imageobject>
+ <title>Foundations</title>
+
+ <xi:include href="Foundations/Kernel.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Config_Retrieval.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Advanced_Concepts.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Profiles.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Requests.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Configuring_Services.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Configuring_Containers.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/System_Properties.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Foundations/Extensions_And_Multiple_Portals.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- </mediaobject>
-
- </para>
- <para>
- Whenever a specific service is looked up through the
<literal>PortalContainer</literal>, and the service is not available, the
lookup is delegated further up to the <literal>RootContainer</literal>.
- </para>
- <para>
- JBoss Enterprise Portal Platform can have default instances of a certain component in
the <literal>RootContainer</literal>, and portal specific instances in some or
all <literal>PortalContainers</literal>, that override the default instance.
- </para>
- <para>
- Whenever your portal application has to be integrated more closely with eXo services,
these services can be looked up through the
<literal>PortalContainer</literal>.
- </para>
- <important>
- <para>
- Only officially documented services should be accessed this way, and used according
to documentation, as most of the services are an implementation detail of eXo, and subject
to change without notice.
- </para>
-
- </important>
-
- </section>
-
- <section id="sect-Reference_Guide-Foundations-Configuring_services">
- <title>Configuring services</title>
- <para>
- The eXo Kernel uses dependency injection to create services based on
<filename>configuration.xml</filename> configuration files. The location of
the configuration files determines if services are placed into the
<literal>RootContainer</literal> scope, or into the
<literal>PortalContainer</literal> scope.
- </para>
- <para>
- All <filename>configuration.xml</filename> files located at
<filename>conf/configuration.xml</filename> in the classpath (any directory,
or any jar in the classpath) will have their services configured in the
<literal>RootContainer</literal> scope. All
<filename>configuration.xml</filename> files located at
<filename>conf/portal/configuration.xml</filename> in the classpath will have
their services configured at the <literal>PortalContainer</literal> scope.
- </para>
- <para>
- Additionally, <emphasis role="bold">portal extensions</emphasis>
can contain configuration in
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/configuration.xml</filename>,
and will also have their services configured in the
<literal>PortalContainer</literal> scope.
- </para>
- <note>
- <para>
- <emphasis role="bold">Portal extensions</emphasis> are
described later in this document.
- </para>
-
- </note>
-
- </section>
-
- <section id="sect-Reference_Guide-Foundations-Configuration_syntax">
- <title>Configuration syntax</title>
- <section id="sect-Reference_Guide-Configuration_syntax-Components">
- <title>Components</title>
- <para>
- A service component is defined in <filename>configuration.xml</filename>
by using a <emphasis
role="bold"><component></emphasis> element.
- </para>
- <para>
- Only one piece of information is required when defining a service; the service
implementation class. This is specified using
<literal><type></literal>
- </para>
- <para>
- Every component has a <literal><key></literal> that
identifies it. If not explicitly set, a key defaults to the value of
<literal><type></literal>. If a key can be loaded as a class, a
class object is used as a key, otherwise a string is used.
- </para>
- <para>
- The usual approach is to specify an interface as a key.
- </para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../extras/Advanced_Development_Foundations/default.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
- <section
id="sect-Reference_Guide-Configuration_syntax-External_Plug_ins">
- <title>External Plug-ins</title>
- <para>
- The eXo Kernel supports non-component objects that can be configured, instantiated,
and injected into registered components using method calls. This
'<emphasis>plugin</emphasis>' method allows portal extensions to add
additional configurations to core services.
- </para>
- <para>
- An external plugin is defined by using the
<literal><external-component-plugin></literal> wrapper element
which contains one or more <literal><component-plugin></literal>
definitions.
- </para>
- <para>
- The <literal><external-component-plugin></literal> element
uses <literal><target-component></literal> to specify a target
service component that will receive injected objects.
- </para>
- <para>
- Every <literal><component-plugin></literal> defines an
implementation type, and a method on the target component to use for injection
(<literal><set-method></literal>).
- </para>
- <para>
- A plugin implementation class has to implement the <emphasis
role="bold">org.exoplatform.container.component.
ComponentPlugin</emphasis> interface.
- </para>
- <para>
- In the following example the
<literal>PortalContainerDefinitionPlugin</literal> implements the
<literal>ComponentPlugin</literal>:
- </para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../extras/Advanced_Development_Foundations/default1.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
- <section
id="sect-Reference_Guide-Configuration_syntax-Includes_and_special_URLs">
- <title>Includes, and special URLs</title>
- <para>
- It is possible to divide the <filename>configuration.xml</filename> file
into many smaller files, which are then included into the main configuration file.
- </para>
- <para>
- The included files must be valid xml files; they cannot be fragments of text.
- </para>
- <para>
- Below is an example <filename>configuration.xml</filename> that
'outsources' its content into several files:
- </para>
- <programlistingco>
- <areaspec>
- <area coords="6"
id="area-Reference_Guide-Configuration_syntax-Includes_and_special_URLs-url_schema"
/>
-
- </areaspec>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../extras/Advanced_Development_Foundations/default2.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <calloutlist>
- <callout
arearefs="area-Reference_Guide-Configuration_syntax-Includes_and_special_URLs-url_schema">
- <para>
- This line is being used to reference another configuration file. The
<code>war:</code> URL schema indicates that the following path is to be
resolved relative to the current <literal>PortalContainer</literal>'s
servlet context resource path, starting with <emphasis
role="bold">WEB-INF</emphasis> as a root.
- </para>
-
- </callout>
-
- </calloutlist>
-
- </programlistingco>
-
- <note>
- <para>
- The current <literal>PortalContainer</literal> is really a newly created
<literal>PortalContainer</literal>, as <code>war:</code> URLs only
make sense for <literal>PortalContainer</literal> scoped configuration.
- </para>
-
- </note>
- <para>
- Through the extension mechanism the servlet context used for resource loading is a
<emphasis role="bold">unified servlet context</emphasis> (this is
explained in a later section).
- </para>
- <para>
- To have an 'include' path resolved relative to current classpath (context
classloader), use a <code>'jar:'</code> URL schema.
- </para>
-
- </section>
-
- <section
id="sect-Reference_Guide-Configuration_syntax-Special_variables">
- <title>Special variables</title>
- <para>
- Configuration files may contain a <emphasis role="bold">special
variable</emphasis> reference
<emphasis>${container.name.suffix}</emphasis>. This variable resolves to the
name of the current portal container, prefixed by underscore (_).
- </para>
- <para>
- This facilitates reuse of configuration files in situations where portal-specific
unique names need to be assigned to some resources; JNDI names, Database/DataSource names
and JCR repository names, for example.
- </para>
- <para>
- This variable is only defined when there is a current
<literal>PortalContainer</literal> available and is only available for
<literal>PortalContainer</literal> scoped services.
- </para>
- <para>
- A good example of this is the <emphasis
role="bold">HibernateService</emphasis>:
- </para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../extras/Advanced_Development_Foundations/default3.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </section>
-
-
- </section>
-
- <section
id="sect-Reference_Guide-Foundations-InitParams_configuration_element">
- <title>InitParams configuration element</title>
- <para>
- <parameter>InitParams</parameter> is a configuration element that is
essentially a map of key-value pairs, where <emphasis
role="bold">key</emphasis> is always a
<literal>String</literal>, and <emphasis
role="bold">value</emphasis> can be any type that can be described
using the kernel XML configuration.
- </para>
- <para>
- Service components that form the JBoss Enterprise Portal Platform infrastructure use
<parameter>InitParams</parameter> elements to configure themselves. A
component can have one instance of <parameter>InitParams</parameter> injected
at most.
- </para>
- <para>
- If the service component's constructor takes
<parameter>InitParams</parameter> as any of the parameters it will
automatically be injected at component instantiation time.
- </para>
- <para>
- The XML configuration for a service component that expects an
<parameter>InitParams</parameter> element must have an
<parameter><init-params></parameter> element present, however
this element can be left empty.
- </para>
- <para>
- Below is an example of how the kernel XML configuration syntax looks when creating
<parameter>InitParams</parameter> instances:
- </para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../extras/Advanced_Development_Foundations/default4.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- An <parameter>InitParams</parameter> element description begins with an
<parameter><init-params></parameter> element.
- </para>
- <para>
- It can have zero or more children elements, each of which is one of the following:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <parameter><value-param></parameter>
- </para>
-
- </listitem>
- <listitem>
- <para>
- <parameter><values-param></parameter>
- </para>
-
- </listitem>
- <listitem>
- <para>
- <parameter><properties-param></parameter>
- </para>
-
- </listitem>
-
- </itemizedlist>
- <para>
- or
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <parameter><object-param></parameter>
- </para>
-
- </listitem>
-
- </itemizedlist>
- <para>
- Each of these child elements takes a
<parameter><name></parameter> that serves as a map entry key,
and an optional <parameter><description></parameter>. It also
takes a type-specific <emphasis role="bold">value</emphasis>
specification.
- </para>
- <para>
- The value specification for the
<parameter><properties-param></parameter> defines one or more
<parameter><property></parameter> elements, each of which
specifies two strings; a property name and a property value. This is evident in the two
previous examples.
- </para>
- <para>
- Each <parameter><properties-params></parameter> defines one
<literal>java.util.Properties</literal> instance.
- </para>
- <para>
- The value specification for
<parameter><value-param></parameter> elements is a
<parameter><value></parameter> element which defines a
<literal>String</literal> instance.
- </para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../extras/Advanced_Development_Foundations/default5.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- The value specification for
<parameter><values-param></parameter> requires one or more
<parameter><value></parameter> elements. Each
<parameter><value></parameter> represents one
<literal>String</literal> instance. All <literal>String</literal>
values are then collected into a <literal>java.util.List</literal> instance.
- </para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../extras/Advanced_Development_Foundations/default6.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- For <parameter><object-param></parameter> entries, the value
specification consists of an <parameter><object></parameter>
element which is used for plain Java style object specification (specifying an
implementation <emphasis>class -
<parameter><type></parameter></emphasis>, and
<emphasis>property values -
<parameter><field></parameter></emphasis>).
- </para>
- <para>
- The following section has an example of specifying a field of with a
<literal>Collection</literal> type.
- </para>
- <para>
- The <parameter>InitParams</parameter> structure (the names and types of
entries) is specific for each service, as it is the code inside a service components'
class that defines which entry names to look up and what types it expects to find.
- </para>
-
- </section>
-
- <section
id="sect-Reference_Guide-Foundations-Configuring_a_portal_container">
- <title>Configuring a portal container</title>
- <para>
- A <literal>portal container</literal> is defined by several attributes:
- </para>
- <variablelist>
- <varlistentry>
- <term>Portal Container Name</term>
- <listitem>
- <para>
- This attribute is always equal to the URL context to which the current portal is
bound.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>REST Context Name</term>
- <listitem>
- <para>
- This attribute is used for REST access to portal application; every portal has one
unique REST context name.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>Realm Name</term>
- <listitem>
- <para>
- This is the name of the security realm used for authentication when users log into
the portal.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>Dependencies</term>
- <listitem>
- <para>
- This is a list of other web applications whose resources are visible to the current
portal (via the extension mechanism described later), and are searched for in the
specified order.
- </para>
-
- </listitem>
-
- </varlistentry>
-
- </variablelist>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../extras/Advanced_Development_Foundations/default7.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- Dependencies are part of the <emphasis role="bold">extension
mechanism</emphasis> which is discussed later in this document.
- </para>
- <para>
- Every <literal>PortalContainer</literal> is represented by a
<literal>PortalContainer instance</literal>, which contains:
- </para>
- <variablelist>
- <varlistentry>
- <term>eXoContainerContext</term>
- <listitem>
- <para>
- This contains information about the portal.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>Unified Servlet Context</term>
- <listitem>
- <para>
- This deals with web-archive-relative resource loading.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>Unified Classloader</term>
- <listitem>
- <para>
- For classpath based resource loading.
- </para>
-
- </listitem>
-
- </varlistentry>
- <varlistentry>
- <term>Various methods for retrieving services</term>
- <listitem>
- <para>
-
- </para>
-
- </listitem>
-
- </varlistentry>
-
- </variablelist>
- <para>
- The <emphasis role="bold">Unified servlet context</emphasis> and
<emphasis role="bold">unified classloader</emphasis> are part of the
<emphasis role="bold">extension mechanism</emphasis> (which is
detailed in the next section).
- </para>
- <para>
- They provide the standard API (<literal>ServletContext</literal>,
<literal>ClassLoader</literal>) with specific resource loading behavior, such
as visibility into associated web application archives, configured with the dependencies
property of <literal>PortalContainerDefinition</literal>.
- </para>
- <para>
- Resources from other web applications are queried in the order specified by the
dependencies. The later entries in the list override the previous ones.
- </para>
-
- </section>
-
- <section
id="sect-Reference_Guide-Foundations-The_Extension_Mechanism_and_Portal_Extensions">
- <title>The Extension Mechanism and Portal Extensions</title>
- <para>
- The <emphasis role="bold">Extension mechanism</emphasis> makes
it possible to override portal resources in a way similar to hardware plug-and-play
functionalities.
- </para>
- <para>
- Customizations can be implemented without unpacking and repacking the original portal
<code>.war</code> archives by adding a <code>.war</code> archive
to the resources and configuring its position in the portal's classpath. Custom
<code>.war</code> archives can be created with new resources that override the
resources in the original archive.
- </para>
- <para>
- These archives, packaged for use through the extension mechanism, are called
<emphasis role="bold">portal extensions</emphasis>.
- </para>
- <procedure
id="proc-Reference_Guide-The_Extension_Mechanism_and_Portal_Extensions-Creating_a_portal_extension">
- <title>Creating a portal extension</title>
- <step>
- <para>
- Declare the <emphasis role="bold">PortalConfigOwner</emphasis>
servlet context listener in the <filename>web.xml</filename> of your web
application.
- </para>
- <para>
- This example shows a portal extension called <emphasis
role="bold">sample-ext</emphasis>.
- </para>
-
-<programlisting language="XML" role="XML"><xi:include
href="../../extras/Advanced_Development_Foundations/default8.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
-
- </step>
- <step>
- <para>
- Add the application's servlet context name to the
<literal>PortalContainerDefinition</literal>'s list of dependencies. This
must be done for each portal container that you want to have access to the new
application.
- </para>
- <para>
- The application's position in these lists will dictate its priority when the
portal loads resources. The later your application appears in the list, the higher its
resource priority will be.
- </para>
-
- </step>
- <step>
- <para>
- At this point your new web archive will be on both the portal's unified
classpath and unified servlet context resource path.
- </para>
-
- </step>
-
- </procedure>
-
- <note>
- <title>Example</title>
- <para>
- Refer to the code extract in <xref
linkend="sect-Reference_Guide-Foundations-Configuring_a_portal_container" />
for an example of a <literal>PortalContainerDefinition</literal> that has
<emphasis role="bold">sample-ext</emphasis> in its list of
dependencies.
- </para>
-
- </note>
-
- </section>
-
- <section
id="sect-Reference_Guide-Foundations-Running_Multiple_Portals">
- <title>Running Multiple Portals</title>
- <!-- DOC TODO: This section requires more work to structure the information
effectively. Consider sub-sections --> <para>
- It is possible to run several independent portal containers, each bound to a different
URL context, within the same JVM instance.
- </para>
- <para>
- This method of deployment allows for efficient administration and resource consumption
by allowing coexisting portals to <emphasis>reuse</emphasis> configuration
arrangements through the extension mechanism.
- </para>
- <para>
- Portals can <emphasis>inherit</emphasis> resources and configuration from
existing web archives and add extra resources as needed,
<emphasis>overriding</emphasis> those that need to be changed by including
modified copies.
- </para>
- <para>
- In order for a portal application to function correctly when deployed within a
multiple portal deployment, it may have to dynamically query the information about the
current portal container. The application should not make any assumptions about the name,
and other information of the current portal, as there are now multiple different portals
in play.
- </para>
- <para>
- At any point during request processing, or life-cycle event processing, an application
can retrieve this information through
<literal>org.exoplatform.container.eXoContainerContext</literal>.
- </para>
- <para>
- Sometimes an application must ensure that the proper
<literal>PortalContainer</literal> is associated with the current
<literal>eXoContainerContext</literal> call.
- </para>
- <para>
- If the portal application contains servlets or servlet filters that need to access
portal specific resources during their request processing, the servlet or filter must be
associated with the current container.
- </para>
- <para>
- A servlet in this instance should extend the
<literal>org.exoplatform.container.web.AbstractHttpServlet</literal> class so
as to properly initialize the current <literal>PortalContainer</literal>.
- </para>
- <para>
- This will also set the current thread's context Classloader to one that looks for
resources in associated web applications in the order specified by the <emphasis
role="bold">dependencies</emphasis> configuration (as seen in <xref
linkend="sect-Reference_Guide-Foundations-The_Extension_Mechanism_and_Portal_Extensions"
/>).
- </para>
- <para>
- Filter classes need to extend the
<literal>org.exoplatform.container.web.AbstractFilter</literal>.
- </para>
- <para>
- Both <literal>AbstractHttpServlet</literal>, and
<literal>AbstractFilter</literal> have a
<literal>getContainer()</literal> method, which returns the current
<literal>PortalContainer</literal>.
- </para>
- <para>
- If your servlet handles the requests by implementing a
<literal>service()</literal> method, that method must be renamed to match the
following signature:
- </para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../extras/Advanced_Development_Foundations/default9.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <note>
- <para>
- This ensures that <literal>AbstractHttpServlet</literal>'s
<literal>service()</literal> interception is not overwritten.
- </para>
-
- </note>
- <para>
- An application may also need access to portal information within the <emphasis
role="bold">HttpSessionListener</emphasis>. Ensure the abstract class
<emphasis
role="bold">org.exoplatform.container.web.AbstractHttpSessionListener</emphasis>
is extended.
- </para>
- <para>
- In this instance, modify the method signatures as follows:
- </para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../extras/Advanced_Development_Foundations/default10.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- Another method must also be implemented in this case:
- </para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../extras/Advanced_Development_Foundations/default11.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- If this method returns <emphasis>true</emphasis> the current thread's
context Classloader is set up according to the <emphasis
role="bold">dependencies</emphasis> configuration and availability of
the associated web applications.
- </para>
- <para>
- If it returns <emphasis>false</emphasis> the standard application
separation rules are used for resource loading (effectively turning off the extension
mechanism).
- </para>
- <para>
- This method exists on both <literal>AbstractHttpServlet</literal> and
<literal>AbstractFilter</literal>. This is a default implementation that
automatically returns <emphasis>true</emphasis> when it detects there is a
current <literal>PortalContainer</literal> present and
<emphasis>false</emphasis> otherwise.
- </para>
- <formalpara
id="form-Reference_Guide-Running_Multiple_Portals-ServletContextListener_based_initialization_access_to_PortalContainer">
- <title>ServletContextListener-based initialization access to
PortalContainer</title>
- <para>
- JBoss Enterprise Portal Platform has no direct control over the deployment of
application archives (<code>.war</code> and <code>.ear</code>
files); it is the application server that performs the deployment.
- </para>
-
- </formalpara>
- <para>
- However, applications in the <emphasis
role="bold">dependencies</emphasis> configuration must be deployed
<emphasis>before</emphasis> the portal that depends on them is initialized in
order for the <emphasis role="bold">extension mechanism</emphasis>
to work properly.
- </para>
- <para>
- Conversely, some applications may require an already initialized
<literal>PortalContainer</literal> to properly initialize themselves. This
gives rise to a recursive dependency problem.
- </para>
- <para>
- A mechanism of <emphasis role="bold">initialization
tasks</emphasis> and <emphasis role="bold">task
queues</emphasis> has been implemented in JBoss Enterprise Portal Platform to
resolve this dependency issue.
- </para>
- <para>
- Web applications that depend on a current
<literal>PortalContainer</literal> to initialize must avoid performing their
initialization directly on a <literal>ServletContextListener</literal>
executed during their deployment (before any
<literal>PortalContainer</literal> was initialized).
- </para>
- <para>
- To ensure this, a web application should package its initialization logic into an
<code>init</code> task of an appropriate type and only use
<literal>ServletContextListener</literal> to insert the
<code>init</code> task instance into the proper <code>init</code>
tasks queue.
- </para>
- <para>
- An example of this is the Gadgets application which registers Google gadgets with the
current <literal>PortalContainer</literal>. This example uses <emphasis
role="bold">PortalContainerPostInitTask</emphasis> which is executed
after the portal container has been initialized.
- </para>
-
-<programlisting language="Java" role="Java"><xi:include
href="../../extras/Advanced_Development_Foundations/GadgetRegister.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- In some situations initialization may be required
<emphasis>after</emphasis> the portal container is instantiated but
<emphasis>before</emphasis> it has initialized.
<literal>PortalContainerPreInitTask</literal> can be used in that case.
- </para>
- <para>
- Use <emphasis
role="bold">PortalContainerPostCreateTask</emphasis> if initialization
is required <emphasis>after</emphasis> all the
<code>post-init</code> tasks have been executed.
- </para>
- <formalpara
id="form-Reference_Guide-Running_Multiple_Portals-LoginModules">
- <title>LoginModules</title>
- <para>
- If some custom <literal>LoginModules</literal> require the current
<literal>eXoContainer</literal> for initialization ensure they extend
<emphasis
role="bold">org.exoplatform.services.security.jaas.AbstractLoginModule</emphasis>.
- </para>
-
- </formalpara>
- <para>
- <literal>AbstractLoginModule</literal> enforces some basic configuration.
It recognizes two initialization options; <emphasis
role="bold">portalContainerName</emphasis> and <emphasis
role="bold">realmName</emphasis>.
- </para>
- <para>
- The values for these options can be accessed via protected fields of the same name.
- </para>
-
- </section>
-
-
</chapter>
-
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/faq/jcr-faq.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/faq/jcr-faq.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/faq/jcr-faq.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-JCR_FAQ">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/faq.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/faq.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/faq.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Frequently_Asked_Question">
Added:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/backup-client.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/backup-client.xml
(rev 0)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/backup-client.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -0,0 +1,1886 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<section>
+
+ <title>HTTPBackupAgent and backup client</title>
+
+ <warning>
+ <para>For this service, you should configure the <emphasis
+
role="bold">org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister</emphasis>
+ in order to save the changes of the repository configuration.</para>
+ </warning>
+
+ <highlights>
+ <para>GateIn uses context /portal/rest, therefore you need to use
+
http://host:port/portal/rest/ instread of
http://host:port/rest/</para>
+
+ <para>GateIn uses form authentication, so first you need to login (url to
+ form authentication is
http://host:port/portal/login) and then perform
+ requests.</para>
+ </highlights>
+
+ <section>
+ <title>Introduction</title>
+
+ <para>The service
+ org.exoplatform.services.jcr.ext.backup.server.HTTPBackupAgent is
+ REST-based front-end to service
+ org.exoplatform.services.jcr.ext.backup.BackupManager. HTTPBackupAgent is
+ representation BackupManager to creation backup, restore, getting status
+ of current or completed backup/restore, etc.</para>
+
+ <para>The backup client is http client for HTTPBackupAgent.</para>
+ </section>
+
+ <section>
+ <title>HTTPBackupAgent</title>
+
+ <para>The HTTPBackupAgent is based on REST.</para>
+
+ <para>HTTPBackupAgent is using POST and GET methods for request.</para>
+
+ <para>The HTTPBackupAgent allows :<itemizedlist>
+ <listitem>
+ <para>Start backup</para>
+ </listitem>
+
+ <listitem>
+ <para>Stop backup</para>
+ </listitem>
+
+ <listitem>
+ <para>Restore from backup</para>
+ </listitem>
+
+ <listitem>
+ <para>Delete the workspace</para>
+ </listitem>
+
+ <listitem>
+ <para>Get information about backup service (BackupManager)</para>
+ </listitem>
+
+ <listitem>
+ <para>Get information about current backup / restores / completed
+ backups</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <section>
+ <title>HTTPBackupAgent methods</title>
+
+ <section>
+ <title>Starting Backup Service</title>
+
+ <para><emphasis
+
role="bold">/rest/jcr-backup/start/{repo}/{ws}</emphasis></para>
+
+ <para>Start backup on specific workspace</para>
+
+ <para><emphasis role="bold">URL:</emphasis>
+
<uri>http://host:port/rest/jcr-backup/start/{repo}/{ws}</uri></para>
+
+ <para><emphasis role="bold">Formats:</emphasis>
json.</para>
+
+ <para><emphasis role="bold">Method</emphasis>:
POST</para>
+
+ <para><emphasis
role="bold">Parameters:</emphasis><itemizedlist>
+ <listitem>
+ <para>{repo} - the repository name;</para>
+ </listitem>
+
+ <listitem>
+ <para>{ws} - the workspace name;</para>
+ </listitem>
+
+ <listitem>
+ <para>BackupConfigBean - the JSON to BackupConfigBean.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para>The BackupConfigBean:</para>
+
+ <programlisting>header :
+"Content-Type" = "application/json; charset=UTF-8"
+
+body:
+<JSON to BackupConfigBean></programlisting>
+
+ <para>The JSON bean of
+ org.exoplatform.services.jcr.ext.backup.server.bean.BackupConfigBean
+ :</para>
+
+ <programlisting
language="Java">{"incrementalRepetitionNumber":<Integer>,"incrementalBackupJobConfig":<JSON
to BackupJobConfig>,
+"backupType":<Integer>,"fullBackupJobConfig":<JSON
to BackupJobConfig>,
+"incrementalJobPeriod":<Long>,"backupDir":"<String>"}</programlisting>
+
+ <para>Where :</para>
+
+ <programlisting>backupType - the type of backup:
+ 0 - full backup only;
+ 1 - full and incremental backup.
+backupDir - the path to backup folder;
+incrementalJobPeriod - the incremental job period;
+incrementalRepetitionNumber - the incremental repetition number;
+fullBackupJobConfig - the configuration to full backup, JSON to BackupJobConfig;
+incrementalJobPeriod - the configuration to incremental backup, JSON to
BackupJobConfig.</programlisting>
+
+ <para>The JSON bean of
+ org.exoplatform.services.jcr.ext.backup.server.bean.response.BackupJobConfig
+ :</para>
+
+ <programlisting>{"parameters":[<JSON to Pair>, ...,
<JSON to pair>
],"backupJob":"<String>"}</programlisting>
+
+ <para>Where:</para>
+
+ <programlisting>backupJob - the FQN (fully qualified name) to BackupJob
class;
+parameters - the list of JSON of Pair.</programlisting>
+
+ <para>The JSON bean of
+ org.exoplatform.services.jcr.ext.backup.server.bean.response.Pair
+ :</para>
+
+ <programlisting
language="Java">{"name":"<String>","value":"<String>"}</programlisting>
+
+ <para>Where:</para>
+
+ <programlisting>name - the name of parameter;
+value - the value of parameter.</programlisting>
+
+ <para><emphasis
role="bold">Returns:</emphasis><itemizedlist>
+ <listitem>
+ <para>Return when being successful<programlisting>status code =
200</programlisting></para>
+ </listitem>
+
+ <listitem>
+ <para>Return when being failure<programlisting>status code =
404 - the not found repositry '{repo}' or workspace '{ws}'
+status code = 500 - the other unknown errors
+failure message in response - the description of
failure</programlisting></para>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+
+ <section>
+ <title>Stopping Backup Service</title>
+
+ <para><emphasis
+
role="bold">/rest/jcr-backup/stop/{id}</emphasis></para>
+
+ <para>Stop backup with identifier {id}.</para>
+
+ <para><emphasis role="bold">URL:</emphasis>
+ <uri>http://host:port/rest/jcr-backup/stop/{id}</uri></para>
+
+ <para><emphasis role="bold">Formats:</emphasis> plain
text</para>
+
+ <para><emphasis role="bold">Method</emphasis>:
GET</para>
+
+ <para><emphasis
role="bold">Parameters:</emphasis><itemizedlist>
+ <listitem>
+ <para>{id} - the identifier of backup</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para><emphasis
role="bold">Returns:</emphasis><itemizedlist>
+ <listitem>
+ <para>Return when being successful<programlisting>status code =
200</programlisting></para>
+ </listitem>
+
+ <listitem>
+ <para>Return when being failure<programlisting>status code =
404 - the no active backup with identifier {id}
+status code = 500 - the other unknown errors
+failure message in response - the description of
failure</programlisting></para>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+
+ <section>
+ <title>Backup Info Service</title>
+
+ <para><emphasis
role="bold">/rest/jcr-backup/info</emphasis></para>
+
+ <para>Information about the backup service.</para>
+
+ <para><emphasis role="bold">URL:</emphasis>
+ <uri>http://host:port/rest/jcr-backup/info</uri></para>
+
+ <para><emphasis role="bold">Formats:</emphasis>
json</para>
+
+ <para><emphasis role="bold">Method</emphasis>:
GET</para>
+
+ <para><emphasis role="bold">Parameters:</emphasis>
no</para>
+
+ <para><emphasis
role="bold">Returns:</emphasis><itemizedlist>
+ <listitem>
+ <para>Return when being successful</para>
+
+ <para>Return the JSON bean of
+
org.exoplatform.services.jcr.ext.backup.server.bean.response.BackupServiceInfoBean
+
:<programlisting>{"backupLogDir":"<String>","defaultIncrementalJobPeriod":<Long>,"fullBackupType":"<String>","incrementalBackupType":"<String>"}</programlisting>Where:<programlisting>fullBackupType
- the FQN (fully qualified name) of BackupJob class for full backup type;
+incrementalBackupType - the FQN (fully qualified name) of BackupJob class for
incremental backup type;
+backupLogDir - path to backup folder;
+defaultIncrementalJobPeriod - the default incremental job
period.</programlisting></para>
+ </listitem>
+
+ <listitem>
+ <para>Return when being failure<programlisting>status code =
500 - the unknown error
+failure message in response - the description of
failure</programlisting></para>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+
+ <section>
+ <title>Dropping Workspace Service</title>
+
+ <para><emphasis
+
role="bold">/rest/jcr-backup/drop-workspace/{repo}/{ws}/{force-session-close}</emphasis></para>
+
+ <para>Delete the workspace from repository /{repo}/{ws}. With this
+ service, you can delete any workspaces regardless of whether the
+ workspace is a backup or has been copied to a backup.</para>
+
+ <para><emphasis role="bold">URL:</emphasis>
+
<uri>http://host:port/rest/jcr-backup/drop-workspace/{repo}/{ws}/{force-session-close}</uri></para>
+
+ <para><emphasis role="bold">Formats:</emphasis> plain
text</para>
+
+ <para><emphasis role="bold">Method</emphasis>:
GET</para>
+
+ <para><emphasis
role="bold">Parameters:</emphasis><itemizedlist>
+ <listitem>
+ <para>{repo} - the repository name;</para>
+ </listitem>
+
+ <listitem>
+ <para>{ws} - the workspace name;</para>
+ </listitem>
+
+ <listitem>
+ <para>{force-session-close} - the boolean value : <emphasis
+ role="bold">true</emphasis> - the open sessions on
workspace
+ will be closed; <emphasis
role="bold">false</emphasis> - will
+ not close open sessions.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para><emphasis
role="bold">Returns:</emphasis><itemizedlist>
+ <listitem>
+ <para>Return when being successful.<programlisting>status code
= 200</programlisting></para>
+ </listitem>
+
+ <listitem>
+ <para>Return when being failure<programlisting>status code =
500 - the other unknown errors;
+ - not found repositry '{repo}' or workspace
'{ws}'
+failure message in response - the description of
failure</programlisting></para>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+
+ <section>
+ <title>Backup Info</title>
+
+ <para><emphasis
+
role="bold">/rest/jcr-backup/info/backup</emphasis></para>
+
+ <para>Information about the current and completed backups</para>
+
+ <para><emphasis role="bold">URL:</emphasis>
+ <uri>http://host:port/rest/jcr-backup/info/backup</uri></para>
+
+ <para><emphasis role="bold">Formats:</emphasis>
json</para>
+
+ <para><emphasis role="bold">Method</emphasis>:
GET</para>
+
+ <para><emphasis role="bold">Parameters:</emphasis>
no</para>
+
+ <para><emphasis
role="bold">Returns:</emphasis><itemizedlist>
+ <listitem>
+ <para>Return when being successful</para>
+
+ <para>The JSON bean of
+ org.exoplatform.services.jcr.ext.backup.server.bean.response.ShortInfoList
+ :<programlisting>{"backups":[<JSON to
ShortInfo>,<JSON to ShortInfo>,...,<JSON to
ShortInfo>]}</programlisting>The
+ JSON bean of
+ org.exoplatform.services.jcr.ext.backup.server.bean.response.ShortInfo
+
:<programlisting>{"startedTime":"<String>","backupId":"<String>","type":<Integer>,"state":<Integer>,"backupType":<Integer>,
+"workspaceName":"<String>","finishedTime":"<String>","repositoryName":"<String>"}</programlisting></para>
+
+ <para>Where:<programlisting>type - the type of
ShortInfo :
+ 0 - the ShorInfo to completed backup;
+ -1 - the ShorInfo to current (active) backup.
+ 1 - the ShorInfo to current restore.
+backupType - the type of backup:
+ 0 - full backup only;
+ 1 - full and incremental backup.
+backupId - the identifier of backup;
+workspaceName - the name of workspace;
+repositoryName - the name of repository.
+startedTime - the date of started backup. The date in format RFC 1123 (for examle
"Thu, 16 Apr 2009 14:56:49 EEST").
+
+The ShorInfo to current (active) backup :
+ finishedTime - no applicable, always an empty string ("");
+ state - the state of full backup :
+ 0 - starting;
+ 1 - waiting;
+ 2 - working;
+ 4 - finished.
+
+The ShorInfo to completed backup :
+ finishedTime - the date of finished backup. The date in format RFC 1123;
+ state - no applicable, always zero (0).
+
+The ShorInfo to current restore :
+ finishedTime - the date of finished backup. The date in format RFC 1123;
+ state - the state of restore :
+ 1 - started;
+ 2 - successful;
+ 3 - failure;
+ 4 - initialized.</programlisting></para>
+ </listitem>
+
+ <listitem>
+ <para>Return when being failure<programlisting>status code =
500 - the unknown error
+failure message in response - the description of
failure</programlisting></para>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+
+ <section>
+ <title>Current Backups Information</title>
+
+ <para><emphasis
+ role="bold">/rest/jcr-backup/info/backup/current</emphasis>
+ Information about the current backups</para>
+
+ <para><emphasis role="bold">URL:</emphasis>
+
<uri>http://host:port/rest/jcr-backup/info/backup/current</uri></para>
+
+ <para><emphasis role="bold">Formats:</emphasis>
json</para>
+
+ <para><emphasis role="bold">Method</emphasis>:
GET</para>
+
+ <para><emphasis role="bold">Parameters:</emphasis>
no</para>
+
+ <para><emphasis
role="bold">Returns:</emphasis><itemizedlist>
+ <listitem>
+ <para>Return when being successful</para>
+
+ <para>The JSON bean of
+ org.exoplatform.services.jcr.ext.backup.server.bean.response.ShortInfoList
+ (see item <emphasis
+
role="bold">/rest/jcr-backup/info/backup</emphasis>)</para>
+ </listitem>
+
+ <listitem>
+ <para>Return when being failure</para>
+
+ <programlisting>status code = 500 - the unknown error
+failure message in response - the description of failure</programlisting>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+
+ <section>
+ <title>Completed Backups Information</title>
+
+ <para><emphasis
+ role="bold">/rest/jcr-backup/info/backup/completed</emphasis>
+ Information about the completed backups.</para>
+
+ <para><emphasis role="bold">URL:</emphasis>
+
<uri>http://host:port/rest/jcr-backup/info/backup/completed</uri></para>
+
+ <para><emphasis role="bold">Formats:</emphasis>
json</para>
+
+ <para><emphasis role="bold">Method</emphasis>:
GET</para>
+
+ <para><emphasis role="bold">Parameters:</emphasis>
no</para>
+
+ <para><emphasis
role="bold">Returns:</emphasis><itemizedlist>
+ <listitem>
+ <para>Return when being successful</para>
+
+ <para>The JSON bean of
+ org.exoplatform.services.jcr.ext.backup.server.bean.response.ShortInfoList
+ (see item <emphasis
+
role="bold">/rest/jcr-backup/info/backup</emphasis>)</para>
+ </listitem>
+
+ <listitem>
+ <para>Return when being failure</para>
+
+ <programlisting>status code = 500 - the unknown error
+failure message in response - the description of failure</programlisting>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+
+ <section>
+ <title>Workspace-specific Backup Information</title>
+
+ <para><emphasis
+
role="bold">/rest/jcr-backup/info/backup/{repo}/{ws}</emphasis>
+ Information about the current and completed backups for specific
+ workspace.</para>
+
+ <para><emphasis role="bold">URL:</emphasis>
+
<uri>http://host:port/rest/jcr-backup/info/backup/{repo}/{ws}</uri></para>
+
+ <para><emphasis role="bold">Formats:</emphasis>
json</para>
+
+ <para><emphasis role="bold">Method</emphasis>:
GET</para>
+
+ <para><emphasis
role="bold">Parameters:</emphasis><itemizedlist>
+ <listitem>
+ <para>{repo} - the repository name</para>
+ </listitem>
+
+ <listitem>
+ <para>{ws} - the workspace name</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para><emphasis
role="bold">Returns:</emphasis><itemizedlist>
+ <listitem>
+ <para>Return when being successful</para>
+
+ <para>The JSON bean of
+ org.exoplatform.services.jcr.ext.backup.server.bean.response.ShortInfoList
+ (see item <emphasis
+
role="bold">/rest/jcr-backup/info/backup</emphasis>)</para>
+ </listitem>
+
+ <listitem>
+ <para>Return when being failure</para>
+
+ <programlisting>status code = 500 - the unknown error
+failure message in response - the description of failure</programlisting>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+
+ <section>
+ <title>Single Backup Information</title>
+
+ <para><emphasis
+ role="bold">/rest/jcr-backup/info/backup/{id}</emphasis>
Detailed
+ information about a current or completed backup with identifier
+ '{id}'.</para>
+
+ <para><emphasis role="bold">URL:</emphasis>
+
<uri>http://host:port/rest/jcr-backup/info/backup/{id}</uri></para>
+
+ <para><emphasis role="bold">Formats:</emphasis>
json</para>
+
+ <para><emphasis role="bold">Method</emphasis>:
GET</para>
+
+ <para><emphasis
role="bold">Parameters:</emphasis><itemizedlist>
+ <listitem>
+ <para>{id} - the identifier of backup</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para><emphasis
role="bold">Returns:</emphasis><itemizedlist>
+ <listitem>
+ <para>Return when being successful</para>
+
+ <para>The JSON bean of
+ org.exoplatform.services.jcr.ext.backup.server.bean.response.DetailedInfo
+ :<programlisting>{"backupConfig":<JSON to
BackupConfigBean>,"startedTime":"<String>","backupId":"<String>","type":<Integer>,
+"state":<Integer>,"backupType":<Integer>,"workspaceName":"<String>","finishedTime":"<String>",
+"repositoryName":"<String>"}</programlisting></para>
+
+ <para>Where:<programlisting>type - the type of
DetailedInfo :
+ 0 - the DetailedInfo to completed backup;
+ -1 - the DetailedInfo to current (active) backup;
+ 1 - the DetailedInfo to restore.
+backupType - the type of backup:
+ 0 - full backup only;
+ 1 - full and incremental backup.
+backupId - the identifier of backup;
+workspaceName - the name of workspace;
+repositoryName - the name of repository;
+backupConfig - the JSON to BackupConfigBean.
+
+The DetailedInfo to current (active) backup :
+ startedTime - the date of started backup. The date in format RFC 1123 (for examle
"Thu, 16 Apr 2009 14:56:49 EEST");
+ finishedTime - no applicable, always an empty string ("");
+ state - the state of full backup :
+ 0 - starting;
+ 1 - waiting;
+ 2 - working;
+ 4 - finished.
+The DetailedInfo to completed backup :
+ startedTime - the date of started backup. The date in format RFC 1123 (for examle
"Thu, 16 Apr 2009 14:56:49 EEST");
+ finishedTime - the date of finished backup. The date in format RFC 1123;
+ state - no applicable, always zero (0).
+
+The DetailedInfo to restore :
+ startedTime - the date of started restore. The date in format RFC 1123 (for examle
"Thu, 16 Apr 2009 14:56:49 EEST");
+ finishedTime - the date of finished restore;
+ state - the state of restore :
+ 1 - started;
+ 2 - successful;
+ 3 - failure;
+ 4 - initialized.</programlisting></para>
+
+ <para>The JSON bean of
+ org.exoplatform.services.jcr.ext.backup.server.bean.BackupConfigBean
+ (see item <emphasis
+
role="bold">/rest/jcr-backup/start/{repo}/{ws}</emphasis>).</para>
+ </listitem>
+
+ <listitem>
+ <para>Return when being failure</para>
+
+ <programlisting>status code = 404 - not found the backup
with {id}
+status code = 500 - the unknown error
+failure message in response - the description of failure</programlisting>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+
+ <section>
+ <title>Restores on a Workspace Information</title>
+
+ <para><emphasis
+
role="bold">/rest/jcr-backup/info/restore/{repo}/{ws}</emphasis> The
+ information about the last restore on a specific workspace
+ /{repo}/{ws}.</para>
+
+ <para><emphasis role="bold">URL:</emphasis>
+
<uri>http://host:port/rest/jcr-backup/info/restore/{repo}/{ws}</uri></para>
+
+ <para><emphasis role="bold">Formats:</emphasis>
json</para>
+
+ <para><emphasis role="bold">Method</emphasis>:
GET</para>
+
+ <para><emphasis
role="bold">Parameters:</emphasis><itemizedlist>
+ <listitem>
+ <para>{repo} - the repository name</para>
+ </listitem>
+
+ <listitem>
+ <para>{ws} - the workspace name</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para><emphasis
role="bold">Returns:</emphasis><itemizedlist>
+ <listitem>
+ <para>Return when being successful</para>
+
+ <para>The JSON bean of
+ org.exoplatform.services.jcr.ext.backup.server.bean.response.DetailedInfo
+ (see item <emphasis
+
role="bold">/rest/jcr-backup/info/backup/{id}</emphasis>)</para>
+ </listitem>
+
+ <listitem>
+ <para>Return when being failure</para>
+
+ <programlisting>status code = 404 - the not found the
restore for workspace /{repo}/{ws}
+status code = 500 - the unknown error
+failure message in response - the description of failure</programlisting>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+
+ <section>
+ <title>Restores Information</title>
+
+ <para><emphasis
+
role="bold">/rest/jcr-backup/info/restores</emphasis></para>
+
+ <para>The information about the last restores.</para>
+
+ <para><emphasis role="bold">URL:</emphasis>
+
<uri>http://host:port/rest/jcr-backup/info/restores</uri></para>
+
+ <para><emphasis role="bold">Formats:</emphasis>
json</para>
+
+ <para><emphasis role="bold">Method</emphasis>:
GET</para>
+
+ <para><emphasis role="bold">Parameters:</emphasis>
no</para>
+
+ <para><emphasis
role="bold">Returns:</emphasis><itemizedlist>
+ <listitem>
+ <para>Return when being successful</para>
+
+ <para>The JSON bean of
+ org.exoplatform.services.jcr.ext.backup.server.bean.response.ShortInfoList
+ (see item <emphasis
+
role="bold">/rest/jcr-backup/info/backup</emphasis>)</para>
+ </listitem>
+
+ <listitem>
+ <para>Return when being failure</para>
+
+ <programlisting>status code = 500 - the unknown error
+failure message in response - the description of failure</programlisting>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+
+ <section>
+ <title>Restoring Service</title>
+
+ <para><emphasis
+
role="bold">/rest/jcr-backup/restore/{repo}/{id}</emphasis></para>
+
+ <para>Restore the workspace from specific backup.</para>
+
+ <para><emphasis role="bold">URL:</emphasis>
+
<uri>http://host:port/rest/jcr-backup/restore/{repo}/{id}</uri></para>
+
+ <para><emphasis role="bold">Formats:</emphasis>
json.</para>
+
+ <para><emphasis role="bold">Method</emphasis>:
POST</para>
+
+ <para><emphasis
role="bold">Parameters:</emphasis><itemizedlist>
+ <listitem>
+ <para>{repo} - the repository name;</para>
+ </listitem>
+
+ <listitem>
+ <para>{id} - the identifier to backup; * WorkspaceEntry - the
+ JSON to WorkspaceEntry.</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para>The RestoreBean:</para>
+
+ <programlisting>header :
+"Content-Type" = "application/json; charset=UTF-8"
+
+body:
+<JSON to WorkspaceEntry></programlisting>
+
+ <para>The example of JSON bean to
+ org.exoplatform.services.jcr.config.WorkspaceEntry :</para>
+
+ <programlisting>{ "accessManager" : null,
+ "autoInitPermissions" : null,
+ "autoInitializedRootNt" : null,
+ "cache" : { "parameters" : [ { "name" :
"max-size",
+ "value" : "10k"
+ },
+ { "name" : "live-time",
+ "value" : "1h"
+ }
+ ],
+ "type" :
"org.exoplatform.services.jcr.impl.dataflow.persistent.LinkedWorkspaceStorageCacheImpl"
+ },
+ "container" : { "parameters" : [ { "name" :
"source-name",
+ "value" : "jdbcjcr"
+ },
+ { "name" : "dialect",
+ "value" : "hsqldb"
+ },
+ { "name" : "multi-db",
+ "value" : "false"
+ },
+ { "name" : "update-storage",
+ "value" : "false"
+ },
+ { "name" : "max-buffer-size",
+ "value" : "200k"
+ },
+ { "name" : "swap-directory",
+ "value" : "../temp/swap/production"
+ }
+ ],
+ "type" :
"org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer",
+ "valueStorages" : [ { "filters" : [ { "ancestorPath"
: null,
+ "minValueSize" : 0,
+ "propertyName" : null,
+ "propertyType" : "Binary"
+ } ],
+ "id" : "system",
+ "parameters" : [ { "name" : "path",
+ "value" : "../temp/values/production"
+ } ],
+ "type" :
"org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage"
+ } ]
+ },
+ "initializer" : { "parameters" : [ { "name" :
"root-nodetype",
+ "value" : "nt:unstructured"
+ } ],
+ "type" :
"org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer"
+ },
+ "lockManager" : { "persister" : { "parameters" : [ {
"name" : "path",
+ "value" : "../temp/lock/system"
+ } ],
+ "type" :
"org.exoplatform.services.jcr.impl.core.lock.FileSystemLockPersister"
+ },
+ "timeout" : 15728640
+ },
+ "name" : "production",
+ "queryHandler" : { "analyzer" : { },
+ "autoRepair" : true,
+ "bufferSize" : 10,
+ "cacheSize" : 1000,
+ "documentOrder" : true,
+ "errorLogSize" : 50,
+ "excerptProviderClass" :
"org.exoplatform.services.jcr.impl.core.query.lucene.DefaultHTMLExcerpt",
+ "excludedNodeIdentifers" : null,
+ "extractorBackLogSize" : 100,
+ "extractorPoolSize" : 0,
+ "extractorTimeout" : 100,
+ "indexDir" : "../temp/jcrlucenedb/production",
+ "indexingConfigurationClass" :
"org.exoplatform.services.jcr.impl.core.query.lucene.IndexingConfigurationImpl",
+ "indexingConfigurationPath" : null,
+ "maxFieldLength" : 10000,
+ "maxMergeDocs" : 2147483647,
+ "mergeFactor" : 10,
+ "minMergeDocs" : 100,
+ "parameters" : [ { "name" : "index-dir",
+ "value" : "../temp/jcrlucenedb/production"
+ } ],
+ "queryClass" :
"org.exoplatform.services.jcr.impl.core.query.QueryImpl",
+ "queryHandler" : null,
+ "resultFetchSize" : 2147483647,
+ "rootNodeIdentifer" : "00exo0jcr0root0uuid0000000000000",
+ "spellCheckerClass" : null,
+ "supportHighlighting" : false,
+ "synonymProviderClass" : null,
+ "synonymProviderConfigPath" : null,
+ "type" :
"org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex",
+ "useCompoundFile" : false,
+ "volatileIdleTime" : 3
+ },
+ "uniqueName" : "repository_production"
+}</programlisting>
+
+ <para><emphasis
role="bold">Returns:</emphasis><itemizedlist>
+ <listitem>
+ <para>Return when being successful</para>
+
+ <programlisting>status code = 200</programlisting>
+
+ <para>Return the JSON bean
+ org.exoplatform.services.jcr.ext.backup.server.bean.response.ShortInfo
+ of just started restore. For JSON description see item <emphasis
+
role="bold">/rest/jcr-backup/info/backup</emphasis></para>
+ </listitem>
+
+ <listitem>
+ <para>Return when being failure</para>
+
+ <programlisting>status code = 403 - the already was
restore to workspace /{repo}/{ws}
+status code = 404 - the not found repositry '{repo}' or unsupported
encoding to workspaceConfig
+status code = 500 - the other unknown errors
+failure message in response - the description of failure</programlisting>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+
+ <section>
+ <title>Default Workspace Information</title>
+
+ <para><emphasis
+ role="bold">/rest/jcr-backup/info/default-ws-config</emphasis>
Will be
+ returned the JSON bean to WorkspaceEntry for default workspace.</para>
+
+ <para><emphasis role="bold">URL:</emphasis>
+
<uri>http://host:port/rest/jcr-backup/info/default-ws-config</uri></para>
+
+ <para><emphasis role="bold">Formats:</emphasis>
json</para>
+
+ <para><emphasis role="bold">Method</emphasis>:
GET</para>
+
+ <para><emphasis role="bold">Parameters:</emphasis>
no</para>
+
+ <para><emphasis
role="bold">Returns:</emphasis><itemizedlist>
+ <listitem>
+ <para>Return when being successful</para>
+
+ <para>The JSON bean to
+ org.exoplatform.services.jcr.config.WorkspaceEntry
+ :<programlisting>{ "accessManager" : null,
+ "autoInitPermissions" : null,
+ "autoInitializedRootNt" : null,
+ "cache" : { "parameters" : [ { "name" :
"max-size",
+ "value" : "10k"
+ },
+ { "name" : "live-time",
+ "value" : "1h"
+ }
+ ],
+ "type" :
"org.exoplatform.services.jcr.impl.dataflow.persistent.LinkedWorkspaceStorageCacheImpl"
+ },
+ "container" : { "parameters" : [ { "name" :
"source-name",
+ "value" : "jdbcjcr"
+ },
+ { "name" : "dialect",
+ "value" : "hsqldb"
+ },
+ { "name" : "multi-db",
+ "value" : "false"
+ },
+ { "name" : "update-storage",
+ "value" : "false"
+ },
+ { "name" : "max-buffer-size",
+ "value" : "200k"
+ },
+ { "name" : "swap-directory",
+ "value" : "../temp/swap/production"
+ }
+ ],
+ "type" :
"org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer",
+ "valueStorages" : [ { "filters" : [ { "ancestorPath"
: null,
+ "minValueSize" : 0,
+ "propertyName" : null,
+ "propertyType" : "Binary"
+ } ],
+ "id" : "system",
+ "parameters" : [ { "name" : "path",
+ "value" : "../temp/values/production"
+ } ],
+ "type" :
"org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage"
+ } ]
+ },
+ "initializer" : { "parameters" : [ { "name" :
"root-nodetype",
+ "value" : "nt:unstructured"
+ } ],
+ "type" :
"org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer"
+ },
+ "lockManager" : { "persister" : { "parameters" : [ {
"name" : "path",
+ "value" : "../temp/lock/system"
+ } ],
+ "type" :
"org.exoplatform.services.jcr.impl.core.lock.FileSystemLockPersister"
+ },
+ "timeout" : 15728640
+ },
+ "name" : "production",
+ "queryHandler" : { "analyzer" : { },
+ "autoRepair" : true,
+ "bufferSize" : 10,
+ "cacheSize" : 1000,
+ "documentOrder" : true,
+ "errorLogSize" : 50,
+ "excerptProviderClass" :
"org.exoplatform.services.jcr.impl.core.query.lucene.DefaultHTMLExcerpt",
+ "excludedNodeIdentifers" : null,
+ "extractorBackLogSize" : 100,
+ "extractorPoolSize" : 0,
+ "extractorTimeout" : 100,
+ "indexDir" : "../temp/jcrlucenedb/production",
+ "indexingConfigurationClass" :
"org.exoplatform.services.jcr.impl.core.query.lucene.IndexingConfigurationImpl",
+ "indexingConfigurationPath" : null,
+ "maxFieldLength" : 10000,
+ "maxMergeDocs" : 2147483647,
+ "mergeFactor" : 10,
+ "minMergeDocs" : 100,
+ "parameters" : [ { "name" : "index-dir",
+ "value" : "../temp/jcrlucenedb/production"
+ } ],
+ "queryClass" :
"org.exoplatform.services.jcr.impl.core.query.QueryImpl",
+ "queryHandler" : null,
+ "resultFetchSize" : 2147483647,
+ "rootNodeIdentifer" : "00exo0jcr0root0uuid0000000000000",
+ "spellCheckerClass" : null,
+ "supportHighlighting" : false,
+ "synonymProviderClass" : null,
+ "synonymProviderConfigPath" : null,
+ "type" :
"org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex",
+ "useCompoundFile" : false,
+ "volatileIdleTime" : 3
+ },
+ "uniqueName" : "repository_production"
+}</programlisting></para>
+ </listitem>
+
+ <listitem>
+ <para>Return when being failure</para>
+
+ <programlisting>status code = 500 - the unknown error
+failure message in response - the description of failure</programlisting>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+ </section>
+
+ <section>
+ <title>HTTPBackupAgent Configuration</title>
+
+ <para>Add the components
+ org.exoplatform.services.jcr.ext.backup.server.HTTPBackupAgent and
+ org.exoplatform.services.jcr.ext.backup.BackupManager to services
+ configuration :</para>
+
+ <programlisting language="XML"><component>
+
<type>org.exoplatform.services.jcr.ext.backup.server.HTTPBackupAgent</type>
+</component>
+
+<component>
+
<type>org.exoplatform.services.jcr.ext.repository.RestRepositoryService</type>
+</component>
+
+<component>
+
<key>org.exoplatform.services.jcr.ext.backup.BackupManager</key>
+
<type>org.exoplatform.services.jcr.ext.backup.impl.BackupManagerImpl</type>
+ <init-params>
+ <properties-param>
+ <name>backup-properties</name>
+ <property name="default-incremental-job-period"
value="3600" /> <!-- set default incremental periond = 60 minutes
-->
+ <property name="full-backup-type"
value="org.exoplatform.services.jcr.ext.backup.impl.fs.FullBackupJob" />
+ <property name="incremental-backup-type"
value="org.exoplatform.services.jcr.ext.backup.impl.fs.IncrementalBackupJob"
/>
+ <property name="backup-dir" value="../temp/backup"
/>
+ </properties-param>
+ </init-params>
+</component></programlisting>
+
+ <para>In case, if you will restore backup in same workspace (so you will
+ drop previous workspace), you need configure
+ RepositoryServiceConfiguration in order to save the changes of the
+ repository configuration. For example</para>
+
+ <programlisting language="XML"><component>
+
<key>org.exoplatform.services.jcr.config.RepositoryServiceConfiguration</key>
+
<type>org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl</type>
+ <init-params>
+ <value-param>
+ <name>conf-path</name>
+ <description>JCR repositories configuration
file</description>
+ <value>jar:/conf/portal/exo-jcr-config.xml</value>
+ </value-param>
+ <properties-param>
+ <name>working-conf</name>
+ <description>working-conf</description>
+ <property name="source-name" value="jdbcjcr" />
+ <property name="dialect" value="hsqldb" />
+ <property name="persister-class-name"
value="org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister"
/>
+ </properties-param>
+ </init-params>
+</component></programlisting>
+
+ </section>
+ </section>
+
+ <section>
+ <title>Backup Client</title>
+
+ <highlights>
+ <para>For GateIn should use context "/portal/rest". GateIn uses
form
+ authentication, so first you need to login (url to form authentication
+ is
http://host:port/portal/login) and then perform requests.</para>
+
+ <para></para>
+
+ <para>Backup client is support form authentication. For example call
+ command "info" with form authentication to GateIn :</para>
+
+ <para>./jcrbackup.sh
http://127.0.0.1:8080/portal/rest form POST
+
"/portal/login?initialURI=/portal/private&username=root&password=gtn"
+ info</para>
+ </highlights>
+
+ <para>Backup client is console application.</para>
+
+ <para>The backup client is http client for HTTPBackupAgent.</para>
+
+ <para>Command signature:</para>
+
+ <programlisting>Help info:
+ <url_basic_authentication>|<url form authentication>
<cmd>
+ <url_basic_authentication> :
http(s)//login:password@host:port/<context>
+
+ <url form authentication> : http(s)//host:port/<context>
"<form auth parm>"
+ <form auth parm> : form <method> <form
path>
+ <method> : POST or GET
+ <form path> :
/path/path?<paramName1>=<paramValue1>&<paramName2>=<paramValue2>...
+ Example to <url form authentication> :
http://127.0.0.1:8080/portal/rest form POST
"/portal/login?initialURI=/portal/private&username=root&password=gtn"
+
+ <cmd> : start <repo[/ws]> <backup_dir>
[<incr>]
+ stop <backup_id>
+ status <backup_id>
+ restores <repo[/ws]>
+ restore [remove-exists] [<repo[/ws]>]
{<backup_id>|<backup_set_path>}
[<pathToConfigFile>]
+ list [completed]
+ info
+ drop [force-close-session] <repo[/ws]>
+ help
+
+ start - start backup of repositpry or workspace
+ stop - stop backup
+ status - information about the current or completed backup by
'backup_id'
+ restores - information about the last restore on specific repository or workspace
+ restore - restore the repository or workspace from specific backup
+ list - information about the current backups (in progress)
+ list completed - information about the completed (ready to restore) backups
+ info - information about the service backup
+ drop - delete the repository or workspace
+ help - print help information about backup console
+
+ <repo[/ws]> -
/<reponsitory-name>[/<workspace-name>] the repository or
workspace
+ <backup_dir> - path to folder for backup on remote server
+ <backup_id> - the identifier for backup
+ <backup_set_dir> - path to folder with backup set on remote server
+ <incr> - incemental job period
+ <pathToConfigFile> - path (local) to repository or workspace
configuration
+ remove-exists - removed fully (db, value storage, index) existed
repository/workspace
+ force-close-session - close opened sessions on repositpry or
workspace.</programlisting>
+ </section>
+
+ <section>
+ <title>Backup Client Usage</title>
+
+ <section>
+ <title>Building application</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Go to folder of "backup client" <emphasis
+
role="bold">${JCR-SRC-HOME}/applications/exo.jcr.applications.backupconsole</emphasis>
+ . - build the application :<programlisting>mvn clean install -P
deploy</programlisting></para>
+ </listitem>
+
+ <listitem>
+ <para>Go to <emphasis
+
role="bold">${JCR-SRC-HOME}/applications/exo.jcr.applications.backupconsole/target/backupconsole-binary</emphasis>
+ and use it.</para>
+ </listitem>
+ </itemizedlist>
+
+ <note>
+ <para><emphasis
role="bold">${JCR-SRC-HOME}</emphasis> the path where
+ eXo JCR sources located</para>
+ </note>
+ </section>
+
+ <section>
+ <title>Running application</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Run jar<programlisting>java -jar
exo.jcr.applications.backupconsole-binary.jar
<command></programlisting>or
+ use jcrbackup.cmd (or .sh);</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section>
+ <title>Getting information about backup service</title>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080
info</programlisting>
+
+ <para>Return :</para>
+
+ <programlisting>The backup service information :
+ full backup type :
org.exoplatform.services.jcr.ext.backup.impl.fs.FullBackupJob
+ incremetal backup type :
org.exoplatform.services.jcr.ext.backup.impl.fs.IncrementalBackupJob
+ backup log folder :
/home/rainf0x/java/exo-working/JCR-839/new_JCR/exo-tomcat/bin/../temp/backup
+ default incremental job period : 3600</programlisting>
+ </section>
+
+ <section>
+ <title>Starting full backup</title>
+
+ <para>Start full backup only on workspace "backup", the parameter
+ <bakcup_dir> (../temp/backup) should be exists:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 start
/repository/backup ../temp/backup</programlisting>
+
+ <para>Return :</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Starting full and incremental backup on a single
+ workspace</title>
+
+ <para>Start full and incremental backup on workspace
+ "production":</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 start
/repository/production ../temp/backup 10000</programlisting>
+
+ <para>Return :</para>
+
+ <programlisting>Successful :
+ tatus code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Getting information about the current backups (in
+ progress)</title>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080
list</programlisting>
+
+ <para>Return :</para>
+
+ <programlisting>The current backups information :
+ 1) Backup with id b46370107f000101014b03ea5fbe8d54 :
+ repository name : repository
+ workspace name : production
+ backup type : full + incremetal
+ full backup state : finished
+ incremental backup state : working
+ started time : Fri, 17 Apr 2009 17:03:16 EEST
+ 2) Backup with id b462e4427f00010101cf243b4c6015bb :
+ repository name : repository
+ workspace name : backup
+ backup type : full only
+ full backup state : finished
+ started time : Fri, 17 Apr 2009 17:02:41 EEST</programlisting>
+ </section>
+
+ <section>
+ <title>Getting information about the current backup by
+ 'backup_id'</title>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 status
b46370107f000101014b03ea5fbe8d54</programlisting>
+
+ <para>return:</para>
+
+ <programlisting>The current backup information :
+ backup id : b46370107f000101014b03ea5fbe8d54
+ backup folder :
/home/rainf0x/java/exo-working/JCR-839/new_JCR/exo-tomcat/bin/../temp/backup
+ repository name : repository
+ workspace name : production
+ backup type : full + incremetal
+ full backup state : finished
+ incremental backup state : working
+ started time : Fri, 17 Apr 2009 17:03:16 EEST</programlisting>
+ </section>
+
+ <section>
+ <title>Stopping backup by "backup_id"</title>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 stop
6c302adc7f00010100df88d29535c6ee</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Getting information about the completed (ready to restore)
+ backups</title>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 list
completed</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>The completed (ready to restore) backups information :
+ 1) Backup with id adf6fadc7f00010100053b2cba43513c :
+ repository name : repository
+ workspace name : backup
+ backup type : full only
+ started time : Thu, 16 Apr 2009 11:07:05 EEST
+
+ 2) Backup with id b46370107f000101014b03ea5fbe8d54 :
+ repository name : repository
+ workspace name : production
+ backup type : full + incremetal
+ started time : Fri, 17 Apr 2009 17:03:16 EEST
+
+ 3) Backup with id aec419cc7f000101004aca277b2b4e9f :
+ repository name : repository
+ workspace name : backup8
+ backup type : full only
+ started time : Thu, 16 Apr 2009 14:51:08 EEST</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring to workspace</title>
+
+ <para>Restore to workspace "backup3", for restore need the
+ <backup_id> of completed backup and path to file with workspace
+ configuration:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
/repository/backup3 6c302adc7f00010100df88d29535c6ee
/home/rainf0x/java/exo-working/JCR-839/exo-jcr-config_backup3.xml</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Getting information about the current restore</title>
+
+ <para>Get information about the current restore for workspace
+ /repository/backup3:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080
restores</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>The current restores information :
+1) Restore with id 6c302adc7f00010100df88d29535c6ee:
+ full backup date : 2009-04-03T16:34:37.394+03:00
+ backup log file :
/home/rainf0x/java/exo-working/JCR-839/exo-tomcat/bin/../temp/backup/backup-6c302adc7f00010100df88d29535c6ee.xml
+ repository name : repository
+ workspace name : backup3
+ backup type : full only
+ path to backup folder :
/home/rainf0x/java/exo-working/JCR-839/exo-tomcat/bin/../temp/backup
+ restore state : successful</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring workspace and remove exists workspace</title>
+
+ <para>Restore to workspace "backup" and remove fully (will be
removed
+ content from db, value storage, index) exists workspace, for restore
+ need the <backup_id> of completed backup and path to file with
+ workspace configuration:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
remove-exists /repository/backup 6c302adc7f00010100df88d29535c6ee
/home/rainf0x/java/exo-working/JCR-839/exo-jcr-config_backup.xml</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring workspace from backup set</title>
+
+ <para>Restore to workspace "backup", for restore need the
+ <backup_set_path> (<backup_set_path> is path to backup
set
+ folder on server side) of completed backup and path to file with
+ workspace configuration:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
/repository/backup /tmp/123/repository_backup-20101220_114156
/home/rainf0x/java/exo-working/JCR-839/exo-jcr-config_backup.xml</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring workspace from backup set and remove exists
+ workspace</title>
+
+ <para>Restore to workspace "backup" and remove fully (will be
removed
+ content from db, value storage, index) exists workspace, for restore
+ need the <backup_set_path> (<backup_set_path> is path
to
+ backup set folder on server side) of completed backup and path to file
+ with workspace configuration:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
remove-exists /repository/backup /repository/backup
/tmp/123/repository_backup-20101220_114156
/home/rainf0x/java/exo-working/JCR-839/exo-jcr-config_backup.xml</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring workspace with original configuation</title>
+
+ <para>Restore to workspace "backup" with original configuration of
+ workspace (the original configuration was stored in backup set), for
+ restore need the <backup_id> of completed backup:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
6c302adc7f00010100df88d29535c6ee</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring workspace with original configuation and remove exists
+ workspace</title>
+
+ <para>Restore to workspace "backup" with original configuration of
+ workspace (the original configuration was stored in backup set) and
+ remove fully (will be removed content from db, value storage, index)
+ exists workspace, for restore need the <backup_id> of completed
+ backup:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
remove-exists 6c302adc7f00010100df88d29535c6ee</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring workspace from backup set with original
+ configuation</title>
+
+ <para>Restore to workspace "backup" with original configuration of
+ workspace (the original configuration was stored in backup set), for
+ restore need the <backup_set_path> (<backup_set_path>
is
+ path to backup set folder on server side) of completed backup:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
/tmp/123/repository_backup-20101220_114156</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring workspace from backup set with original configuation
+ and remove exists workspace</title>
+
+ <para>Restore to workspace "backup" and remove fully (will be
removed
+ content from db, value storage, index) exists workspace with original
+ configuration of workspace (the original configuration was stored in
+ backup set), for restore need the <backup_set_path>
+ (<backup_set_path> is path to backup set folder on server side) of
+ completed backup:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
remove-exists /tmp/123/repository_backup-20101220_114156</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring repository</title>
+
+ <para>Restore to repository "repository" , for restore need the
+ <backup_id> of completed backup and path to file with repository
+ configuration:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
remove-exists /repository 6c302adc7f00010100df88d29535c6ee
/home/rainf0x/java/exo-working/JCR-839/exo-jcr-config.xml</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring repository and remove exists repository</title>
+
+ <para>Restore to repositoy "repository" and remove fully (will be
+ removed content from db, value storage, index) exists repository, for
+ restore need the <backup_id> of completed backup and path to file
+ with repository configuration:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
remove-exists /repository 6c302adc7f00010100df88d29535c6ee
/home/rainf0x/java/exo-working/JCR-839/exo-jcr-config.xml</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring repository from backup set</title>
+
+ <para>Restore to repository "repository", for restore need the
+ <backup_set_path> (<backup_set_path> is path to backup
set
+ folder on server side) of completed backup and path to file with
+ repository configuration:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore /repository
/tmp/123/repository_repository_backup_1292833493681
/home/rainf0x/java/exo-working/JCR-839/exo-jcr-config.xml</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring repository from backup set and remove exists
+ repository</title>
+
+ <para>Restore to repository "repository" and remove fully (will be
+ removed content from db, value storage, index) exists repository, for
+ restore need the <backup_set_path> (<backup_set_path>
is
+ path to backup set folder on server side) of completed backup and path
+ to file with repository configuration:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
remove-exists /repository /repository/backup
/tmp/123/repository_repository_backup_1292833493681
/home/rainf0x/java/exo-working/JCR-839/exo-jcr-config.xml</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring repository with original configuation</title>
+
+ <para>Restore to repository "repository" with original
configuration of
+ repository (the original configuration was stored in backup set), for
+ restore need the <backup_id> of completed backup:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
6c302adc7f00010100df88d29535c6ee</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring repository with original configuation and remove exists
+ repository</title>
+
+ <para>Restore to repository "repository" with original
configuration of
+ repository (the original configuration was stored in backup set) and
+ remove fully (will be removed content from db, value storage, index)
+ exists repository, for restore need the <backup_id> of completed
+ backup:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
remove-exists 6c302adc7f00010100df88d29535c6ee</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring repository from backup set with original
+ configuation</title>
+
+ <para>Restore to repository "repository" with original
configuration of
+ repository (the original configuration was stored in backup set), for
+ restore need the <backup_set_path> (<backup_set_path>
is
+ path to backup set folder on server side) of completed backup:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
/tmp/123/repository_repository_backup_1292833493681</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring repository from backup set with original configuation
+ and remove exists repository</title>
+
+ <para>Restore to repository "repository" and remove fully (will be
+ removed content from db, value storage, index) exists repository with
+ original configuration of repository (the original configuration was
+ stored in backup set), for restore need the <backup_set_path>
+ (<backup_set_path> is path to backup set folder on server side) of
+ completed backup:</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
remove-exists /tmp/123/repository_repository_backup_1292833493681</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+ </section>
+
+ <section>
+ <title>Full example about creating backup and restoring it for workspace
+ 'backup'</title>
+
+ <section>
+ <title>Creating backup</title>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 start
/repository/backup ../temp/backup 10000</programlisting>
+
+ <para>Return :</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Getting information about current backups</title>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080
list</programlisting>
+
+ <para>Return :</para>
+
+ <programlisting>The current backups information :
+ 1) Backup with id b469ba957f0001010178febaedf20eb7 :
+ repository name : repository
+ workspace name : backup
+ backup type : full + incremetal
+ full backup state : finished
+ incremental backup state : working
+ started time : Fri, 17 Apr 2009 17:10:09 EEST</programlisting>
+ </section>
+
+ <section>
+ <title>Stopping backup by id</title>
+
+ <para>Stop backup with id b469ba957f0001010178febaedf20eb7 :</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 stop
b469ba957f0001010178febaedf20eb7</programlisting>
+
+ <para>Return :</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Deleting the workspace "backup" and close opened sessions on
this
+ workspace</title>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 drop
force-close-session /repository/backup</programlisting>
+
+ <para>Return :</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring the workspace "backup"</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Delete/clean the database for workspace <emphasis
+ role="bold">"backup"</emphasis> : When we use
"single-db", then we
+ will run the SQL queries for clean database :<programlisting>delete from
JCR_SREF where NODE_ID in (select ID from JCR_SITEM where CONTAINER_NAME =
'backup')
+delete from JCR_SVALUE where PROPERTY_ID in (select ID from JCR_SITEM where
CONTAINER_NAME = 'backup')
+delete from JCR_SITEM where
CONTAINER_NAME='backup'</programlisting></para>
+ </listitem>
+
+ <listitem>
+ <para>Delete the value storage for workspace <emphasis
+ role="bold">"backup"</emphasis>; - delete the
index data for
+ workspace <emphasis
role="bold">"backup"</emphasis>; - restore
+ :<programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore
/repository/backup b469ba957f0001010178febaedf20eb7
/home/rainf0x/java/exo-working/JCR-839/exo-jcr-config_backup.xml
+</programlisting>Return :<programlisting>Successful :
+ status code = 200</programlisting>The
+ /home/rainf0x/java/exo-working/JCR-839/exo-jcr-config_backup.xml
+ content the configuration for restored workspace <emphasis
+
role="bold">"backup"</emphasis>:</para></listitem>
+ </itemizedlist>
+
+ <programlisting language="XML"><repository-service
default-repository="repository">
+ <repositories>
+ <repository name="repository"
system-workspace="production" default-workspace="production">
+ <security-domain>exo-domain</security-domain>
+ <access-control>optional</access-control>
+
<authentication-policy>org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator</authentication-policy>
+ <workspaces>
+
+ <workspace name="backup">
+ <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
+ <properties>
+ <property name="source-name" value="jdbcjcr"
/>
+ <property name="dialect" value="pgsql"
/>
+ <property name="multi-db" value="false"
/>
+ <property name="update-storage" value="false"
/>
+ <property name="max-buffer-size" value="200k"
/>
+ <property name="swap-directory"
value="../temp/swap/backup" />
+ </properties>
+ <value-storages>
+ <value-storage id="draft"
class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+ <properties>
+ <property name="path"
value="../temp/values/backup" />
+ </properties>
+ <filters>
+ <filter property-type="Binary"/>
+ </filters>
+ </value-storage>
+ </value-storages>
+ </container>
+ <initializer
class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+ <properties>
+ <property name="root-nodetype"
value="nt:unstructured" />
+ </properties>
+ </initializer>
+ <cache enabled="true"
class="org.exoplatform.services.jcr.impl.dataflow.persistent.LinkedWorkspaceStorageCacheImpl">
+ <properties>
+ <property name="max-size" value="10k" />
+ <property name="live-time" value="1h" />
+ </properties>
+ </cache>
+ <query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <properties>
+ <property name="index-dir"
value="../temp/jcrlucenedb/backup" />
+ </properties>
+ </query-handler>
+ </workspace>
+ </workspaces>
+ </repository>
+ </repositories>
+</repository-service>
+</programlisting>
+ </section>
+
+ <section>
+ <title>Getting information about restore for workspace
+ /repository/backup</title>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restores
/repository/backup</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting>The current restores information :
+ Restore with id b469ba957f0001010178febaedf20eb7:
+ backup folder :
/home/rainf0x/java/exo-working/JCR-839/new_JCR/exo-tomcat/bin/../temp/backup
+ repository name : repository
+ workspace name : backup
+ backup type : full + incremetal
+ restore state : successful
+ started time : Fri, 17 Apr 2009 16:38:00 EEST
+ finished time : Fri, 17 Apr 2009 16:38:00 EEST</programlisting>
+ </section>
+ </section>
+
+ <section>
+ <title>Full example about creating backup and restoring it for repository
+ 'repository'</title>
+
+ <note>
+ <para>If delete default repository that should be restored repository
+ with name as default repository.</para>
+ </note>
+
+ <para>This usecase needs RestRepositoryService enabled. (Deleting the
+ repository needs it)</para>
+
+ <programlisting language="XML"><component>
+
<type>org.exoplatform.services.jcr.ext.repository.RestRepositoryService</type>
+</component></programlisting>
+
+ <section>
+ <title>Creating backup</title>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 start /repository
../temp/backup 10000</programlisting>
+
+ <para>Return :</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Getting information about current backups</title>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080
list</programlisting>
+
+ <para>Return :</para>
+
+ <programlisting>The current backups information :
+ 1) Repository backup with id 9a4d40fb7f0000012ec8f0a4ec70b3da :
+ repository name : repository
+ backup type : full + incremetal
+ full backups state : finished
+ incremental backups state : working
+ started time : Mon, 11 Oct 2010 10:59:35 EEST</programlisting>
+ </section>
+
+ <section>
+ <title>Stopping backup by id</title>
+
+ <para>Stop backup with id 9a4d40fb7f0000012ec8f0a4ec70b3da :</para>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 stop
9a4d40fb7f0000012ec8f0a4ec70b3da</programlisting>
+
+ <para>Return :</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Deleting the repository "repository" and close all opened
+ sessions</title>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 drop
force-close-session /repository</programlisting>
+
+ <para>Return :</para>
+
+ <programlisting>Successful :
+ status code = 200</programlisting>
+ </section>
+
+ <section>
+ <title>Restoring the repository "repository"</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Delete/clean the database for workspace <emphasis
+ role="bold">"repository"</emphasis>: When we use
"single-db", then
+ we will run the SQL queries for clean database :<programlisting>
drop table JCR_SREF;
+ drop table JCR_SVALUE;
+ drop table JCR_SITEM;</programlisting></para>
+ </listitem>
+
+ <listitem>
+ <para>Delete the value storage for repository <emphasis
+ role="bold">"repository"</emphasis>;</para>
+ </listitem>
+
+ <listitem>
+ <para>Delete the index data for repository <emphasis
+ role="bold">"repository"</emphasis>;</para>
+ </listitem>
+
+ <listitem>
+ <para>Restore:<programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restore /repository 9a6dba327f000001325dfb228a181b07
/home/rainf0x/exo-jcr-config_backup.xml</programlisting>Return
+ :<programlisting>Successful :
+ status code = 200</programlisting>The
+ /home/rainf0x/exo-jcr-config_backup.xml content the configuration
+ for restored repository <emphasis
+ role="bold">"repository"</emphasis>:</para>
+ </listitem>
+ </itemizedlist>
+
+ <programlisting language="XML"><repository-service
default-repository="repository">
+ <repositories>
+ <repository name="repository"
system-workspace="production" default-workspace="production">
+ <security-domain>exo-domain</security-domain>
+ <access-control>optional</access-control>
+
<authentication-policy>org.exoplatform.services.jcr.impl.core.access.JAASAuthenticator</authentication-policy>
+ <workspaces>
+ <workspace name="production">
+ <!-- for system storage -->
+ <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+ <properties>
+ <property name="source-name"
value="jdbcjcr" />
+ <property name="multi-db" value="false"
/>
+ <property name="update-storage"
value="false" />
+ <property name="max-buffer-size"
value="200k" />
+ <property name="swap-directory"
value="../temp/swap/production" />
+ </properties>
+ <value-storages>
+ <value-storage id="system"
class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+ <properties>
+ <property name="path"
value="../temp/values/production" />
+ </properties>
+ <filters>
+ <filter property-type="Binary" />
+ </filters>
+ </value-storage>
+ </value-storages>
+ </container>
+ <initializer
class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+ <properties>
+ <property name="root-nodetype"
value="nt:unstructured" />
+ </properties>
+ </initializer>
+ <cache enabled="true"
class="org.exoplatform.services.jcr.impl.dataflow.persistent.LinkedWorkspaceStorageCacheImpl">
+ <properties>
+ <property name="max-size" value="10k"
/>
+ <property name="live-time" value="1h"
/>
+ </properties>
+ </cache>
+ <query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <properties>
+ <property name="index-dir"
value="../temp/jcrlucenedb/production" />
+ </properties>
+ </query-handler>
+ <lock-manager>
+ <time-out>15m</time-out>
+ <persister
class="org.exoplatform.services.jcr.impl.core.lock.FileSystemLockPersister">
+ <properties>
+ <property name="path"
value="../temp/lock/system" />
+ </properties>
+ </persister>
+ </lock-manager>
+ </workspace>
+
+ <workspace name="backup">
+ <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+ <properties>
+ <property name="source-name"
value="jdbcjcr" />
+ <property name="multi-db" value="false"
/>
+ <property name="update-storage"
value="false" />
+ <property name="max-buffer-size"
value="200k" />
+ <property name="swap-directory"
value="../temp/swap/backup" />
+ </properties>
+ <value-storages>
+ <value-storage id="draft"
class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+ <properties>
+ <property name="path"
value="../temp/values/backup" />
+ </properties>
+ <filters>
+ <filter property-type="Binary" />
+ </filters>
+ </value-storage>
+ </value-storages>
+ </container>
+ <initializer
class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+ <properties>
+ <property name="root-nodetype"
value="nt:unstructured" />
+ </properties>
+ </initializer>
+ <cache enabled="true"
class="org.exoplatform.services.jcr.impl.dataflow.persistent.LinkedWorkspaceStorageCacheImpl">
+ <properties>
+ <property name="max-size" value="10k"
/>
+ <property name="live-time" value="1h"
/>
+ </properties>
+ </cache>
+ <query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <properties>
+ <property name="index-dir"
value="../temp/jcrlucenedb/backup" />
+ </properties>
+ </query-handler>
+ </workspace>
+
+ <workspace name="digital-assets">
+ <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.CQJDBCWorkspaceDataContainer">
+ <properties>
+ <property name="source-name"
value="jdbcjcr" />
+ <property name="multi-db" value="false"
/>
+ <property name="update-storage"
value="false" />
+ <property name="max-buffer-size"
value="200k" />
+ <property name="swap-directory"
value="../temp/swap/digital-assets" />
+ </properties>
+ <value-storages>
+ <value-storage id="digital-assets"
class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
+ <properties>
+ <property name="path"
value="../temp/values/digital-assets" />
+ </properties>
+ <filters>
+ <filter property-type="Binary" />
+ </filters>
+ </value-storage>
+ </value-storages>
+ </container>
+ <initializer
class="org.exoplatform.services.jcr.impl.core.ScratchWorkspaceInitializer">
+ <properties>
+ <property name="root-nodetype"
value="nt:folder" />
+ </properties>
+ </initializer>
+ <cache enabled="true"
class="org.exoplatform.services.jcr.impl.dataflow.persistent.LinkedWorkspaceStorageCacheImpl">
+ <properties>
+ <property name="max-size" value="5k"
/>
+ <property name="live-time" value="15m"
/>
+ </properties>
+ </cache>
+ <query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <properties>
+ <property name="index-dir"
value="../temp/jcrlucenedb/digital-assets" />
+ </properties>
+ </query-handler>
+ </workspace>
+ </workspaces>
+ </repository>
+ </repositories>
+</repository-service>
+</programlisting>
+
+ </section>
+
+ <section>
+ <title>Getting information about restore for repository
+ 'repository'</title>
+
+ <programlisting>jcrbackup
http://root:exo@127.0.0.1:8080 restores
/repository</programlisting>
+
+ <para>Return:</para>
+
+ <programlisting> Repository restore with id
9a6dba327f000001325dfb228a181b07:
+ backup folder :
/home/rainf0x/java/exo-working/JCR-1459/exo-tomcat/bin/../temp/backup/repository_repository_backup_1286786103858
+ repository name : repository
+ backup type : full + incremetal
+ restore state : successful
+ started time : Mon, 11 Oct 2010 11:51:15 EEST
+ finished time : Mon, 11 Oct 2010 11:51:17 EEST</programlisting>
+ </section>
+ </section>
+</section>
Added:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/backup-clonsole-dist.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/backup-clonsole-dist.xml
(rev 0)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/backup-clonsole-dist.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<section>
+
+ <title>Backup console binary distribution </title>
+
+ <section>
+ <title>Introduction</title>
+
+ <para>The backup console binary distribution is script-based front-end to
+ backup client to creation backup, restore, getting status of current or
+ completed backup/restore, etc. </para>
+
+ <para>The backup console binary distribution conatins original backup
+ console and script adaptation for use with GateIn based products like
+ Platform.</para>
+ </section>
+
+ <section>
+ <title>jcrbackup.cmd and jcrbackup.sh</title>
+
+ <para>These scripts suitable for Standalone and flexible for various
+ authentication ways shell scripts.</para>
+
+ <para>Command signature:</para>
+
+ <programlisting> <url_basic_authentication> |
<url_form_authentication> <command>
+
+ <url_basic_authentication>:
http(s)//login:password@host:port/<context>
+ <url_form_authentication> :
http(s)//host:port/<context> <form_auth_parm>
+
+ <form_auth_part> : form <method>
<form_path>
+ <method> : POST or GET
+ <form_path> :
/path/path?<paramName1>=<paramValue1>&<paramName2>=<paramValue2>...
+
+ Example of <url_form_authentication> -
http://127.0.0.1:8080/portal/rest form POST
"/portal/login?initialURI=/portal/private&username=root&password=gtn"
+
+ <command> : start <repo[/ws]>
<backup_dir> [<incr>]
+ stop <backup_id>
+ status <backup_id>
+ restores <repo[/ws]>
+ restore [remove-exists]
[<repo[/ws]>] {<backup_id>|<backup_set_path>}
[<pathToConfigFile>]
+ list [completed]
+ info
+ drop [force-close-session]
<repo[/ws]>
+ help
+
+ start : start backup of repository or workspace
+ stop : stop backup
+ status : information about the current or completed backup
by 'backup_id'
+ restores : information about the last restore on specific
repository or workspace
+ restore : restore the repository or workspace from specific
backup
+ list : information about the current backups (in
progress)
+ list completed : information about the completed (ready to
restore) backups
+ info : information about the service backup
+ drop : delete the repository or workspace
+ help : print help information about backup console
+
+ <repo[/ws]> :
/<repository-name>[/<workspace-name>] the repository or
workspace
+ <backup_dir> : path to folder for backup on remote
server
+ <backup_id> : the identifier for backup
+ <incr> : incremental job period
+ <pathToConfigFile> : path (local) to repository or
workspace configuration
+ remove-exists : remove fully (db, value storage, index) exists
repository/workspace
+ force-close-session : close opened sessions on repository or
workspace</programlisting>
+ </section>
+
+ <section>
+ <title>exobackup.sh and exobackup.cmd</title>
+
+ <para>These scripts suitable for use with GateIn based products like
+ Platform</para>
+
+ <para>Command signature:</para>
+
+ <programlisting> -u <user> -p <password>
[form_of_authentication] <host:port> <command>
+
+ <form_of_authentication> : -b - is used for basic
authentication
+ -f [-c <context>] - is used for
form authentication with context portal if parameter context not specified
+ if no authentication set basic authentication is
used
+ -c <context> : context, by default context is
portal
+
+ <command> : start <repo[/ws]>
<backup_dir> [<incr>]
+ stop <backup_id>
+ status <backup_id>
+ restores <repo[/ws]>
+ restore [remove-exists]
[<repo[/ws]>] {<backup_id>|<backup_set_path>}
[<pathToConfigFile>]
+ list [completed]
+ info
+ drop [force-close-session]
<repo[/ws]>
+ help
+
+ start : start backup of repository or workspace
+ stop : stop backup
+ status : information about the current or completed backup
by 'backup_id'
+ restores : information about the last restore on specific
repository or workspace
+ restore : restore the repository or workspace from specific
backup
+ list : information about the current backups (in
progress)
+ list completed : information about the completed (ready to
restore) backups
+ info : information about the service backup
+ drop : delete the repository or workspace
+ help : print help information about backup console
+
+ <repo[/ws]> :
/<repository-name>[/<workspace-name>] the repository or
workspace
+ <backup_dir> : path to folder for backup on remote
server
+ <backup_id> : the identifier for backup
+ <incr> : incremental job period
+ <pathToConfigFile> : path (local) to repository or
workspace configuration
+ remove-exists : remove fully (db, value storage, index) exists
repository/workspace
+ force-close-session : close opened sessions on repository or
workspace</programlisting>
+ </section>
+
+ <section>
+ <title>Backup console binary distribution usage</title>
+
+ <section>
+ <title>Building application</title>
+
+ <itemizedlist>
+ <listitem>
+ <para>Go to folder <emphasis
+
role="bold">${JCR-SRC-HOME}/applications/exo.jcr.applications.backupconsole.dist</emphasis>
+ . - build the application :<programlisting>mvn clean
install</programlisting></para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section>
+ <title>Getting information about backup service</title>
+
+ <para>The context is "portal" by default for FORM
authentiaction.</para>
+
+ <programlisting>./exobackup.sh -u root -p gtn -f 192.168.0.15:8080
info</programlisting>
+
+ <para>Return :</para>
+
+ <programlisting>The backup service information :
+ full backup type :
org.exoplatform.services.jcr.ext.backup.impl.fs.FullBackupJob
+ incremetal backup type :
org.exoplatform.services.jcr.ext.backup.impl.fs.IncrementalBackupJob
+ backup log folder :
/home/rainf0x/java/exo-working/JCR-839/new_JCR/exo-tomcat/bin/../temp/backup
+ default incremental job period : 3600</programlisting>
+ </section>
+
+ <section>
+ <title>Getting information about backup service with use not default
+ context</title>
+
+ <para>The context is "exodms-demo".</para>
+
+ <programlisting>./exobackup.sh -u root -p gtn -f -c exodms-demo
192.168.0.15:8080 info</programlisting>
+
+ <para>Return :</para>
+
+ <programlisting>The backup service information :
+ full backup type :
org.exoplatform.services.jcr.ext.backup.impl.fs.FullBackupJob
+ incremetal backup type :
org.exoplatform.services.jcr.ext.backup.impl.fs.IncrementalBackupJob
+ backup log folder :
/home/rainf0x/java/exo-working/JCR-839/new_JCR/exo-tomcat/bin/../temp/backup
+ default incremental job period : 3600</programlisting>
+ </section>
+ </section>
+</section>
Added:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/exojcr-backup-service.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/exojcr-backup-service.xml
(rev 0)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/exojcr-backup-service.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -0,0 +1,965 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<section>
+
+ <title>eXo JCR Backup Service</title>
+
+ <note>
+ <para>Restore of system workspace is not supported only as part of
+ restoring of whole repository.</para>
+ </note>
+
+ <section>
+ <title>Concept</title>
+
+ <para>The main purpose of that feature is to restore data in case of
+ system faults and repository crashes. Also, the backup results may be used
+ as a content history.</para>
+
+ <para>The eXo JCR backup service was developed from the JCR 1.8
+ implementation. It's an independent service available as an eXo JCR
+ Extensions project.</para>
+
+ <para>The concept is based on the export of a workspace unit in the Full,
+ or Full + Incrementals model. A repository workspace can be backup and
+ restored using a combination of these modes. In all cases, at least one
+ Full (initial) backup must be executed to mark a starting point of the
+ backup history. An Incremental backup is not a complete image of the
+ workspace. It contains only changes for some period. So it is not possible
+ to perform an Incremental backup without an initial Full backup.</para>
+
+ <para>The Backup service may operate as a hot-backup process at runtime on
+ an in-use workspace. It's a case when the Full + Incrementals model should
+ be used to have a guaranty of data consistency during restoration. An
+ Incremental will be run starting from the start point of the Full backup
+ and will contain changes that have occured during the Full backup,
+ too.</para>
+
+ <para>A <emphasis role="bold">restore</emphasis>
operation is a mirror of
+ a backup one. At least one Full backup should be restored to obtain a
+ workspace corresponding to some points in time. On the other hand,
+ Incrementals may be restored in the order of creation to reach a required
+ state of a content. If the Incremental contains the same data as the Full
+ backup (hot-backup), the changes will be applied again as if they were
+ made in a normal way via API calls.</para>
+
+ <para>According to the model there are several modes for backup
+ logic:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><emphasis role="bold">Full backup
only</emphasis> : Single
+ operation, runs once</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">Full +
Incrementals</emphasis> : Start
+ with an initial Full backup and then keep incrementals changes in one
+ file. Run until it is stopped.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">Full +
Incrementals(periodic)</emphasis> :
+ Start with an initial Full backup and then keep incrementals with
+ periodic result file rotation. Run until it is stopped.</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section>
+ <title>How it works</title>
+
+ <section>
+ <title>Implementation details</title>
+
+ <para>Full backup/restore is implemented using the JCR SysView
+ Export/Import. Workspace data will be exported into Sysview XML data
+ from root node.</para>
+
+ <para>Restoring is implemented, using the special eXo JCR API feature: a
+ dynamic workspace creation. Restoring of the workspace Full backup will
+ create one new workspace in the repository. Then, the SysView XML data
+ will be imported as the root node.</para>
+
+ <para>Incremental backup is implemented using the eXo JCR ChangesLog
+ API. This API allows to record each JCR API call as atomic entries in a
+ changelog. Hence, the Incremental backup uses a listener that collects
+ these logs and stores them in a file.</para>
+
+ <para>Restoring an incremental backup consists in applying the collected
+ set of ChangesLogs to a workspace in the correct order.</para>
+ </section>
+
+ <section>
+ <title>Work basics</title>
+
+ <para>The work of Backup is based on the BackupConfig configuration and
+ the BackupChain logical unit.</para>
+
+ <para>BackupConfig describes the backup operation chain that will be
+ performed by the service. When you intend to work with it, the
+ configuration should be prepared before the backup is started.</para>
+
+ <para>The configuration contains such values as:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><emphasis role="bold">Types of full and
incremental
+ backup</emphasis> (fullBackupType, incrementalBackupType): Strings
+ with full names of classes which will cover the type
+ functional.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">Incremental
period</emphasis>: A period
+ after that a current backup will be stopped and a new one will be
+ started in seconds (long).</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">Target repository and
workspace
+ names</emphasis>: Strings with described names</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">Destination
directory</emphasis> for
+ result files: String with a path to a folder where operation result
+ files will be stored.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>BackupChain is a unit performing the backup process and it covers
+ the principle of initial Full backup execution and manages Incrementals
+ operations. BackupChain is used as a key object for accessing current
+ backups during runtime via BackupManager. Each BackupJob performs a
+ single atomic operation - a Full or Incremental process. The result of
+ that operation is data for a Restore. BackupChain can contain one or
+ more BackupJobs. But at least the initial Full job is always there. Each
+ BackupJobs has its own unique number which means its Job order in the
+ chain, the initial Full job always has the number 0.</para>
+
+ <para><emphasis role="bold">Backup process, result data and
file
+ location</emphasis></para>
+
+ <para>To start the backup process, it's necessary to create the
+ BackupConfig and call the BackupManager.startBackup(BackupConfig)
+ method. This method will return BackupChain created according to the
+ configuration. At the same time, the chain creates a BackupChainLog
+ which persists BackupConfig content and BackupChain operation states to
+ the file in the service working directory (see Configuration).</para>
+
+ <para>When the chain starts the work and the initial BackupJob starts,
+ the job will create a result data file using the destination directory
+ path from BackupConfig. The destination directory will contain a
+ directory with an automatically created name using the pattern
+ repository_workspace-timestamp where timestamp is current time in the
+ format of yyyyMMdd_hhmmss (E.g. db1_ws1-20080306_055404). The directory
+ will contain the results of all Jobs configured for execution. Each Job
+ stores the backup result in its own file with the name
+ repository_workspace-timestamp.jobNumber. BackupChain saves each state
+ (STARTING, WAITING, WORKING, FINISHED) of its Jobs in the
+ BackupChainLog, which has a current result full file path.</para>
+
+ <para>BackupChain log file and job result files are a whole and
+ consistent unit, that is a source for a Restore.</para>
+
+ <note>
+ <para>BackupChain log contains absolute paths to job result files.
+ Don't move these files to another location.</para>
+ </note>
+
+ <para><emphasis role="bold">Restore
requirements</emphasis></para>
+
+ <para>As mentioned before a Restore operation is a mirror of a Backup.
+ The process is a Full restore of a root node with restoring an
+ additional Incremental backup to reach a desired workspace state.
+ Restoring of the workspace Full backup will create a new workspace in
+ the repository using given RepositoyEntry of existing repository and
+ given (preconfigured) WorkspaceEntry for a new target workspace. A
+ Restore process will restore a root node from the SysView XML
+ data.</para>
+
+ <note>
+ <para>The target workspace should not be in the repository. Otherwise,
+ a BackupConfigurationException exception will be thrown.</para>
+ </note>
+
+ <para>Finally, we may say that Restore is a process of a new Workspace
+ creation and filling it with a Backup content. In case you already have
+ a target Workspace (with the same name) in a Repository, you have to
+ configure a new name for it. If no target workspace exists in the
+ Repositor, you may use the same name as the Backup one.</para>
+ </section>
+ </section>
+
+ <section>
+ <title>Configuration</title>
+
+ <para>As an optional extension, the Backup service is not enabled by
+ default. <emphasis role="bold">You need to enable it via
+ configuration</emphasis>.</para>
+
+ <para>The following is an example configuration compatible with JCR 1.9.3
+ and later:</para>
+
+ <programlisting language="XML"><component>
+
<key>org.exoplatform.services.jcr.ext.backup.BackupManager</key>
+
<type>org.exoplatform.services.jcr.ext.backup.impl.BackupManagerImpl</type>
+ <init-params>
+ <properties-param>
+ <name>backup-properties</name>
+ <property name="default-incremental-job-period"
value="3600" /> <!-- set default incremental period = 60 minutes
-->
+ <property name="full-backup-type"
value="org.exoplatform.services.jcr.ext.backup.impl.fs.FullBackupJob" />
+ <property name="incremental-backup-type"
value="org.exoplatform.services.jcr.ext.backup.impl.fs.IncrementalBackupJob"
/>
+ <property name="backup-dir" value="target/backup"
/>
+ </properties-param>
+ </init-params>
+</component></programlisting>
+
+ <para>Where:<itemizedlist>
+ <listitem>
+ <para><emphasis
role="bold">incremental-backup-type</emphasis>
+ (since 1.9.3) : The FQN of incremental job class. Must implement
+ org.exoplatform.services.jcr.ext.backup.BackupJob</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis
role="bold">full-backup-type</emphasis> (since
+ 1.9.3) : The FQN of the full backup job class; Must implement
+ org.exoplatform.services.jcr.ext.backup.BackupJob</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis
+ role="bold">default-incremental-job-period</emphasis> (since
1.9.3)
+ : The period between incremetal flushes (in seconds)</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis role="bold">backup-dir</emphasis> :
The path to a
+ working directory where the service will store internal files and
+ chain logs.</para>
+ </listitem>
+ </itemizedlist></para>
+ </section>
+
+ <section>
+ <title>Usage</title>
+
+ <section>
+ <title>Performing a Backup</title>
+
+ <para>In the following example, we create a BackupConfig bean for the
+ Full + Incrementals mode, then we ask the BackupManager to start the
+ backup process.</para>
+
+ <programlisting language="Java">// Obtaining the backup service
from the eXo container.
+BackupManager backup = (BackupManager)
container.getComponentInstanceOfType(BackupManager.class);
+
+// And prepare the BackupConfig instance with custom parameters.
+// full backup & incremental
+File backDir = new File("/backup/ws1"); // the destination path for result
files
+backDir.mkdirs();
+
+BackupConfig config = new BackupConfig();
+config.setRepository(repository.getName());
+config.setWorkspace("ws1");
+config.setBackupDir(backDir);
+
+// Before 1.9.3, you also need to indicate the backupjobs class FDNs
+//
config.setFullBackupType("org.exoplatform.services.jcr.ext.backup.impl.fs.FullBackupJob");
+//
config.setIncrementalBackupType("org.exoplatform.services.jcr.ext.backup.impl.fs.IncrementalBackupJob");
+
+// start backup using the service manager
+BackupChain chain = backup.startBackup(config);</programlisting>
+
+ <para>To stop the backup operation, you have to use the BackupChain
+ instance.</para>
+
+ <programlisting language="Java">// stop backup
+backup.stopBackup(chain);</programlisting>
+ </section>
+
+ <section>
+ <title>Performing a Restore</title>
+
+ <para>Restoration involves reloading the backup file into a
+ BackupChainLog and applying appropriate workspace initialization. The
+ following snippet shows the typical sequence for restoring a workspace
+ :</para>
+
+ <programlisting language="Java">// find BackupChain using the
repository and workspace names (return null if not found)
+BackupChain chain = backup.findBackup("db1", "ws1");
+
+// Get the RepositoryEntry and WorkspaceEntry
+ManageableRepository repo = repositoryService.getRepository(repository);
+RepositoryEntry repoconf = repo.getConfiguration();
+List<WorkspaceEntry> entries = repoconf.getWorkspaceEntries();
+WorkspaceEntry = getNewEntry(entries, workspace); // create a copy entry from an existing
one
+
+// restore backup log using ready RepositoryEntry and WorkspaceEntry
+File backLog = new File(chain.getLogFilePath());
+BackupChainLog bchLog = new BackupChainLog(backLog);
+
+// initialize the workspace
+repository.configWorkspace(workspaceEntry);
+
+// run restoration
+backup.restore(bchLog, repositoryEntry, workspaceEntry);</programlisting>
+
+ <section>
+ <title>Restoring into an existing workspace</title>
+
+ <note>
+ <para>These instructions only applies to regular workspace. Special
+ instructions are provided for System workspace below.</para>
+ </note>
+
+ <para>To restore a backup over an existing workspace, you are required
+ to clear its data. Your backup process should follow these steps:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Remove workspace</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting language="Java">ManageableRepository repo =
repositoryService.getRepository(repository);
+repo.removeWorkspace(workspace);</programlisting>
+
+ <itemizedlist>
+ <listitem>
+ <para>Clean database, value storage, index</para>
+ </listitem>
+
+ <listitem>
+ <para>Restore (see snippet above)</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section>
+ <title>System workspace</title>
+
+ <note>
+ <para>The BackupWorkspaceInitializer is available in JCR 1.9 and
+ later.</para>
+ </note>
+
+ <para>Restoring the JCR System workspace requires to shutdown the
+ system and use of a special initializer.</para>
+
+ <para>Follow these steps (this will also work for normal workspaces):
</para>
+ <itemizedlist>
+ <listitem>
+ <para>Stop repository (or portal)</para>
+ </listitem>
+
+ <listitem>
+ <para>Clean database, value storage, index;</para>
+ </listitem>
+
+ <listitem>
+ <para>In configuration, the workspace set
+ BackupWorkspaceInitializer to refer to your backup.</para>
+ </listitem>
+ </itemizedlist>
+ <para>For example:</para>
+ <programlisting language="XML"><workspaces>
+ <workspace name="production" ... >
+ <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
+ ...
+ </container>
+ <initializer
class="org.exoplatform.services.jcr.impl.core.BackupWorkspaceInitializer">
+ <properties>
+ <property name="restore-path"
value="D:\java\exo-working\backup\repository_production-20090527_030434"/>
+ </properties>
+ </initializer>
+ ...
+</workspace>
+</programlisting>
+
+ <itemizedlist>
+ <listitem>
+ <para>Start repository (or portal).</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ </section>
+
+ <section>
+ <title>Repository and Workspace initialization from backup</title>
+
+ <para>Repository and Workspace initialization from backup can use the
+ BackupWorkspaceInitializer.</para>
+
+ <para>Will be configured BackupWorkspaceInitializer in configuration of
+ workspace to restore the Workspace from backup over initializer.</para>
+
+ <para>Will be configured BackupWorkspaceInitializer in all
+ configurations workspaces of the Repository to restore the Repository
+ from backup over initializer.</para>
+
+ <para></para>
+
+ <para>Restoring the repository or workspace requires to shutdown the
+ repository.</para>
+
+ <para>Follow these steps: <itemizedlist>
+ <listitem>
+ <para>Stop repository (will be skipped this step if repository or
+ workace is not exists)</para>
+ </listitem>
+
+ <listitem>
+ <para>Clean database, value storage, index; (will be skipped this
+ step if repository or worksace is new)</para>
+ </listitem>
+
+ <listitem>
+ <para>In configuration, the workspace/-s set
+ BackupWorkspaceInitializer to refer to your backup.</para>
+ </listitem>
+
+ <listitem>
+ <para>Start repository</para>
+ </listitem>
+ </itemizedlist></para>
+
+ <para></para>
+
+ <para>Example of configuration initializer to restore workspace
"backup"
+ over BackupWorkspaceInitializer:</para>
+
+ <programlisting language="XML"><workspaces>
+ <workspace name="backup" ... >
+ <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
+ ...
+ </container>
+ <initializer
class="org.exoplatform.services.jcr.impl.core.BackupWorkspaceInitializer">
+ <properties>
+ <property name="restore-path"
value="D:\java\exo-working\backup\repository_backup-20110120_044734"/>
+ </properties>
+ </initializer>
+ ...
+</workspace></programlisting>
+
+ <section>
+ <title>Restore the Workspace over BackupWorksaceInitializer</title>
+
+ <para>Example of configuration initializer to resore the workspace
+ "backup" over BackupWorkspaceInitializer:</para>
+ <itemizedlist>
+ <listitem>
+ <para>Stop repository (will be skipped this step if workspace is
+ not exists)</para>
+ </listitem>
+
+ <listitem>
+ <para>Clean database, value storage, index; (will be skipped
+ this step if workspace is new)</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>In configuration, the workspace/-s set
+ BackupWorkspaceInitializer to refer to your
+ backup.</para>
+
+ <programlisting language="XML"><workspaces>
+ <workspace name="backup" ... >
+ <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
+ ...
+ </container>
+ <initializer
class="org.exoplatform.services.jcr.impl.core.BackupWorkspaceInitializer">
+ <properties>
+ <property name="restore-path"
value="D:\java\exo-working\backup\repository_backup-20110120_044734"/>
+ </properties>
+ </initializer>
+ ...
+</workspace></programlisting>
+ <itemizedlist>
+ <listitem>
+ <para>Start repository</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section>
+ <title>Restore the Repository over BackupWorksaceInitializer</title>
+
+ <para>Example of configuration initializers to restore the repository
+ "repository" over BackupWorkspaceInitializer:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Stop repository (will be skipped this step if repository
+ is not exists)</para>
+ </listitem>
+
+ <listitem>
+ <para>Clean database, value storage, index; (will be skipped
+ this step if repository is new)</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>In configuration of repository will be configured
+ initializers of workspace to refer to your backup.</para>
+
+
+ <para>For example:</para>
+
+ <programlisting language="XML">...
+<workspaces>
+ <workspace name="system" ... >
+ <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
+ ...
+ </container>
+ <initializer
class="org.exoplatform.services.jcr.impl.core.BackupWorkspaceInitializer">
+ <properties>
+ <property name="restore-path"
value="D:\java\exo-working\backup\repository_system-20110120_052334"/>
+ </properties>
+ </initializer>
+ ...
+ </workspace>
+
+ <workspace name="collaboration" ... >
+ <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
+ ...
+ </container>
+ <initializer
class="org.exoplatform.services.jcr.impl.core.BackupWorkspaceInitializer">
+ <properties>
+ <property name="restore-path"
value="D:\java\exo-working\backup\repository_collaboration-20110120_052341"/>
+ </properties>
+ </initializer>
+ ...
+ </workspace>
+
+ <workspace name="backup" ... >
+ <container
class="org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer">
+ ...
+ </container>
+
+ <initializer
class="org.exoplatform.services.jcr.impl.core.BackupWorkspaceInitializer">
+ <properties>
+ <property name="restore-path"
value="D:\java\exo-working\backup\repository_backup-20110120_052417"/>
+ </properties>
+ </initializer>
+ ...
+ </workspace>
+</workspaces>
+</programlisting>
+
+ <itemizedlist>
+ <listitem>
+ <para>Start repository.</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ </section>
+ </section>
+
+ <section>
+ <title>Scheduling (experimental)</title>
+
+ <para>The Backup service has an additional feature that can be useful for
+ a production level backup implementation. When you need to organize a
+ backup of a repository, it's necessary to have a tool which will be able
+ to create and manage a cycle of Full and Incremental backups in periodic
+ manner.</para>
+
+ <para>The service has internal BackupScheduler which can run a
+ configurable cycle of BackupChains as if they have been executed by a user
+ during some period of time. I.e. BackupScheduler is a user-like daemon
+ which asks the BackupManager to start or stop backup operations.</para>
+
+ <para>For that purpose, BackupScheduler has the method.</para>
+
+ <para>BackupScheduler.schedule(backupConfig, startDate, stopDate,
+ chainPeriod, incrementalPeriod)</para>
+
+ <para>where</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>backupConfig: A ready configuration which will be given to the
+ BackupManager.startBackup() method</para>
+ </listitem>
+
+ <listitem>
+ <para>startDate: The date and time of the backup start</para>
+ </listitem>
+
+ <listitem>
+ <para>stopDate: The date and time of the backup stop</para>
+ </listitem>
+
+ <listitem>
+ <para>chainPeriod: A period after which a current BackupChain will be
+ stopped and a new one will be started in seconds</para>
+ </listitem>
+
+ <listitem>
+ <para>incrementalPeriod: If it is greater than 0, it will be used to
+ override the same value in backupConfig.</para>
+ </listitem>
+ </itemizedlist>
+
+ <programlisting language="Java">// geting the scheduler from the
BackupManager
+ BackupScheduler scheduler = backup.getScheduler();
+
+// schedule backup using a ready configuration (Full + Incrementals) to run from
startTime
+// to stopTime. Full backuop will be performed every 24 hours (BackupChain lifecycle),
+// incremental will rotate result files every 3 hours.
+ scheduler.schedule(config, startTime, stopTime, 3600 * 24, 3600 * 3);
+
+// it's possible to run the scheduler for an uncertain period of time (i.e. without
stop time).
+// schedule backup to run from startTime till it will be stopped manually
+// also there, the incremental will rotate result files as it configured in BackupConfig
+ scheduler.schedule(config, startTime, null, 3600 * 24, 0);
+
+// to unschedule backup simply call the scheduler with the configuration describing the
+// already planned backup cycle.
+// the scheduler will search in internal tasks list for task with repository and
+// workspace name from the configuration and will stop that task.
+ scheduler.unschedule(config);</programlisting>
+
+ <para>When the BackupScheduler starts the scheduling, it uses the internal
+ Timer with startDate for the first (or just once) execution. If
+ chainPeriod is greater than 0, then the task is repeated with this value
+ used as a period starting from startDate. Otherwise, the task will be
+ executed once at startDate time. If the scheduler has stopDate, it will
+ stop the task ( the chain cycle) after stopDate. And the last parameter
+ incrementalPeriod will be used instead of the same from BackupConfig if
+ its values are greater than 0.</para>
+
+ <para>Starting each task (BackupScheduler.schedule(...)), the scheduler
+ creates a task file in the service working directory (see <emphasis
+ role="bold">Configuration</emphasis>, backup-dir) which describes
the task
+ backup configuration and periodic values. These files will be used at the
+ backup service start (JVM start) to reinitialize BackupScheduler for
+ continuous task scheduling. Only tasks that don't have a stopDate or a
+ stopDate not expired will be reinitialized.</para>
+
+ <para>There is one notice about BackupScheduler task reinitialization in
+ the current implementation. It comes from the BackupScheduler nature and
+ its implemented behaviour. As the scheduler is just a virtual user which
+ asks the BackupManager to start or stop backup operations, it isn't able
+ to reinitialize each existing BackupChain before the service (JVM) is
+ stopped. But it's possible to start a new operation with the same
+ configuration via BackupManager (that was configured before and stored in
+ a task file).</para>
+
+ <para>This is a main detail of the BackupScheduler which should be taken
+ into suggestion of a backup operation design now. In case of
+ reinitialization, the task will have new time values for the backup
+ operation cycle as the chainPeriod and incrementalPeriod will be applied
+ again. That behaviour may be changed in the future.</para>
+ </section>
+
+ <section>
+ <title>Restore existing workspace or repository</title>
+
+ <para>The resore of existing workspace or repositry is available.</para>
+
+ <para>For restore will be used spacial methods:</para>
+
+ <programlisting language="Java"> /**
+ * Restore existing workspace. Previous data will be deleted.
+ * For getting status of workspace restore can use
+ * BackupManager.getLastRestore(String repositoryName, String workspaceName) method
+ *
+ * @param workspaceBackupIdentifier
+ * backup identifier
+ * @param workspaceEntry
+ * new workspace configuration
+ * @param asynchronous
+ * if 'true' restore will be in asynchronous mode (i.e. in separated
thread)
+ * @throws BackupOperationException
+ * if backup operation exception occurred
+ * @throws BackupConfigurationException
+ * if configuration exception occurred
+ */
+ void restoreExistingWorkspace(String workspaceBackupIdentifier, String repositoryName,
WorkspaceEntry workspaceEntry,
+ boolean asynchronous) throws BackupOperationException,
BackupConfigurationException;
+
+ /**
+ * Restore existing workspace. Previous data will be deleted.
+ * For getting status of workspace restore use can use
+ * BackupManager.getLastRestore(String repositoryName, String workspaceName) method
+ *
+ * @param log
+ * workspace backup log
+ * @param workspaceEntry
+ * new workspace configuration
+ * @param asynchronous
+ * if 'true' restore will be in asynchronous mode (i.e. in separated
thread)
+ * @throws BackupOperationException
+ * if backup operation exception occurred
+ * @throws BackupConfigurationException
+ * if configuration exception occurred
+ */
+ void restoreExistingWorkspace(BackupChainLog log, String repositoryName,
WorkspaceEntry workspaceEntry, boolean asynchronous) throws BackupOperationException,
BackupConfigurationException;
+
+ /**
+ * Restore existing repository. Previous data will be deleted.
+ * For getting status of repository restore can use
+ * BackupManager.getLastRestore(String repositoryName) method
+ *
+ * @param repositoryBackupIdentifier
+ * backup identifier
+ * @param repositoryEntry
+ * new repository configuration
+ * @param asynchronous
+ * if 'true' restore will be in asynchronous mode (i.e. in separated
thread)
+ * @throws BackupOperationException
+ * if backup operation exception occurred
+ * @throws BackupConfigurationException
+ * if configuration exception occurred
+ */
+ void restoreExistingRepository(String repositoryBackupIdentifier, RepositoryEntry
repositoryEntry, boolean asynchronous) throws BackupOperationException,
BackupConfigurationException;
+
+ /**
+ * Restore existing repository. Previous data will be deleted.
+ * For getting status of repository restore can use
+ * BackupManager.getLastRestore(String repositoryName) method
+ *
+ * @param log
+ * repository backup log
+ * @param repositoryEntry
+ * new repository configuration
+ * @param asynchronous
+ * if 'true' restore will be in asynchronous mode (i.e. in separated
thread)
+ * @throws BackupOperationException
+ * if backup operation exception occurred
+ * @throws BackupConfigurationException
+ * if configuration exception occurred
+ */
+ void restoreExistingRepository(RepositoryBackupChainLog log, RepositoryEntry
repositoryEntry, boolean asynchronous)
+ throws BackupOperationException,
BackupConfigurationException;</programlisting>
+
+ <para>These methods for restore will do:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>remove existed workspace or repository;</para>
+ </listitem>
+
+ <listitem>
+ <para>clean database;</para>
+ </listitem>
+
+ <listitem>
+ <para>clean index data;</para>
+ </listitem>
+
+ <listitem>
+ <para>clean value storage;</para>
+ </listitem>
+
+ <listitem>
+ <para>restore from backup.</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section>
+ <title>Restore a workspace or a repository using original
+ configuration</title>
+
+ <para>The Backup manager allows you to restore a repository or a workspace
+ using the original configuration stored into the backup log:</para>
+
+ <programlisting language="Java">/**
+ * Restore existing workspace. Previous data will be deleted.
+ * For getting status of workspace restore can use
+ * BackupManager.getLastRestore(String repositoryName, String workspaceName) method
+ * WorkspaceEntry for restore should be contains in BackupChainLog.
+ *
+ * @param workspaceBackupIdentifier
+ * identifier to workspace backup.
+ * @param asynchronous
+ * if 'true' restore will be in asynchronous mode (i.e. in separated
thread)
+ * @throws BackupOperationException
+ * if backup operation exception occurred
+ * @throws BackupConfigurationException
+ * if configuration exception occurred
+ */
+ void restoreExistingWorkspace(String workspaceBackupIdentifier, boolean asynchronous)
+ throws BackupOperationException,
+ BackupConfigurationException;
+
+ /**
+ * Restore existing repository. Previous data will be deleted.
+ * For getting status of repository restore can use
+ * BackupManager.getLastRestore(String repositoryName) method.
+ * ReprositoryEntry for restore should be contains in BackupChainLog.
+ *
+ * @param repositoryBackupIdentifier
+ * identifier to repository backup.
+ * @param asynchronous
+ * if 'true' restore will be in asynchronous mode (i.e. in separated
thread)
+ * @throws BackupOperationException
+ * if backup operation exception occurred
+ * @throws BackupConfigurationException
+ * if configuration exception occurred
+ */
+ void restoreExistingRepository(String repositoryBackupIdentifier, boolean
asynchronous)
+ throws BackupOperationException,
+ BackupConfigurationException;
+
+ /**
+ * WorkspaceEntry for restore should be contains in BackupChainLog.
+ *
+ * @param workspaceBackupIdentifier
+ * identifier to workspace backup.
+ * @param asynchronous
+ * if 'true' restore will be in asynchronous mode (i.e. in separated
thread)
+ * @throws BackupOperationException
+ * if backup operation exception occurred
+ * @throws BackupConfigurationException
+ * if configuration exception occurred
+ */
+ void restoreWorkspace(String workspaceBackupIdentifier, boolean asynchronous) throws
BackupOperationException,
+ BackupConfigurationException;
+
+ /**
+ * ReprositoryEntry for restore should be contains in BackupChainLog.
+ *
+ * @param repositoryBackupIdentifier
+ * identifier to repository backup.
+ * @param asynchronous
+ * if 'true' restore will be in asynchronous mode (i.e. in separated
thread)
+ * @throws BackupOperationException
+ * if backup operation exception occurred
+ * @throws BackupConfigurationException
+ * if configuration exception occurred
+ */
+ void restoreRepository(String repositoryBackupIdentifier, boolean asynchronous) throws
BackupOperationException,
+ BackupConfigurationException;
+
+ /**
+ * Restore existing workspace. Previous data will be deleted.
+ * For getting status of workspace restore can use
+ * BackupManager.getLastRestore(String repositoryName, String workspaceName) method
+ * WorkspaceEntry for restore should be contains in BackupChainLog.
+ *
+ * @param workspaceBackupSetDir
+ * the directory with backup set
+ * @param asynchronous
+ * if 'true' restore will be in asynchronous mode (i.e. in separated
thread)
+ * @throws BackupOperationException
+ * if backup operation exception occurred
+ * @throws BackupConfigurationException
+ * if configuration exception occurred
+ */
+ void restoreExistingWorkspace(File workspaceBackupSetDir, boolean asynchronous)
+ throws BackupOperationException, BackupConfigurationException;
+
+ /**
+ * Restore existing repository. Previous data will be deleted.
+ * For getting status of repository restore can use
+ * BackupManager.getLastRestore(String repositoryName) method.
+ * ReprositoryEntry for restore should be contains in BackupChainLog.
+ *
+ * @param repositoryBackupSetDir
+ * the directory with backup set
+ * @param asynchronous
+ * if 'true' restore will be in asynchronous mode (i.e. in separated
thread)
+ * @throws BackupOperationException
+ * if backup operation exception occurred
+ * @throws BackupConfigurationException
+ * if configuration exception occurred
+ */
+ void restoreExistingRepository(File repositoryBackupSetDir, boolean asynchronous)
+ throws BackupOperationException, BackupConfigurationException;
+
+ /**
+ * WorkspaceEntry for restore should be contains in BackupChainLog.
+ *
+ * @param workspaceBackupSetDir
+ * the directory with backup set
+ * @param asynchronous
+ * if 'true' restore will be in asynchronous mode (i.e. in separated
thread)
+ * @throws BackupOperationException
+ * if backup operation exception occurred
+ * @throws BackupConfigurationException
+ * if configuration exception occurred
+ */
+ void restoreWorkspace(File workspaceBackupSetDir, boolean asynchronous) throws
BackupOperationException,
+ BackupConfigurationException;
+
+ /**
+ * ReprositoryEntry for restore should be contains in BackupChainLog.
+ *
+ * @param repositoryBackupSetDir
+ * the directory with backup set
+ * @param asynchronous
+ * if 'true' restore will be in asynchronous mode (i.e. in separated
thread)
+ * @throws BackupOperationException
+ * if backup operation exception occurred
+ * @throws BackupConfigurationException
+ * if configuration exception occurred
+ */
+ void restoreRepository(File repositoryBackupSetDir, boolean asynchronous) throws
BackupOperationException,
+ BackupConfigurationException;</programlisting>
+ </section>
+
+ <section>
+ <title>Backup set portability</title>
+
+ <para>The Backup log is stored during the Backup operation into two
+ different locations: backup-dir directory of BackupService to support
+ interactive operations via Backup API (e.g. console) and backup set files
+ for portability (e.g. on another server).</para>
+ </section>
+
+ <section>
+ <title>RDBMS backup</title>
+
+ <para>RDBMS backup It is another implementation of full backup job for
+ BackupManager service. It is useful in case when database is used to store
+ data. </para>
+
+ <para>Brings such advantages:</para>
+
+ <para><itemizedlist>
+ <listitem>
+ <para>fast: backup takes only several minutes to perform full backup
+ of repository with 1 million rows in tables;</para>
+ </listitem>
+
+ <listitem>
+ <para>atomic restore: restore process into existing
+ workspace/repository with same configuration is atomic, it means you
+ don’t loose the data when restore failed, the original data
+ remains;</para>
+ </listitem>
+
+ <listitem>
+ <para>cluster aware: it is possible to make backup/restore in
+ cluster environment into existing workspace/repository with same
+ configuration;</para>
+ </listitem>
+
+ <listitem>
+ <para>consistence backup: all threads make waiting until backup is
+ finished and then continue to work, so, there are no data
+ modification during backup process;</para>
+ </listitem>
+ </itemizedlist>Configuration:</para>
+
+ <programlisting language="XML"><component>
+
<key>org.exoplatform.services.jcr.ext.backup.BackupManager</key>
+
<type>org.exoplatform.services.jcr.ext.backup.impl.BackupManagerImpl</type>
+ <init-params>
+ <properties-param>
+ <name>backup-properties</name>
+ <property name="default-incremental-job-period"
value="3600" /> <!-- set default incremental period = 60 minutes
-->
+ <property name="full-backup-type"
value="org.exoplatform.services.jcr.ext.backup.impl.rdbms.FullBackupJob"
/>
+ <property name="incremental-backup-type"
value="org.exoplatform.services.jcr.ext.backup.impl.fs.IncrementalBackupJob"
/>
+ <property name="backup-dir" value="target/backup"
/>
+ </properties-param>
+ </init-params>
+</component>
+</programlisting>
+ </section>
+</section>
Added:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/use-external-backup-tool.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/use-external-backup-tool.xml
(rev 0)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/backup/use-external-backup-tool.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<section>
+ <title>Use external backup tool</title>
+
+ <section>
+ <title>Repository suspending</title>
+
+ <para>To have the repository content consistent with the search index and
+ value storate, the repository should be suspened. It means all working
+ threads are suspended until resume operation performed. Index will be
+ flushed.</para>
+
+ <para>JCR provides ability to suspend repository via JMX.</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/repository-suspend-controller.png" />
+ </imageobject>
+ </mediaobject>
+
+ <para>To suspend repository just need to invoke suspend() operation. The
+ returned result will be "suspended" if everything passed
+ successfully.</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/repository-suspend-controller-suspended.png" />
+ </imageobject>
+ </mediaobject>
+
+ <para>The result "undefined" means not all components successfully
+ suspended, check console to see stacktraces.</para>
+ </section>
+
+ <section>
+ <title>Backup</title>
+
+ <para>Now we can backup content manually or using third part software. We
+ need to backup:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Database</para>
+ </listitem>
+
+ <listitem>
+ <para>Lucene index</para>
+ </listitem>
+
+ <listitem>
+ <para>Value storage (if configured)</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section>
+ <title>Repository resuming</title>
+
+ <para>Once backup is done need to invoke resume() operation to switch
+ repository back to online. The returned result will be
"online".</para>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/repository-suspend-controller-online.png"
/>
+ </imageobject>
+ </mediaobject>
+ </section>
+</section>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/cluster-config.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/cluster-config.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/cluster-config.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,53 +1,53 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Cluster_Config">
- <!-- This document was created with Syntext Serna Free. --> <title>Cluster
Config</title>
- <section id="sect-Reference_Guide-Cluster_Config-Launching_Cluster">
- <title>Launching Cluster</title>
- <section
id="sect-Reference_Guide-Launching_Cluster-Deploying_eXo_JCR_to_JBoss_As">
- <title>Deploying eXo JCR to JBoss As</title>
- <para>
- To deploy eXo JCR to JBoss, do the following steps:
- </para>
- <orderedlist>
- <listitem>
- <para>
- Download the latest version of eXo JCR .ear file distribution.
- </para>
+ <!-- This document was created with Syntext Serna Free. -->
<title>Cluster Config</title>
+ <section
id="sect-Reference_Guide-Cluster_Config-Launching_Cluster">
+ <title>Launching Cluster</title>
+ <section
id="sect-Reference_Guide-Launching_Cluster-Deploying_eXo_JCR_to_JBoss_As">
+ <title>Deploying eXo JCR to JBoss As</title>
+ <para>
+ To deploy eXo JCR to JBoss, do the following steps:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ Download the latest version of eXo JCR .ear file distribution.
+ </para>
- </listitem>
- <listitem>
- <para>
- Copy <jcr.ear> into
<%jboss_home%/server/default/deploy>
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ Copy <jcr.ear> into
<%jboss_home%/server/default/deploy>
+ </para>
- </listitem>
- <listitem>
- <para>
- Put exo-configuration.xml to the root
<%jboss_home%/exo-configuration.xml>
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ Put exo-configuration.xml to the root
<%jboss_home%/exo-configuration.xml>
+ </para>
- </listitem>
- <listitem>
- <para>
- Configure JAAS by inserting XML fragment shown below into
<%jboss_home%/server/default/conf/login-config.xml>
- </para>
-
+ </listitem>
+ <listitem>
+ <para>
+ Configure JAAS by inserting XML fragment shown below into
<%jboss_home%/server/default/conf/login-config.xml>
+ </para>
+
<programlisting language="XML"
role="XML"><application-policy name="exo-domain">
<authentication>
<login-module
code="org.exoplatform.services.security.j2ee.JbossLoginModule"
flag="required"></login-module>
</authentication>
</application-policy></programlisting>
- </listitem>
- <listitem>
- <para>
- Ensure that you use JBossTS <xref
linkend="sect-Reference_Guide-TransactionService" /> and JBossCache <xref
linkend="sect-Reference_Guide-JBossTransactionsService" />. Your
exo-configuration.xml must contain such parts:
- </para>
-
+ </listitem>
+ <listitem>
+ <para>
+ Ensure that you use JBossTS and JBossCache <xref
linkend="sect-Reference_Guide-JBossTransactionsService" />. Your
exo-configuration.xml must contain such parts:
+ </para>
+
<programlisting language="XML"
role="XML"><component>
<key>org.jboss.cache.transaction.TransactionManagerLookup</key>
<type>org.jboss.cache.GenericTransactionManagerLookup</type>^
@@ -64,47 +64,47 @@
</init-params>
</component></programlisting>
- </listitem>
- <listitem>
- <para>
- Start server:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- bin/run.sh for Unix
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ Start server:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ bin/run.sh for Unix
+ </para>
- </listitem>
- <listitem>
- <para>
- bin/run.bat for Windows
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ bin/run.bat for Windows
+ </para>
- </listitem>
+ </listitem>
- </itemizedlist>
+ </itemizedlist>
- </listitem>
- <listitem>
- <para>
- Try accessing <uri>http://localhostu:8080/browser</uri> with root/exo
as login/password if you have done everything right, you'll get access to repository
browser.
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ Try accessing
<uri>http://localhostu:8080/browser</uri> with root/exo as login/password if
you have done everything right, you'll get access to repository browser.
+ </para>
- </listitem>
+ </listitem>
- </orderedlist>
+ </orderedlist>
- </section>
-
- <section
id="sect-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration">
- <title>Configuring JCR to use external configuration</title>
- <itemizedlist>
- <listitem>
- <para>
- To manually configure repository, create a new configuration file (e.g.,
exo-jcr-configuration.xml). For details, see <xref
linkend="sect-Reference_Guide-JCR_configuration" />. Your configuration must
look like:
- </para>
-
+ </section>
+
+ <section
id="sect-Reference_Guide-Launching_Cluster-Configuring_JCR_to_use_external_configuration">
+ <title>Configuring JCR to use external configuration</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ To manually configure repository, create a new configuration file
(e.g., exo-jcr-configuration.xml). For details, see <xref
linkend="sect-Reference_Guide-JCR_configuration" />. Your configuration must
look like:
+ </para>
+
<programlisting language="XML"
role="XML"><repository-service
default-repository="repository1">
<repositories>
<repository name="repository1" system-workspace="ws1"
default-workspace="ws1">
@@ -152,12 +152,12 @@
</repositories>
</repository-service></programlisting>
- </listitem>
- <listitem>
- <para>
- Then, update RepositoryServiceConfiguration configuration in exo-configuration.xml
to use this file:
- </para>
-
+ </listitem>
+ <listitem>
+ <para>
+ Then, update RepositoryServiceConfiguration configuration in
exo-configuration.xml to use this file:
+ </para>
+
<programlisting language="XML"
role="XML"><component>
<key>org.exoplatform.services.jcr.config.RepositoryServiceConfiguration</key>
<type>org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl</type>
@@ -170,57 +170,57 @@
</init-params>
</component></programlisting>
- </listitem>
+ </listitem>
- </itemizedlist>
+ </itemizedlist>
- </section>
-
+ </section>
+
- </section>
-
- <section id="sect-Reference_Guide-Cluster_Config-Requirements">
- <title>Requirements</title>
- <section
id="sect-Reference_Guide-Requirements-Environment_requirements">
- <title>Environment requirements</title>
- <itemizedlist>
- <listitem>
- <para>
- Every node of cluster MUST have the same mounted Network File System with the read
and write permissions on it.
- </para>
- <para>
- "/mnt/tornado" - path to the mounted Network File System (all cluster
nodes must use the same NFS).
- </para>
+ </section>
+
+ <section id="sect-Reference_Guide-Cluster_Config-Requirements">
+ <title>Requirements</title>
+ <section
id="sect-Reference_Guide-Requirements-Environment_requirements">
+ <title>Environment requirements</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Every node of cluster MUST have the same mounted Network File
System with the read and write permissions on it.
+ </para>
+ <para>
+ "/mnt/tornado" - path to the mounted Network File
System (all cluster nodes must use the same NFS).
+ </para>
- </listitem>
- <listitem>
- <para>
- Every node of cluster MUST use the same database.
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ Every node of cluster MUST use the same database.
+ </para>
- </listitem>
- <listitem>
- <para>
- The same Clusters on different nodes MUST have the same names (e.g., if Indexer
cluster in workspace production on the first node has the name
"production_indexer_cluster", then indexer clusters in workspace production on
all other nodes MUST have the same name "production_indexer_cluster" ).
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ The same Clusters on different nodes MUST have the same names
(e.g., if Indexer cluster in workspace production on the first node has the name
"production_indexer_cluster", then indexer clusters in workspace production on
all other nodes MUST have the same name "production_indexer_cluster" ).
+ </para>
- </listitem>
+ </listitem>
- </itemizedlist>
+ </itemizedlist>
- </section>
-
- <section
id="sect-Reference_Guide-Requirements-Configuration_requirements">
- <title>Configuration requirements</title>
- <para>
- Configuration of every workspace in repository must contains of such parts:
- </para>
- <itemizedlist>
- <listitem id="list-Reference_Guide-conf_value_storage">
- <para>
- Value Storage configuration:
- </para>
-
+ </section>
+
+ <section
id="sect-Reference_Guide-Requirements-Configuration_requirements">
+ <title>Configuration requirements</title>
+ <para>
+ Configuration of every workspace in repository must contains of such
parts:
+ </para>
+ <itemizedlist>
+ <listitem id="list-Reference_Guide-conf_value_storage">
+ <para>
+ Value Storage configuration:
+ </para>
+
<programlisting language="XML"
role="XML"><value-storages>
<value-storage id="system"
class="org.exoplatform.services.jcr.impl.storage.value.fs.TreeFileValueStorage">
<properties>
@@ -232,12 +232,12 @@
</value-storage>
</value-storages></programlisting>
- </listitem>
- <listitem id="list-Reference_Guide-conf_cache">
- <para>
- Cache configuration:
- </para>
-
+ </listitem>
+ <listitem id="list-Reference_Guide-conf_cache">
+ <para>
+ Cache configuration:
+ </para>
+
<programlisting language="XML" role="XML"><cache
enabled="true"
class="org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache">
<properties>
<property name="jbosscache-configuration"
value="jar:/conf/portal/test-jbosscache-data.xml" /> <!--
path to JBoss Cache configuration for data storage -->
@@ -247,12 +247,12 @@
</properties>
</cache></programlisting>
- </listitem>
- <listitem id="list-Reference_Guide-conf_indexer">
- <para>
- Indexer configuration:
- </para>
-
+ </listitem>
+ <listitem id="list-Reference_Guide-conf_indexer">
+ <para>
+ Indexer configuration:
+ </para>
+
<programlisting language="XML" role="XML"><query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
<properties>
<property name="changesfilter-class"
value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter"
/>
@@ -264,12 +264,12 @@
</properties>
</query-handler></programlisting>
- </listitem>
- <listitem id="list-Reference_Guide-conf_lock_manager">
- <para>
- Lock Manager configuration:
- </para>
-
+ </listitem>
+ <listitem id="list-Reference_Guide-conf_lock_manager">
+ <para>
+ Lock Manager configuration:
+ </para>
+
<programlisting language="XML" role="XML"><lock-manager
class="org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl">
<properties>
<property name="time-out" value="15m" />
@@ -289,14 +289,14 @@
</properties>
</lock-manager></programlisting>
- </listitem>
+ </listitem>
- </itemizedlist>
+ </itemizedlist>
- </section>
-
+ </section>
+
- </section>
+ </section>
</section>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-advantages.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-advantages.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-advantages.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Advantages_of_eXo_JCR">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-applications.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-applications.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-applications.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-eXo_JCR_Application_Model">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-compatibility-levels.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-compatibility-levels.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-compatibility-levels.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Compatibility_Levels">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-exo-implementation.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-exo-implementation.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-exo-implementation.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Implementation">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-extensions.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-extensions.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-extensions.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,76 +1,76 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-JCR_Extensions">
- <title>JCR Extensions</title>
- <section
id="sect-Reference_Guide-JCR_Extensions-JCR_Service_Extensions">
- <title>JCR Service Extensions</title>
- <section id="sect-Reference_Guide-JCR_Service_Extensions-Concept">
- <title>Concept</title>
- <para>
- eXo JCR supports <emphasis role="bold">observation</emphasis>
(JSR-170 8.3), which enables applications to register interest in events that describe
changes to a workspace, and then monitor and respond to those events. The standard
observation feature allows dispatching events when <emphasis
role="bold">persistent change</emphasis> to the workspace is made.
- </para>
- <para>
- eXo JCR also offers a proprietary <emphasis role="bold">Extension
Action</emphasis> which dispatches and fires an event upon each <emphasis
role="bold">transient session level change</emphasis>, performed by a
client. In other words, the event is triggered when a client's program invokes some
updating methods in a session or a workspace (such as: Session.addNode(),
Session.setProperty(), Workspace.move() etc.
- </para>
- <para>
- One important recommendation should be applied for an extension action
implementation. Each action will add its own execution time to standard JCR methods
(Session.addNode(), Session.setProperty(), Workspace.move() etc.) execution time. As a
consequence, it's necessary to minimize Action.execute(Context) body execution time.
- </para>
- <para>
- To make the rule, you can use the dedicated Thread in Action.execute(Context) body
for a custom logic. But if your application logic requires the action to add items to a
created/updated item and you save these changes immediately after the JCR API method call
is returned, the suggestion with Thread is not applicable for you in this case.
- </para>
+ <title>JCR Extensions</title>
+ <section
id="sect-Reference_Guide-JCR_Extensions-JCR_Service_Extensions">
+ <title>JCR Service Extensions</title>
+ <section
id="sect-Reference_Guide-JCR_Service_Extensions-Concept">
+ <title>Concept</title>
+ <para>
+ eXo JCR supports <emphasis
role="bold">observation</emphasis> (JSR-170 8.3), which enables
applications to register interest in events that describe changes to a workspace, and then
monitor and respond to those events. The standard observation feature allows dispatching
events when <emphasis role="bold">persistent change</emphasis> to
the workspace is made.
+ </para>
+ <para>
+ eXo JCR also offers a proprietary <emphasis
role="bold">Extension Action</emphasis> which dispatches and fires an
event upon each <emphasis role="bold">transient session level
change</emphasis>, performed by a client. In other words, the event is triggered
when a client's program invokes some updating methods in a session or a workspace
(such as: Session.addNode(), Session.setProperty(), Workspace.move() etc.
+ </para>
+ <para>
+ One important recommendation should be applied for an extension action
implementation. Each action will add its own execution time to standard JCR methods
(Session.addNode(), Session.setProperty(), Workspace.move() etc.) execution time. As a
consequence, it's necessary to minimize Action.execute(Context) body execution time.
+ </para>
+ <para>
+ To make the rule, you can use the dedicated Thread in
Action.execute(Context) body for a custom logic. But if your application logic requires
the action to add items to a created/updated item and you save these changes immediately
after the JCR API method call is returned, the suggestion with Thread is not applicable
for you in this case.
+ </para>
- </section>
-
- <section
id="sect-Reference_Guide-JCR_Service_Extensions-Implementation">
- <title>Implementation</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/eXoJCR/concepts/interceptor.jpg"
width="444" />
- </imageobject>
+ </section>
+
+ <section
id="sect-Reference_Guide-JCR_Service_Extensions-Implementation">
+ <title>Implementation</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/eXoJCR/concepts/interceptor.jpg" width="444" />
+ </imageobject>
- </mediaobject>
- <para>
- Interceptor framework class diagram
- </para>
+ </mediaobject>
+ <para>
+ Interceptor framework class diagram
+ </para>
- </section>
-
- <section
id="sect-Reference_Guide-JCR_Service_Extensions-Configuration">
- <title>Configuration</title>
- <para>
- Add a <emphasis role="bold">SessionActionCatalog</emphasis>
service and an appropriate <emphasis
role="bold">AddActionsPlugin</emphasis> (see the example below)
configuration to your eXo Container configuration. As usual, the plugin can be configured
as in-component-place, which is the case for a Standalone Container or externally, which
is a usual case for Root/Portal Container configuration).
- </para>
- <para>
- Each Action entry is exposed as org.exoplatform.services.jcr.impl.ext.action.
<emphasis role="bold">ActionConfiguration</emphasis> of actions
collection of org.exoplatform.services.jcr.impl.ext.action.AddActionsPlugin$ActionsConfig
(see an example below). The mandatory field named <emphasis
role="bold">actionClassName</emphasis> is the fully qualified name of
org.exoplatform.services.command.action.Action implementation - the command will be
launched in case the current event matches the <emphasis
role="bold">criteria</emphasis>. All other fields are criteria. The
criteria are *AND*ed together. In other words, for a particular item to be listened to, it
must meet ALL the criteria:
- </para>
- <para>
- * <emphasis role="bold">workspace</emphasis>: the comma
delimited (ORed) list of workspaces
- </para>
- <para>
- * <emphasis role="bold">eventTypes</emphasis>: a comma
delimited (ORed) <emphasis role="bold">list of event
names</emphasis> (see below) to be listened to. This is the only mandatory field,
others are optional and if they are missing they are interpreted as ANY.
- </para>
- <para>
- * <emphasis role="bold">path</emphasis> - a comma delimited
(ORed) list of <emphasis role="bold">item absolute paths</emphasis>
(or within its subtree if <emphasis role="bold">isDeep</emphasis> is
<emphasis role="bold">true</emphasis>, which is the default value)
- </para>
- <para>
- * <emphasis role="bold">nodeTypes</emphasis> - a comma
delimited (ORed) list of the <emphasis role="bold">current
NodeType</emphasis>. Since version 1.6.1 JCR supports the functionalities of
nodeType and parentNodeType. This parameter has different semantics, depending on the type
of the current item and the operation performed. If the <emphasis
role="bold">current item</emphasis> is a <emphasis
role="bold">property</emphasis> it means the <emphasis
role="bold">parent node type</emphasis>. If the <emphasis
role="bold">current item</emphasis> is a <emphasis
role="bold">node,</emphasis> the semantic depends on the event type: **
<emphasis role="bold">add node event</emphasis>: the node type of
the newly added node. ** <emphasis role="bold">add mixin
event</emphasis>: the newly added mixing node type of the current node. **
<emphasis role="bold">remove mixin event</emphasis> the removed
mixin type of the current node. ** <emphasis role="bold">other
events</emphasis>: the a!
lready assigned NodeType(s) of the current node (can be both primary and mixin).
- </para>
- <para>
- <emphasis role="bold">NOTE:</emphasis> the list of fields can
be extended.
- </para>
- <para>
- <emphasis role="bold">NOTE2:</emphasis> no spaces between list
elements.
- </para>
- <para>
- <emphasis role="bold">NOTE3:</emphasis> <emphasis
role="bold">isDeep=false</emphasis> means <emphasis
role="bold">node, node properties and child nodes</emphasis>.
- </para>
- <para>
- The list of supported Event names: <emphasis role="bold">addNode,
addProperty, changeProperty, removeProperty, removeNode, addMixin, removeMixin, lock,
unlock, checkin, checkout, read.</emphasis>
- </para>
-
+ </section>
+
+ <section
id="sect-Reference_Guide-JCR_Service_Extensions-Configuration">
+ <title>Configuration</title>
+ <para>
+ Add a <emphasis
role="bold">SessionActionCatalog</emphasis> service and an appropriate
<emphasis role="bold">AddActionsPlugin</emphasis> (see the example
below) configuration to your eXo Container configuration.
+ </para>
+ <para>
+ Each Action entry is exposed as
org.exoplatform.services.jcr.impl.ext.action. <emphasis
role="bold">ActionConfiguration</emphasis> of actions collection of
org.exoplatform.services.jcr.impl.ext.action.AddActionsPlugin$ActionsConfig (see an
example below). The mandatory field named <emphasis
role="bold">actionClassName</emphasis> is the fully qualified name of
org.exoplatform.services.command.action.Action implementation - the command will be
launched in case the current event matches the <emphasis
role="bold">criteria</emphasis>. All other fields are criteria. The
criteria are *AND*ed together. In other words, for a particular item to be listened to, it
must meet ALL the criteria:
+ </para>
+ <para>
+ * <emphasis role="bold">workspace</emphasis>: the
comma delimited (ORed) list of workspaces
+ </para>
+ <para>
+ * <emphasis role="bold">eventTypes</emphasis>: a
comma delimited (ORed) <emphasis role="bold">list of event
names</emphasis> (see below) to be listened to. This is the only mandatory field,
others are optional and if they are missing they are interpreted as ANY.
+ </para>
+ <para>
+ * <emphasis role="bold">path</emphasis> - a comma
delimited (ORed) list of <emphasis role="bold">item absolute
paths</emphasis> (or within its subtree if <emphasis
role="bold">isDeep</emphasis> is <emphasis
role="bold">true</emphasis>, which is the default value)
+ </para>
+ <para>
+ * <emphasis role="bold">nodeTypes</emphasis> - a
comma delimited (ORed) list of the <emphasis role="bold">current
NodeType</emphasis>. Since version 1.6.1 JCR supports the functionalities of
nodeType and parentNodeType. This parameter has different semantics, depending on the type
of the current item and the operation performed. If the <emphasis
role="bold">current item</emphasis> is a <emphasis
role="bold">property</emphasis> it means the <emphasis
role="bold">parent node type</emphasis>. If the <emphasis
role="bold">current item</emphasis> is a <emphasis
role="bold">node,</emphasis> the semantic depends on the event type: **
<emphasis role="bold">add node event</emphasis>: the node type of
the newly added node. ** <emphasis role="bold">add mixin
event</emphasis>: the newly added mixing node type of the current node. **
<emphasis role="bold">remove mixin event</emphasis> the removed
mixin type of the current node. ** <emphasis role="bold">other
events</emph!
asis>: the already assigned NodeType(s) of the current node (can be both primary and
mixin).
+ </para>
+ <para>
+ <emphasis role="bold">NOTE:</emphasis> the list of
fields can be extended.
+ </para>
+ <para>
+ <emphasis role="bold">NOTE2:</emphasis> no spaces
between list elements.
+ </para>
+ <para>
+ <emphasis role="bold">NOTE3:</emphasis>
<emphasis role="bold">isDeep=false</emphasis> means <emphasis
role="bold">node, node properties and child nodes</emphasis>.
+ </para>
+ <para>
+ The list of supported Event names: <emphasis
role="bold">addNode, addProperty, changeProperty, removeProperty, removeNode,
addMixin, removeMixin, lock, unlock, checkin, checkout, read.</emphasis>
+ </para>
+
<programlisting language="XML"
role="XML"><component>
<type>org.exoplatform.services.jcr.impl.ext.action.SessionActionCatalog</type>
<component-plugins>
@@ -104,24 +104,24 @@
</component-plugins>
</component></programlisting>
- </section>
-
+ </section>
+
- </section>
-
- <section id="sect-Reference_Guide-JCR_Extensions-Related_Pages">
- <title>Related Pages</title>
- <para>
- <xref linkend="sect-Reference_Guide-Access_Control_Extension" />
- </para>
- <para>
- <xref linkend="sect-Reference_Guide-Registry_Service" />
- </para>
- <para>
- <xref linkend="sect-Reference_Guide-REST_Services_on_Groovy" />
- </para>
+ </section>
+
+ <section id="sect-Reference_Guide-JCR_Extensions-Related_Pages">
+ <title>Related Pages</title>
+ <para>
+ <xref linkend="sect-Reference_Guide-Access_Control_Extension"
/>
+ </para>
+ <para>
+ <xref linkend="sect-Reference_Guide-Registry_Service" />
+ </para>
+ <para>
+ <xref linkend="sect-Reference_Guide-REST_Services_on_Groovy"
/>
+ </para>
- </section>
+ </section>
</section>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-namespace-altering.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-namespace-altering.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-namespace-altering.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Namespace_Altering">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-registry-service.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-registry-service.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-registry-service.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Registry_Service">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-usage.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-usage.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/jcr-usage.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,41 +1,41 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Using_JCR">
- <title>Using JCR</title>
- <section
id="sect-Reference_Guide-Using_JCR-a1_Using_eXo_JCR_in_an_application">
- <title>1 Using eXo JCR in an application</title>
- <section
id="sect-Reference_Guide-a1_Using_eXo_JCR_in_an_application-Obtaining_a_Repository_object">
- <title>Obtaining a Repository object</title>
- <para>
- A javax.jcr.Repository object can be obtained by:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Using the eXo Container "native" mechanism. All Repositories are kept
with a single RepositoryService component. So it can be obtained from eXo Container,
described as the following:
- </para>
+ <title>Using JCR</title>
+ <section
id="sect-Reference_Guide-Using_JCR-a1_Using_eXo_JCR_in_an_application">
+ <title>1 Using eXo JCR in an application</title>
+ <section
id="sect-Reference_Guide-a1_Using_eXo_JCR_in_an_application-Obtaining_a_Repository_object">
+ <title>Obtaining a Repository object</title>
+ <para>
+ A javax.jcr.Repository object can be obtained by:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Using the eXo Container "native" mechanism. All
Repositories are kept with a single RepositoryService component. So it can be obtained
from eXo Container, described as the following:
+ </para>
- </listitem>
+ </listitem>
- </itemizedlist>
-
+ </itemizedlist>
+
<programlisting language="Java" role="Java">
RepositoryService repositoryService = (RepositoryService)
container.getComponentInstanceOfType(RepositoryService.class);
Repository repository = repositoryService.getRepository("repositoryName");
</programlisting>
- <itemizedlist>
- <listitem>
- <para>
- Using the eXo Container "native" mechanism with a thread local saved
"current" repository (especially if you plan to use a single repository which
covers more than 90% of use cases)
- </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Using the eXo Container "native" mechanism with a
thread local saved "current" repository (especially if you plan to use a single
repository which covers more than 90% of use cases)
+ </para>
- </listitem>
+ </listitem>
- </itemizedlist>
-
+ </itemizedlist>
+
<programlisting language="Java" role="Java"> // set current
repository at initial time
RepositoryService repositoryService = (RepositoryService)
container.getComponentInstanceOfType(RepositoryService.class);
repositoryService.setCurrentRepositoryName("repositoryName");
@@ -43,69 +43,69 @@
// retrieve and use this repository
Repository repository = repositoryService.getCurrentRepository();
</programlisting>
- <itemizedlist>
- <listitem>
- <para>
- Using JNDI as specified in JSR-170. This way you have to configure the reference
(see eXo <xref linkend="sect-Reference_Guide-JNDI_naming" /> )
- </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Using JNDI as specified in JSR-170. This way you have to
configure the reference.
+ </para>
- </listitem>
+ </listitem>
- </itemizedlist>
-
+ </itemizedlist>
+
<programlisting language="Java" role="Java"> Context ctx = new
InitialContext();
Repository repository =(Repository)
ctx.lookup("repositoryName");</programlisting>
- </section>
-
- <section
id="sect-Reference_Guide-a1_Using_eXo_JCR_in_an_application-JCR_Session_common_considerations">
- <title>JCR Session common considerations</title>
- <para>
- <itemizedlist>
- <listitem>
- <para>
- Remember that javax.jcr.Session is not a thread safe object. <emphasis
role="bold">Never try to share it between threads</emphasis>.
- </para>
+ </section>
+
+ <section
id="sect-Reference_Guide-a1_Using_eXo_JCR_in_an_application-JCR_Session_common_considerations">
+ <title>JCR Session common considerations</title>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Remember that javax.jcr.Session is not a thread safe object.
<emphasis role="bold">Never try to share it between
threads</emphasis>.
+ </para>
- </listitem>
- <listitem>
- <para>
- Do not use <emphasis role="bold">System session</emphasis>
from the <emphasis role="bold">user</emphasis> related code because
a system session has <emphasis role="bold">unlimited
rights</emphasis>. Call ManageableRepository.getSystemSession() from <emphasis
role="bold">process</emphasis> related code only.
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ Do not use <emphasis role="bold">System
session</emphasis> from the <emphasis
role="bold">user</emphasis> related code because a system session has
<emphasis role="bold">unlimited rights</emphasis>. Call
ManageableRepository.getSystemSession() from <emphasis
role="bold">process</emphasis> related code only.
+ </para>
- </listitem>
- <listitem>
- <para>
- Call Session.logout() explicitly to <emphasis role="bold">release
resources</emphasis> assigned to the session.
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ Call Session.logout() explicitly to <emphasis
role="bold">release resources</emphasis> assigned to the session.
+ </para>
- </listitem>
- <listitem>
- <para>
- When designing your application, take care of the Session policy inside your
application. Two <emphasis role="bold">strategies</emphasis> are
possible: <emphasis role="bold">Stateless</emphasis> (Session per
business request) and <emphasis role="bold">Stateful</emphasis>
(Session per User) or some mix.
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ When designing your application, take care of the Session
policy inside your application. Two <emphasis
role="bold">strategies</emphasis> are possible: <emphasis
role="bold">Stateless</emphasis> (Session per business request) and
<emphasis role="bold">Stateful</emphasis> (Session per User) or some
mix.
+ </para>
- </listitem>
+ </listitem>
- </itemizedlist>
- </para>
+ </itemizedlist>
+ </para>
- </section>
-
+ </section>
+
- </section>
-
- <section
id="sect-Reference_Guide-Using_JCR-JCR_Application_practices">
- <title>JCR Application practices</title>
- <section
id="sect-Reference_Guide-JCR_Application_practices-Simplifying_the_management_of_a_multi_workspace_application">
- <title>Simplifying the management of a multi-workspace
application</title>
- <para>
- (one-shot logout for all opened sessions)
- </para>
- <para>
- Use org.exoplatform.services.jcr.ext.common.SessionProvider which is responsible for
caching/obtaining your JCR Sessions and closing all opened sessions at once.
- </para>
-
+ </section>
+
+ <section
id="sect-Reference_Guide-Using_JCR-JCR_Application_practices">
+ <title>JCR Application practices</title>
+ <section
id="sect-Reference_Guide-JCR_Application_practices-Simplifying_the_management_of_a_multi_workspace_application">
+ <title>Simplifying the management of a multi-workspace
application</title>
+ <para>
+ (one-shot logout for all opened sessions)
+ </para>
+ <para>
+ Use org.exoplatform.services.jcr.ext.common.SessionProvider which is
responsible for caching/obtaining your JCR Sessions and closing all opened sessions at
once.
+ </para>
+
<programlisting language="Java" role="Java">public class
SessionProvider {
/**
@@ -138,10 +138,10 @@
public static SessionProvider createAnonimProvider()
}</programlisting>
- <para>
- The SessionProvider is per-request or per-user object, depending on your policy.
Create it with your application before performing JCR operations, use it to obtain the
Sessions and close at the end of an application session(request). See the following
example:
- </para>
-
+ <para>
+ The SessionProvider is per-request or per-user object, depending on your
policy. Create it with your application before performing JCR operations, use it to obtain
the Sessions and close at the end of an application session(request). See the following
example:
+ </para>
+
<programlisting language="Java" role="Java">// (1) obtain
current javax.jcr.Credentials, for example get it from AuthenticationService
Credentials cred = ....
@@ -162,103 +162,103 @@
// Close the session provider
sessionProvider.close();</programlisting>
- </section>
-
- <section
id="sect-Reference_Guide-JCR_Application_practices-Reusing_SessionProvider">
- <title>Reusing SessionProvider</title>
- <para>
- As shown above, creating the SessionProvider involves multiple steps and you may not
want to repeat them each time you need to get a JCR session. In order to avoid all this
plumbing code, we provide the SessionProviderService whose goal is to help you to get a
SessionProvider object.
- </para>
- <para>
- The org.exoplatform.services.jcr.ext.app.SessionProviderService interface is defined
as follows:
- </para>
-
+ </section>
+
+ <section
id="sect-Reference_Guide-JCR_Application_practices-Reusing_SessionProvider">
+ <title>Reusing SessionProvider</title>
+ <para>
+ As shown above, creating the SessionProvider involves multiple steps and
you may not want to repeat them each time you need to get a JCR session. In order to avoid
all this plumbing code, we provide the SessionProviderService whose goal is to help you to
get a SessionProvider object.
+ </para>
+ <para>
+ The org.exoplatform.services.jcr.ext.app.SessionProviderService interface
is defined as follows:
+ </para>
+
<programlisting language="Java" role="Java">public interface
SessionProviderService {
void setSessionProvider(Object key, SessionProvider sessionProvider);
SessionProvider getSessionProvider(Object key);
void removeSessionProvider(Object key);
}</programlisting>
- <para>
- Using this service is pretty straightforward, the main contract of an implemented
component is getting a SessionProvider by key. eXo provides two implementations :
- </para>
- <table
id="tabl-Reference_Guide-Reusing_SessionProvider-SessionProvider_implementations">
- <title>SessionProvider implementations</title>
- <tgroup cols="3">
- <thead>
- <row>
- <entry>
- Implementation
- </entry>
- <entry>
- Description
- </entry>
- <entry>
- Typical Use
- </entry>
+ <para>
+ Using this service is pretty straightforward, the main contract of an
implemented component is getting a SessionProvider by key. eXo provides two
implementations :
+ </para>
+ <table
id="tabl-Reference_Guide-Reusing_SessionProvider-SessionProvider_implementations">
+ <title>SessionProvider implementations</title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>
+ Implementation
+ </entry>
+ <entry>
+ Description
+ </entry>
+ <entry>
+ Typical Use
+ </entry>
- </row>
+ </row>
- </thead>
- <tbody>
- <row>
- <entry>
- org.exoplatform.services.jcr.ext.app.MapStoredSessionProviderService
- </entry>
- <entry>
- per-user style : keeps objects in a Map
- </entry>
- <entry>
- per-user. The usual practice uses a user's name or Credentials as a key.
- </entry>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+
org.exoplatform.services.jcr.ext.app.MapStoredSessionProviderService
+ </entry>
+ <entry>
+ per-user style : keeps objects in a Map
+ </entry>
+ <entry>
+ per-user. The usual practice uses a user's name or
Credentials as a key.
+ </entry>
- </row>
- <row>
- <entry>
- org.exoplatform.services.jcr.ext.app.ThreadLocalSessionProviderService
- </entry>
- <entry>
- per-request style : keeps a single SessionProvider in a static ThreadLocal
variable
- </entry>
- <entry>
- Always use null for the key.
- </entry>
+ </row>
+ <row>
+ <entry>
+
org.exoplatform.services.jcr.ext.app.ThreadLocalSessionProviderService
+ </entry>
+ <entry>
+ per-request style : keeps a single SessionProvider in a
static ThreadLocal variable
+ </entry>
+ <entry>
+ Always use null for the key.
+ </entry>
- </row>
+ </row>
- </tbody>
+ </tbody>
- </tgroup>
+ </tgroup>
- </table>
- <para>
- For any implementation, your code should follow the following sequence :
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Call SessionProviderService.setSessionProvider(Object key, SessionProvider
sessionProvider) at the beginning of a business request for Stateless application or
application's session for Statefull policy.
- </para>
+ </table>
+ <para>
+ For any implementation, your code should follow the following sequence :
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Call SessionProviderService.setSessionProvider(Object key,
SessionProvider sessionProvider) at the beginning of a business request for Stateless
application or application's session for Statefull policy.
+ </para>
- </listitem>
- <listitem>
- <para>
- Call SessionProviderService.getSessionProvider(Object key) for obtaining a
SessionProvider object
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ Call SessionProviderService.getSessionProvider(Object key) for
obtaining a SessionProvider object
+ </para>
- </listitem>
- <listitem>
- <para>
- Call SessionProviderService.removeSessionProvider(Object key) at the end of a
business request for Stateless application or application's session for Statefull
policy.
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ Call SessionProviderService.removeSessionProvider(Object key) at
the end of a business request for Stateless application or application's session for
Statefull policy.
+ </para>
- </listitem>
+ </listitem>
- </itemizedlist>
+ </itemizedlist>
- </section>
-
+ </section>
+
- </section>
+ </section>
</section>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/nodetype-registration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/nodetype-registration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/nodetype-registration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-NodeType_Registration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/nodetypes-and-namespaces.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/nodetypes-and-namespaces.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/nodetypes-and-namespaces.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Node_Types_and_Namespaces">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/why-jcr.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/why-jcr.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/concepts/why-jcr.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Why_use_JCR">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/configuration-persister.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/configuration-persister.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/configuration-persister.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-JCR_Configuration_persister">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/exo-jcr-configuration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/exo-jcr-configuration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/exo-jcr-configuration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-JCR_configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/external-value-storages.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/external-value-storages.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/external-value-storages.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-External_Value_Storages">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/jdbc-data-container-config.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/jdbc-data-container-config.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/jdbc-data-container-config.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-JDBC_Data_Container_Config">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/multilanguage-support.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/multilanguage-support.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/multilanguage-support.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section
id="sect-Reference_Guide-Multi_language_support_in_eXo_JCR_RDB_back_end">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/rest-services-on-groovy.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/rest-services-on-groovy.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/rest-services-on-groovy.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,37 +1,35 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-REST_Services_on_Groovy">
- <title>REST Services on Groovy</title>
- <section id="sect-Reference_Guide-REST_Services_on_Groovy-Concept">
- <title>Concept</title>
- <para>
- Starting from version 1.9, JCR Service supports REST services creation on <ulink
url="http://groovy.codehaus.org">Groovy script</ulink>.
- </para>
- <para>
- The feature bases on <remark>xref to RESTful framework</remark>
- <!-- <xref linkend="WS.RestFramework">RESTful
- framework</link> --> and uses ResourceContainer concept.
- </para>
+ <title>REST Services on Groovy</title>
+ <section id="sect-Reference_Guide-REST_Services_on_Groovy-Concept">
+ <title>Concept</title>
+ <para>
+ Starting from version 1.9, JCR Service supports REST services creation on
<ulink url="http://groovy.codehaus.org">Groovy script</ulink>.
+ </para>
+ <para>
+ The feature bases on RESTful framework and uses ResourceContainer concept.
+ </para>
- </section>
-
- <section id="sect-Reference_Guide-REST_Services_on_Groovy-Usage">
- <title>Usage</title>
- <para>
- Scripts should extend ResourceContainer and should be stored in JCR as a node of type
exo:groovyResourceContainer.
- </para>
- <para>
- Detailed REST services step-by-step implementation check there <remark>xref to
RestServiceTutorial</remark>
- <!-- <xref linkend="WS.RestServiceTutorial">RESTful
+ </section>
+
+ <section id="sect-Reference_Guide-REST_Services_on_Groovy-Usage">
+ <title>Usage</title>
+ <para>
+ Scripts should extend ResourceContainer and should be stored in JCR as a node
of type exo:groovyResourceContainer.
+ </para>
+ <para>
+ Detailed REST services step-by-step implementation check there
<remark>xref to RestServiceTutorial</remark>
+ <!-- <xref linkend="WS.RestServiceTutorial">RESTful
framework</link> -->.
- </para>
- <para>
- Component configuration enables Groovy services loader:
- </para>
-
+ </para>
+ <para>
+ Component configuration enables Groovy services loader:
+ </para>
+
<programlisting language="XML"
role="XML"><component>
<type>org.exoplatform.services.jcr.ext.script.groovy.GroovyScript2RestLoader</type>
<init-params>
@@ -53,7 +51,7 @@
</init-params>
</component></programlisting>
- </section>
+ </section>
</section>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/search-configuration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/search-configuration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/search-configuration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,1047 +1,1006 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Search_Configuration">
- <title>Search Configuration</title>
- <para>
- The search function in JCR can be configured to perform in specific ways. This section
will discuss configuring the search function to improve search performance and results.
- </para>
- <para>
- Below is an example of the configuration file that governs search behaviors. Refer to
<xref linkend="sect-Reference_Guide-Search_Configuration-Global_Search_Index"
/> for how searching operates in JCR and discussions about customized searches.
- </para>
- <para>
- The JCR index configuration file is located at
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>.
- </para>
- <para>
- A code example is included below with a list of the configuration parameters shown
below that.
- </para>
-
+ <title>Search Configuration</title>
+ <para>
+ The search function in JCR can be configured to perform in specific ways. This
section will discuss configuring the search function to improve search performance and
results.
+ </para>
+ <para>
+ Below is an example of the configuration file that governs search behaviors.
Refer to <xref
linkend="sect-Reference_Guide-Search_Configuration-Global_Search_Index" />
for how searching operates in JCR and discussions about customized searches.
+ </para>
+ <para>
+ The JCR index configuration file is located at
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><PROFILE></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>.
+ </para>
+ <para>
+ A code example is included below with a list of the configuration parameters
shown below that.
+ </para>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../../extras/Advanced_Development_JCR_search-configuration/default61.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- The table below outlines the Configuration Parameters available, their default setting,
which version of eXo JCR they were implemented in and other useful information:
- </para>
- <table
id="tabl-Reference_Guide-Search_Configuration-Configuration_parameters">
- <!-- align="left" pgwide="1" --> <title>Configuration
parameters</title>
- <tgroup cols="4">
- <colspec colname="1" colwidth="90pt"></colspec>
- <colspec colname="2" colwidth="90pt"></colspec>
- <colspec colname="3" colwidth="150pt"></colspec>
- <colspec colname="4" colwidth="50pt"></colspec>
- <thead>
- <row>
- <entry>
- <para>
- Parameter
- </para>
+ <para>
+ The table below outlines the Configuration Parameters available, their default
setting, which version of eXo JCR they were implemented in and other useful information:
+ </para>
+ <table
id="tabl-Reference_Guide-Search_Configuration-Configuration_parameters">
+ <!-- align="left" pgwide="1" -->
<title>Configuration parameters</title>
+ <tgroup cols="4">
+ <colspec colname="1"
colwidth="90pt"></colspec>
+ <colspec colname="2"
colwidth="90pt"></colspec>
+ <colspec colname="3"
colwidth="150pt"></colspec>
+ <colspec colname="4"
colwidth="50pt"></colspec>
+ <thead>
+ <row>
+ <entry>
+ <para>
+ Parameter
+ </para>
- </entry>
- <entry>
- <para>
- Default
- </para>
+ </entry>
+ <entry>
+ <para>
+ Default
+ </para>
- </entry>
- <entry>
- <para>
- Description
- </para>
+ </entry>
+ <entry>
+ <para>
+ Description
+ </para>
- </entry>
- <entry>
- Implemented in Version
- </entry>
+ </entry>
+ <entry>
+ Implemented in Version
+ </entry>
- </row>
+ </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- index-dir
- </para>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ index-dir
+ </para>
- </entry>
- <entry>
- <para>
- none
- </para>
+ </entry>
+ <entry>
+ <para>
+ none
+ </para>
- </entry>
- <entry>
- <para>
- The location of the index directory. This parameter is mandatory. It is called
"<literal>indexDir</literal>" in versions prior to eXo JCR version
1.9.
- </para>
+ </entry>
+ <entry>
+ <para>
+ The location of the index directory. This parameter is
mandatory. It is called "<literal>indexDir</literal>" in versions
prior to eXo JCR version 1.9.
+ </para>
- </entry>
- <entry>
- 1.0
- </entry>
+ </entry>
+ <entry>
+ 1.0
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- use-compoundfile
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ use-compoundfile
+ </para>
- </entry>
- <entry>
- <para>
- true
- </para>
+ </entry>
+ <entry>
+ <para>
+ true
+ </para>
- </entry>
- <entry>
- <para>
- Advises lucene to use compound files for the index files.
- </para>
+ </entry>
+ <entry>
+ <para>
+ Advises lucene to use compound files for the index files.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- min-merge-docs
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ min-merge-docs
+ </para>
- </entry>
- <entry>
- <para>
- 100
- </para>
+ </entry>
+ <entry>
+ <para>
+ 100
+ </para>
- </entry>
- <entry>
- <para>
- The minimum number of nodes in an index until segments are merged.
- </para>
+ </entry>
+ <entry>
+ <para>
+ The minimum number of nodes in an index until segments are
merged.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- volatile-idle-time
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ volatile-idle-time
+ </para>
- </entry>
- <entry>
- 3
- </entry>
- <entry>
- <para>
- Idle time in seconds until the volatile index part is moved to a persistent index
even though <literal>minMergeDocs</literal> is not reached.
- </para>
+ </entry>
+ <entry>
+ 3
+ </entry>
+ <entry>
+ <para>
+ Idle time in seconds until the volatile index part is moved
to a persistent index even though <literal>minMergeDocs</literal> is not
reached.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- max-merge-docs
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ max-merge-docs
+ </para>
- </entry>
- <entry>
- <para>
- Integer.MAX_VALUE
- </para>
+ </entry>
+ <entry>
+ <para>
+ Integer.MAX_VALUE
+ </para>
- </entry>
- <entry>
- <para>
- The maximum number of nodes in segments that will be merged. The default value
changed to <literal>Integer.MAX_VALUE</literal> in eXo JCR version 1.9.
- </para>
+ </entry>
+ <entry>
+ <para>
+ The maximum number of nodes in segments that will be merged.
The default value changed to <literal>Integer.MAX_VALUE</literal> in eXo JCR
version 1.9.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- merge-factor
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ merge-factor
+ </para>
- </entry>
- <entry>
- <para>
- 10
- </para>
+ </entry>
+ <entry>
+ <para>
+ 10
+ </para>
- </entry>
- <entry>
- <para>
- Determines how often segment indices are merged.
- </para>
+ </entry>
+ <entry>
+ <para>
+ Determines how often segment indices are merged.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- max-field-length
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ max-field-length
+ </para>
- </entry>
- <entry>
- <para>
- 10000
- </para>
+ </entry>
+ <entry>
+ <para>
+ 10000
+ </para>
- </entry>
- <entry>
- <para>
- The number of words that are full-text indexed at most per property.
- </para>
+ </entry>
+ <entry>
+ <para>
+ The number of words that are full-text indexed at most per
property.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- cache-size
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ cache-size
+ </para>
- </entry>
- <entry>
- <para>
- 1000
- </para>
+ </entry>
+ <entry>
+ <para>
+ 1000
+ </para>
- </entry>
- <entry>
- <para>
- Size of the document number cache. This cache maps UUID to lucene document
numbers
- </para>
+ </entry>
+ <entry>
+ <para>
+ Size of the document number cache. This cache maps UUID to
lucene document numbers
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- force-consistencycheck
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ force-consistencycheck
+ </para>
- </entry>
- <entry>
- <para>
- false
- </para>
+ </entry>
+ <entry>
+ <para>
+ false
+ </para>
- </entry>
- <entry>
- <para>
- Runs a consistency check on every start up. If false, a consistency check is only
performed when the search index detects a prior forced shutdown.
- </para>
+ </entry>
+ <entry>
+ <para>
+ Runs a consistency check on every start up. If false, a
consistency check is only performed when the search index detects a prior forced
shutdown.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- auto-repair
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ auto-repair
+ </para>
- </entry>
- <entry>
- <para>
- true
- </para>
+ </entry>
+ <entry>
+ <para>
+ true
+ </para>
- </entry>
- <entry>
- <para>
- Errors detected by a consistency check are automatically repaired. If false,
errors are only written to the log.
- </para>
+ </entry>
+ <entry>
+ <para>
+ Errors detected by a consistency check are automatically
repaired. If false, errors are only written to the log.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- query-class
- </entry>
- <entry>
- QueryImpl
- </entry>
- <entry>
- <para>
- Classname that implements the javax.jcr.query.Query interface.
- </para>
- <para>
- This class must also extend from the class:
<literal>org.exoplatform.services.jcr.impl.core.
query.AbstractQueryImpl</literal>.
- </para>
+ </row>
+ <row>
+ <entry>
+ query-class
+ </entry>
+ <entry>
+ QueryImpl
+ </entry>
+ <entry>
+ <para>
+ Classname that implements the javax.jcr.query.Query
interface.
+ </para>
+ <para>
+ This class must also extend from the class:
<literal>org.exoplatform.services.jcr.impl.core.
query.AbstractQueryImpl</literal>.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- document-order
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ document-order
+ </para>
- </entry>
- <entry>
- <para>
- true
- </para>
+ </entry>
+ <entry>
+ <para>
+ true
+ </para>
- </entry>
- <entry>
- <para>
- If true and the query does not contain an 'order by' clause, result nodes
will be in document order. For better performance set to 'false' when queries
return many nodes.
- </para>
+ </entry>
+ <entry>
+ <para>
+ If true and the query does not contain an 'order by'
clause, result nodes will be in document order. For better performance set to
'false' when queries return many nodes.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- result-fetch-size
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ result-fetch-size
+ </para>
- </entry>
- <entry>
- <para>
- Integer.MAX_VALUE
- </para>
+ </entry>
+ <entry>
+ <para>
+ Integer.MAX_VALUE
+ </para>
- </entry>
- <entry>
- <para>
- The number of results when a query is executed. Default value:
<literal>Integer.MAX_VALUE</literal>.
- </para>
+ </entry>
+ <entry>
+ <para>
+ The number of results when a query is executed. Default
value: <literal>Integer.MAX_VALUE</literal>.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- excerptprovider-class
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ excerptprovider-class
+ </para>
- </entry>
- <entry>
- <para>
- DefaultXMLExcerpt
- </para>
+ </entry>
+ <entry>
+ <para>
+ DefaultXMLExcerpt
+ </para>
- </entry>
- <entry>
- <para>
- The name of the class that implements
<literal>org.exoplatform.services.jcr.impl.core.
query.lucene.ExcerptProvider</literal>.
- </para>
- <para>
- This should be used for the <literal>rep:excerpt()</literal> function
in a query.
- </para>
+ </entry>
+ <entry>
+ <para>
+ The name of the class that implements
<literal>org.exoplatform.services.jcr.impl.core.
query.lucene.ExcerptProvider</literal>.
+ </para>
+ <para>
+ This should be used for the
<literal>rep:excerpt()</literal> function in a query.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- support-highlighting
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ support-highlighting
+ </para>
- </entry>
- <entry>
- <para>
- false
- </para>
+ </entry>
+ <entry>
+ <para>
+ false
+ </para>
- </entry>
- <entry>
- <para>
- If set to true additional information is stored in the index to support
highlighting using the <literal>rep:excerpt()</literal> function.
- </para>
+ </entry>
+ <entry>
+ <para>
+ If set to true additional information is stored in the index
to support highlighting using the <literal>rep:excerpt()</literal> function.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- synonymprovider-class
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ synonymprovider-class
+ </para>
- </entry>
- <entry>
- <para>
- none
- </para>
+ </entry>
+ <entry>
+ <para>
+ none
+ </para>
- </entry>
- <entry>
- <para>
- The name of a class that implements
<literal>org.exoplatform.services.jcr.impl.core.
query.lucene.SynonymProvider</literal>.
- </para>
- <para>
- The default value is null.
- </para>
+ </entry>
+ <entry>
+ <para>
+ The name of a class that implements
<literal>org.exoplatform.services.jcr.impl.core.
query.lucene.SynonymProvider</literal>.
+ </para>
+ <para>
+ The default value is null.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- synonymprovider-config-path
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ synonymprovider-config-path
+ </para>
- </entry>
- <entry>
- <para>
- none
- </para>
+ </entry>
+ <entry>
+ <para>
+ none
+ </para>
- </entry>
- <entry>
- <para>
- The path to the synonym provider configuration file. This path is interpreted
relative to the path parameter. If there is a path element inside the
<literal>SearchIndex</literal> element, then this path is interpreted relative
to the root path of the path. Whether this parameter is mandatory depends on the synonym
provider implementation. The default value is null.
- </para>
+ </entry>
+ <entry>
+ <para>
+ The path to the synonym provider configuration file. This
path is interpreted relative to the path parameter. If there is a path element inside the
<literal>SearchIndex</literal> element, then this path is interpreted relative
to the root path of the path. Whether this parameter is mandatory depends on the synonym
provider implementation. The default value is null.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- indexing-configuration-path
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ indexing-configuration-path
+ </para>
- </entry>
- <entry>
- <para>
- none
- </para>
+ </entry>
+ <entry>
+ <para>
+ none
+ </para>
- </entry>
- <entry>
- <para>
- The path to the indexing configuration file.
- </para>
+ </entry>
+ <entry>
+ <para>
+ The path to the indexing configuration file.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- indexing-configuration-class
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ indexing-configuration-class
+ </para>
- </entry>
- <entry>
- <para>
- IndexingConfigurationImpl
- </para>
+ </entry>
+ <entry>
+ <para>
+ IndexingConfigurationImpl
+ </para>
- </entry>
- <entry>
- <para>
- The name of the class that implements
<literal>org.exoplatform.services.jcr.impl.core.
query.lucene.IndexingConfiguration</literal>.
- </para>
+ </entry>
+ <entry>
+ <para>
+ The name of the class that implements
<literal>org.exoplatform.services.jcr.impl.core.
query.lucene.IndexingConfiguration</literal>.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- force-consistencycheck
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ force-consistencycheck
+ </para>
- </entry>
- <entry>
- <para>
- false
- </para>
+ </entry>
+ <entry>
+ <para>
+ false
+ </para>
- </entry>
- <entry>
- <para>
- If set to true a consistency check is performed depending on the parameter
<literal>forceConsistencyCheck</literal>. If set to false no consistency check
is performed on start up, even if a redo log had been applied.
- </para>
+ </entry>
+ <entry>
+ <para>
+ If set to true a consistency check is performed depending on
the parameter <literal>forceConsistencyCheck</literal>. If set to false no
consistency check is performed on start up, even if a redo log had been applied.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- spellchecker-class
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ spellchecker-class
+ </para>
- </entry>
- <entry>
- <para>
- none
- </para>
+ </entry>
+ <entry>
+ <para>
+ none
+ </para>
- </entry>
- <entry>
- <para>
- The name of a class that implements
<literal>org.exoplatform.services.jcr.impl.core.
query.lucene.SpellChecker</literal>.
- </para>
+ </entry>
+ <entry>
+ <para>
+ The name of a class that implements
<literal>org.exoplatform.services.jcr.impl.core.
query.lucene.SpellChecker</literal>.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- errorlog-size
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ errorlog-size
+ </para>
- </entry>
- <entry>
- <para>
- 50(KB)
- </para>
+ </entry>
+ <entry>
+ <para>
+ 50(KB)
+ </para>
- </entry>
- <entry>
- <para>
- The default size of error log file in KB.
- </para>
+ </entry>
+ <entry>
+ <para>
+ The default size of error log file in KB.
+ </para>
- </entry>
- <entry>
- 1.9
- </entry>
+ </entry>
+ <entry>
+ 1.9
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- upgrade-index
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ upgrade-index
+ </para>
- </entry>
- <entry>
- <para>
- false
- </para>
+ </entry>
+ <entry>
+ <para>
+ false
+ </para>
- </entry>
- <entry>
- <para>
- Allows JCR to convert an existing index into the new format. It is also possible
to set this property via system property.
- </para>
- <para>
- For example: <command>-Dupgrade-index=true</command>
- </para>
- <para>
- Indexes prior to eXo JCR 1.12 will not run with eXo JCR 1.12. You must run an
automatic migration.
- </para>
- <para>
- Start eXo JCR with:
- </para>
-
+ </entry>
+ <entry>
+ <para>
+ Allows JCR to convert an existing index into the new format.
It is also possible to set this property via system property.
+ </para>
+ <para>
+ For example:
<command>-Dupgrade-index=true</command>
+ </para>
+ <para>
+ Indexes prior to eXo JCR 1.12 will not run with eXo JCR 1.12.
You must run an automatic migration.
+ </para>
+ <para>
+ Start eXo JCR with:
+ </para>
+
<programlisting><command>
-Dupgrade-index=true</command></programlisting>
- <para>
- The old index format is then converted in the new index format. After the
conversion the new format is used.
- </para>
- <para>
- On subsequent starts this option is no longer needed. The old index is replaced
and a back conversion is not possible
- </para>
- <para>
- It is recommended that a backup of the index be made before conversion. (Only for
migrations from JCR 1.9 and later.)
- </para>
+ <para>
+ The old index format is then converted in the new index
format. After the conversion the new format is used.
+ </para>
+ <para>
+ On subsequent starts this option is no longer needed. The old
index is replaced and a back conversion is not possible
+ </para>
+ <para>
+ It is recommended that a backup of the index be made before
conversion. (Only for migrations from JCR 1.9 and later.)
+ </para>
- </entry>
- <entry>
- 1.12
- </entry>
+ </entry>
+ <entry>
+ 1.12
+ </entry>
- </row>
- <row>
- <entry>
- <para>
- analyzer
- </para>
+ </row>
+ <row>
+ <entry>
+ <para>
+ analyzer
+ </para>
- </entry>
- <entry>
- <para>
- org.apache.lucene.analysis. standard.StandardAnalyzer
- </para>
+ </entry>
+ <entry>
+ <para>
+ org.apache.lucene.analysis. standard.StandardAnalyzer
+ </para>
- </entry>
- <entry>
- <para>
- Class name of a lucene analyzer to use for full-text indexing of text.
- </para>
+ </entry>
+ <entry>
+ <para>
+ Class name of a lucene analyzer to use for full-text indexing
of text.
+ </para>
- </entry>
- <entry>
- 1.12
- </entry>
+ </entry>
+ <entry>
+ 1.12
+ </entry>
- </row>
+ </row>
- </tbody>
+ </tbody>
- </tgroup>
+ </tgroup>
- </table>
- <section
id="sect-Reference_Guide-Search_Configuration-Global_Search_Index">
- <title>Global Search Index</title>
- <para>
- By default eXo JCR uses the Lucene standard Analyzer to index contents. This analyzer
uses some standard filters in the method that analyzes the content:
- </para>
- <programlistingco>
- <areaspec>
- <area coords="4"
id="area-Reference_Guide-Search_Configuration-Global_Search_Index-StandardFilter"
/>
- <area coords="5"
id="area-Reference_Guide-Search_Configuration-Global_Search_Index-LowerCaseFilter"
/>
- <area coords="6"
id="area-Reference_Guide-Search_Configuration-Global_Search_Index-StopFilter"
/>
+ </table>
+ <section
id="sect-Reference_Guide-Search_Configuration-Global_Search_Index">
+ <title>Global Search Index</title>
+ <para>
+ By default eXo JCR uses the Lucene standard Analyzer to index contents. This
analyzer uses some standard filters in the method that analyzes the content:
+ </para>
+ <programlistingco>
+ <areaspec>
+ <area coords="4"
id="area-Reference_Guide-Search_Configuration-Global_Search_Index-StandardFilter"
/>
+ <area coords="5"
id="area-Reference_Guide-Search_Configuration-Global_Search_Index-LowerCaseFilter"
/>
+ <area coords="6"
id="area-Reference_Guide-Search_Configuration-Global_Search_Index-StopFilter"
/>
- </areaspec>
-
+ </areaspec>
+
<programlisting language="Java" role="Java"><xi:include
href="../../../../../extras/Advanced_Development_JCR_search-configuration/default62.java"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <calloutlist>
- <callout
arearefs="area-Reference_Guide-Search_Configuration-Global_Search_Index-StandardFilter">
- <para>
- The first filter (StandardFilter) removes possessive apostrophes (<emphasis
role="bold">'s</emphasis>) from the end of words and removes
periods (<emphasis role="bold">.</emphasis>) from acronyms.
- </para>
+ <calloutlist>
+ <callout
arearefs="area-Reference_Guide-Search_Configuration-Global_Search_Index-StandardFilter">
+ <para>
+ The first filter (StandardFilter) removes possessive apostrophes
(<emphasis role="bold">'s</emphasis>) from the end of words and
removes periods (<emphasis role="bold">.</emphasis>) from acronyms.
+ </para>
- </callout>
- <callout
arearefs="area-Reference_Guide-Search_Configuration-Global_Search_Index-LowerCaseFilter">
- <para>
- The second filter (LowerCaseFilter) normalizes token text to lower case.
- </para>
+ </callout>
+ <callout
arearefs="area-Reference_Guide-Search_Configuration-Global_Search_Index-LowerCaseFilter">
+ <para>
+ The second filter (LowerCaseFilter) normalizes token text to
lower case.
+ </para>
- </callout>
- <callout
arearefs="area-Reference_Guide-Search_Configuration-Global_Search_Index-StopFilter">
- <para>
- The last filter (StopFilter) removes stop words from a token stream. The stop set
is defined in the analyzer.
- </para>
+ </callout>
+ <callout
arearefs="area-Reference_Guide-Search_Configuration-Global_Search_Index-StopFilter">
+ <para>
+ The last filter (StopFilter) removes stop words from a token
stream. The stop set is defined in the analyzer.
+ </para>
- </callout>
+ </callout>
- </calloutlist>
+ </calloutlist>
- </programlistingco>
-
- <para>
- The global search index is configured in the
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><VERSION></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>
configuration file within the "query-handler" tag.
- </para>
-
+ </programlistingco>
+
+ <para>
+ The global search index is configured in the
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><VERSION></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>
configuration file within the "query-handler" tag.
+ </para>
+
<programlisting language="XML" role="XML"><query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
</programlisting>
- <para>
- The same analyzer should always be used for indexing and for querying in lucene.
Results may be unpredictable in other instances. eXo JCR does this automatically. The
StandardAnalyzer (configured by default) can, however, be replaced with another.
- </para>
- <para>
- A customized QueryHandler can also be easily created.
- </para>
- <formalpara
id="form-Reference_Guide-Global_Search_Index-Customized_Search_Indexes_and_Analyzers">
- <title>Customized Search Indexes and Analyzers</title>
- <para>
- Additional filters can be used in specific cases. The
<phrase>ISOLatin1AccentFilter</phrase> filter, for example, which replaces
accented characters in the ISO Latin 1 character set (ISO-8859-1) by their unaccented
equivalents.
- </para>
+ <para>
+ The same analyzer should always be used for indexing and for querying in
lucene. Results may be unpredictable in other instances. eXo JCR does this automatically.
The StandardAnalyzer (configured by default) can, however, be replaced with another.
+ </para>
+ <para>
+ A customized QueryHandler can also be easily created.
+ </para>
+ <formalpara
id="form-Reference_Guide-Global_Search_Index-Customized_Search_Indexes_and_Analyzers">
+ <title>Customized Search Indexes and Analyzers</title>
+ <para>
+ Additional filters can be used in specific cases. The
<phrase>ISOLatin1AccentFilter</phrase> filter, for example, which replaces
accented characters in the ISO Latin 1 character set (ISO-8859-1) by their unaccented
equivalents.
+ </para>
- </formalpara>
- <para>
- The <phrase>ISOLatin1AccentFilter</phrase> is not present in the current
lucene version used by eXo.
- </para>
- <para>
- In order to use a different filter, a new analyzer must be created, as well as new
search index to use the analyzer. These are packaged into a jar file, which is then
deployed with the application.
- </para>
- <procedure
id="proc-Reference_Guide-Global_Search_Index-Create_a_new_filter_analyzer_and_search_index">
- <title>Create a new filter, analyzer and search index</title>
- <step>
- <para>
- Create a new filter with the method:
- </para>
-
+ </formalpara>
+ <para>
+ The <phrase>ISOLatin1AccentFilter</phrase> is not present in the
current lucene version used by eXo.
+ </para>
+ <para>
+ In order to use a different filter, a new analyzer must be created, as well
as new search index to use the analyzer. These are packaged into a jar file, which is then
deployed with the application.
+ </para>
+ <procedure
id="proc-Reference_Guide-Global_Search_Index-Create_a_new_filter_analyzer_and_search_index">
+ <title>Create a new filter, analyzer and search index</title>
+ <step>
+ <para>
+ Create a new filter with the method:
+ </para>
+
<programlisting language="Java" role="JAVA">public final Token
next(final Token reusableToken) throws java.io.IOException
</programlisting>
- <para>
- This defines how characters are read and used by the filter.
- </para>
+ <para>
+ This defines how characters are read and used by the filter.
+ </para>
- </step>
- <step>
- <para>
- Create the analyzer.
- </para>
- <para>
- The analyzer must extend
<literal>org.apache.lucene.analysis.standard.StandardAnalyzer</literal> and
overload the method.
- </para>
- <para>
- Use the following to use new filters.
- </para>
-
+ </step>
+ <step>
+ <para>
+ Create the analyzer.
+ </para>
+ <para>
+ The analyzer must extend
<literal>org.apache.lucene.analysis.standard.StandardAnalyzer</literal> and
overload the method.
+ </para>
+ <para>
+ Use the following to use new filters.
+ </para>
+
<programlisting language="Java" role="JAVA">public TokenStream
tokenStream(String fieldName, Reader reader)
</programlisting>
- </step>
- <step>
- <para>
- To create the new search index, extend
<literal>org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex</literal>
and write the constructor to set the correct analyzer.
- </para>
- <para>
- Use the method below to return your analyzer:
- </para>
-
+ </step>
+ <step>
+ <para>
+ To create the new search index, extend
<literal>org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex</literal>
and write the constructor to set the correct analyzer.
+ </para>
+ <para>
+ Use the method below to return your analyzer:
+ </para>
+
<programlisting language="Java" role="JAVA">public Analyzer
getAnalyzer() {
return MyAnalyzer;
}
</programlisting>
- </step>
+ </step>
- </procedure>
-
- <note>
- <para>
- In eXo JCR version 1.12 (and later) the analyzer can be directly set in the
configuration. For users with this version the creation of a new SearchIndex for new
analyzers is redundant.
- </para>
+ </procedure>
+
+ <note>
+ <para>
+ In eXo JCR version 1.12 (and later) the analyzer can be directly set in
the configuration. For users with this version the creation of a new SearchIndex for new
analyzers is redundant.
+ </para>
- </note>
- <para>
- To configure an application to use a new <literal>SearchIndex</literal>,
replace the following code:
- </para>
-
+ </note>
+ <para>
+ To configure an application to use a new
<literal>SearchIndex</literal>, replace the following code:
+ </para>
+
<programlisting language="XML" role="XML"><query-handler
class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
</programlisting>
- <para>
- in
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><VERSION></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>
with the new class:
- </para>
-
+ <para>
+ in
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><VERSION></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>
with the new class:
+ </para>
+
<programlisting language="XML" role="XML"><query-handler
class="mypackage.indexation.MySearchIndex>
</programlisting>
- <para>
- To configure an application to use a new analyzer, add the
<parameter>analyzer</parameter> parameter to each query-handler configuration
in
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><VERSION></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>:
- </para>
-
+ <para>
+ To configure an application to use a new analyzer, add the
<parameter>analyzer</parameter> parameter to each query-handler configuration
in
<filename><replaceable>JBOSS_HOME</replaceable>/server/<replaceable><VERSION></replaceable>/deploy/gatein.ear/02portal.war/WEB-INF/conf/jcr/repository-configuration.xml</filename>:
+ </para>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../../extras/Advanced_Development_JCR_search-configuration/default69.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- The new <literal>SearchIndex</literal> will start to index contents with
the specified filters when the JCR is next started.
- </para>
+ <para>
+ The new <literal>SearchIndex</literal> will start to index
contents with the specified filters when the JCR is next started.
+ </para>
- </section>
-
- <section
id="sect-Reference_Guide-Search_Configuration-IndexingConfiguration">
- <title>IndexingConfiguration</title>
- <para>
- From version 1.9, the default search index implementation in JCR allows user control
over which properties of a node are indexed. Different analyzers can also be set for
different nodes.
- </para>
- <para>
- The configuration parameter is called
<literal>indexingConfiguration</literal> and is not set by default. This means
all properties of a node are indexed.
- </para>
- <para>
- To configure the indexing behavior add a parameter to the query-handler element in
your configuration file.
- </para>
-
+ </section>
+
+ <section
id="sect-Reference_Guide-Search_Configuration-IndexingConfiguration">
+ <title>IndexingConfiguration</title>
+ <para>
+ From version 1.9, the default search index implementation in JCR allows user
control over which properties of a node are indexed. Different analyzers can also be set
for different nodes.
+ </para>
+ <para>
+ The configuration parameter is called
<literal>indexingConfiguration</literal> and is not set by default. This means
all properties of a node are indexed.
+ </para>
+ <para>
+ To configure the indexing behavior add a parameter to the query-handler
element in your configuration file.
+ </para>
+
<programlisting language="XML" role="XML"><param
name="indexing-configuration-path"
value="/indexing_configuration.xml"/>
</programlisting>
- <formalpara
id="form-Reference_Guide-IndexingConfiguration-Node_Scope_Limit">
- <title>Node Scope Limit</title>
- <para>
- The node scope can be limited so that only certain properties of a node type are
indexed. This can optimize the index size.
- </para>
+ <formalpara
id="form-Reference_Guide-IndexingConfiguration-Node_Scope_Limit">
+ <title>Node Scope Limit</title>
+ <para>
+ The node scope can be limited so that only certain properties of a node
type are indexed. This can optimize the index size.
+ </para>
- </formalpara>
- <para>
- With the configuration below only properties named
<parameter>Text</parameter> are indexed for
<parameter>nt:unstructured</parameter> node types. This configuration also
applies to all nodes whose type extends from
<parameter>nt:unstructured</parameter>.
- </para>
-
+ </formalpara>
+ <para>
+ With the configuration below only properties named
<parameter>Text</parameter> are indexed for
<parameter>nt:unstructured</parameter> node types. This configuration also
applies to all nodes whose type extends from
<parameter>nt:unstructured</parameter>.
+ </para>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../../extras/Advanced_Development_JCR_search-configuration/default71.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <note>
- <title>Namespace Prefixes</title>
- <para>
- The <phrase>namespace prefixes</phrase> must be declared throughout the
XML file in the configuration element that is being used.
- </para>
+ <note>
+ <title>Namespace Prefixes</title>
+ <para>
+ The <phrase>namespace prefixes</phrase> must be declared
throughout the XML file in the configuration element that is being used.
+ </para>
- </note>
- <formalpara
id="form-Reference_Guide-IndexingConfiguration-Indexing_Boost_Value">
- <title>Indexing Boost Value</title>
- <para>
- It is also possible to configure a <phrase>boost value</phrase> for the
nodes that match the index rule. The default boost value is 1.0. Higher boost values (a
reasonable range is 1.0 - 5.0) will yield a higher score value and appear as more
relevant.
- </para>
+ </note>
+ <formalpara
id="form-Reference_Guide-IndexingConfiguration-Indexing_Boost_Value">
+ <title>Indexing Boost Value</title>
+ <para>
+ It is also possible to configure a <phrase>boost
value</phrase> for the nodes that match the index rule. The default boost value is
1.0. Higher boost values (a reasonable range is 1.0 - 5.0) will yield a higher score value
and appear as more relevant.
+ </para>
- </formalpara>
-
+ </formalpara>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../../extras/Advanced_Development_JCR_search-configuration/default72.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- If you do not wish to boost the complete node, but only certain properties, you can
also provide a boost value for the listed properties:
- </para>
-
+ <para>
+ If you do not wish to boost the complete node, but only certain properties,
you can also provide a boost value for the listed properties:
+ </para>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../../extras/Advanced_Development_JCR_search-configuration/default73.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <formalpara
id="form-Reference_Guide-IndexingConfiguration-Conditional_Index_Rules">
- <title>Conditional Index Rules</title>
- <para>
- You may also add a <phrase>condition</phrase> to the index rule and have
multiple rules with the same nodeType. The first index rule that matches will apply and
all remaining ones are ignored:
- </para>
+ <formalpara
id="form-Reference_Guide-IndexingConfiguration-Conditional_Index_Rules">
+ <title>Conditional Index Rules</title>
+ <para>
+ You may also add a <phrase>condition</phrase> to the index
rule and have multiple rules with the same nodeType. The first index rule that matches
will apply and all remaining ones are ignored:
+ </para>
- </formalpara>
-
+ </formalpara>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../../extras/Advanced_Development_JCR_search-configuration/default74.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- In the above example the first rule only applies if the
<parameter>nt:unstructured</parameter> node has a priority property with a
value <parameter>high</parameter>. The condition syntax only supports the
equals operator and a string literal.
- </para>
- <para>
- Properties may also be referenced on the condition that are not on the current node:
- </para>
-
+ <para>
+ In the above example the first rule only applies if the
<parameter>nt:unstructured</parameter> node has a priority property with a
value <parameter>high</parameter>. The condition syntax only supports the
equals operator and a string literal.
+ </para>
+ <para>
+ Properties may also be referenced on the condition that are not on the
current node:
+ </para>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../../extras/Advanced_Development_JCR_search-configuration/default75.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- The indexing configuration allows the type of a node in the condition to be specified.
Please note however that the type match must be exact. It does not consider sub types of
the specified node type.
- </para>
-
+ <para>
+ The indexing configuration allows the type of a node in the condition to be
specified. Please note however that the type match must be exact. It does not consider sub
types of the specified node type.
+ </para>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../../extras/Advanced_Development_JCR_search-configuration/default76.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <formalpara
id="form-Reference_Guide-IndexingConfiguration-Exclusion_from_the_Node_Scope_Index">
- <title>Exclusion from the Node Scope Index</title>
- <para>
- All configured properties are full-text indexed by default (if they are of type
STRING and included in the node scope index).
- </para>
+ <formalpara
id="form-Reference_Guide-IndexingConfiguration-Exclusion_from_the_Node_Scope_Index">
+ <title>Exclusion from the Node Scope Index</title>
+ <para>
+ All configured properties are full-text indexed by default (if they are
of type STRING and included in the node scope index).
+ </para>
- </formalpara>
- <para>
- A node scope search normally finds all nodes of an index. That is to say;
<literal>jcr:contains(., 'foo')</literal> returns all nodes that have
a string property containing the word
'<replaceable>foo</replaceable>'.
- </para>
- <para>
- Properties can be explicitly excluded from the node scope index with:
- </para>
-
+ </formalpara>
+ <para>
+ A node scope search normally finds all nodes of an index. That is to say;
<literal>jcr:contains(., 'foo')</literal> returns all nodes that have
a string property containing the word
'<replaceable>foo</replaceable>'.
+ </para>
+ <para>
+ Properties can be explicitly excluded from the node scope index with:
+ </para>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../../extras/Advanced_Development_JCR_search-configuration/default77.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <formalpara
id="form-Reference_Guide-IndexingConfiguration-Index_Aggregates">
- <title>Index Aggregates</title>
- <para>
- Sometimes it is useful to include the contents of descendant nodes into a single node
to more easily search on content that is scattered across multiple nodes.
- </para>
+ <formalpara
id="form-Reference_Guide-IndexingConfiguration-Index_Aggregates">
+ <title>Index Aggregates</title>
+ <para>
+ Sometimes it is useful to include the contents of descendant nodes into a
single node to more easily search on content that is scattered across multiple nodes.
+ </para>
- </formalpara>
- <para>
- JCR allows the definition of index aggregates based on relative path patterns and
primary node types.
- </para>
- <para>
- The following example creates an index aggregate on
<literal>nt:file</literal> that includes the content of the jcr:content node:
- </para>
-
+ </formalpara>
+ <para>
+ JCR allows the definition of index aggregates based on relative path patterns
and primary node types.
+ </para>
+ <para>
+ The following example creates an index aggregate on
<literal>nt:file</literal> that includes the content of the jcr:content node:
+ </para>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../../extras/Advanced_Development_JCR_search-configuration/default78.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- Included nodes can also be restricted to a certain type:
- </para>
-
+ <para>
+ Included nodes can also be restricted to a certain type:
+ </para>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../../extras/Advanced_Development_JCR_search-configuration/default79.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- The <emphasis role="bold">*</emphasis> wild-card can be used to
match all child nodes:
- </para>
-
+ <para>
+ The <emphasis role="bold">*</emphasis> wild-card can be
used to match all child nodes:
+ </para>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../../extras/Advanced_Development_JCR_search-configuration/default80.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- Nodes to a certain depth below the current node can be included by adding multiple
include elements. The <parameter>nt:file</parameter> node may contain a
complete XML document under jcr:content for example:
- </para>
-
+ <para>
+ Nodes to a certain depth below the current node can be included by adding
multiple include elements. The <parameter>nt:file</parameter> node may contain
a complete XML document under jcr:content for example:
+ </para>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../../extras/Advanced_Development_JCR_search-configuration/default81.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <formalpara
id="form-Reference_Guide-IndexingConfiguration-Property_Level_Analyzers">
- <title>Property-Level Analyzers</title>
- <para>
- How a property has to be analyzed can be defined in the following configuration
section. If there is an analyzer configuration for a property, this analyzer is used for
indexing and searching of this property. For example:
- </para>
+ <formalpara
id="form-Reference_Guide-IndexingConfiguration-Property_Level_Analyzers">
+ <title>Property-Level Analyzers</title>
+ <para>
+ How a property has to be analyzed can be defined in the following
configuration section. If there is an analyzer configuration for a property, this analyzer
is used for indexing and searching of this property. For example:
+ </para>
- </formalpara>
-
+ </formalpara>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../../extras/Advanced_Development_JCR_search-configuration/default82.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <para>
- The configuration above sets lucene <emphasis
role="bold">KeywordAnalyzer</emphasis> to index and search the property
"<replaceable>mytext</replaceable>" across the entire workspace
while the "<replaceable>mytext2</replaceable>" property is searched
with the <emphasis role="bold">WhitespaceAnalyzer</emphasis>.
- </para>
- <para>
- The <emphasis role="bold">WhitespaceAnalyzer</emphasis>
tokenizes a property, the <emphasis
role="bold">KeywordAnalyzer</emphasis> takes the property as a whole.
- </para>
- <para>
- Using different analyzers for different languages can be particularly useful.
- </para>
- <formalpara
id="form-Reference_Guide-IndexingConfiguration-Characteristics_of_Node_Scope_Searches">
- <title>Characteristics of Node Scope Searches</title>
- <para>
- Unexpected behavior may be encountered when using analyzers to search within a
<emphasis>property</emphasis> compared to searching within a
<emphasis>node scope</emphasis>. This is because the node scope always uses
the global analyzer.
- </para>
+ <para>
+ The configuration above sets lucene <emphasis
role="bold">KeywordAnalyzer</emphasis> to index and search the property
"<replaceable>mytext</replaceable>" across the entire workspace
while the "<replaceable>mytext2</replaceable>" property is searched
with the <emphasis role="bold">WhitespaceAnalyzer</emphasis>.
+ </para>
+ <para>
+ The <emphasis role="bold">WhitespaceAnalyzer</emphasis>
tokenizes a property, the <emphasis
role="bold">KeywordAnalyzer</emphasis> takes the property as a whole.
+ </para>
+ <para>
+ Using different analyzers for different languages can be particularly
useful.
+ </para>
+ <formalpara
id="form-Reference_Guide-IndexingConfiguration-Characteristics_of_Node_Scope_Searches">
+ <title>Characteristics of Node Scope Searches</title>
+ <para>
+ Unexpected behavior may be encountered when using analyzers to search
within a <emphasis>property</emphasis> compared to searching within a
<emphasis>node scope</emphasis>. This is because the node scope always uses
the global analyzer.
+ </para>
- </formalpara>
- <para>
- For example: the property "<parameter>mytext</parameter>"
contains the text; "<emphasis>testing my analyzers</emphasis>" but
no analyzers have been configured for this property (and the default analyzer in
SearchIndex has not been changed).
- </para>
- <para>
- If the query is:
- </para>
-
+ </formalpara>
+ <para>
+ For example: the property
"<parameter>mytext</parameter>" contains the text;
"<emphasis>testing my analyzers</emphasis>" but no analyzers have
been configured for this property (and the default analyzer in SearchIndex has not been
changed).
+ </para>
+ <para>
+ If the query is:
+ </para>
+
<programlisting language="Java" role="JAVA">xpath =
"//*[jcr:contains(mytext,'analyzer')]"
</programlisting>
- <para>
- The <literal>xpath</literal> does not return a result in the node with the
property above and default analyzers.
- </para>
- <para>
- Also, if a search is done on the node scope as follows:
- </para>
-
+ <para>
+ The <literal>xpath</literal> does not return a result in the node
with the property above and default analyzers.
+ </para>
+ <para>
+ Also, if a search is done on the node scope as follows:
+ </para>
+
<programlisting language="Java" role="JAVA">xpath =
"//*[jcr:contains(.,'analyzer')]"
</programlisting>
- <para>
- No result will be returned.
- </para>
- <para>
- Only specific analyzers can be set on a node property, and the node scope indexing and
analyzing is always done with the globally defined analyzer in the SearchIndex element.
- </para>
- <para>
- If the analyzer used to index the "mytext" property above is changed to:
- </para>
-
+ <para>
+ No result will be returned.
+ </para>
+ <para>
+ Only specific analyzers can be set on a node property, and the node scope
indexing and analyzing is always done with the globally defined analyzer in the
SearchIndex element.
+ </para>
+ <para>
+ If the analyzer used to index the "mytext" property above is
changed to:
+ </para>
+
<programlisting language="XML" role="XML"><analyzer
class="org.apache.lucene.analysis.Analyzer.GermanAnalyzer">
<property>mytext</property>
</analyzer>
</programlisting>
- <para>
- The search below would return a result because of the word stemming (analyzers -
analyzer).
- </para>
-
+ <para>
+ The search below would return a result because of the word stemming
(analyzers - analyzer).
+ </para>
+
<programlisting language="Java" role="JAVA">xpath =
"//*[jcr:contains(mytext,'analyzer')]"
</programlisting>
- <para>
- The second search in the example:
- </para>
-
+ <para>
+ The second search in the example:
+ </para>
+
<programlisting language="Java" role="JAVA">xpath =
"//*[jcr:contains(.,'analyzer')]"
</programlisting>
- <para>
- Would still not give a result, since the node scope is indexed with the global
analyzer, which in this case does not take into account any word stemming.
- </para>
- <para>
- Be aware that when using analyzers for specific properties, a result may be found in a
property for certain search text, but the same search text in the node scope of the
property may not find a result.
- </para>
- <note>
- <para>
- Both index rules and index aggregates influence how content is indexed in JCR. If the
configuration is changed, the existing content is not automatically re-indexed according
to the new rules.
- </para>
- <para>
- Content must be manually re-indexed when the configuration is changed.
- </para>
+ <para>
+ Would still not give a result, since the node scope is indexed with the
global analyzer, which in this case does not take into account any word stemming.
+ </para>
+ <para>
+ Be aware that when using analyzers for specific properties, a result may be
found in a property for certain search text, but the same search text in the node scope of
the property may not find a result.
+ </para>
+ <note>
+ <para>
+ Both index rules and index aggregates influence how content is indexed in
JCR. If the configuration is changed, the existing content is not automatically re-indexed
according to the new rules.
+ </para>
+ <para>
+ Content must be manually re-indexed when the configuration is changed.
+ </para>
- </note>
+ </note>
- </section>
-
- <section
id="sect-Reference_Guide-Search_Configuration-Advanced_features">
- <title>Advanced features</title>
- <para>
- eXo JCR supports some advanced features, which are not specified in JSR 170:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Get a text excerpt with <emphasis role="bold">highlighted
words</emphasis> that matches the query: <xref
linkend="sect-Reference_Guide-Searching_Repository_Content-High_lighting_Since_1.9"
/>.
- </para>
-
- </listitem>
- <listitem>
- <para>
- Search a term and its <emphasis
role="bold">synonyms</emphasis>: <xref
linkend="sect-Reference_Guide-Searching_Repository_Content-SynonymSearch_since_1.9"
/>
- </para>
-
- </listitem>
- <listitem>
- <para>
- Search <emphasis role="bold">similar</emphasis> nodes:
<xref
linkend="sect-Reference_Guide-Searching_Repository_Content-Similarity_Since_1.12"
/>
- </para>
-
- </listitem>
- <listitem>
- <para>
- Check <emphasis role="bold">spelling</emphasis> of a full text
query statement: <xref
linkend="sect-Reference_Guide-Searching_Repository_Content-SpellChecker" />
- </para>
-
- </listitem>
- <listitem>
- <para>
- Define index <emphasis role="bold">aggregates and
rules</emphasis>: IndexingConfiguration.
- </para>
-
- </listitem>
-
- </itemizedlist>
-
- </section>
-
+ </section>
+
</section>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/workspace-persistence-storage.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/workspace-persistence-storage.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/configuration/workspace-persistence-storage.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Workspace_Data_Container">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/data-container-howto.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/data-container-howto.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/data-container-howto.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section
id="sect-Reference_Guide-How_to_implement_Workspace_Data_Container">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/data-container.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/data-container.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/data-container.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section
id="sect-Reference_Guide-JCR_Workspace_Data_Container_architecture_contract">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/db-cleaner-service.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/db-cleaner-service.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/db-cleaner-service.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-DBCleanService">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/intro.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/intro.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/intro.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Introduction">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jbosscache-configuration-templates.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jbosscache-configuration-templates.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jbosscache-configuration-templates.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-JBoss_Cache_configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jbossts-transaction-service.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jbossts-transaction-service.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jbossts-transaction-service.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-JBossTransactionsService">
@@ -8,10 +8,10 @@
<section
id="sect-Reference_Guide-JBossTransactionsService-Introduction">
<title>Introduction</title>
<para>
- JBossTransactionsService implements eXo <xref
linkend="sect-Reference_Guide-TransactionService" /> and provides access to
<ulink
url="http://www.jboss.org/jbosstm/">JBoss Transaction Service
(JBossTS)</ulink> JTA implementation via eXo container dependency.
+ JBossTransactionsService implements eXo TransactionService and provides
access to <ulink
url="http://www.jboss.org/jbosstm/">JBoss Transaction
Service (JBossTS)</ulink> JTA implementation via eXo container dependency.
</para>
<para>
- TransactionService used in JCR cache
<emphasis>org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache</emphasis>
implementation. See <xref linkend="sect-Reference_Guide-Cluster_Config" />
for example.
+ TransactionService used in JCR cache
<emphasis>org.exoplatform.services.jcr.impl.dataflow.persistent.jbosscache.JBossCacheWorkspaceStorageCache</emphasis>
implementation.
</para>
</section>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jca.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jca.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jca.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-The_JCA_Resource_Adapter">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jta.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jta.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/jta.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-JTA">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/lock-manager-config.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/lock-manager-config.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/lock-manager-config.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,41 +1,41 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-LockManager">
- <title>LockManager</title>
- <para>
- The LockManager stores lock objects. It can lock or release objects as required. It is
also responsible for removing stale locks.
- </para>
- <para>
- The LockManager in JBoss Enterprise Portal Platform is implemented with
<classname>org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl</classname>.
- </para>
- <para>
- It is enabled by adding <literal>lock-manager-configuration</literal> to
<literal>workspace-configuration</literal>.
- </para>
- <para>
- For example:
- </para>
-
+ <title>LockManager</title>
+ <para>
+ The LockManager stores lock objects. It can lock or release objects as required.
It is also responsible for removing stale locks.
+ </para>
+ <para>
+ The LockManager in JBoss Enterprise Portal Platform is implemented with
<classname>org.exoplatform.services.jcr.impl.core.lock.jbosscache.CacheableLockManagerImpl</classname>.
+ </para>
+ <para>
+ It is enabled by adding <literal>lock-manager-configuration</literal>
to <literal>workspace-configuration</literal>.
+ </para>
+ <para>
+ For example:
+ </para>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_lock-manager-config/default47.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <section
id="sect-Reference_Guide-LockManager-CacheableLockManagerImpl">
- <title>CacheableLockManagerImpl</title>
- <para>
- <classname>CacheableLockManagerImpl</classname> stores lock objects in
JBoss-cache (which implements JDBCCacheLoader to store locks in a database). This means
its locks are replicable and can affect an entire cluster rather than just a single node.
- </para>
- <para>
- The length of time LockManager allows a lock to remain in place can be configured with
the "<literal>time-out</literal>" property.
- </para>
- <para>
- The LockRemover thread periodically polls LockManager for locks that have passed the
time-out limit and must be removed.
- </para>
- <para>
- The time-out for LockRemover is set as follows (the default value is 30m):
- </para>
-
+ <section
id="sect-Reference_Guide-LockManager-CacheableLockManagerImpl">
+ <title>CacheableLockManagerImpl</title>
+ <para>
+ <classname>CacheableLockManagerImpl</classname> stores lock
objects in JBoss-cache (which implements JDBCCacheLoader to store locks in a database).
This means its locks are replicable and can affect an entire cluster rather than just a
single node.
+ </para>
+ <para>
+ The length of time LockManager allows a lock to remain in place can be
configured with the "<literal>time-out</literal>" property.
+ </para>
+ <para>
+ The LockRemover thread periodically polls LockManager for locks that have
passed the time-out limit and must be removed.
+ </para>
+ <para>
+ The time-out for LockRemover is set as follows (the default value is 30m):
+ </para>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_lock-manager-config/default48.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <!-- Doesn't seem necessary
+ <!-- Doesn't seem necessary
<formalpara>
<title>Configuration</title>
<para>
@@ -62,322 +62,309 @@
</para>
</listitem>
</itemizedlist> --> <para>
- There are a number of ways to configure
<classname>CacheableLockManagerImpl</classname>. Each involves configuring
JBoss Cache and JDBCCacheLoader.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <xref
linkend="sect-Reference_Guide-CacheableLockManagerImpl-Simple_JBoss_Cache_Configuration"
/>
- </para>
+ There are a number of ways to configure
<classname>CacheableLockManagerImpl</classname>. Each involves configuring
JBoss Cache and JDBCCacheLoader.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref
linkend="sect-Reference_Guide-CacheableLockManagerImpl-Simple_JBoss_Cache_Configuration"
/>
+ </para>
- </listitem>
- <listitem>
- <para>
- <xref
linkend="sect-Reference_Guide-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration"
/>
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref
linkend="sect-Reference_Guide-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration"
/>
+ </para>
- </listitem>
+ </listitem>
- </itemizedlist>
- <para>
- Refer to <ulink
url="http://community.jboss.org/wiki/JBossCacheJDBCCacheLoader"...
for more information about JBoss Cache and JDBCCacheLoader.
- </para>
- <section
id="sect-Reference_Guide-CacheableLockManagerImpl-Simple_JBoss_Cache_Configuration">
- <title>Simple JBoss Cache Configuration</title>
- <para>
- One method to configure the LockManager is to put a JBoss Cache configuration file
path into <classname>CacheableLockManagerImpl</classname>.
- </para>
- <note>
- <para>
- This is not the most efficient method for configuring the LockManager as it requires
a JBoss Cache configuration file for each LockManager configuration in each workspace of
each repository. The configuration set up can subsequently become quite difficult to
manage.
- </para>
- <para>
- This method is useful, however, if a single, specially configured LockManager is
required.
- </para>
+ </itemizedlist>
+ <para>
+ Refer to <ulink
url="http://community.jboss.org/wiki/JBossCacheJDBCCacheLoader"...
for more information about JBoss Cache and JDBCCacheLoader.
+ </para>
+ <section
id="sect-Reference_Guide-CacheableLockManagerImpl-Simple_JBoss_Cache_Configuration">
+ <title>Simple JBoss Cache Configuration</title>
+ <para>
+ One method to configure the LockManager is to put a JBoss Cache
configuration file path into <classname>CacheableLockManagerImpl</classname>.
+ </para>
+ <note>
+ <para>
+ This is not the most efficient method for configuring the LockManager
as it requires a JBoss Cache configuration file for each LockManager configuration in each
workspace of each repository. The configuration set up can subsequently become quite
difficult to manage.
+ </para>
+ <para>
+ This method is useful, however, if a single, specially configured
LockManager is required.
+ </para>
- </note>
- <para>
- The required configuration is shown in the example below:
- </para>
- <programlistingco>
- <areaspec>
- <area coords="4 90"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-test-jbosscache-lock-config.xml"
/>
+ </note>
+ <para>
+ The required configuration is shown in the example below:
+ </para>
+ <programlistingco>
+ <areaspec>
+ <area coords="4 90"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-test-jbosscache-lock-config.xml"
/>
- </areaspec>
-
+ </areaspec>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_lock-manager-config/default49.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <calloutlist>
- <callout
arearefs="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-test-jbosscache-lock-config.xml">
- <para>
- The <replaceable>test-jbosscache-lock-config.xml</replaceable> is
shown below.
- </para>
+ <calloutlist>
+ <callout
arearefs="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-test-jbosscache-lock-config.xml">
+ <para>
+ The
<replaceable>test-jbosscache-lock-config.xml</replaceable> is shown below.
+ </para>
- </callout>
+ </callout>
- </calloutlist>
+ </calloutlist>
- </programlistingco>
-
- <para>
- The <filename>test-jbosscache-lock-config.xml</filename> file:
- </para>
- <programlistingco>
- <areaspec>
- <area coords="6 90"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-clusterName"
/>
- <area coords="41 50"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-cache.jdbc.table.name"
/>
- <areaset coords=""
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-cache.jdbc.types">
- <area coords="48 50"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-cache.jdbc.node.type"
/>
- <area coords="46 50"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-cache.jdbc.fqn.type"
/>
+ </programlistingco>
+
+ <para>
+ The <filename>test-jbosscache-lock-config.xml</filename>
file:
+ </para>
+ <programlistingco>
+ <areaspec>
+ <area coords="6 90"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-clusterName"
/>
+ <area coords="41 50"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-cache.jdbc.table.name"
/>
+ <areaset coords=""
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-cache.jdbc.types">
+ <area coords="48 50"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-cache.jdbc.node.type"
/>
+ <area coords="46 50"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-cache.jdbc.fqn.type"
/>
- </areaset>
+ </areaset>
- </areaspec>
-
+ </areaspec>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_lock-manager-config/default50.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <calloutlist>
- <callout
arearefs="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-clusterName">
- <para>
- The cluster name at <parameter>clustering mode="replication"
clusterName="JBoss-Cache-Lock-Cluster_Name"</parameter> must be unique;
- </para>
+ <calloutlist>
+ <callout
arearefs="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-clusterName">
+ <para>
+ The cluster name at <parameter>clustering
mode="replication"
clusterName="JBoss-Cache-Lock-Cluster_Name"</parameter> must be unique;
+ </para>
- </callout>
- <callout
arearefs="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-cache.jdbc.table.name">
- <para>
- The <parameter>cache.jdbc.table.name</parameter> must be unique per
datasource.
- </para>
+ </callout>
+ <callout
arearefs="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-cache.jdbc.table.name">
+ <para>
+ The <parameter>cache.jdbc.table.name</parameter>
must be unique per datasource.
+ </para>
- </callout>
- <callout
arearefs="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-cache.jdbc.types">
- <para>
- The <parameter>cache.jdbc.node.type</parameter> and
<parameter>cache.jdbc.fqn.type</parameter> parameters must be configured
according to the database in use.
- </para>
- <para>
- Refer to the table below for information about data types.
- </para>
+ </callout>
+ <callout
arearefs="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Simple_Jboss_Cache_Configuration-cache.jdbc.types">
+ <para>
+ The <parameter>cache.jdbc.node.type</parameter>
and <parameter>cache.jdbc.fqn.type</parameter> parameters must be configured
according to the database in use.
+ </para>
+ <para>
+ Refer to the table below for information about data types.
+ </para>
- </callout>
+ </callout>
- </calloutlist>
+ </calloutlist>
- </programlistingco>
-
- <table
id="tabl-Reference_Guide-Simple_JBoss_Cache_Configuration-Data_Types_in_Different_Databases">
- <title>Data Types in Different Databases</title>
- <tgroup cols="3">
- <thead>
- <row>
- <entry>
- DataBase name
- </entry>
- <entry>
- Node data type
- </entry>
- <entry>
- FQN data type
- </entry>
+ </programlistingco>
+
+ <table
id="tabl-Reference_Guide-Simple_JBoss_Cache_Configuration-Data_Types_in_Different_Databases">
+ <title>Data Types in Different Databases</title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>
+ DataBase name
+ </entry>
+ <entry>
+ Node data type
+ </entry>
+ <entry>
+ FQN data type
+ </entry>
- </row>
+ </row>
- </thead>
- <tbody>
- <row>
- <entry>
- default
- </entry>
- <entry>
- BLOB
- </entry>
- <entry>
- VARCHAR(512)
- </entry>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ default
+ </entry>
+ <entry>
+ BLOB
+ </entry>
+ <entry>
+ VARCHAR(512)
+ </entry>
- </row>
- <row>
- <entry>
- HSSQL
- </entry>
- <entry>
- OBJECT
- </entry>
- <entry>
- VARCHAR(512)
- </entry>
+ </row>
+ <row>
+ <entry>
+ HSSQL
+ </entry>
+ <entry>
+ OBJECT
+ </entry>
+ <entry>
+ VARCHAR(512)
+ </entry>
- </row>
- <row>
- <entry>
- MySQL
- </entry>
- <entry>
- LONGBLOB
- </entry>
- <entry>
- VARCHAR(512)
- </entry>
+ </row>
+ <row>
+ <entry>
+ MySQL
+ </entry>
+ <entry>
+ LONGBLOB
+ </entry>
+ <entry>
+ VARCHAR(512)
+ </entry>
- </row>
- <row>
- <entry>
- ORACLE
- </entry>
- <entry>
- BLOB
- </entry>
- <entry>
- VARCHAR2(512)
- </entry>
+ </row>
+ <row>
+ <entry>
+ ORACLE
+ </entry>
+ <entry>
+ BLOB
+ </entry>
+ <entry>
+ VARCHAR2(512)
+ </entry>
- </row>
- <row>
- <entry>
- PostgreSQL
- </entry>
- <entry>
- bytea
- </entry>
- <entry>
- VARCHAR(512)
- </entry>
+ </row>
+ <row>
+ <entry>
+ PostgreSQL
+ </entry>
+ <entry>
+ bytea
+ </entry>
+ <entry>
+ VARCHAR(512)
+ </entry>
- </row>
- <row>
- <entry>
- MSSQL
- </entry>
- <entry>
- VARBINARY(MAX)
- </entry>
- <entry>
- VARCHAR(512)
- </entry>
+ </row>
+ <row>
+ <entry>
+ MSSQL
+ </entry>
+ <entry>
+ VARBINARY(MAX)
+ </entry>
+ <entry>
+ VARCHAR(512)
+ </entry>
- </row>
- <row>
- <entry>
- DB2
- </entry>
- <entry>
- BLOB
- </entry>
- <entry>
- VARCHAR(512)
- </entry>
+ </row>
+ <row>
+ <entry>
+ DB2
+ </entry>
+ <entry>
+ BLOB
+ </entry>
+ <entry>
+ VARCHAR(512)
+ </entry>
- </row>
- <row>
- <entry>
- Sybase
- </entry>
- <entry>
- IMAGE
- </entry>
- <entry>
- VARCHAR(512)
- </entry>
+ </row>
+ <row>
+ <entry>
+ Sybase
+ </entry>
+ <entry>
+ IMAGE
+ </entry>
+ <entry>
+ VARCHAR(512)
+ </entry>
- </row>
- <row>
- <entry>
- Ingres
- </entry>
- <entry>
- long byte
- </entry>
- <entry>
- VARCHAR(512)
- </entry>
+ </row>
+ </tbody>
- </row>
+ </tgroup>
- </tbody>
+ </table>
- </tgroup>
+ </section>
+
+ <section
id="sect-Reference_Guide-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration">
+ <title>Template JBoss Cache Configuration</title>
+ <para>
+ Another method to configure LockManager is to use a JBoss Cache
configuration template for all LockManagers.
+ </para>
+ <para>
+ Below is an example
<filename>test-jbosscache-lock.xml</filename> template file:
+ </para>
+ <programlistingco>
+ <areaspec>
+ <areaset coords=""
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-cache.jdbc.templates">
+ <area coords="24 50"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-cache.jdbc.table.name"
/>
+ <area coords="35 50"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-cache.jdbc.datasource"
/>
- </table>
+ </areaset>
- </section>
-
- <section
id="sect-Reference_Guide-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration">
- <title>Template JBoss Cache Configuration</title>
- <para>
- Another method to configure LockManager is to use a JBoss Cache configuration
template for all LockManagers.
- </para>
- <para>
- Below is an example <filename>test-jbosscache-lock.xml</filename>
template file:
- </para>
- <programlistingco>
- <areaspec>
- <areaset coords=""
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-cache.jdbc.templates">
- <area coords="24 50"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-cache.jdbc.table.name"
/>
- <area coords="35 50"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-cache.jdbc.datasource"
/>
-
- </areaset>
-
- </areaspec>
-
+ </areaspec>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_lock-manager-config/you.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <calloutlist>
- <callout
arearefs="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-cache.jdbc.templates">
- <para>
- All the configurable parameters in this file are populated with templates which
will be replaced with LockManager's configuration parameters.
- </para>
+ <calloutlist>
+ <callout
arearefs="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-cache.jdbc.templates">
+ <para>
+ All the configurable parameters in this file are populated
with templates which will be replaced with LockManager's configuration parameters.
+ </para>
- </callout>
+ </callout>
- </calloutlist>
+ </calloutlist>
- </programlistingco>
-
- <para>
- The parameters that will populate the above file are shown below:
- </para>
- <programlistingco>
- <areaspec>
- <area coords="5 90"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-udp-mux.xml"
/>
- <areaset coords=""
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-jbosscache-cl-cache.jdbc.parameters">
- <area coords="12 90"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-jbosscache-cl-cache.jdbc.fqn.column"
/>
- <area coords="15 90"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-jbosscache-cl-cache.jdbc.node.type"
/>
+ </programlistingco>
+
+ <para>
+ The parameters that will populate the above file are shown below:
+ </para>
+ <programlistingco>
+ <areaspec>
+ <area coords="5 90"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-udp-mux.xml"
/>
+ <areaset coords=""
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-jbosscache-cl-cache.jdbc.parameters">
+ <area coords="12 90"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-jbosscache-cl-cache.jdbc.fqn.column"
/>
+ <area coords="15 90"
id="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-jbosscache-cl-cache.jdbc.node.type"
/>
- </areaset>
+ </areaset>
- </areaspec>
-
+ </areaspec>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_lock-manager-config/default51.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- <calloutlist>
- <callout
arearefs="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-udp-mux.xml">
- <para>
- The <literal>jgroups-configuration</literal> has been moved to a
separate configuration file (<filename>udp-mux.xml</filename>, shown below).
- </para>
- <para>
- In this case the <filename>udp-mux.xml</filename> is a common
configuration for all JGroup components (QueryHandler, cache, LockManager), but this is
not a requirement of the configuration method.
- </para>
+ <calloutlist>
+ <callout
arearefs="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-udp-mux.xml">
+ <para>
+ The <literal>jgroups-configuration</literal> has
been moved to a separate configuration file (<filename>udp-mux.xml</filename>,
shown below).
+ </para>
+ <para>
+ In this case the <filename>udp-mux.xml</filename>
is a common configuration for all JGroup components (QueryHandler, cache, LockManager),
but this is not a requirement of the configuration method.
+ </para>
- </callout>
- <callout
arearefs="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-jbosscache-cl-cache.jdbc.parameters">
- <para>
- The <parameter>jbosscache-cl-cache.jdbc.fqn.column</parameter> and
<parameter>jbosscache-cl-cache.jdbc.node.type</parameter> parameters are not
explicitly defined as <parameter>cache.jdbc.fqn.type</parameter> and
<parameter>cache.jdbc.node.type</parameter> are defined in the JBoss Cache
configuration.
- </para>
- <para>
- Refer to <xref
linkend="tabl-Reference_Guide-Simple_JBoss_Cache_Configuration-Data_Types_in_Different_Databases"
/> for information about setting these parameters or set them as
<parameter>AUTO</parameter> and the data type will by detected automatically.
- </para>
+ </callout>
+ <callout
arearefs="area-Reference_Guide-LockManager_configuration-CacheableLockManagerImpl-Template_JBoss_Cache_Configuration-jbosscache-cl-cache.jdbc.parameters">
+ <para>
+ The
<parameter>jbosscache-cl-cache.jdbc.fqn.column</parameter> and
<parameter>jbosscache-cl-cache.jdbc.node.type</parameter> parameters are not
explicitly defined as <parameter>cache.jdbc.fqn.type</parameter> and
<parameter>cache.jdbc.node.type</parameter> are defined in the JBoss Cache
configuration.
+ </para>
+ <para>
+ Refer to <xref
linkend="tabl-Reference_Guide-Simple_JBoss_Cache_Configuration-Data_Types_in_Different_Databases"
/> for information about setting these parameters or set them as
<parameter>AUTO</parameter> and the data type will by detected automatically.
+ </para>
- </callout>
+ </callout>
- </calloutlist>
+ </calloutlist>
- </programlistingco>
-
- <para>
- <filename>udp-mux.xml</filename>:
- </para>
-
+ </programlistingco>
+
+ <para>
+ <filename>udp-mux.xml</filename>:
+ </para>
+
<programlisting language="XML" role="XML"><xi:include
href="../../../../extras/Advanced_Development_JCR_lock-manager-config/default52.xml"
parse="text"
xmlns:xi="http://www.w3.org/2001/XInclude"
/></programlisting>
- </section>
-
+ </section>
+
- </section>
-
+ </section>
+
</section>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/acl-ext.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/acl-ext.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/acl-ext.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Access_Control_Extension">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/acl.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/acl.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/acl.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Access_Control">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/binary-values-processing.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/binary-values-processing.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/binary-values-processing.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Binary_Values_Processing">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/jcr-resources.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/jcr-resources.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/jcr-resources.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-JCR_Resources">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/link-producer.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/link-producer.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/other/link-producer.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Link_Producer_Service">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/performance-tuning-guide.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/performance-tuning-guide.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/performance-tuning-guide.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-JCR_Performance_Tuning_Guide">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/protocols/ftp.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/protocols/ftp.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/protocols/ftp.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-FTP">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/protocols/webdav.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/protocols/webdav.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/protocols/webdav.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,66 +1,65 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-WebDAV">
- <!-- This document was created with Syntext Serna Free. -->
<title>WebDAV</title>
- <section id="sect-Reference_Guide-WebDAV-Related_documents">
- <title>Related documents</title>
- <itemizedlist>
- <listitem>
- <para>
- <xref linkend="sect-Reference_Guide-Link_Producer_Service" />
- </para>
+ <!-- This document was created with Syntext Serna Free. -->
+ <title>WebDAV</title>
+ <section id="sect-Reference_Guide-WebDAV-Related_documents">
+ <title>Related documents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref
linkend="sect-Reference_Guide-Link_Producer_Service" />
+ </para>
+ </listitem>
+ </itemizedlist>
- </listitem>
-
- </itemizedlist>
-
- </section>
-
- <section id="sect-Reference_Guide-WebDAV-Introduction">
- <title>Introduction</title>
- <para>
- The WebDAV protocol enables you to use the third party tools to communicate with
hierarchical content servers via HTTP. It is possible to add and remove documents or a set
of documents from a path on the server. DeltaV is an extension of the WebDav protocol that
allows managing document versioning. Locking guarantees protection against multiple access
when writing resources. The ordering support allows changing the position of the resource
in the list and sort the directory to make the directory tree viewed conveniently. The
full-text search makes it easy to find the necessary documents. You can search by using
two languages: SQL and XPATH.
- </para>
- <para>
- In eXo JCR, we plug in the WebDAV layer - based on the code taken from the extension
modules of the reference implementation - on the top of our JCR implementation so that it
is possible to browse a workspace using the third party tools (it can be Windows folders
or Mac ones as well as a Java WebDAV client, such as DAVExplorer or IE using
File->Open as a Web Folder).
- </para>
- <para>
- Now WebDav is an extension of the REST service. To get the WebDav server ready, you
must deploy the REST application. Then, you can access any workspaces of your repository
by using the following URL:
- </para>
- <para>
- Standalone mode:
- </para>
- <para>
- <uri>http://host:port/rest/jcr/{RepositoryName}/{WorkspaceName}/{Path}</uri>
- </para>
- <para>
- Portal mode:
- </para>
- <para>
- <uri>http://host:port/portal/rest/private/jcr/{RepositoryName}/{WorkspaceName}/{Path}</uri>
- </para>
- <para>
- When accessing the WebDAV server with the
URL<uri>http://localhost:8080/rest/jcr/repository/production</uri>, you might
also use "collaboration" (instead of "production") which is the
default workspace in eXo products. You will be asked to enter your login and password.
Those will then be checked by using the organization service that can be implemented
thanks to an InMemory (dummy) module or a DB module or an LDAP one and the JCR user
session will be created with the correct JCR Credentials.
- </para>
- <note>
- <para>
- If you try the "in ECM" option, add "@ecm" to the user's
password. Alternatively, you may modify jaas.conf by adding the <emphasis
role="bold">domain=ecm</emphasis> option as follows:
- </para>
-
+ </section>
+
+ <section id="sect-Reference_Guide-WebDAV-Introduction">
+ <title>Introduction</title>
+ <para>
+ The <application>WebDAV</application> protocol enables you to use
third party tools to communicate with hierarchical content servers via HTTP. It is
possible to add and remove documents or a set of documents from a path on the server.
+ </para>
+ <para>
+ <application>DeltaV</application> is an extension of the WebDav
protocol that allows managing document versioning. Locking guarantees protection against
multiple access when writing resources. The ordering support allows changing the position
of the resource in the list and sort the directory to make the directory tree viewed
conveniently. The full-text search makes it easy to find the necessary documents. You can
search by using two languages: SQL and XPATH.
+ </para>
+ <para>
+ In the eXo JCR, the WebDAV layer (based on the code taken from the extension
modules of the reference implementation) is plugged in on top of our JCR implementation.
This makes it possible to browse a workspace using the third party tools regardless of
operating system environments. You can use a Java WebDAV client, such as DAVExplorer or
Internet Explorer using
<menuchoice><guimenu>File</guimenu><guimenuitem>Open</guimenuitem></menuchoice>
as a Web Folder.
+ </para>
+ <para>
+ WebDav is an extension of the REST service. To get the WebDav server ready,
you must deploy the REST application. Then, you can access any workspaces of your
repository by using the following URL:
+ </para>
+ <para>
+ <ulink type="http"
url="http://host:port/portal/rest/private/jcr/{RepositoryName}/{WorkspaceName}/{Path}"></ulink>
+ </para>
+ <para>
+ When accessing the WebDAV server via <ulink type="http"
url="http://localhost:8080/rest/jcr/repository/production"></ulink>,
you can substitute <ulink type="http"
url="http://localhost:8080/rest/jcr/repository/production">production</ulink>
with <ulink type="http"
url="http://localhost:8080/rest/jcr/repository/collaboration">collaboration</ulink>.
+ </para>
+ <para>
+ You will be asked to enter your login and password. Those will then be
checked by using the organization service that can be implemented thanks to an InMemory
(dummy) module or a DB module or an LDAP one and the JCR user session will be created with
the correct JCR Credentials.
+ </para>
+ <note>
+ <title>Note:</title>
+ <para>
+ If you try the "in ECM" option, add "@ecm" to the
user's password. Alternatively, you may modify jaas.conf by adding the <emphasis
role="bold">domain=ecm</emphasis> option as follows:
+ </para>
+ <remark>DOCS NOTE: I have no idea what this means!</remark>
<programlisting>exo-domain {
org.exoplatform.services.security.jaas.BasicLoginModule required domain=ecm;
};</programlisting>
- </note>
+ </note>
- </section>
-
- <section id="sect-Reference_Guide-WebDAV-Configuration">
- <title>Configuration</title>
-
+ </section>
+
+ <section id="sect-Reference_Guide-WebDAV-Configuration">
+ <title>WebDAV Configuration</title>
+ <para>
+ The WebDAV configuration is defined in the <remark><filename>DOC
NOTE: where/is/this/file.xml</filename></remark> file:
+ </para>
<programlisting language="XML"
role="XML"><component>
<key>org.exoplatform.services.webdav.WebDavServiceImpl</key>
<type>org.exoplatform.services.webdav.WebDavServiceImpl</type>
@@ -144,390 +143,409 @@
</init-params
</component></programlisting>
- </section>
-
- <section id="sect-Reference_Guide-WebDAV-Screenshots">
- <title>Screenshots</title>
- <para>
- At present, eXo JCR WebDav server is tested by using MS Internet Explorer, <ulink
url="http://www.ics.uci.edu/~webdav">Dav Explorer</ulink>, <ulink
url="http://www.xythos.com/home/xythos/products/xythos_drive.html&qu...
Drive</ulink>, Microsoft Office 2003 (as client), and Ubuntu Linux.
- </para>
- <section id="sect-Reference_Guide-Screenshots-MS_Internet_Explorer">
- <title>MS Internet Explorer</title>
- <para>
- (File -> Open as Web Folder)
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/eXoJCR/protocols/webdav_explorer.jpg"
width="444" />
- </imageobject>
+ </section>
+
+ <!-- Removed as possibly inappropriate for RH documentation
+ <section id="sect-Reference_Guide-WebDAV-Screenshots">
+ <title>Screenshots</title>
+ <para>
+ At present, eXo JCR WebDav server is tested by using MS Internet Explorer,
<ulink
url="http://www.ics.uci.edu/~webdav">Dav Explorer</ulink>,
<ulink
url="http://www.xythos.com/home/xythos/products/xythos_drive.html&qu...
Drive</ulink>, Microsoft Office 2003 (as client), and Ubuntu Linux.
+ </para>
+ <section
id="sect-Reference_Guide-Screenshots-MS_Internet_Explorer">
+ <title>MS Internet Explorer</title>
+ <para>
+ (File -> Open as Web Folder)
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/eXoJCR/protocols/webdav_explorer.jpg" width="444"
/>
+ </imageobject>
- </mediaobject>
+ </mediaobject>
- </section>
-
- <section id="sect-Reference_Guide-Screenshots-Dav_Explorer">
- <title>Dav Explorer</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/eXoJCR/protocols/webdav_davexplorer.jpg"
width="444" />
- </imageobject>
+ </section>
+
+ <section id="sect-Reference_Guide-Screenshots-Dav_Explorer">
+ <title>Dav Explorer</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/eXoJCR/protocols/webdav_davexplorer.jpg" width="444"
/>
+ </imageobject>
- </mediaobject>
+ </mediaobject>
- </section>
-
- <section id="sect-Reference_Guide-Screenshots-Xythos_Drive">
- <title>Xythos Drive</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/eXoJCR/protocols/webdav_xythosdrive.jpg"
width="444" />
- </imageobject>
+ </section>
+
+ <section id="sect-Reference_Guide-Screenshots-Xythos_Drive">
+ <title>Xythos Drive</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/eXoJCR/protocols/webdav_xythosdrive.jpg" width="444"
/>
+ </imageobject>
- </mediaobject>
+ </mediaobject>
- </section>
-
- <section id="sect-Reference_Guide-Screenshots-Microsoft_Office_2003">
- <title>Microsoft Office 2003</title>
- <para>
- (as client) (File->Open with typing http://... href in the file name box)
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/eXoJCR/protocols/webdav_msoffice2003.jpg"
width="444" />
- </imageobject>
+ </section>
+
+ <section
id="sect-Reference_Guide-Screenshots-Microsoft_Office_2003">
+ <title>Microsoft Office 2003</title>
+ <para>
+ (as client) (File->Open with typing http://... href in the file
name box)
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/eXoJCR/protocols/webdav_msoffice2003.jpg" width="444"
/>
+ </imageobject>
- </mediaobject>
+ </mediaobject>
- </section>
-
- <section id="sect-Reference_Guide-Screenshots-Ubuntu_Linux">
- <title>Ubuntu Linux</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/eXoJCR/protocols/webdav_ubuntulinux.jpg"
width="444" />
- </imageobject>
+ </section>
+
+ <section id="sect-Reference_Guide-Screenshots-Ubuntu_Linux">
+ <title>Ubuntu Linux</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
fileref="images/eXoJCR/protocols/webdav_ubuntulinux.jpg" width="444"
/>
+ </imageobject>
- </mediaobject>
+ </mediaobject>
- </section>
-
+ </section>
+
- </section>
-
- <section
id="sect-Reference_Guide-WebDAV-Comparison_table_of_WebDav_and_JCR_commands">
- <title>Comparison table of WebDav and JCR commands</title>
- <table>
- <title></title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>
- WebDav
- </entry>
- <entry>
- JCR
- </entry>
+ </section> -->
+
+ <section
id="sect-Reference_Guide-WebDAV-Comparison_table_of_WebDav_and_JCR_commands">
+ <title>Corresponding WebDav and JCR actions</title>
+ <table>
+ <title></title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>
+ WebDav
+ </entry>
+ <entry>
+ JCR
+ </entry>
- </row>
+ </row>
- </thead>
- <tbody>
- <row>
- <entry>
- COPY
- </entry>
- <entry>
- Workspace.copy(...)
- </entry>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ COPY
+ </entry>
+ <entry>
+ Workspace.copy(...)
+ </entry>
- </row>
- <row>
- <entry>
- DELETE
- </entry>
- <entry>
- Node.remove()
- </entry>
+ </row>
+ <row>
+ <entry>
+ DELETE
+ </entry>
+ <entry>
+ Node.remove()
+ </entry>
- </row>
- <row>
- <entry>
- GET
- </entry>
- <entry>
- Node.getProperty(...); Property.getValue()
- </entry>
+ </row>
+ <row>
+ <entry>
+ GET
+ </entry>
+ <entry>
+ Node.getProperty(...); Property.getValue()
+ </entry>
- </row>
- <row>
- <entry>
- HEAD
- </entry>
- <entry>
- Node.getProperty(...); Property.getLength()
- </entry>
+ </row>
+ <row>
+ <entry>
+ HEAD
+ </entry>
+ <entry>
+ Node.getProperty(...); Property.getLength()
+ </entry>
- </row>
- <row>
- <entry>
- MKCOL
- </entry>
- <entry>
- Node.addNode(...)
- </entry>
+ </row>
+ <row>
+ <entry>
+ MKCOL
+ </entry>
+ <entry>
+ Node.addNode(...)
+ </entry>
- </row>
- <row>
- <entry>
- MOVE
- </entry>
- <entry>
- Session.move(...) or Workspace.move(...)
- </entry>
+ </row>
+ <row>
+ <entry>
+ MOVE
+ </entry>
+ <entry>
+ Session.move(...) or Workspace.move(...)
+ </entry>
- </row>
- <row>
- <entry>
- PROPFIND
- </entry>
- <entry>
- Session.getNode(...); Node.getNode(...); Node.getNodes(...); Node.getProperties()
- </entry>
+ </row>
+ <row>
+ <entry>
+ PROPFIND
+ </entry>
+ <entry>
+ Session.getNode(...); Node.getNode(...); Node.getNodes(...);
Node.getProperties()
+ </entry>
- </row>
- <row>
- <entry>
- PROPPATCH
- </entry>
- <entry>
- Node.setProperty(...); Node.getProperty(...).remove()
- </entry>
+ </row>
+ <row>
+ <entry>
+ PROPPATCH
+ </entry>
+ <entry>
+ Node.setProperty(...); Node.getProperty(...).remove()
+ </entry>
- </row>
- <row>
- <entry>
- PUT
- </entry>
- <entry>
- Node.addNode("node","nt:file");
Node.setProperty("jcr:data", "data")
- </entry>
+ </row>
+ <row>
+ <entry>
+ PUT
+ </entry>
+ <entry>
+ Node.addNode("node","nt:file");
Node.setProperty("jcr:data", "data")
+ </entry>
- </row>
- <row>
- <entry>
- CHECKIN
- </entry>
- <entry>
- Node.checkin()
- </entry>
+ </row>
+ <row>
+ <entry>
+ CHECKIN
+ </entry>
+ <entry>
+ Node.checkin()
+ </entry>
- </row>
- <row>
- <entry>
- CHECKOUT
- </entry>
- <entry>
- Node.checkout()
- </entry>
+ </row>
+ <row>
+ <entry>
+ CHECKOUT
+ </entry>
+ <entry>
+ Node.checkout()
+ </entry>
- </row>
- <row>
- <entry>
- REPORT
- </entry>
- <entry>
- Node.getVersionHistory(); VersionHistory.getAllVersions();
Version.getProperties()
- </entry>
+ </row>
+ <row>
+ <entry>
+ REPORT
+ </entry>
+ <entry>
+ Node.getVersionHistory(); VersionHistory.getAllVersions();
Version.getProperties()
+ </entry>
- </row>
- <row>
- <entry>
- RESTORE
- </entry>
- <entry>
- Node.restore(...)
- </entry>
+ </row>
+ <row>
+ <entry>
+ RESTORE
+ </entry>
+ <entry>
+ Node.restore(...)
+ </entry>
- </row>
- <row>
- <entry>
- UNCHECKOUT
- </entry>
- <entry>
- Node.restore(...)
- </entry>
+ </row>
+ <row>
+ <entry>
+ UNCHECKOUT
+ </entry>
+ <entry>
+ Node.restore(...)
+ </entry>
- </row>
- <row>
- <entry>
- VERSION-CONTROL
- </entry>
- <entry>
- Node.addMixin("mix:versionable")
- </entry>
+ </row>
+ <row>
+ <entry>
+ VERSION-CONTROL
+ </entry>
+ <entry>
+ Node.addMixin("mix:versionable")
+ </entry>
- </row>
- <row>
- <entry>
- LOCK
- </entry>
- <entry>
- Node.lock(...)
- </entry>
+ </row>
+ <row>
+ <entry>
+ LOCK
+ </entry>
+ <entry>
+ Node.lock(...)
+ </entry>
- </row>
- <row>
- <entry>
- UNLOCK
- </entry>
- <entry>
- Node.unlock()
- </entry>
+ </row>
+ <row>
+ <entry>
+ UNLOCK
+ </entry>
+ <entry>
+ Node.unlock()
+ </entry>
- </row>
- <row>
- <entry>
- ORDERPATCH
- </entry>
- <entry>
- Node.orderBefore(...)
- </entry>
+ </row>
+ <row>
+ <entry>
+ ORDERPATCH
+ </entry>
+ <entry>
+ Node.orderBefore(...)
+ </entry>
- </row>
- <row>
- <entry>
- SEARCH
- </entry>
- <entry>
- Workspace.getQueryManager(); QueryManager.createQuery(); Query.execute()
- </entry>
+ </row>
+ <row>
+ <entry>
+ SEARCH
+ </entry>
+ <entry>
+ Workspace.getQueryManager(); QueryManager.createQuery();
Query.execute()
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+ <section id="sect-Reference_Guide-WebDAV-WebDAV_Considerations">
+ <title>WebDAV Considerations</title>
+ <para>
+ There are some restrictions for WebDAV in different Operating systems.
+ </para>
+ <section id="sect-Reference_Guide-Restrictions-Windows_7">
+ <title>Windows 7</title>
+ <para>
+ When attemping to set up a web folder through <guilabel>Add a
Network Location</guilabel> or <guilabel>Map a Network Drive</guilabel>
through <guilabel>My Computer</guilabel>, an error message stating
<guilabel>The folder you entered does not appear to be valid. Please choose
another</guilabel> or <guilabel>Windows cannot access … Check the spelling of
the name. Otherwise, there might be …</guilabel> may be encountered. These errors
may appear when you are using SSL or non-SSL.
+ </para>
+ <para>
+ To fix this, do as follows:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ Go to Windows Registry Editor.
+ </para>
- </row>
+ </listitem>
+ <listitem>
+ <para>
+ Find a key:
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\services\WebClient\Parameters\BasicAuthLevel
.
+ </para>
- </tbody>
+ </listitem>
+ <listitem>
+ <para>
+ Change the value to 2.
+ </para>
+ </listitem>
+ </orderedlist>
+ </section>
+
+ <section
id="sect-Reference_Guide-Restrictions-Microsoft_Office_2010">
+ <title>Microsoft Office 2010</title>
+ <para>
+ If you have:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Microsoft Office 2007/2010 applications installed on a client
computer and...
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The client computer is connected to a web server configured
for Basic authentication via...
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ A connection that does not use Secure Sockets Layer (SSL)
and...
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ You try to access an Office file that is stored on the remote
server.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ You might experience the following symptoms when you try to
open or to download the file:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ The Office file does not open or download.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ You do not receive a Basic authentication password
prompt when you try to open or to download the file.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ You do not receive an error message when you try to
open the file. The associated Office application starts. However, the selected file does
not open.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ <para>
+ These outcomes can be circumvented by enabling Basic authentication
on the client machine.
+ </para>
- </tgroup>
+ <para>
+ To enable Basic authentication on the client computer, follow these
steps:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ Click Start, type regedit in the Start Search box, and then press
Enter.
+ </para>
- </table>
+ </listitem>
+ <listitem>
+ <para>
+ Locate and then click the following registry subkey:
+ </para>
+ <para>
+ HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Internet
+ </para>
- </section>
-
- <section id="sect-Reference_Guide-WebDAV-Restrictions">
- <title>Restrictions</title>
- <para>
- There are some restrictions for WebDAV in different Operating systems.
- </para>
- <section id="sect-Reference_Guide-Restrictions-Windows_7">
- <title>Windows 7</title>
- <para>
- When you try to set up a web folder by “adding a network location” or “map a network
drive” through My Computer, you can get an error message saying that either “The folder
you entered does not appear to be valid. Please choose another” or “Windows cannot access…
Check the spelling of the name. Otherwise, there might be…”. These errors may appear when
you are using SSL or non-SSL.
- </para>
- <para>
- To fix this, do as follows:
- </para>
- <orderedlist>
- <listitem>
- <para>
- Go to Windows Registry Editor.
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ On the Edit menu, point to New, and then click DWORD Value.
+ </para>
- </listitem>
- <listitem>
- <para>
- Find a key:
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\services\WebClient\Parameters\BasicAuthLevel
.
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ Type BasicAuthLevel, and then press Enter.
+ </para>
- </listitem>
- <listitem>
- <para>
- Change the value to 2.
- </para>
+ </listitem>
+ <listitem>
+ <para>
+ Right-click BasicAuthLevel, and then click Modify.
+ </para>
- </listitem>
+ </listitem>
+ <listitem>
+ <para>
+ In the Value data box, type 2, and then click OK.
+ </para>
- </orderedlist>
+ </listitem>
- </section>
-
- <section
id="sect-Reference_Guide-Restrictions-Microsoft_Office_2010">
- <title>Microsoft Office 2010</title>
- <para>
- If you have Microsoft Office 2010 applications or Microsoft Office 2007 applications
installed on a client computer. From that client computer, you try to access an Office
file that is stored on a web server that is configured for Basic authentication. The
connection between your computer and the web server does not use Secure Sockets Layer
(SSL). When you try to open or to download the file, you experience the following
symptoms:
- <itemizedlist>
- <listitem>
- <para>
- The Office file does not open or download.
- </para>
+ </orderedlist>
- </listitem>
- <listitem>
- <para>
- You do not receive a Basic authentication password prompt when you try to open or
to download the file.
- </para>
+ </section>
+
- </listitem>
- <listitem>
- <para>
- You do not receive an error message when you try to open the file. The associated
Office application starts. However, the selected file does not open.
- </para>
+ </section>
- </listitem>
-
- </itemizedlist>
-
- </para>
- <para>
- To enable Basic authentication on the client computer, follow these steps:
- </para>
- <orderedlist>
- <listitem>
- <para>
- Click Start, type regedit in the Start Search box, and then press Enter.
- </para>
-
- </listitem>
- <listitem>
- <para>
- Locate and then click the following registry subkey:
- </para>
- <para>
- HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Internet
- </para>
-
- </listitem>
- <listitem>
- <para>
- On the Edit menu, point to New, and then click DWORD Value.
- </para>
-
- </listitem>
- <listitem>
- <para>
- Type BasicAuthLevel, and then press Enter.
- </para>
-
- </listitem>
- <listitem>
- <para>
- Right-click BasicAuthLevel, and then click Modify.
- </para>
-
- </listitem>
- <listitem>
- <para>
- In the Value data box, type 2, and then click OK.
- </para>
-
- </listitem>
-
- </orderedlist>
-
- </section>
-
-
- </section>
-
</section>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/query-handler-config.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/query-handler-config.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/query-handler-config.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-QueryHandler_configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/repository-creation-service.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/repository-creation-service.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/repository-creation-service.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-RepositoryCreationService">
@@ -13,7 +13,7 @@
</section>
- <section
id="sect-Reference_Guide-RepositoryCreationService-Dependencies">
+ <!--<section
id="sect-Reference_Guide-RepositoryCreationService-Dependencies">
<title>Dependencies</title>
<para>
RepositoryConfigurationService depends to next components:
@@ -21,13 +21,13 @@
<itemizedlist>
<listitem>
<para>
- <!--<xref
linkend="sect-Reference_Guide-Database_Creator" />--> DBCreator used to
create new database for each unbinded datasource.
+ <xref linkend="sect-Reference_Guide-Database_Creator"
/> DBCreator used to create new database for each unbinded datasource.
</para>
</listitem>
<listitem>
<para>
- <!--<xref
linkend="sect-Reference_Guide-eXo_JCR_Backup_Service" /> --> BackupManager
used to created repository from backup.
+ <xref
linkend="sect-Reference_Guide-eXo_JCR_Backup_Service" /> BackupManager used
to created repository from backup.
</para>
</listitem>
@@ -40,7 +40,7 @@
</itemizedlist>
- </section>
+ </section> -->
<section
id="sect-Reference_Guide-RepositoryCreationService-How_it_works">
<title>How it works</title>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/aggregation-rule.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/aggregation-rule.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/aggregation-rule.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section
id="sect-Reference_Guide-Finding_ntfile_node_by_content_of_child_jcrcontent_node">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/and-constraint.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/and-constraint.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/and-constraint.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-AND_Constraint">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/child-node-constraint.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/child-node-constraint.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/child-node-constraint.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Child_Node_Constraint">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/date-property-comparison.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/date-property-comparison.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/date-property-comparison.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Date_Property_Comparison">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/escaping-like-statements.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/escaping-like-statements.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/escaping-like-statements.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Escaping_in_LIKE_Statements">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/exact-path-constraint.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/exact-path-constraint.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/exact-path-constraint.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Exact_Path_Constraint">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-all-descendant-nodes.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-all-descendant-nodes.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-all-descendant-nodes.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Finding_All_Descendant_Nodes">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-all-nodes.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-all-nodes.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-all-nodes.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Finding_All_Nodes">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-nodes-by-mixin-type.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-nodes-by-mixin-type.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-nodes-by-mixin-type.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Finding_Nodes_by_Mixin_Type">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-nodes-by-primary-type.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-nodes-by-primary-type.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-nodes-by-primary-type.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Finding_Nodes_by_Primary_Type">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-nodes-case-insensitive.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-nodes-case-insensitive.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-nodes-case-insensitive.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section
id="sect-Reference_Guide-Finding_Nodes_in_a_Case_Insensitive_Way">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-similar-nodes.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-similar-nodes.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/find-similar-nodes.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Finding_Similar_Nodes">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/fulltext-search-and-settings.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/fulltext-search-and-settings.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/fulltext-search-and-settings.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section
id="sect-Reference_Guide-Fulltext_Search_And_Affecting_Settings">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/fulltext-search-by-all-properties.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/fulltext-search-by-all-properties.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/fulltext-search-by-all-properties.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section
id="sect-Reference_Guide-Fulltext_Search_by_All_Properties_in_Node">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/fulltext-search-by-property.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/fulltext-search-by-property.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/fulltext-search-by-property.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Fulltext_Search_by_Property">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/higlight.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/higlight.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/higlight.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,12 +1,12 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section
id="sect-Reference_Guide-High_lighting_Result_of_Fulltext_Search">
<title>High-lighting Result of Fulltext Search</title>
<para>
- It's also called excerption (see Excerpt configuration in <xref
linkend="sect-Reference_Guide-Search_Configuration" /> and in <xref
linkend="sect-Reference_Guide-Searching_Repository_Content-High_lighting_Since_1.9"
/> article).
+ It's also called excerption (see Excerpt configuration in <xref
linkend="sect-Reference_Guide-Search_Configuration" /> article).
</para>
<para>
The goal of this query is to find words "eXo" and
"implementation" with fulltext search and high-light this words in result
value.
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/ignore-accent-symbols.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/ignore-accent-symbols.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/ignore-accent-symbols.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section
id="sect-Reference_Guide-Ignoring_Accent_Symbols._New_Analyzer_Setting.">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/index-boost-value.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/index-boost-value.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/index-boost-value.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Changing_Priority_of_Node">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/jcr-query-usecases.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/jcr-query-usecases.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/jcr-query-usecases.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-JCR_Query_Usecases">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/like-constraint.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/like-constraint.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/like-constraint.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-LIKE_Constraint">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/multivalue-property-comparison.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/multivalue-property-comparison.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/multivalue-property-comparison.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Multivalue_Property_Comparison">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/node-name-constraint.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/node-name-constraint.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/node-name-constraint.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Node_Name_Constraint">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/node-scope-index.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/node-scope-index.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/node-scope-index.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section
id="sect-Reference_Guide-Removing_Nodes_Property_From_Indexing_Scope">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/not-constraint.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/not-constraint.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/not-constraint.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-NOT_Constraint">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/offset-and-limit.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/offset-and-limit.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/offset-and-limit.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-SetOffset_and_SetLimit">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/or-constraint.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/or-constraint.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/or-constraint.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-OR_Constraint">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-descendant.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-descendant.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-descendant.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section
id="sect-Reference_Guide-Ordering_by_Descendant_Nodes_Property_XPath_only">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-path-or-name.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-path-or-name.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-path-or-name.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Ordering_by_Path_or_Name">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-property.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-property.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-property.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Sorting_Nodes_by_Property">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-score.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-score.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/order-by-score.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Ordering_by_Score">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/property-comparison.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/property-comparison.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/property-comparison.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Property_Comparison">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/property-existance-constraint.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/property-existance-constraint.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/property-existance-constraint.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Property_Existence_Constraint">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/regexp-indexing-rule.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/regexp-indexing-rule.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/regexp-indexing-rule.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section
id="sect-Reference_Guide-Regular_Expression_as_Property_Name_in_Indexing_Rules">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/searching-repository-content.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/searching-repository-content.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/searching-repository-content.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Searching_Repository_Content">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/spell-checker.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/spell-checker.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/spell-checker.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Checking_the_spelling_of_Phrase">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/synonim-provider.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/synonim-provider.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/synonim-provider.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Searching_By_Synonym">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/tip-nodename-with-number.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/tip-nodename-with-number.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/searching/tip-nodename-with-number.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section
id="sect-Reference_Guide-XPath_queries_containing_node_names_starting_with_a_number">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/statistics.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/statistics.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/statistics.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-eXo_JCR_statistics">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/transaction-manager-lookup.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/transaction-manager-lookup.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr/transaction-manager-lookup.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-TransactionManagerLookup">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr-with-gatein.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr-with-gatein.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr-with-gatein.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-eXo_JCR_with_GateIn">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr-with-gtn/managed-datasources-under-jboss-as.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr-with-gtn/managed-datasources-under-jboss-as.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr-with-gtn/managed-datasources-under-jboss-as.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section
id="sect-Reference_Guide-How_to_use_AS_Managed_DataSource_under_JBoss_AS">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/jcr.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-eXoJCR">
@@ -31,7 +31,7 @@
<xi:include href="jcr/configuration/rest-services-on-groovy.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<!-- cluster configs -->
- <xi:include href="jcr/cluster-config.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <!--<xi:include href="jcr/cluster-config.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
<xi:include href="jcr/jbosscache-configuration-templates.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="jcr/lock-manager-config.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="jcr/query-handler-config.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
@@ -39,19 +39,19 @@
<xi:include href="jcr/transaction-manager-lookup.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="jcr/repository-creation-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <!-- search -->
+ <!-- search
<xi:include href="jcr/searching/jcr-query-usecases.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="jcr/searching/searching-repository-content.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="jcr/searching/fulltext-search-and-settings.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="jcr/searching/fulltext-search-and-settings.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
<!-- protocols -->
<xi:include href="jcr/protocols/webdav.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="jcr/protocols/ftp.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <!-- backup
+ <!-- backup -->
<xi:include href="jcr/backup/exojcr-backup-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="jcr/backup/backup-client.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="jcr/backup/use-external-backup-tool.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
+ <xi:include href="jcr/backup/use-external-backup-tool.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<!-- other -->
<xi:include href="jcr/statistics.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
@@ -65,10 +65,11 @@
<!-- data container configs -->
<xi:include href="jcr/data-container.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="jcr/data-container-howto.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <!--<xi:include href="jcr/data-container-howto.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
<xi:include href="jcr/db-cleaner-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <!-- tuning guide -->
+ <!-- tuning guide
+ DOC NOTE: Could possibly be moved to a specific Tuning Guide later -->
<xi:include href="jcr/performance-tuning-guide.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</section>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/cache.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/cache.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/cache.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-eXo_Cache">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/component-plugin-priority.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/component-plugin-priority.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/component-plugin-priority.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Component_Plugin_Priority">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/container-configuration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/container-configuration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/container-configuration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Container_Configuration">
@@ -13,10 +13,6 @@
<para>
When a Pico Container searches for services and its configurations, each
configurable service may be reconfigured to override default values or set additional
parameters. If the service is configured in two or more places the configuration override
mechanism will be used.
</para>
- <para>
- Confused? - You might be interested in the <xref
linkend="sect-Reference_Guide-Service_Configuration_for_Beginners" />
article, which explains the basics.
- </para>
-
</section>
<section
id="sect-Reference_Guide-Container_Configuration-Kernel_configuration_namespace">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/data-source-provider.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/data-source-provider.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/data-source-provider.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-The_data_source_provider">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/exo-container.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/exo-container.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/exo-container.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-ExoContainer_info">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/initialcontext-binder-service.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/initialcontext-binder-service.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/initialcontext-binder-service.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,12 +1,12 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Initial_Context_Binder">
<title>Initial Context Binder</title>
<para>
- Initial Context Binder is responsible for binding references at runtime,
persisting in file and automatically rebinding. Java temp directory is used to persist
references in bind-references.xml file by default. In case when need to define special
file it can be done by add parameter to <xref
linkend="sect-Reference_Guide-JNDI_naming" /> configuration.
+ Initial Context Binder is responsible for binding references at runtime,
persisting in file and automatically rebinding. Java temp directory is used to persist
references in bind-references.xml file by default. In case when need to define special
file it can be done by add parameter to JNDI naming configuration.
</para>
<section id="sect-Reference_Guide-Initial_Context_Binder-API">
<title>API</title>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/inversion-of-control.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/inversion-of-control.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/inversion-of-control.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Inversion_Of_Control">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/jndi-naming.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/jndi-naming.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/jndi-naming.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-JNDI_naming">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/job-scheduler-service.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/job-scheduler-service.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/job-scheduler-service.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Job_Schedule">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/kernel.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/kernel.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/kernel.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-eXo_Kernel">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/listener-service.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/listener-service.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/listener-service.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-ListenerService">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/logging.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/logging.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/logging.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Logs_configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/manageability.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/manageability.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/manageability.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Manageability">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/rpc-service.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/rpc-service.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/rpc-service.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-RPC_Service">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/service-configuration-for-beginners.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/service-configuration-for-beginners.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/service-configuration-for-beginners.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Service_Configuration_for_Beginners">
@@ -145,14 +145,6 @@
</section>
- <section
id="sect-Reference_Guide-Service_Configuration_for_Beginners-Execution_Modes">
- <title>Execution Modes</title>
- <para>
- One important thing to understand concerns execution modes. There are only
two modes:
- </para>
-
- </section>
-
<section
id="sect-Reference_Guide-Service_Configuration_for_Beginners-Containers">
<title>Containers</title>
<para>
@@ -502,13 +494,6 @@
</section>
-
- <section
id="sect-Reference_Guide-Service_Configuration_for_Beginners-Further_Reading">
- <title>Further Reading</title>
- <para>
- Do you feel an expert now? Not yet. Get a deeper look and read this <xref
linkend="sect-Reference_Guide-Services_Wiring" /> article. You read so much
about configuration, that you should wonder what the <xref
linkend="sect-Reference_Guide-Container_Configuration-Kernel_configuration_namespace"
/> looks like.
- </para>
- </section>
</section>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/service-configuration-in-detail.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/service-configuration-in-detail.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/service-configuration-in-detail.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,34 +1,11 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Service_Configuration_in_Detail">
<title>Service Configuration in Detail</title>
- <para>
- <emphasis role="bold">Related documents</emphasis>
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <xref
linkend="sect-Reference_Guide-Service_Configuration_for_Beginners" />
- </para>
-
- </listitem>
- <listitem>
- <para>
- <xref linkend="sect-Reference_Guide-Services_Wiring" />
- </para>
-
- </listitem>
- <listitem>
- <para>
- <xref
linkend="sect-Reference_Guide-Container_Configuration-Kernel_configuration_namespace"
/>
- </para>
-
- </listitem>
-
- </itemizedlist>
+
<section
id="sect-Reference_Guide-Service_Configuration_in_Detail-Objectives">
<title>Objectives</title>
<para>
@@ -37,14 +14,6 @@
</section>
- <section
id="sect-Reference_Guide-Service_Configuration_in_Detail-Requirements">
- <title>Requirements</title>
- <para>
- You should have read and understood <xref
linkend="sect-Reference_Guide-Service_Configuration_for_Beginners" />.
Obviously you should know java and xml. We are working with examples that are created for
teaching reasons only and you will see extracts from the eXo Products default
installation. When reading this article, you do not forget that the terms service and
component are interchangeable in eXo Products.
- </para>
-
- </section>
-
<section
id="sect-Reference_Guide-Service_Configuration_in_Detail-Sample_Service">
<title>Sample Service</title>
<section id="sect-Reference_Guide-Sample_Service-Java_Class">
@@ -487,7 +456,7 @@
The External Plugin allows you to add configuration on the fly.
</para>
<para>
- As you have carefully read <xref
linkend="sect-Reference_Guide-Service_Configuration_for_Beginners" /> you
know that <emphasis role="bold">normally</emphasis> newer
configurations always <emphasis role="bold">replaces</emphasis>
previous configurations. An external plugin allows you to <emphasis
role="bold">add</emphasis> configuration without replacing previous
configurations.
+ <emphasis role="bold">Normally</emphasis> newer
configurations always <emphasis role="bold">replaces</emphasis>
previous configurations. An external plugin allows you to <emphasis
role="bold">add</emphasis> configuration without replacing previous
configurations.
</para>
<para>
That can be interesting if you adapt a service configuration for your
project-specific needs (country, language, branch, project, etc.).
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/services-wiring.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/services-wiring.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/services-wiring.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,50 +1,50 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Services_Wiring">
- <title>Services Wiring</title>
- <section id="sect-Reference_Guide-Services_Wiring-Overview">
- <title>Overview</title>
- <para>
- The container package is responsible of building a hierarchy of containers. Each
service will then be registered in one container or the other according to the XML
configuration file it is defined in. It is important to understand that there can be
several PortalContainer instances that all are children of the RootContainer.
- </para>
- <para>
- The behavior of the hierarchy is similar to a class loader one, hence when you will
lookup a service that depends on another one, the container will look for it in the
current container and if it cannot be found, then it will look in the parent container.
That way you can load all the reusable business logic components in the same container
(here the RootContainer) and differentiate the service implementation from one portal
instance to the other by just loading different service implementations in two sibling
PortalContainers.
- </para>
- <para>
- Therefore, if you look at the Portal Container as a service repository for all the
business logic in a portal instance, then you understand why several PortalContainers
allows you to manage several portals (each one deployed as a single war) in the same
server by just changing XML configuration files.
- </para>
- <para>
- The default configuration XML files are packaged in the service jar. There are three
configuration.xml files, one for each container type. In that XML file, we define the list
of services and their init parameters that will be loaded in the corresponding container.
- </para>
+ <title>Services Wiring</title>
+ <section id="sect-Reference_Guide-Services_Wiring-Overview">
+ <title>Overview</title>
+ <para>
+ The container package is responsible of building a hierarchy of containers.
Each service will then be registered in one container or the other according to the XML
configuration file it is defined in. It is important to understand that there can be
several PortalContainer instances that all are children of the RootContainer.
+ </para>
+ <para>
+ The behavior of the hierarchy is similar to a class loader one, hence when
you will lookup a service that depends on another one, the container will look for it in
the current container and if it cannot be found, then it will look in the parent
container. That way you can load all the reusable business logic components in the same
container (here the RootContainer) and differentiate the service implementation from one
portal instance to the other by just loading different service implementations in two
sibling PortalContainers.
+ </para>
+ <para>
+ Therefore, if you look at the Portal Container as a service repository for
all the business logic in a portal instance, then you understand why several
PortalContainers allows you to manage several portals (each one deployed as a single war)
in the same server by just changing XML configuration files.
+ </para>
+ <para>
+ The default configuration XML files are packaged in the service jar. There
are three configuration.xml files, one for each container type. In that XML file, we
define the list of services and their init parameters that will be loaded in the
corresponding container.
+ </para>
- </section>
-
- <section id="sect-Reference_Guide-Services_Wiring-Portal_Instance">
- <title>Portal Instance</title>
- <para>
- As there can be several portal container instances per JVM. it is important to be able
to configure the loaded services per instance. Therefore all the default configuration
files located in the service impl jar can be overridden from the portal war. For more
information refer to <xref
linkend="sect-Reference_Guide-Service_Configuration_for_Beginners" />.
- </para>
+ </section>
+
+ <section id="sect-Reference_Guide-Services_Wiring-Portal_Instance">
+ <title>Portal Instance</title>
+ <para>
+ As there can be several portal container instances per JVM. it is important
to be able to configure the loaded services per instance. Therefore all the default
configuration files located in the service impl jar can be overridden from the portal
war.
+ </para>
- </section>
-
- <section
id="sect-Reference_Guide-Services_Wiring-Introduction_to_the_XML_schema_of_the_configuration.xml_file">
- <title>Introduction to the XML schema of the configuration.xml
file</title>
- <para>
- After deploying you find the configuration.xml file in webapps/portal/WEB-INF/conf Use
component registration tags. Let's look at the key tag that defines the interface and
the type tag that defines the implementation. Note that the key tag is not mandatory, but
it improves performance.
- </para>
-
+ </section>
+
+ <section
id="sect-Reference_Guide-Services_Wiring-Introduction_to_the_XML_schema_of_the_configuration.xml_file">
+ <title>Introduction to the XML schema of the configuration.xml
file</title>
+ <para>
+ After deploying you find the configuration.xml file in
webapps/portal/WEB-INF/conf Use component registration tags. Let's look at the key tag
that defines the interface and the type tag that defines the implementation. Note that the
key tag is not mandatory, but it improves performance.
+ </para>
+
<programlisting language="XML" role="XML"><!-- Portlet
container hooks -->
<component>
<key>org.exoplatform.services.portletcontainer.persistence.PortletPreferencesPersister</key>
<type>org.exoplatform.services.portal.impl.PortletPreferencesPersisterImpl</type>
</component></programlisting>
- <para>
- Register plugins that can act as listeners or external plugin to bundle some plugin
classes in other jar modules. The usual example is the hibernate service to which we can
add hbm mapping files even if those are deployed in an other maven artifact.
- </para>
-
+ <para>
+ Register plugins that can act as listeners or external plugin to bundle some
plugin classes in other jar modules. The usual example is the hibernate service to which
we can add hbm mapping files even if those are deployed in an other maven artifact.
+ </para>
+
<programlisting language="XML"
role="XML"><external-component-plugins>
<target-component>org.exoplatform.services.database.HibernateService</target-component>
<component-plugin>
@@ -61,16 +61,16 @@
</init-params>
</component-plugin>
</external-component-plugins></programlisting>
- <para>
- In that sample we target the HibernateService and we will call its addPlugin() method
with an argument of the type AddHibernateMappingPlugin. That object will first have been
filled with the init parameters.
- </para>
- <para>
- Therefore, it is possible to define services that will be able to receive plugins
without implementing any framework interface.
- </para>
- <para>
- Another example of use is the case of listeners as in the following code where a
listener is added to the OrganisationService and will be called each time a new user is
created:
- </para>
-
+ <para>
+ In that sample we target the HibernateService and we will call its
addPlugin() method with an argument of the type AddHibernateMappingPlugin. That object
will first have been filled with the init parameters.
+ </para>
+ <para>
+ Therefore, it is possible to define services that will be able to receive
plugins without implementing any framework interface.
+ </para>
+ <para>
+ Another example of use is the case of listeners as in the following code
where a listener is added to the OrganisationService and will be called each time a new
user is created:
+ </para>
+
<programlisting language="XML"
role="XML"><external-component-plugins>
<target-component>org.exoplatform.services.organization.OrganizationService</target-component>
<component-plugin>
@@ -100,41 +100,41 @@
</init-params>
</component-plugin>
...</programlisting>
- <para>
- In the previous XML configuration, we refer the organization service and we will call
its method addListenerPlugin with an object of type PortalUserEventListenerImpl. Each time
a new user will be created (apart the predefined ones in the list above) methods of the
PortalUserEventListenerImpl will be called by the service.
- </para>
- <para>
- As you can see, there are several types of init parameters, from a simple value param
which binds a key with a value to a more complex object mapping that fills a JavaBean with
the info defined in the XML.
- </para>
- <para>
- Many other examples exist such as for the Scheduler Service where you can add a job
with a simple XML configuration or the JCR Service where you can add a NodeType from your
own configuration.xml file.
- </para>
+ <para>
+ In the previous XML configuration, we refer the organization service and we
will call its method addListenerPlugin with an object of type PortalUserEventListenerImpl.
Each time a new user will be created (apart the predefined ones in the list above) methods
of the PortalUserEventListenerImpl will be called by the service.
+ </para>
+ <para>
+ As you can see, there are several types of init parameters, from a simple
value param which binds a key with a value to a more complex object mapping that fills a
JavaBean with the info defined in the XML.
+ </para>
+ <para>
+ Many other examples exist such as for the Scheduler Service where you can add
a job with a simple XML configuration or the JCR Service where you can add a NodeType from
your own configuration.xml file.
+ </para>
- </section>
-
- <section
id="sect-Reference_Guide-Services_Wiring-Configuration_retrieval_and_log_of_this_retrieval">
- <title>Configuration retrieval and log of this retrieval</title>
- <para>
- When the RootContainer is starting the configuration retrieval looks for configuration
files in each jar available from the classpath at jar path /conf/portal/configuration.xml
and from each war at path /WEB-INF/conf/configuration.xml. These configurations are added
to a set. If a component was configured in a previous jar and the current jar contains a
new configuration of that component the latest (from the current jar) will replace the
previous configuration.
- </para>
- <para>
- After the processing of all configurations available on the system the container will
initialize it and start each component in order of the dependency injection (DI).
- </para>
- <para>
- So, in general the user/developer should be careful when configuring the same
components in different configuration files. It's recommended to configure service in
its own jar only. Or, in case of a portal configuration, strictly reconfigure the
component in portal files.
- </para>
- <para>
- But, there are components that can be (or should be) configured more than one time.
This depends on the business logic of the component. A component may initialize the same
resource (shared with other players) or may add a particular object to a set of objects
(shared with other players too). In the first case it's critical who will be the last,
i.e. whose configuration will be used. In second case it doesn't matter who is the
first and who is the last (if the parameter objects are independent).
- </para>
- <para>
- In case of problems with configuration of component it's important to know from
which jar/war it comes. For that purpose user/developer can set JVM system property
<emphasis
role="bold">org.exoplatform.container.configuration.debug</emphasis>,
in command line:
- </para>
-
+ </section>
+
+ <section
id="sect-Reference_Guide-Services_Wiring-Configuration_retrieval_and_log_of_this_retrieval">
+ <title>Configuration retrieval and log of this retrieval</title>
+ <para>
+ When the RootContainer is starting the configuration retrieval looks for
configuration files in each jar available from the classpath at jar path
/conf/portal/configuration.xml and from each war at path /WEB-INF/conf/configuration.xml.
These configurations are added to a set. If a component was configured in a previous jar
and the current jar contains a new configuration of that component the latest (from the
current jar) will replace the previous configuration.
+ </para>
+ <para>
+ After the processing of all configurations available on the system the
container will initialize it and start each component in order of the dependency injection
(DI).
+ </para>
+ <para>
+ So, in general the user/developer should be careful when configuring the same
components in different configuration files. It's recommended to configure service in
its own jar only. Or, in case of a portal configuration, strictly reconfigure the
component in portal files.
+ </para>
+ <para>
+ But, there are components that can be (or should be) configured more than one
time. This depends on the business logic of the component. A component may initialize the
same resource (shared with other players) or may add a particular object to a set of
objects (shared with other players too). In the first case it's critical who will be
the last, i.e. whose configuration will be used. In second case it doesn't matter who
is the first and who is the last (if the parameter objects are independent).
+ </para>
+ <para>
+ In case of problems with configuration of component it's important to
know from which jar/war it comes. For that purpose user/developer can set JVM system
property <emphasis
role="bold">org.exoplatform.container.configuration.debug</emphasis>,
in command line:
+ </para>
+
<programlisting>java -Dorg.exoplatform.container.configuration.debug
...</programlisting>
- <para>
- With that property container configuration manager will report configuration adding
process to the standard output (System.out).
- </para>
-
+ <para>
+ With that property container configuration manager will report configuration
adding process to the standard output (System.out).
+ </para>
+
<programlisting> ......
Add configuration
jar:file:/D:/Projects/eXo/dev/exo-working/exo-tomcat/lib/exo.kernel.container-trunk.jar!/conf/portal/configuration.xml
Add configuration
jar:file:/D:/Projects/eXo/dev/exo-working/exo-tomcat/lib/exo.kernel.component.cache-trunk.jar!/conf/portal/configuration.xml
@@ -145,7 +145,7 @@
import jndi:/localhost/portal/WEB-INF/conf/jcr/jcr-configuration.xml
......</programlisting>
- </section>
+ </section>
</section>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/transaction-service.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/transaction-service.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/transaction-service.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-TransactionService">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/understanding-listnerservice.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/understanding-listnerservice.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel/understanding-listnerservice.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,61 +1,38 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Understanding_the_ListenerService">
- <title>Understanding the ListenerService</title>
- <para>
- <emphasis role="bold">Related documents</emphasis>
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <xref linkend="sect-Reference_Guide-Service_Configuration_for_Beginners"
/>
- </para>
+ <title>Understanding the ListenerService</title>
- </listitem>
- <listitem>
- <para>
- <xref linkend="sect-Reference_Guide-Service_Configuration_in_Detail"
/>
- </para>
+ <section
id="sect-Reference_Guide-Understanding_the_ListenerService-Objectives">
+ <title>Objectives</title>
+ <para>
+ This article will first describe how the ListenerService works and then it
will show you how to configure the ListenerService.
+ </para>
- </listitem>
- <listitem>
- <para>
- <xref linkend="sect-Reference_Guide-Container_Configuration" />
- </para>
+ </section>
+
+ <section
id="sect-Reference_Guide-Understanding_the_ListenerService-What_is_the_ListenerService_">
+ <title>What is the ListenerService ?</title>
+ <para>
+ Inside eXo, an event mechanism allows to trigger and listen to events under
specific conditions. This mechanism is used in several places in eXo such as login/logout
time.
+ </para>
- </listitem>
-
- </itemizedlist>
- <section
id="sect-Reference_Guide-Understanding_the_ListenerService-Objectives">
- <title>Objectives</title>
- <para>
- This article will first describe how the ListenerService works and then it will show
you how to configure the ListenerService.
- </para>
-
- </section>
-
- <section
id="sect-Reference_Guide-Understanding_the_ListenerService-What_is_the_ListenerService_">
- <title>What is the ListenerService ?</title>
- <para>
- Inside eXo, an event mechanism allows to trigger and listen to events under specific
conditions. This mechanism is used in several places in eXo such as login/logout time.
- </para>
-
- </section>
-
- <section
id="sect-Reference_Guide-Understanding_the_ListenerService-How_does_it_work">
- <title>How does it work?</title>
- <para>
- Listeners must be subclasses of org.exoplatform.services.listener.Listener registered
by the ListenerService.
- </para>
- <section
id="sect-Reference_Guide-How_does_it_work-Registering_a_listener">
- <title>Registering a listener</title>
- <para>
- To register a listener, you need to call the addListener() method.
- </para>
-
+ </section>
+
+ <section
id="sect-Reference_Guide-Understanding_the_ListenerService-How_does_it_work">
+ <title>How does it work?</title>
+ <para>
+ Listeners must be subclasses of org.exoplatform.services.listener.Listener
registered by the ListenerService.
+ </para>
+ <section
id="sect-Reference_Guide-How_does_it_work-Registering_a_listener">
+ <title>Registering a listener</title>
+ <para>
+ To register a listener, you need to call the addListener() method.
+ </para>
+
<programlisting language="Java" role="Java">/**
* This method is used to register a listener with the service. The method
* should: 1. Check to see if there is a list of listener with the listener
@@ -67,18 +44,18 @@
public void addListener(Listener listener) {
...
}</programlisting>
- <para>
- By convention, we use the listener name as the name of the event to listen to.
- </para>
+ <para>
+ By convention, we use the listener name as the name of the event to
listen to.
+ </para>
- </section>
-
- <section
id="sect-Reference_Guide-How_does_it_work-Triggering_an_event">
- <title>Triggering an event</title>
- <para>
- To trigger an event, an application can call one of the broadcast() methods of
ListenerService.
- </para>
-
+ </section>
+
+ <section
id="sect-Reference_Guide-How_does_it_work-Triggering_an_event">
+ <title>Triggering an event</title>
+ <para>
+ To trigger an event, an application can call one of the broadcast()
methods of ListenerService.
+ </para>
+
<programlisting language="Java" role="Java">/**
* This method is used to broadcast an event. This method should: 1. Check if
* there is a list of listener that listen to the event name. 2. If there is a
@@ -112,13 +89,13 @@
public <T extends Event> void broadcast(T event) throws Exception {
...
}</programlisting>
- <para>
- The boadcast() methods retrieve the name of the event and find the registered
listeners with the same name and call the method onEvent() on each listener found.
- </para>
- <para>
- Each listener is a class that extends org.exoplatform.services.listener.Listener, as
you can see below:
- </para>
-
+ <para>
+ The boadcast() methods retrieve the name of the event and find the
registered listeners with the same name and call the method onEvent() on each listener
found.
+ </para>
+ <para>
+ Each listener is a class that extends
org.exoplatform.services.listener.Listener, as you can see below:
+ </para>
+
<programlisting language="Java" role="Java">public abstract
class Listener<S, D> extends BaseComponentPlugin {
/**
@@ -127,16 +104,16 @@
*/
public abstract void onEvent(Event<S, D> event) throws Exception;
}</programlisting>
- <warning>
- <para>
- As you can see we use generics to limit the source of the event to the type
'S' and the data of the event to the type 'D', so we expect that listeners
implement the method onEvent() with the corresponding types
- </para>
+ <warning>
+ <para>
+ As you can see we use generics to limit the source of the event to
the type 'S' and the data of the event to the type 'D', so we expect that
listeners implement the method onEvent() with the corresponding types
+ </para>
- </warning>
- <para>
- Each listener is also a ComponentPlugin with a name and a description, in other
words, the name of the listener will be the name given in the configuration file, for more
details see the next section.
- </para>
-
+ </warning>
+ <para>
+ Each listener is also a ComponentPlugin with a name and a description, in
other words, the name of the listener will be the name given in the configuration file,
for more details see the next section.
+ </para>
+
<programlisting language="Java" role="Java">public interface
ComponentPlugin {
public String getName();
@@ -147,17 +124,17 @@
public void setDescription(String description);
}</programlisting>
- </section>
-
+ </section>
+
- </section>
-
- <section
id="sect-Reference_Guide-Understanding_the_ListenerService-How_to_configure_a_listener">
- <title>How to configure a listener?</title>
- <para>
- All listeners are in fact a ComponentPlugin so it must be configured as below:
- </para>
-
+ </section>
+
+ <section
id="sect-Reference_Guide-Understanding_the_ListenerService-How_to_configure_a_listener">
+ <title>How to configure a listener?</title>
+ <para>
+ All listeners are in fact a ComponentPlugin so it must be configured as
below:
+ </para>
+
<programlisting language="XML" role="XML"><?xml
version="1.0" encoding="ISO-8859-1"?>
<configuration>
...
@@ -177,22 +154,22 @@
</external-component-plugins>
</configuration></programlisting>
- </section>
-
- <section
id="sect-Reference_Guide-Understanding_the_ListenerService-Concrete_Example">
- <title>Concrete Example</title>
- <para>
- The org.exoplatform.services.security.ConversationRegistry uses the ListenerService to
notify that a user has just signed in or just left the application. For example, when a
new user signs in, the following code is called:
- </para>
-
+ </section>
+
+ <section
id="sect-Reference_Guide-Understanding_the_ListenerService-Concrete_Example">
+ <title>Concrete Example</title>
+ <para>
+ The org.exoplatform.services.security.ConversationRegistry uses the
ListenerService to notify that a user has just signed in or just left the application. For
example, when a new user signs in, the following code is called:
+ </para>
+
<programlisting language="Java"
role="Java">listenerService.broadcast("exo.core.security.ConversationRegistry.register",
this, state);</programlisting>
- <para>
- This code will in fact create a new Event which name is
"exo.core.security.ConversationRegistry.register", which source is the current
instance of ConversationRegistry and which data is the given state. The ListenerService
will call the method onEvent(Event<ConversationRegistry, ConversationState>
event) on all the listeners which name is
"exo.core.security.ConversationRegistry.register".
- </para>
- <para>
- In the example below, we define a Listener that will listen the event
"exo.core.security.ConversationRegistry.register".
- </para>
-
+ <para>
+ This code will in fact create a new Event which name is
"exo.core.security.ConversationRegistry.register", which source is the current
instance of ConversationRegistry and which data is the given state. The ListenerService
will call the method onEvent(Event<ConversationRegistry, ConversationState>
event) on all the listeners which name is
"exo.core.security.ConversationRegistry.register".
+ </para>
+ <para>
+ In the example below, we define a Listener that will listen the event
"exo.core.security.ConversationRegistry.register".
+ </para>
+
<programlisting language="XML" role="XML"><?xml
version="1.0" encoding="ISO-8859-1"?>
<configuration>
...
@@ -213,7 +190,7 @@
</configuration>
...</programlisting>
- </section>
+ </section>
</section>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR/kernel.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,29 +1,29 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-eXoKernel">
- <title>eXoKernel</title>
- <xi:include href="kernel/kernel.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/exo-container.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/service-configuration-for-beginners.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/service-configuration-in-detail.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/container-configuration.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/inversion-of-control.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/services-wiring.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/component-plugin-priority.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/understanding-listnerservice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/initialcontext-binder-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/job-scheduler-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/cache.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/transaction-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/data-source-provider.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/jndi-naming.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/logging.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/manageability.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/listener-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="kernel/rpc-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <title>eXoKernel</title>
+ <!--<xi:include href="kernel/kernel.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
+ <!--<xi:include href="kernel/exo-container.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
+ <!--<xi:include
href="kernel/service-configuration-for-beginners.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
+ <!--<xi:include href="kernel/service-configuration-in-detail.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
+ <!--<xi:include href="kernel/container-configuration.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
+ <!--<xi:include href="kernel/inversion-of-control.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
+ <xi:include href="kernel/services-wiring.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="kernel/component-plugin-priority.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="kernel/understanding-listnerservice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="kernel/initialcontext-binder-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="kernel/job-scheduler-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="kernel/cache.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="kernel/transaction-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="kernel/data-source-provider.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="kernel/jndi-naming.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="kernel/logging.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="kernel/manageability.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="kernel/listener-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="kernel/rpc-service.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</section>
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced/eXoJCR.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,12 +1,12 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-eXo_JCR">
<title>eXo JCR</title>
<xi:include href="eXoJCR/jcr.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="eXoJCR/kernel.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <!--<xi:include href="eXoJCR/kernel.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
<!--<xi:include href="eXoJCR/core.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
<!--<xi:include href="eXoJCR/ws.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />-->
<xi:include href="eXoJCR/jcr-with-gatein.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Advanced.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE part PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<part id="part-Reference_Guide-Advanced_Development">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/AccessingUserProfile.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/AccessingUserProfile.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/AccessingUserProfile.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Accessing_User_Profile">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/AuthenticationTokenConfiguration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/AuthenticationTokenConfiguration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/AuthenticationTokenConfiguration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Authentication_Token_Configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/BackendConfiguration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-PicketLink_IDM_integration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/LDAP.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/LDAP.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/LDAP.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-LDAP_Integration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/OrganizationAPI.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/OrganizationAPI.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/OrganizationAPI.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Organization_API">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/PredefinedUserConfiguration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Predefined_User_Configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/SSO.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/SSO.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity/SSO.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-SSO_Single_Sign_On">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/AuthenticationAndIdentity.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Authentication_and_Identity">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Configuration/DatabaseConfiguration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Configuration/DatabaseConfiguration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Configuration/DatabaseConfiguration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Database_Configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Configuration/EMailServiceConfiguration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Configuration/EMailServiceConfiguration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Configuration/EMailServiceConfiguration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-E_Mail_Service_Configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Configuration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Configuration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Configuration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/GadgetDevelopment/Gadgets.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/GadgetDevelopment/Gadgets.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/GadgetDevelopment/Gadgets.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Concept">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/GadgetDevelopment/SetupGadgetServer.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/GadgetDevelopment/SetupGadgetServer.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/GadgetDevelopment/SetupGadgetServer.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Advanced_Gadget_Administration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/GadgetDevelopment.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/GadgetDevelopment.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/GadgetDevelopment.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Gadgets">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Introduction.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Introduction.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/Introduction.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Introduction">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/DefaultPortalConfiguration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/DefaultPortalConfiguration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/DefaultPortalConfiguration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Default_Portal_Configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/DefaultPortalNavigationConfiguration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/DefaultPortalNavigationConfiguration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/DefaultPortalNavigationConfiguration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Portal_Navigation_Configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/DefaultPortalPermissionConfiguration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/DefaultPortalPermissionConfiguration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/DefaultPortalPermissionConfiguration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter
id="chap-Reference_Guide-Portal_Default_Permission_Configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/InternationalizationConfiguration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/InternationalizationConfiguration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/InternationalizationConfiguration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Internationalization_Configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/JavascriptConfiguration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/JavascriptConfiguration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/JavascriptConfiguration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Javascript_Configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/JavascriptInterApplicationCommunication.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/JavascriptInterApplicationCommunication.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/JavascriptInterApplicationCommunication.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter
id="chap-Reference_Guide-JavaScript_Inter_Application_Communication">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/LocalizationConfiguration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/LocalizationConfiguration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/LocalizationConfiguration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Localization_Configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/PortalLifecycle.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/PortalLifecycle.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/PortalLifecycle.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Portal_Life_cycle">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/RTLFramework.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/RTLFramework.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/RTLFramework.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Right_To_Left_RTL_Framework">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/Skinning.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/Skinning.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/Skinning.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Skinning_the_Portal">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/XMLResourceBundles.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/XMLResourceBundles.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment/XMLResourceBundles.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-XML_Resources_Bundles">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortalDevelopment.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE part PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<part id="part-Reference_Guide-Portal_Development">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/Global_Portlet.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/Global_Portlet.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/Global_Portlet.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Global_Portlet_Data">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/configuration.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/configuration.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/configuration.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Bridge_Configuration">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/gettingstarted.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/gettingstarted.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/gettingstarted.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section
id="sect-Reference_Guide-Getting_started_with_JBoss_Portlet_Bridge">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/overview.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/overview.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/overview.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-JBoss_Portlet_Bridge_Overview">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/portlet_development.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/portlet_development.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge/portlet_development.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<section id="sect-Reference_Guide-Developing_Portlets_with_the_Bridge">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/PortletBridge.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Building_JSF_Portlets">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/Standard.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/Standard.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment/Standard.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter id="chap-Reference_Guide-Portlet_Primer">
Modified:
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment.xml
===================================================================
---
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++
epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/PortletDevelopment.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE part PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<part id="part-Reference_Guide-Portlet_development">
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/WSRP.xml
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/WSRP.xml 2011-10-03
03:47:26 UTC (rev 7592)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/en-US/modules/WSRP.xml 2011-10-03
04:22:11 UTC (rev 7593)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Reference_Guide_eXo_JCR_1.14.ent">
%BOOK_ENTITIES;
]>
<chapter
id="chap-Reference_Guide-Web_Services_for_Remote_Portlets_WSRP">
Modified: epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/publican.cfg
===================================================================
--- epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/publican.cfg 2011-10-03 03:47:26 UTC
(rev 7592)
+++ epp/docs/branches/5.2/Reference_Guide-eXoJCR-1.14/publican.cfg 2011-10-03 04:22:11 UTC
(rev 7593)
@@ -9,4 +9,5 @@
brand: JBoss
debug: 1
type: Book
+toc_section_depth: 10