meta language to define forms
fred.sells at adventistcare.org
Thu Mar 27 21:56:56 CET 2014
I'm trying to use python classes and members to define complex data entry forms as a meta language
The idea is to use a nice clean syntax like Python to define form content, then render it as HTML but only as a review tool for users, The actual rendering would go into a database to let a vendor's tool generate the form in a totally non-standard syntax that's really clunky.
I don't have a lot of time or management support to do something elegant like XML and then parse it, I'm thinking more like
Section1 = Section(title="Enter Patient Vital Signs")
Question1 = NumberQuestion(title="Enter pulse rate", format="%d3")
Question2 = Dropdown(title="Enter current status")
Question2.choices = [ (1, "Alive and Kicking"), (2, "Comatose"), (3, "Dead"), ...]
Of course this is not quite legal python and I have a lot of flexibility in my "meta" language. The basic model is that a single file would define a form which would have one or more sections, each section would have one or more questions of various types (i.e. checkbox, radio button, text, etc). Sections cannot be nested.
I don't have to have a perfect layout, just close enough to get the end users to focus on what they are asking for before we generate the actual code. I tried an HTML WYSIWYG editor but that was too slow and I lost information that I need to retain when the actual form is generated.
The biggest problem (to me) is that I have to maintain the order; i.e. the order in which they are coded should be the order in which they are displayed.
I'm looking to do about 200 forms, so it is reasonable to invest some time up front to make the process work; meanwhile management wants results yesterday, so I have a trade-off to make.
Is there anything out there that would be close or do you have any suggestions.
More information about the Python-list