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.
Yesterday I was notified that my project application got accepted into Google Summer of Code. I can't wait to begin! I'll be working for OpenMRS, a web based medical record system primarily focused on developing countries. During the summer I will make a medical image viewer with several features for studying and annotating images, typically X-ray photos.
My original application proposed to implement the image viewer as a Java applet. The plans have since been revised, and the plan now calls for an AJAX web app instead. I will be using the Google Web Toolkit (GWT) and the Google Maps API during development, something I'm really looking forward to.
The change from Java applet to AJAX will lead to much better performance in low-bandwith scenarios. It will also move much of the image processing workload from the client side to the server, enabling better performance on low-end hardware but probably stressing the server somewhat more.
I will keep this blog updated with my progress during the summer, posting at least once a week.
- 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







