Extending Omea with New Resource Types
JetBrains Omea, a new family line of products from JetBrains, is a powerful Integrated Information Environment. Omea helps you manage your entire information lifecycle:
- Stay up to date. Get notified when new e-mails arrive, feeds and bookmarks are updated, and new posts appear in newsgroups. See the important items first, and deal with the rest later.
- Process incoming information. Reply to messages, delegate tasks to other people, mark items to be processed later - all without leaving Omea.
- Find information any time. Find the things you need, no matter where they are stored - in e-mails, local files or on the Web. Browse links between related items.
- Stay synchronized. E-mails, contacts and tasks in Omea are kept synchronized with Microsoft Outlook.
Omea supports a large array of information types (e-mails, local files, weblog posts, contacts, tasks and so on) out of the box. However, no company could hope to cover all existing kinds of digital information in its product - there are always more or less exotic kinds of information (for example, bug tracker requests) that would be convenient to work with inside Omea, but are not supported by the JetBrains developers. Because of that, Omea has been designed to be completely extensible, based on a plugin architechure. In fact, almost all of the standard resource types supported by Omea are implemented as plugins, and the majority of services used by our plugins are also available to third-party developers through our Open API.
The main advantage of developing Omea plugins is that, by spending a small effort to describe your resource type to Omea, you automatically get its entire range of information organization and search facilities for free. The user will be able to categorize resources of your type, add them to workspaces, build views which show them, link them to other resources and so on. It works the other way, too - if you (or we at JetBrains) develop a new tool for organizing resources, it will automatically apply to all standard resource types and all resource types provided by third-party plugins.
Another advantage is that Omea Reader, the version of Omea currently available as a free download, does not carry any restrictions on loading third-party plugins. Omea Reader has the full range of search and organization features and the full set of Open API interfaces.
Omea is a .NET application, and its plugins are regular .NET assemblies. Plugins can be developed in any .NET programming language. While this article discusses a sample developed in C#, we plan to provide sample plugins created with Visual Basic .NET, Delphi 8 and possibly other .NET development environments.
This article will describe the general features and possibilities provided by the Omea Open API, and then will discuss the implementation of a sample plugin that will helps manage your book collection. It will take you just an hour or two to follow the plugin development tutorial, and as a result, you will understand how to implement all the basic functions of a plugin, and will be able to start developing your own plugins.