Along with Codegeist V, Atlassian’s plugin coding competition, we’ve announced a new developer preview: ActiveObjects, a fast, powerful way to store plugin data.
A Plugin is Only as Good as the Platform
Traditionally Atlassian plugins store and access data as key-value pairs, greatly limiting their capabilities to offer rich and efficient functionality. Trivial operations such as sorting and filtering are made difficult in a purely key-value API. In a SQL environment most query engines can use advanced data structures to make sorting and filtering efficient. However, in a key-value world the developer is required to fetch all relevant pairs and create their own filtering and sorting code, only adding more complexity to the code and overall performance. We expect plugins are limited by only being able to store key-value data, and we’re confident ActiveObjects will open up tons of new technical opportunities.
ActiveObjects is the future in Atlassian plugin data storage. It provides to you, the plugin developer, your own space in the product database where you can store your plugin’s data in tables you defined. Plugin databases are sandboxed to ensure security and durability. ActiveObjects is also a complete ORM that takes advantage of the underlying database’s speed and flexibility and with which you can sort, filter, get, insert, update, and do pretty much anything else that SQL allows.
Very soon we’ll share with you other blog posts showing exactly how the ActibeObjects API works.
ActiveObjects is currently a developer preview, not quite ready for primetime just yet, but certainly ready to be hacked on. We’re working on fully integrating it into our products, and we’re actively seeking feedback to learn how we can make it even better. However, there’s plenty to get started with ActiveObjects, and there’s even a $7,500 cash prize in Codegeist for the Best Use of ActiveObjects.
Stay tuned for more updates about the ActiveObjects plugin, and please let us know if you have any feedback. We think ActiveObjects is a big deal in the Atlassian plugin world, and we’re super excited to finally be revealing this to you after nearly a year of development work by rockstar Samuel Le Berrigaud.