Well after some work and crunching I have managed to get the new UI Idea up onto the live link (http://www.forxdesign.co.za/ox-designer/). Due to some recent changes in the GWT-dnd library there seems to be the possibility to removet the bottom "pallet" where the widgets are dropped on creation. I will be looking at changing this as well as refining the click-properties panel of each widget. I will either be adding an "edit" link or a context menu tag (right click - my preference)
OK so saying "its been a while" is a mild statement. I think raising the titanic took less time than the time between these blogs ;op
Onto business.. OX-Designer (XForms Designer) is back into the coding playing field thanks to the OpenMRS Internship Program. Keeping this short: I've finally managed to find a working version of my source..go figure you change computers a few times and have a few hard-drive crashes and what do you know..remembering where you backed up your work gets kinda tough!
I have updated my current dev environment to include the latest libraries from GWT, GWT-dnd and GWText (still using legacy version at this point). I will be working to upgrade the old source to the new libraries which include a few of the features I had to code myself (pallet). Stay tuned for posts on this.
When the code is up to date i will focus my attention on the properties dialog boxes (where i left off last) and the problem of only loading one instance and not creating multiple objects for each ui widget.
The link to the old code still works but I will be updating it with a new version ASAP! even the current old version is an option at this point!
Here's to the future.
- a fully browser based Xforms editor that will allow the associating of XForm controls to the model associated with the XForm.
The initial User Interface ideas include the following:
- A light weight Layout, More of a hybrid of a GMAIL and Outlook appearance.
- A drag and drop layout manager for the XForm (this is under review)
With the initial front-end progress it is time to bring the server side up to speed. The server will run various JAVA based services that will allow the manipulation of the XForm structure. The first pass at the server side XForm structure includes an XForm object which holds the Model object, the Controls object and the Logic object.
The Model Object consists of a collection of model elements, these will be the data elements that are to be collected, which are obtained from the XML.I have decided to cater for XForm models that have attributes associated with the data elements to be collected, e.g:
The thinking behind allowing for attributes is to allow for a more hands-off generation of the forms from the meta-data associated to the model. There is no predefined attribute list as of yet, but rather I have chosen to leave it open for any developer should they wish to extend it to suit their needs.
Current design issues that are being considered are the following:
Should the model (xml) be parsed on the client side or on the server side. At this point in time the client side is slowly becoming heavier with various UI tasks and the server is fairly light. The current train of thought is that the Model should be parsed to the server (i.e. upload the file) to extract the model components and then return what is needed to the User. This should reduce the initial load time of the application while still giving the server the power and possibility to automatically generate a first pass of the form.
Second design issues that is being investigated is the representation of the XForms controls to the user in the editor, currently the controls are being displayed using GWT widgets and standard HTML controls. The decision that is being faced is that of making use of a RichText component that allows for a more WYSIWYG editor with a more flowing layout, or to maintain the idea of a fully absolute layout manager and the addition of text to the form be done using "Labels". Other issues being considered are the use of tables and how to represent these in the various methods described above.
With that said it leaves me with the task of investigating the issues and hopefully coming to the correct conclusion. Until next time
The idea of OX-Designer (Open Source XForms Designer) originated from a need brought up at the OpenMRS Implementors meeting 2006. OpenMRS is an open source medical record system which currently makes use of Microsoft InfoPath as the method to collect patient data. In the light of providing an alternative data collection method I proposed an XForms alternative.
XForms, for those not familiar with the technology, is a W3C specification for creating a form. It is essentially a form mark-up language that is build on a Model-View-Controller architecture. For more information regarding XForms the XForms site provides an in-depth description.
The project is to create an open source browser based XForms designer/editor. This will allow the user to upload an XForms model (stage 2 will hopefully include a model designer) and design the visual aspect of the form by making use of a WYSIWYG editor. The XForms model is an XML definition of the data that the form collects. The application will be an AJAX based web application and hence has no platform dependencies and the only condition to using the application would be that the user make use of a web browser.






