Remus Information Management
The project has been created.
The Remus project is a proposed open source project under the Technology parent project.
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the Remus Eclipse forum or Remus newsgroup.
With today's information technologies, the amount of information we consume daily is enormous. Efficient management and fast access to frequently used information has become more important than ever. The fact that we use a wide range of applications and digital mediums makes the aggregation of information, search and retrieval even more difficult. Managing a huge amount of information successfully requires an intelligent tool that enables users to file, categorize and visualize such diverse types of data as information units in a single application.
ScopeThe objectives of the Remus project are:
Management and visualization of typed information
The application provides a rich interface to create, edit and view single information units with a type-specific information representation. The local data is browsable through a hierarchical or semantical structure.
Every information can be opened in a separate editor that generally will have at least one tab for a viewing-optimized representation of the information unit and other tabs for editing. All information units can be linked with each other and can have events attached. Events are visualized in a separate view, which is similar to the calendar view known from other applications like Microsoft Outlook or Thunderbird Lightning.
Searchability of all data based on different criteria.
The application uses Apache's Lucene Technology to create a searchable index of all information units. Thus, the application provides a search view to initiate a search, a view for the search results and an extra information type for saving search queries. Users can save search queries, called 'Favorite Searches', and subsequently use these Favorites to execute regular search requests against a growing and dynamically changing information pool.
Search ranking mechanisms are injected by a declarative OSGi-Service and can be changed easily.
Remus provides a customizable desktop-panel which enables rapic access to often-used operations without having the entire application on the screen. For a screencast on how to use the panel, see http://www.remus-software.org/user-documentation/7-dektop-integration/14-the-desktop-panel.
The most critical point in information management is the easy and fast creation and transfer of data into another application. Remus uses a rule engine that makes it very easy to drag'n' drop (or copy/paste) relevant information into the system. Specific rules allow you to create complex information structures from, for example, unstructured text with a single drag'n'drop operation.
Synchronization with external information pools
Today's information management landscape already offers a great number of excellent platforms for handling specific information types. Typical examples of such platforms, especially for user-generated content, are Youtube, Delicious or Flickr. They all share the same goal: providing an application structure for the management of one specific type of information (Youtube -> videos, Flickr -> images, ...). The goal of Remus is not to compete against these applications, but to facilitate and enhance your local information management by providing functionalities to browse through these remote information repositories and to synchronize your data in Remus with the information in other repositories. The advantages in a nutshell:
- Synchronized data is available offline.
- No need for using the platforms website, all synchronization, adding, removing and viewing items can be done with your local Remus client. One application and one user interface for all platforms.
- Moving data between repositories: Just one drag'n'drop to move data from one remote repository to another (e.g. moving a photo from a flickr account to a picasa account
- High-performing, fast offline search through synchronized data
- Editing of synchronized data without a connection to the repository
- Creation of links between information units in different remote repositories. For example, Remus allows users to create an ontological connection between a YouTube video and a Flickr photo.
- Automatic notifications for new or updated data.
DescriptionRemus Information Management is an Eclipse RCP based application for the daily management of information the user needs for his or her daily work. Development started in summer 2008 and the application has reached Alpha status: The current project state including available documentation and source code can be found on the current project website http://remus-software.org. The decisive factor for developing Remus was the growing demand for a tool which makes often needed information rapidly accessible online and also available offline. Another key requirement was the easy transfer of information and data from other applications or remote information pools. This will be resolved with a rule engine for dropping or cutting/pasting data into the application and a framework for synchronizing with remote information pools. The application should be as open as possible: Third-party vendors can develop their own information structures and plug them into the application. Remus is available as a stand-alone RCP application or as a set of bundles which can be installed into another Eclipse instance.
These are the most important capabilities of the Remus Framework:
- Information structure injection: With a structure definition in place, any third parties can contribute their own UI for creating and editing information structures. After defining an EMF based structure description and an UI for editing the structure, you are able to build an application for viewing and editing this specific information structure (including navigation, copy/paste, undo/redo, ...)
- Remote repository: Remus provides a synchronization mechanism for updating, uploading and downloading information units from a remote repository. So third parties can add their own repository implementation via extension points. This implementation has to transform the repository-specific object structure into a Remus-specific structure. Change dectection and automatic synchronization is done by the framework. Updating an information unit fragment is also possible (this is important if the local information unit has more properties that can be changed than are provided by the remote object.)
- Contributing to existing information structures: Remus is an flexible open platform that will offer many possibilities to extend functionalities, such as adding your own desktop panel sections, contributing your own rule set execution routines, defining new actions for existing information units, adding your own search providers, ...
Integration of other Eclipse projects
The current development stage already integrates other Eclipse projects. There is full integration of BIRT Runtime and BIRT Designer, see http://www.richclient2.eu/2009_11_23/building-reports-of-your-local-information-pool-with-birt-and-remus/. The framework provides various possibilities for a seamless integration of other UI Elements like editors, viewers or even perspectives. Another example of third-party integration is Xtext (http://www.richclient2.eu/2009_09_01/extending-rim-with-xtext/) or XMind (for a screenshot see http://remus-software.org/images/stories/screenshots/general/6/mindmap.png).
Remus and all its contributions are currently licensed under the terms of the Eclipse Public License. Third-Party Libraries must be compatible to the EPL. There are currently just a few drawbacks:
- The icons (except the application logo and splash screen) are part of Incors' Iconexperience icon set, a commercial set of icons, which will have to be replaced.
- The connector to Microsoft Outlook uses a commercial third-party library and is not included in the initial download but can be installed via the Eclipse update mechanism.
The developer community is expected to grow as the need arises to integrate further specific information types or remote repositories.
The user community will primarily consist of people working in an IT based or academic environment. In view of the connectors to social platforms, it cannot be ruled out that the application will also be used for private purposes. Remus already has a small user community who is using the current nightly build.
The initial committer will focus primarily on the core functionalities of the underlying framework. An important requirement for the committers is to provide the necessary documentation and tools which will make easy it for interested parties to use the application as a framework for information management and to extend the application by integrating their own business-specific information structures or by connecting to their own proprietary remote information pools.
The following individuals are proposed as initial committers to the project:
- Tom Seidel (proposed project lead)
- Andreas Deinlein
The following Architecture Council members will mentor this project:
- Ed Merks
- Tom Schindl
The following individuals, organisations, companies and projects have expressed interest in this project:
- Benjamin Muskalla, EclipseSource
- Wayne Beaton, Eclipse Foundation
The first official release is scheduled for Q1 2010. The goal of this release is to meet the key requirements and to provide a basic set of information types and remote repository connectors.
Changes to this Document