I am redoing an application in Alpha created in Visual FoxPro. The new application is "web based" (no mobile requirements). Part of the application consists of completing forms for a case. The forms are standard forms designed by an Agency that oversees them. From time to time, an updated version of the form can be released that perhaps adds a new field, removes a field, etc. So far I have not encountered a major overhaul for a particular form. There are 12 different forms to work with, each case can have a subset of the forms, and sometimes a case can have multiple instances of a single form as well. Along with collecting the information from the form, there are requirements to print the form and have it look as close as possible to the original agency developed form.
The current application has a master "Forms" table that stores a record of a forms existence, a foreign key to the case the form belongs to, and a foreign key to a table that defines the fields within the form. This is mostly doable except when a new version of the form is released and you have to decide if you can fit the changes of that form within the current table or if you need to create an entire new table to collect the new form requirements. A maintenance nightmare!!!
Along with the master "Forms" table is a series of tables for each form "Instance" that links to the master "Forms" database and contains a field for each piece of data to be collected on the form. As stated above, there could be forma_1 and forma_2, where a_1 was an older version adn a_2 is an updated version. There's no limit to the number of Instance tables that could be needed. A maintenance nightmare!!
I'm looking for advice from anyone who has/had similar requirements as to how you addressed the challenges of making a Fillable forms application. I watched the video on Mobile App Framework Data Driven Forms and aside from that being a mobile solution doesn't seem to far off from what I'd like to do. I've also seen where others have used an Absolute Container solution.
My goals for simplifying this project would be the following:
1) A forms definition table. I'm not sure at this time how that plays into the multiple versions of a single form so that the application can be easily updateable whenever a new version of the form is released
2) A forms instance table that ideally links to a "Form Definition" with a single field of json data that contains the name/value pairs for the fillable information on the form.
3) An easy way to print a PDF for any form and honor the version that the form was created under. So older cases may have version abc of a form, but newer cases have version def.
Any guidance that can make this process smoother and more adaptable to change would be greatly appreciated.
Happy New Year to all.
Jeremy
The current application has a master "Forms" table that stores a record of a forms existence, a foreign key to the case the form belongs to, and a foreign key to a table that defines the fields within the form. This is mostly doable except when a new version of the form is released and you have to decide if you can fit the changes of that form within the current table or if you need to create an entire new table to collect the new form requirements. A maintenance nightmare!!!
Along with the master "Forms" table is a series of tables for each form "Instance" that links to the master "Forms" database and contains a field for each piece of data to be collected on the form. As stated above, there could be forma_1 and forma_2, where a_1 was an older version adn a_2 is an updated version. There's no limit to the number of Instance tables that could be needed. A maintenance nightmare!!
I'm looking for advice from anyone who has/had similar requirements as to how you addressed the challenges of making a Fillable forms application. I watched the video on Mobile App Framework Data Driven Forms and aside from that being a mobile solution doesn't seem to far off from what I'd like to do. I've also seen where others have used an Absolute Container solution.
My goals for simplifying this project would be the following:
1) A forms definition table. I'm not sure at this time how that plays into the multiple versions of a single form so that the application can be easily updateable whenever a new version of the form is released
2) A forms instance table that ideally links to a "Form Definition" with a single field of json data that contains the name/value pairs for the fillable information on the form.
3) An easy way to print a PDF for any form and honor the version that the form was created under. So older cases may have version abc of a form, but newer cases have version def.
Any guidance that can make this process smoother and more adaptable to change would be greatly appreciated.
Happy New Year to all.
Jeremy
Comment