Last updated Dec 8, 2017

Active Objects

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:

Real database

Instead of using a key/value store to mimic a relational database, Active Objects provides plugin developers with access to a real database.

Database independence

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.

ORM interface

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.

Sandboxing

A plugin can access only the data that belongs to it, not data belonging to other plugins or to the host products.

Backup/restore

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.

Getting Started

Feedback

Please log any issues and requests in our issue tracker.

Rate this page: