CRX Features
CRX is available in four editions: Enterprise, Standard, Personal, and Developer (plus a free trial). The differences are primarily in the CPU limit and storage limits. Also, the Enterprise version allows clustering and LDAP (Lightweight Directory Access Protocol) integration.
JSR 170 Standard Support
A few noteworthy items are at the core of the JSR specification, all of which are implemented in CRX:
- Workspaces: Workspaces are a method for allowing individual content providers to store their information or allow for other divisions of content.
- Read and Write Access: Allows all content to be created, read, modified, and deleted.
- Node/Property Prganizational Structure: Similar to XML organization, this means that nodes are containers for subdata (i.e. child nodes and properties), while properties hold a specific piece of data.
- Flexible Nodes: These allow for the usage of both structured, semi-structured, and unstructured values using built-in or customized node types.
- Data Import/Export: This means anything in the repository can be serialized and exported into XML (and vice versa).
- Searching Support: This allows you to search data in the repository either by using the new JCRQL (Java Content Repository Query Language) or XPath.
- Transactions: This allows for database-like transaction handling.
- Versioning and Locking: This enables you to version content in the repository. It includes processes for checking in/out data, as well as merging, branching, and restoring. It also allows you to lock content to insure content integrity.
- Notification: When certain changes take place to content, a notification model allows for customized reactions.
- Security: Control access to content in a granular fashion.
While for the most part, CRX is a fairly straightforward implementation of this standard (it is only at 1.0.1 after all), they added a number of additional features and enhanced capabilities, while still providing ease-of-use.
CRX Additional Tools
At the core of CRX's additional features is the CRX Console, which is a visual interfacean implementation of JSR 170that allows you to interact with the repository and the content directly (see Figure 1).

Figure 1. The CRX Console
Content Explorer
The Content Explorer is a visual GUI that allows you to interact with all of the content in the repository. This includes searching, controlling access, version control (checking in/out, merging, etc.), and more. There's also a mysterious button called "Mixins" with a pill icon. Hmmm. Other than that, this is a straightforward interface for interacting with the repository (see Figure 2).

Figure 2. A Straightforward Interface
Node Type Administrator
As mentioned earlier, CRX handles structured and unstructured data. The Node Type administrator allows content administrators to view content types, register/unregister/create new namespaces and nodes.
Content Loader and Zipper
The Content Loader allows you to import content from XML or a zipped file into the CRX repository. The Content Zipper also allows you to export in a number of different formats.
CRX Admin and WebDAV
Additionally, you can administer system users (or use LDAP with the enterprise solution), clusters (in the enterprise version), and configure the repository. Finally, CRX supports the WebDAV (Web Distributed Authoring and Versioning) interface so you can log in and interact with data using any WebDAV tool.
A Pretty Good Bet
Overall, the CRX installation and load was quite straightforward. I was even able to deploy the WAR file in my local JRun installation with only a few glitches. The API is intuitive once you understand the entire concept of how data is stored in the repositories through nodes and properties and workspaces. And the visual GUI was simple and effective. A considerable caveat: I did not import and work with an enterprise's worth of content and data. However, given the JCP nature of the JCR API, I would guess that, while likely a large undertaking, CRX would be able to handle it. Given the availability of a trialand the usage of Day's content applications in a number of large enterprisesthis is probably one to try out.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|