What’s the ideal approach to store and retrieve data in a JIRA plugin?

I’m working on a JIRA plugin and need advice on storing user-specific data. Should I opt for ActiveObjects or PluginSettingsFactory, and how can I trigger a servlet POST using AJS?

From my experience developing JIRA plugins, ActiveObjects tends to be the more scalable solution when handling intricate user-specific data. I encountered several situations where its flexible ORM capabilities made it easier to manage multiple tables and relationships compared to PluginSettingsFactory, which seems better suited for simpler settings. Additionally, I found that leveraging AJS with its jQuery integration for POST requests is quite effective, as it simplifies communication with your servlet. However, it’s important to implement proper error handling and security measures. Overall, ActiveObjects has proven to be a more robust solution, particularly when your data model becomes more complex.

Based on my experience, if you are dealing with a relatively small amount of user-specific configuration data, the PluginSettingsFactory can be an efficient solution. I found it very straightforward to implement when the data requirements were minimal, avoiding the overhead of more complex ORM setups. This approach keeps the plugin light and easy to maintain. When more robust data relationships become necessary, upgrading to ActiveObjects is a natural progression. For handling servlet POST requests, using AJS is simple and works effectively with a few adjustments for security and error management.