I wrote a new custom field type. I want now to create multiple fields of it which different permissions. Like: One instance is only modifyable by projectRole "A" the second only by projectRole "B". (Yes it could be done by duplicate the plugin and set the different roles in the code but thats to static. It should be easy to modify the roles by admins even if they do not know the jira plugin sourcecode)
I saw some ways with WebWorker Plugins and DAO (Data Access Objects). So I created a WebWorker Plugin Site for editing the projectRole. The Webworker plugin contains a form and a select-tag containing all projectRoles - works fine.
Now the problem is how to setup the DAO. I searched and found some stuff about PropertySet and Active Objects. But I do not understand how to merge now one of these to my customfieldtype. Is there any practical tutorial on how propertyset or active objects works?
Thanks Jamie, found what I need there. To sum it up quickly:
The relevant example from the book Jamie mentions is configurablecurrency
This gives you a configurable custom field, which means that if you need that same custom field type in another configuration you have to add a second custom field.
Its a nice tutorial for a single field property, which is fine. But what if i wanted to set more then one property in a single step. I.E. filling a form with 4 values and saving it only once.I was unable to do that from mdoars tutorial because there is single fieldconfig context and a single entity.It does not allow to store multiple values.
mdoar also uses the propertySet technique. This turnes out in extremely nasty and confusing code. To be honest, i dont understand all of it. Its not mdoars fault, propertySet is just nasty. I was unable to do the same thing using active objects.
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events