SourceForge.net Logo

OPLE - The ONIX-PL Editor

Draft Documentation

$Id: ople-doc.xhtml,v 1.1 2007/02/28 08:45:16 GBDP\alexb Exp $

Table of Contents

Frequently Asked Questions

Installation

Building from Source

REST API


Frequently Asked Questions

Q. What is OPLE?

A. OPLE is The ONIX-PL Editor. It is a web application for creating and editing ONIX-PL licence expressions. For those curious about the name, OPLE is also a homonym for opal, just as ONIX is a homonymn for onyx.

Q. Where can I get the lastest version of OPLE?

A. OPLE has its own Sourceforge project page.

Installation

Hardware, OS, Java

OPLE is a Java application and requires a machine with a JVM of version 5 or later installed. Development has been done with a Sun Java 5 SDK downloaded from Sun's site. Note that a full Java SDK is required; a runtime (JRE) JVM is not sufficient.

The application requires (what is currently regarded as) a reasonable mid-range consumer server to perform adequately. Development was done on a 2.4Ghz Pentium 4 machine with 1GB of RAM. 2GB would be better.

Servlet Server

OPLE is a web application which must be contained within a J2EE servlet container implementing the Java Sevlet and JavaServer Pages technologies. Development was done with Jakarta Tomcat 5.5.20.

eXist Database

OPLE uses the Open Source eXist XML database to store its XML documents, and an instance of this must be installed and available to OPLE via its REST API.

eXist may be installed in the same servlet container as OPLE itself by placing one of the downloadable eXist .war files (N.B. it must first be renamed to exist.war before it is copied in-place) in the /webapps directory of the installed servlet container, and starting it. If this is done, verify that eXist is intalled correctly by accessing the installation's home page URL, typically http://localhost:8080/exist/index.xml.

Setting up users and roles

OPLE uses standard HTTP authentication to authenticate its users. The mechanism for this is provided by the J2EE servlet container in which OPLE is run, and is specific to each type of server. With Tomcat's Realm mechanism, users are specified in the tomcat-users.xml document in the /conf folder of the main Tomcat installation folder.

This might look something like:


<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="user"/>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <user username="alexb" password="mypassword" roles="admin,manager,user"/>
  <user username="admin" password="" roles="admin,manager,user"/>
</tomcat-users>
      

Set the OPLE users and roles as appropriate for your installation and re-start the server [TBC].

Installing OPLE

Once you have verified eXist is installed, and users have been set up, then install OPLE itself by downloading the latest .war file (and if necessary renaming it to ople.war) and deploy it by copying it to the /webapps directory of the installed servlet container.

Login in by accessing the main page (e.g. http://localhost:8080/ople/main). You will be prompted for a user name and password.

Configuration Options

[TBC]

Performance Tuning

OPLE is build using the Orbeon Forms framework to provide support for XForms. The Performance and Tuning information for Orbeon Forms apply equally to OPLE.

Building from Source

[TBC]

REST API

Note: All URLs are given relative to the application base (e.g. http://localhost:8080/ople/).

URL Request 

type
Parameters Description
dyncss GET user [mandatory]

Provides a user's CSS according to the color theme they have chosen. The user name is given by the user parameter. Note the CSS is wrapped in a style element in the XHTML Namespace.

page-model GET [none]

Provides the model behind most views within the application, and makes available to them general-purpose information that is useful in page construction.

For example:


<?xml version="1.0" encoding="utf-8"?>
<ople:page-model xmlns:ople="http://www.editeur.org/ople>
  <ople:user>
    <ople:name>alexb</ople:name>
    <ople:roles>
      <ople:role>admin</ople:role>
      <ople:role>user</ople:role>
    </ople:roles>
  </ople:user>
  <ople:app-base-url>http://localhost:8080/ople/</ople:app-base-url>
  <ople:exist-base-url>http://localhost:8080/exist/</ople:exist-base-url>
  <ople:request-parameters>
    <ople:parameter>
      <ople:name>prop</ople:name>
      <ople:value>val</ople:value>
    </ople:parameter>
  </ople:request-parameters>
</ople:page-model>

The ople:wrapper/value element contains the context path of the application.

settings GET [none]

Provides global application settings.

For example:

TBC
user-settings GET user [mandatory]

Provides a user's settings. The user name is given by the user parameter.

For example:


<?xml version="1.0" encoding="utf-8" ?>
 <ople:user-settings xmlns:ople="http://www.editeur.org/ople">
  <ople:full-name>Alex Brown</ople:full-name>
  <ople:email>user@example.com</ople:email>
  <ople:theme>1</ople:theme>
 </ople:user-settings>