Active Objects is a new ORM (object relational mapping) layer into Atlassian products. Active Objects is implemented as a plugin into Atlassian applications. It enables easier, faster, and more scalable data access and storage than the existing Bandana and PluginSettings APIs.
The goal of the Active Objects plugin is to provide a plugin data storage component that plugins can and should use to persist their private data. Active Objects satisfies these requirements:
Instead of using a key/value store to mimic a relational database, Active Objects provides plugin developers with access to a real database.
Active Objects abstracts all database implementation details. The specific underlying database implementation that Active Objects provides should not have any effect on the plugin's implementation, as each product supports multiple databases.
The ORM interface bundled with Active Objects allows plugin developers to avoid many common issues and tedious boilerplate code involved in issuing queries, creating schemas and performing migrations between schema versions.
A plugin can access only the data that belongs to it, not data belonging to other plugins or to the host products.
The product's existing database backup/restore (or export/import) mechanisms take care of backing up the plugin data. Note: Backup/restore is fully integrated with JIRA 5.0, but is not yet integrated with all products. Beware of this detail when developing an Active Objects plugin or using another plugin that uses Active Objects.
Please log any issues and requests in our issue tracker.