This document elaborates how to use CRX (Content Repository eXtreme) and its integration with FrameMaker 10 using FDK (FrameMaker Development Kit).

1.0 Introduction

CRX is a state-of-the-art composite content applications platform, natively managing content in the Java Content Repository (JCR 2.0) content model. CRX is highly scalable and can easily be deployed in the cloud. This document shows how to use CRX standalone and how to create Java project and integrate CRX with FrameMaker 10 using FDK 10.

2.0 Documentation

  1. CRX documentation is available at:
    http://dev.day.com/docs/en/crx/current.html
  2. FDK documentation:
    http://www.adobe.com/devnet/framemaker.html
  3. CRX installation related info:
    http://dev.day.com/docs/en/crx/current/how_to/installing__starting.html
  4. How to use JCR 2.0 API documentation:
    http://www.day.com/maven/javax.jcr/javadocs/jcr-2.0/index.html
  5. How us RMI to Connect to CRX from an external application:
    http://dev.day.com/content/kb/home/Crx/CrxDevelopment/RmiConnection.html

3.0 Installation

  1. Download CRX 2.2 from following location and get a free developer license:
    https://www.day.com/day/en/products/crx/download/registration.html
    Following Demo shows how-to download CRX:
  1. Run crx-<version>-<edition>.jar file to install, setup and starting CRX. Following demo shows to install and register CRX:
  1. Install jdk1.6.* from following location:
    http://www.oracle.com/technetwork/java/javase/downloads/index.html

4.0 Using CRXDE Lite

CRXDE (CRX Development Environment) is a web-based light application for working with CRX. Various operations like Checkout, Checkin, file/folder creation or deletion etc. are few operations available. Following demo shows how to create a folder, a file and how to edit this file in CRXDE Lite itself.

5.0 How to interact with CRX using JCR 2.0

Configure RMI to connect to CRX using follwing steps:

  1. In a default installation, you can find web.xml under crx_install_dir/server/runtime/0/_crx/WEB-INF/web.xml. Edit web.xml and comment out the following lines under RMI Configuration:


    <init-param>    
        <param-name>rmi-port</param-name>
        <param-value>1234</param-value>
        <description>
              The RMI port for registering the repository in the RMI Registry.
              If equals 0, the default port is used. Omit this parameter to
              disable RMI server entirely.
        </description>
    </init-param>


  2. Restart CRX.

Content Repository for Java Technology API Version 2.0 specification - also known as JCR 2.0. This programming interface - defined by the ECM industry - provides developers with a stable and well-defined, yet extensible content and query model. Following demo shows how to create a CRX session and display all nodes of repository as a Java Project:

6.0 How to integrate CRX with FrameMaker

  1. Create a new Java project named CRX and add CRX.java file (provided as open-source, part of plugin) to project.
  2. Add following External Jar as Build Dependency Files:
    a) jcr-2.0.jar
    b) jackrabbit-core-<version>.jar
    c) jackrabbit-jcr-rmi-<version>.jar
    d) crx-rmi-<version>.jar
    e) log4j-<version>.jar
    f) slf4j-log4j12-<version>.jar
    g) slf4j-api-<version>.jar
  3. Build the project. Then export the project as CRX.jar file. Please see the following demo for step 1-3:
  1. Open CRX.sln, Microsoft Visual Studio (2008) project.
  2. Verify and update the path of FDK in Configuration Properties->C/C++->General->Additional Include Directories.
  3. Verify and update the path of FDK Configuration Properties->Linker->General->Additional Library Directories
  4. Check if fdk.lib and api.lib are part of Configuration Properties->Linker->Input->Additional Dependencies. If not, include these.
  5. Build the solution which will create CRX.dll. Following demo shows how to work with CRX.sln file:
  1. Create crx_settings.ini file This file contains semi-colon separated following list of absolute path names of all jar files:
    a) CRX.jar
    b) jcr-2.0.jar
    c) jackrabbit-core-<version>.jar
    d) jackrabbit-jcr-rmi-<version>.jar
    e) crx-rmi-<version>.jar
    f) log4j-<version>.jar
    g) slf4j-log4j12-<version>.jar
    h) slf4j-api-<version>.jar
    Following demo shows how to create crx_settings.ini file:
  1. Copy crx_settings.ini to ${FMHOME} directory. Verify all jar files mentioned in settings file to exist.
  2. Copy CRX.dll in fminit directory in ${FMHOME}.
  3. Update maker.ini with following entry in APIClients section:
    CRX=Standard, CRX, fminit\CRX.dll, all
    Following demo shows how to add CRX plugin to FrameMaker 10.0:

7.0 Download

  • Download the sample implementation.
  • Download the sample code for above implementation. This can be used as baseline for developing custom CMS connector for FrameMaker.