Press release 30/11/2006
Personal Information Manager Goes Open Source
Today sees the launch of openJean, a community based open source project which aims to develop personal information management software and standards of the highest quality. The project will develop the openJean tool, designed to simplify one of the most basic tasks of information management, storing information in such a way that it can be easily accessed.
OpenJean is a pure Java application which uses XML (eXtensible Markup Language) for information storage and XSL (eXtensible Stylesheet Language) transformations for additional information display. This means that not only is the openJean code platform independent but so is all the stored information. It is possible to copy or share the openJean directory among different machines, for example Windows, Mac and Linux and expect it to work identically on all of them.
The current release includes the following components (known as catalogs): file manager, RSS aggregator, calendar and appointments diary, email client, image manager, multimedia manager, favorites manager, notes and address book.
“Each catalog contains a structure of entities, each of which may have attributes,” says Mike Curtis, author of the original software. “The attributes of an entity may contain the actual information being stored, or may be references to information stored elsewhere or tags to provide additional information.”
The openJean user interface displays one or more catalogs in a left hand pane for navigation and an attribute display panel on the right organized into pages which show the attributes of the entity selected in the open catalog.
Although the openJean catalog component (a derivative of the Java Swing component JTree) appears in the common and well understood tree form, the underlying data model is a DAG (Directed Acyclic Graph.). OpenJean entities are categories, groups and items, where items cannot have any descendants and groups may not contain categories. The basic principle of openJean is to place items into categories; the nature of the DAG means that items and sub-categories can belong to more than one category. Groups are provided for other situations where items need to be grouped together but a category is not appropriate; often this is where operations or transformations are to be applied to a number of items. For example in the openJean Multimedia catalog, music tracks are stored as items, however it is normal to play a number of tracks so an album is represented by a group and the most common operation is to play an album.
The category structure of openJean makes it relatively easy to navigate to any particular item. However, finding items that match a specific set of criteria is always a problem. OpenJean addresses this by providing a search mechanism which allows for the construction of arbitrarily complex criteria. Results of a search are displayed in a list. The search criteria can be saved so that the search can be repeated, and the list of items can be saved as a group or category. When such a group or category is created from the results of a search then any new items added to the catalog later that fit the criteria will automatically be added to that group or category.
Where items need to be categorized according to the value of attributes, then an Index can be created. Within any category the index criteria can be defined in a variety of ways, including the provision of user-written code. A structure of groups will be constructed according to the various values of attributes and all items within the containing category and its sub-categories will be placed into the appropriate index group. Any new items will automatically be placed into the correct index group.
One of the most powerful features of openJean is the ability to cross-reference between catalogs. A cross-reference may be built into a catalog by means of a reference attribute. For example appointments in Calendar reference AddressBook. It is also possible to add a cross-reference to any entity in any catalog; these appear in an additional page of attributes. Where cross-references exist openJean keeps catalogs in step.
OpenJean can be extended by adding user-written Java code in a variety of different ways,” says Mike Curtis.
An entity can be given a Java attribute, which is a textual reference to a Java method that uses a standard signature. This will appear as a button on the attribute display which when pushed calls the method passing information about the currently selected openJean entities.
A Java method can be added to the specific catalog menu; it will appear as an item on that menu which when selected calls the method.
A Java method can be added that is called as a catalog initializes.
A Java method can be added that is called as a catalog shuts down.
From within these methods, or any other Java code, references can be obtained to JEANAPI objects for each catalog which gives access to virtually all openJean information, components and functionality. OpenJean components are derivatives of standard Java components and can easily be built into other applications. Access to user-written code can be through standard Java mechanisms such as the CLASSPATH or by simply placing a jar file into openJean's lib directory where openJean's own class loader will find it.
All openJean information is stored in XML. In particular all or part of a catalog can be exported into XML files using a published schema. It can then be transformed by the use of XSL into HTML, PDF, CSV or any other formats for which XSL transformations are available. By simply placing an XSL file into a catalog's transformers directory it appears as an item in the specific catalog menu which when selected applies the transformation. Transformations supplied include one which transforms a group in the notes catalog to a number of html pages which can be placed directly onto a website, one which transforms calendar entries into a blog and one that transforms a group of images into a web page containing clickable thumbnails.
The openJean project welcomes developers and users who can find more information on www.personalinformationmanagement.org.
end
Contact: Vicki Sivess on 01688 400101 or vicki@mullsoft.co.uk