Open avernet opened 10 years ago
Seems reasonable to me.
Since Form Builder still requires the XML-only scheme, we might consider supporting both schemes: XML and fully relational. It is annoying to have to support two, but that might be inevitable given Form Builder. The benefit is that some users might prefer a system which doesn't create new tables all over the place.
This also raises the question of versioning, drafts and auto save... Common designs in RDBMs do not support drafts and versioning (which would make SQL queries complex and slower). Does that mean that these features should not be available when using "flat tables"?
@evlist The plan would be to also support versioning and drafts with flat tables. Drafts are simple: we just need to keep a draft column, as we do now. For versioning, we need to create one flat table per version, and this on publish. It adds a little bit of complexity, but seems perfectly manageable.
2014-06-26 brainstorming:
Going through this again:
Rationale
Right now, the implementation of the persistence layer for relational databases stores form data and form definitions in the database as XML. This has the benefit of making the database schema fixed: it doesn't need to change as new forms are deployed, or existing forms modified.
We come to this RFE from the requirement to support the flat view feature in databases other than Oracle, as well as to support repeated grids and sections, which are currently not supported on Oracle. The reasoning has been as follows:
Steps
Since this is a fairly large task, we want to do it in steps, each step leading to deliverable software that brings value to customers.
orbeon_form_data
andorbeon_form_data_attach
will only be used by Form Builder.