|
Release Notes
For Adobe CRX, Version 2.3
| Product |
CRX 2.3 |
| Version |
2.3.17.20120322 |
| Date |
March 30, 2012
|
| Type |
Minor Release
|
The release cycle for this release of Adobe CRX started on March 15, 2011, went through 25 iterations of development, quality assurance and bug fixing, and ended on March 22, 2012. The total number of customer related issues including enhancements and new features fixed in this release is 150 compared to the CRX 2.2.0 code base, and many more in the open source modules used by CRX (Apache Jackrabbit/Sling/Felix). This release is based on a new archirtecture, Granite, which makes OSGi the runtime for all the product modules, including the content repository.
CRX 2.3 is Generally Available since March 30, 2012.
CRX 2.3 is released as a standalone product, as well as the content and application platform embedded in CQ 5.5.0 release (GA on February 25, 2012). Both CQ 5.5 and CRX 2.3 standalone release include the same core repository, OSGi and Sling application framework.
Adobe CRX is an application platform for content management systems and content-centric applications. Built upon a new Granite architecture, the platform provides a solid foundation for deploying content management solutions and underpins all Adobe CQ products, including CQ WEM, CQ DAM, CQ Social Communities, and Campaign Management.
CRX is based on an OSGi-compliant service platform for managing execution and lifecycle management of dynamic libraries. An embedded content repository fully compliant with the Java Content Repository API (JCR) standard makes your high value content easily accessible for any application. CRX also provides an application development and delivery platform, based on the Apache Sling RESTful web application framework.
CRX is a packaged version of the open-source Apache Jackrabbit, Sling, and Felix projects, enriched with unique enterprise features for high availability, superior performance, reliability, scalability, security, and desktop integration. Easy to install and configure, CRX manages both structured and unstructured content and enables content-centric business applications to take advantage of the repository’s content services and the flexible and extensible content storage. Using this standard compliant content repository protects your investment in content and applications and makes your content infrastructure future-proof and sustainable.
CRX 2.3 is the content and application platform powering all the CQ 5.5 products.
CRX 2.3 is a minor release that supports the latest version 2.0 of the Java Content Repository standard, JCR 2.0 (released under JSR-283 specification request in September 2009). It provides major add-ons, key customer fixes, high-priority customer enhancements and general bug fixes oriented toward product stabilization. It also includes all the feature pack and hot fix releases from the previous CRX 2.2 release.
CRX as an enterprise content repository and web development platform provides enterprises and developers tools for developing and hosting composite content applications (formerly known as Content Enabled Vertical Applications, or CEVAs). It has the following benefits:
- Provides key software infrastructure
- Unlocks critical information locked in “air tight” departmental silos
- Delivers a solution based on widely accepted industry standards
- Allows for agile development and enterprise deployment of composite content applications
Main CRX Features include:
- Fully Compliant JCR Implementation, supporting the JCR 2 Standard
- Based on a new "Granite" internal architecture for simplified deployment, operations, and upgrades
- Designed for Enterprise Production
- Scalability
- Support for Cloud Deployments
- Easy to Install and Manage
- Native Support For Any Content: Unstructured and Structured
- Powerful Search and Indexing Based on Apache Lucene Engine
- Virtual Repository Support
- Providing a series of JCR Connector products
- Content Accessible By Any Application or Desktop
- Enterprise-Class Security and Single Sign-On
- JMX-based monitoring and management
- CRX Includes a Part of CQ5 Platform Application Development Platform
- RESTful Rapid Application Development Framework based on Apache Sling
- OSGi Service Platform based on Apache Felix
- IDEs and Development Tools Supporting Different Development Processes and Environments
This release of CRX provides the following key enhancements.
This release of CRX has been refactored around a new internal architecture, called Granite. It makes the OSGi framework the runtime deployment environment for all of the CRX modules, including the content repository. It provides the following enhancements over the previous CRX architecture, based on separate web applications for the content repository and the rest of the system:
- The whole CRX product is now run inside the bundled OSGi container
- Simplified deployment into application servers with a single WAR file
- CRX repository is now an OSGi service, simplifying deployment, extending and upgrading of the repository modules
- Monitoring and remote management of CRX is now possible via the standard JMX protocol
- Unified Package Manager for CRX and all CQ application available in CRX
- Management UIs (like clustering or backup) based on the JMX services and implemented in jQuery Mobile
- CQ Replication module has been moved to Granite (CRX) and is now available to all the applications running on CRX
Scalability, Clustering, Resilience
Improving scalability and resilience of the system has been a major focus on this release. CRX active clustering underwent a series of enhancements as a part of this initiative. We worked with selected partners and customers on ensuring that the clustered system is more robust and can automatically recover from more and more types of infrastructure and system-level problems.
Some of the more important enhancements in this area are:
- Enhanced resilience of the cluster - it's ability to automatically recover from various infrastructure and system problems
- General improvements in clustering stability and reliability
- Fixed clustering instabilities for various start/stop sequences
- Optimized memory consumption of full-text indexing of binaries
- Added option of out-of-process indexing of binaries
- Improved robustness under load
The main focus of these enhancements has been the Shared Nothing mode of Active Clustering, which is the recommended way of deploying clustered instances since CRX 2.2 / CQ 5.4.
Improvements in Operational Efficiency
Another main focus area of this release was on improving the operational efficiency and enteprise readiness of the repository. The following aspects were improved in this release:
- Incremental backup performance improved
- Improved TarPM optimization
- Search improvements
- Tightened security
- Improved hierarchy cache initialization efficiency
Developer-Focused Enhancements
Some improvements focused on developer productivity has been made in this release. The most important of them are listed below:
- Additional mode for the "vlt" tool - automatic syncing between the repository and the local filesystem
- CRXDE Lite and CRX Package Manager are localized in English, German, French and Japanese
- CRXDE Lite has an ACL editor
- Configuration changes made in Felix Console are written into the repository (instead of the file system)
There are many smaller enhancements and stability bugfixes present in this release. Some more interesting ones are listed here:
- Updated CRX welcome screen
- Improved PDF text extraction
- IPv6 compliance
For a comprehensive list of enhancements please see Changes.
Please see Recent Updates page for a comprehensive list of latest CRX and CQ5 documentation updates. The page also provides an RSS feed, so you can subscribe to it to get the updates automatically to your desktop RSS client.
For customers, the delivery of licensed software is handled over the Adobe Licensing Website (LWS). Please visit licensing.adobe.com after you received the LWS upgrade coupon for Adobe CRX 2.3 via email.
For partners, the delivery of licensed software is handled over the Adobe Partner Connection Portal. Please visit Adobe Partner Connection Portal.
At a later point in time after the release, we will also provide the following ways of obtaining CRX 2.3:
- Customers and parters will be able to download their copy of CRX from Day support portal, daycare.day.com.
- CRX developers and those who would like to evaluate CRX technology and product will be able to download a trial of CRX 2.3 and request a license key at CRX download page. The license will be delivered via email.
See Download and Start Working to get started with CRX quickly.
To upgrade your repository to the newest version, follow these instructions:
Thank you for for using our products.
Note
Existing CQ installations cannot be upgraded to CRX 2.3 because the deployment model for the repository changed with CQ 5.5 and CRX 2.3. The repository is now deployed as an OSGi bundle and does not run in a separate web application anymore.
This section presents important pieces of information about the release.
The default port for CRX has been unified with CQ and is now 4502. The default URL for CRX instance is thus http://localhost:4502/.
Changes in Default Configuration
The following list presents the most important changes in the default configuration of CRX repository instances between the last version CRX 2.2 and CRX 2.3.
- The default UserManager class changed in CRX 2.3 from com.day.crx.core.CRXUserManagerImpl to org.apache.jackrabbit.core.security.user.UserPerWorkspaceUserManager. The additional functionality provided by CRXUserManagerImpl is now provided as AuthorizableAction classes. In particular this includes the NTLMAuthorizableAction, which provides functionality required to support NTLM authentication.
- Support for NTLM authentication is disabled in the CRX 2.3 default repository configuration. See commented AuthorizableAction in UserManager element and disableNTLMAuth parameter in LoginModule element.
- The UserManager in CRX 2.3 is configured with a AccessControlAction, which allows to setup permissions upon creation of a new authorizable; namely the privileges the new authorizable should be granted on it's own 'home directory' being represented by the new node associated with that new authorizable. See also Jackrabbit 2.4 JavaDoc for the class AccessControlAction.
- Several modules have been removed from the default CRX 2.3 repository configuration.
- LicenseModule: this functionality is now part of Granite.
- ReplicationManager: this module has been removed from CRX and is no longer available. CRX 2.3 now ships with the replication functionality from CQ.
- VirtualRepositoryModule: this module is disabled in the default CRX 2.3 repository configuration.
- AutoInstaller: this module is disabled in the default CRX 2.3 repository configuration.
- com.day.crx.core.CRXUserManagerImpl in the repository configuration is deprecated and should be replaced with org.apache.jackrabbit.core.security.user.UserPerWorkspaceUserManager. The NTLM authentication support functionality provided by CRXUserManagerImpl is available as NTLMAuthorizableAction. See also the default repository configuration for CRX 2.3.
- Some IOManager implementations related to WebDAV configuration have been deprecated because it is now possible to better parametrize default implementations. See also Jackrabbit issue JCR-3045.
- com.day.crx.io.CRXDefaultIOManager
- com.day.crx.io.CRXDefaultPropertyManager
- com.day.crx.io.CrxIOManager
- com.day.crx.io.CrxPropertyManager
Location of default indexing configuration
The location of the default search indexing configuration changed in CQ 5.5. Previously the default indexing configuration was located in the exploded CRX web application archive (crx-quickstart/server/runtime/0/_crx/WEB-INF/classes/indexing_config.xml). Now the default configuration is embedded in the repository bundle deployed in the OSGi container. Please use the default CQ 5.5 configuration provided in the KB as a starting point when you need to customize the configuration.
Versions of External Libraries
Day CRX directly includes Apache Jackrabbit as a set of external libraries. Please see the section on product changes in 3rd-party modules to learn more about exact versions used in CRX 2.3.
This section presents compatibiltiy of CRX 2.3 with other products.
CRX 2.3 is released as a part of CQ 5.5, and thus explicitly supported.
CQ 5.1-5.4 and CQ 3.x-4.x
These versions of CQ5 have to be upgraded to CQ 5.5. Repository upgrade to CRX 2.3 is not supported due to the change in architecture.
See Repository Upgrade documentation.
Upgrade: CRX 2.0 is only available embedded in CQ 5.3. As such, it can only be upgraded to CRX 2.3 with a CQ upgrade to 5.5.
Upgrade: See Upgrading to CRX 2.3 for upgrade instructions. As CRX 2.3 is a major release, it is generally recommended to upgrade your repository to the latest CRX 1.x version first (CRX 1.4.2.PS1), and then upgrade it to CRX 2.3.
Remote connection / virtual repository mount. RMI in CRX 2 does not support connecting between mixed versions of the JCR API. You can use WebDAV / DAVEx Remoting instead to mount workspaces from CRX 1.x repositories into CRX 2.x primary workspaces.
This recommendation is particularly relevant to connector integration between CRX 2.x (and CQ 5 version based on CRX 2, namely CQ 5.3 and higher) and Day JCR Connectors, which require CRX 1.x as a framework. For such an use case the following setup for Virtual Repository mount is recommended:
- WebDAV remoting server in CRX 1.x connector instance upgraded to the latest version 1.6 from Jackrabbit
- Token authentication in CRX 2.x instance must be turned off for virtual repository mapping to work
Upgrading WebDAV remoting server in CRX 1.3.x. The WebDAV remoting support in CRX 1.3.x does not have all the features expected (by default) by the WebDAV remoting client in CRX 2.x. The easiest way to set up a WebDAV remoting connection from CRX 2.x to CRX 1.3.x is to use the latest Jackrabbit 1.6.x jars to upgrade the WebDAV support in the CRX 1.3.x instance.
Here's how to do this:
Download the following jars (for example from within the jackrabbit-webapp war that's available on the Jackrabbit download page) and place them in the server/runtime/0/_crx/WEB-INF/lib/ directory:
- jackrabbit-api-1.6.x.jar
- jackrabbit-jcr-commons-1.6.x.jar
- jackrabbit-jcr-server-1.6.x.jar
- jackrabbit-webapp-1.6.x.jar
- jackrabbit-webdav-1.6.x.jar
- commons-fileupload-1.2.1.jar
In server/runtime/0/_crx/WEB-INF/web.xml, replace the existing JCRWebdavServer servlet configuration with the following:
<servlet> <servlet-name>JCRWebdavServer</servlet-name> <servlet-class>org.apache.jackrabbit.j2ee.JcrRemotingServlet</servlet-class> <init-param> <param-name>resource-path-prefix</param-name> <param-value>/server</param-value> </init-param> <init-param> <param-name>missing-auth-mapping</param-name> <param-value></param-value> </init-param> <load-on-startup>5</load-on-startup> </servlet>
Also in server/runtime/0/_crx/WEB-INF/web.xml, add the following servlet configuration:
<servlet> <servlet-name>JackrabbitRepositoryAccessServlet</servlet-name> <servlet-class>org.apache.jackrabbit.j2ee.RepositoryAccessServlet</servlet-class> <init-param> <param-name>repository-name</param-name> <param-value>crx</param-value> </init-param> <init-param> <param-name>java.naming.provider.url</param-name> <param-value>http://jcr.day.com</param-value> </init-param> <init-param> <param-name>java.naming.factory.initial</param-name> <param-value>com.day.util.jndi.provider.MemoryInitialContextFactory</param-value> </init-param> <load-on-startup>10</load-on-startup> </servlet>
Restart the CRX 1.3.x instance.
You can then create a virtual repository connection to the updated CRX 1.3.x instance using configuration like this:
/etc/virtual-repositories/virtual-crx/mnt/crx132
- address=crx.default@http://<host>:<port>/crx/server
for example:
/etc/virtual-repositories/virtual-crx/mnt/crx132/
- address=crx.default@http://localhost:7788/crx/server
+ .params
- enabled=true
-org.apache.jackrabbit.spi2dav.uri=http://localhost:7788/crx/server
Restart the crx 2.3 instance. The content from the mounted CRX 1.3.x instance should be visible.
JCR Connectors and Adapters from Adobe
Compatible. Install the connector content package from PackageShare in version at least 2.0.1, which can be installed into CRX 2.x repositories (the initially released version 2.0.0 of the SharePoint connector / initial content package works with CRX 1.4.2 repositories).
Note: the virtual repository module is disabled by default in CQ 5.5, and needs to be enabled to leverage connector-based integration.
JCR Connector for SharePoint 2007
Compatible. Install the connector content package from PackageShare in version at least 2.0.1, which can be installed into CRX 2.x repositories (the initially released version 2.0.0 of the SharePoint connector / initial content package works with CRX 1.4.2 repositories).
JCR Connectors Based on CRX 1.x
Other JCR connectors are based on CRX 1.x framework, and are compatible with CRX 2.3 through remote virtual repository mounting.
You can mount the connector JCR mapping of a 3rd party repository (EMC Documentum, OpenText Livelink, etc) into CRX 2.3 repository by following these steps:
- Install connector into the supported version of CRX (usually, CRX 1.3.2) according to connector documentation
- Upgrade WebDAV remoting server in the connector instance to the latest version from Jackrabbit 1.3.
- In CRX 2.3 instance
- Turn off the token authentication in CRX login module configuration. This is required for virtual repository mapping to work.
- Configure virtual repository mount point to your connector instance via WebDAV remoting.
For the last two steps follow the instructions in Compatibility with CRX 1.x above.
JCR Connector for EMC Documentum 5.x
To connect to Documentum connector v 2.0 (based on CRX 1.3.2) via WebDAV remoting, the following setting should be added to the connector workspace.xml file
- dm_type should be added to the deniedObjects list
Integration with Microsoft FAST ESP Search Engine
For integrating CQ5 sysems with Microsoft FAST ESP search engine, the recommended approach is to use the CQ FAST Connector module built on top of CQ5 replication agent architecture. It is available as FeaturePack, please contact Custom Engineering department for more information.
The FAST to JCR Adapter add-on product, operating directly on the JCR level, has been discontinued due to limited demand. It is no longer available from Adobe.
Day plugins for Eclipse have been updated to work with CRX 2.x repositories. Please see www.day.com/eclipse for more information and instructions.
CRX Feature for Eclipse. This set of plugins provide Eclipse users with the ability to browse and edit repository content, JCR tree, from within Eclipse IDE. We appreciate that there has been customer interest in this feature, and we have updated it to work with CRX 2.x repositories.
Day Servlet Engine Feature for Eclipse (deprecated). This feature is no longer compatible with the new Granite architecture.
Apache Jackrabbit Compatibility
The drop-in, source-code compatibility with Apache Jackrabbit has been maintained by CRX since version CRX 1.4. CRX 2.3 is compatible with Apache Jackrabbit 2.4.
JCR Remoting. JCR remoting based on extended WebDAV protocol, Apache Jackrabbit SPI architecture, and DAVEx extensions, is the recommended JCR remoting protocol for CRX 2. As of CRX 2.0 it covers most JCR 1.x methods, and some JCR 2.0 features. The coverage of the JCR 2.0 APIs will be improved in the upcoming releases.
The following JSR 170 feature is currently not implemented:
The following JSR 283 features are currently not implemented:
- AccessControl Management
- LifeCycle Management (JCR-2228)
- Retention Management (JCR-2114)
- Shareable Nodes (JCR-2099)
- Versioning: Activities & Configuration (JCR-2104)
- Versioning: Simple (JCR-2112)
- Workspace Management (create/delete)
These are the known limitations of the current SPI/DAVEx remoting implementation:
- Reregistration of namespaces is not reflected to existing session (re-login required).
- Wrong Item.isSave() evaluation under certain circumstances (JCR-2560)
- Same-name Property and Node will cause NPE (JCR-1616)
- XML Import: ConstraintViolationEx. instead of SAXException/InvalidSerializedDataEx.
- Missing possibility to validate added lock tokens
- Change Polling fills jcr.log with WARN entries (JCR-2566)
- Query: Validation of statement (JCR-2533)
- Query: Bind value and retrieve bind variable names (JCR-2533)
The same concerns RMI coverage for JCR 2.x. See Apache Jackrabbit issue JCRRMI-26 for tracking progress of this.
CRXDE Light. We recommend to use the new, standard-compliant browsers to work with CRXDE. Users might experience problems or performance degradation when using older browsers, specifically Microsoft IE 6.
CRXDE. The time that CRXDE needs to connect to a repository depends on the repository size. For CQ5 deployments, especially with much content under /libs, /etc, and /apps folders it can take some time after OK is clicked on the Repository Login dialog.
Virtual Repository Mount. Virtual repository mount not possible with token-based authentication. The workaround is to disable the token based authentication in the Login Module.
This need to be adjusted accordingly if CRX is run with JAAS configuration. Similarly if CRX is run with a combination of LDAPLoginModule and CRXLoginModule the disableTokenAuth flag must be set for the LDAPLoginModule as well unless the user-sync isn't set to NONE.
Here's an example of how the token-based authentication can be disabled in repository.xml:
<LoginModule class="com.day.crx.core.CRXLoginModule"> <param name="anonymousId" value="anonymous"/> <param name="adminId" value="admin"/> <param name="disableTokenAuth" value="true"/> </LoginModule>
The list of known issues for this release with workaround information where available is presented below.
- 15170 - CIFS does not work with Microsoft Windows Vista
- Microsoft Windows Vista and newer versions are currently not supported clients for the CIFS integration of CRX
- 17647 - Search: Indexing of some PDF 1.3 files fails
- This happens because of a bug in 3rd party PDFbox library used to parse PDF files (bug ref. #1786901 - IOException when parsing 1.3 PDF).
- 27265 - Installing large packages on CRX instances running on Java 5 may fail
- Workaround: switch to Java 6 or use a higher save threshold setting in Install /
Advanced Settings.
- 28023 - Check out of content with custom, not-yet-registered node types fails
- Workaround: Custom node type(s) need to be installed manually prior to
check out.
- 28487 - WebDav remote connection from CRX 2.x to CRX 1.3.2 not possible
- Workaround: the WebDAV remoting support in CRX 1.3.x does not have all
the features expected (by default) by the WebDAV remoting
client in CRX 2.x. The easiest way to set up a WebDAV
remoting connection from CRX 2.x to CRX 1.3.x is to use
the latest Jackrabbit 1.6.x jars to upgrade the WebDAV
support in the CRX 1.3.x instance.
- 28617 - Mounting documentum connector workspace over WebDAV fails
- Workaround: add "dm_type" to the "deniedObjects" list
- 28835 - Virtual Repository mount not possible with token-based authentication
- Workaround: disable token based authentication in Login Module in your configuration
- 33027 - Modification on locked node may succeed in cluster
- Workaround: ensure that modification is guarded with lock/unlock
- 39963 - Provide JMX MBeans & new UI for LDAP sync and LDAP user purge
- These functionalities are scheduled for the next update of CRX
- 42009 - RMI support for Granite architecture
- Workaround: use JCR remoting instead
Public Sites
Restricted Sites
These sites are only available to customers. If you are a customer and need access, please contact your Adobe account manager.
|
|
Do you have any documentation about this feature?
jcr.repository.version=2.2.0.20110218
crx.quickstart.build.number=20110218
so determining upgrade success is difficult with no direct comparisons and having just replaced the quickstart jar as the directions indicate.
Any help you can provide
CRX quickstart jar was built later than CQ 5.4, that's why the quickstart jar's date is different than the embedded repository's date.
[please feel free to delete my comment after fixing the spelling :-)]
Note: Customers with DayCare user accounts need to create a new account for use on day.com.