<div dir="ltr">Hey,<div><br></div><div>I'm working on OMERO.forms and it's getting to the point where the approach for data storage I have taken (Using map annotations) is beginning to look too messy for comfort. I'm wondering if you have any suggestions for what the best way of doing this might be without adding a difficult to install/maintain component (i.e. a database) to OMERO.forms.</div><div><br></div><div>This is what I want to store:</div><div><ul><li>Form</li><ul><li>ID - Globally unique name</li><li>Owner - UID of creator</li><li>Groups - list of GIDs the form is available to</li><li>Types - Object types for which this form is valid (e.g. Dataset)</li></ul><li>FormVersion</li><ul><li>Version - Version</li><li>Timestamp - Creation time+date</li><li>Schema - The JSON string encoded form schema</li><li>UISchema - The JSON string encoded form UI schema</li></ul><li>FormData</li><ul><li>formID - The form used to enter this data</li><li>formVersion - The form version used to enter this data</li><li>data - The actual JSON string encoded data</li><li>objectType - The object type for which this data was entered (e.g. Dataset)</li><li>objectId = The object ID for which this data was entered</li><li>Timestamp - Creation time+date</li><li>User - UID of user who submitted form</li></ul></ul><div>This is a pretty trivial problem if I could use a relational database and I would get transactions and data integrity. Right now I am trying to shoehorn this into Map Annotations attached to a special privileged user who the OMERO.forms web plugin sudos as, but it is getting increasingly difficult to do this in a sane way. Updates especially are horrible.</div><div><br></div><div>As this is a web extension, I also wanted to keep the install/update procedure as simple as possible. Adding the use of a local database as a prerequisite did not seem reasonable.</div><div><br></div><div>Any ideas would be most welcome.</div><div><br></div></div><div>Cheers,</div><div><br></div><div>Douglas</div><div><br></div><div><br></div></div>