This tutorial describes how to use Remus in combination with an Eclipse IDE with a focus at the linking of information units stored with Remus and the contents of the workspace of a developer, like source files, projects or folders.
The easiest way to install Remus in your IDE is via the Eclipse Marketplace. Filter for the word Remus and install the shown solution. After a restart Remus is installed you can add two new views to your Perspective (see Image)
The Navigation View is the most important view; this view lists all locally stored information units and lets the user navigate through its own private information pool. The IU Assignment view lists all information units that are linked to the current active element in your workspace. If the user is editing for example a Java source file, this view lists all information units that are linked to this file. If you have a container selected (like a project or a folder) this view shows all linked information unit of the element itself and the resources that are located under this container and are linked with information units.
The major goal of the Remus Integration is to link resources in the workspace with Remus information units. If the user is browsing through the contents of his workspace he is able to view information that are added by himself or by other users. The goal is to bind information that are neccessary (or at least useful) to make the understanding or editing of the selected source code, text- or xml file or any other resource easier. These information typically cannot be inserted in the resource itself (e.g. if the information unit is a pdf file or an image) and storing them in another information platform (e.g. in a Wiki or an internal CMS) is not optimal (often there is no integration into Eclipse and the tracking which information belongs to which source-code is not automated).
The linking of Remus content to workspace resources is divided into two parts:
- The linking of private information units to any resources the user is working on. These assignments will be saved in the local workspace and are private, that means they are not visible to any users that are working on the same project and committing their changes via a SCM (CVS, Git, etc).
- The project the user is working on is an information repository itself. This makes it possible to add information units physically to the project and linking them logically to resources in that project. If the project is managed by a SCM the information pool is added to the SCM and is accessible by every user, the linking itself is shared.
To start working with Remus in a Java project (or for whatever Eclipse is used) you have to install the support for a certain project. If a project is selected in the navigator Remus view will show a warning that you have to enable support for Information unit assignment. If you install the support a popup will be opened to checkout the in-project repository into your local information pool, to access the shared information units and their assignments. If a sharing is not needed this step can be skipped (you can also checkout the in-project repository at a later date).
Once the project is configured for assigning information units to resources the Remus navigation view can be opened and a and drag and drop of information units in the "IU Assignment" view is now possible. The toolbar of this view provides additional actions:
- Add: Same funtionality like drag and drop. Multiple information units can be selected and are added to the view.
- Remove:Deletes an assignment
- Pin: Pins the view to the currently selected resource
- Open new window: Opens another instance of the IU Assignment view.
On the right side an example of a possible information unit assignment is shown. The view lists all assignments of the currently selected resource (in this case the project "example") and its subelements which have assignemtns to information units. In this case a pdf ("Code Conventions" and "Sample p2.inf")is assigned to the project, a snippet is assigned to a Java-Source file and a link is assigned to a XML (MANIFEST.MF). Two elements are shared, that means they are located in the repository that will be committed via SCM. All other assignments are private and won't be shared with other developers.
The bottom-line of this tutorial is that with this functionality you can "link" additional information in Eclipse to the resources you're working on. No need to leave your IDE and no need to manage another information repository, the information is there where it is needed.