Jeff Potts
KM Whirled: Collaboration, Portal, Content Management, Search, and a dash of personal info most people won't care about
















Navigator Logo

CMPros Logo

Subscribe to "Jeff Potts" in Radio UserLand.

Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.


My blog is now located at http://ecmarchitect.com If you are not redirected automatically, please follow the link.

Sunday, November 30, 2003
 

This weekend I started looking at XForms. I didn't know much about it, but what I had a suspicion that it could be a standard that could be leveraged as a standard/best practice method of letting people build forms that would submit data into a content management system like Documentum.

I picked up XForms: XML Powered Web Forms by T.V. Raman. I plowed through the first 80 pages and then grew restless--I wanted to try some of it on my own and the book really didn't lend itself to that. It's more reference than how-to. I did find the early chapters valuable, though. When I was ready to try some out on my own, I used the following resources:

Here's what I've learned, so far:

XForms is awesome. When it is adopted by the W3C as a full-blown standard, and production implementations exist, it will not be too soon.

See the above resources for details, but the gist is that HTML forms have outstayed their welcome. Anyone who has ever developed a web app knows this. You end up jumping through all kinds of hoops to do validation, conditionally hiding fields or sections of forms, building dynamic dropdown lists, and what I call progressive disclosure, or showing/hiding entire sections of forms based on field selections or other criteria. Top it all off with coming up with ways to handle the data on submission and you've got a large portion of your development effort going towards mundane tasks.

XForms changes all of that. You define your data structure using XML. You can even use an XML Schema if you want. Then, you describe the form using XML. The UI widgets on the form get bound to pieces of the data structure (the model) using XPath. The widgets are described in a presentation-independent way. That means the form can easily be used in devices other than the web browser.

When the form gets submitted, the form data magically fills in the data structure you defined and the server receives a well-formed XML document.

An XForms page can also dynamically pull data in to the form. So, for example, you could write a web service that could be used to populate a dropdown list. I'm assuming you'd do something like this to retrieve the data after it is submitted for editing. So far, I haven't tried any examples where the data actually gets stored in a back-end repository and then gets retrieved for editing.

The idea of defining the data model separate from the presentation of the form is very appealing. And I like the ability to tie the validation in to the data model via XML schema. It reminds me of the good ole Notes days where documents are collections of fields that can be displayed in many different ways as defined by one or more forms. But, this is all based on XML and Schemas.

Once you get those documents into the repository (relational, native XML, or content management system) you can do anything with it you want like build "views" or lists of documents sorted any way you want using XSLT.


9:33:41 PM    

Finished a good book over the weekend. It was Bringing Down the House, by Ben Mezrich. It's the story of the MIT blackjack teams that won millions from casinos in Vegas and other casinos around the country. If you have any interest in blackjack or gambling, you'll really like this book. It is unbelievable. For a taste, here's the Wired article that originally turned me on to the story.
8:53:51 PM    


Click here to visit the Radio UserLand website. © Copyright 2005 Jeff Potts.
Last update: 10/13/2005; 4:51:35 PM.
November 2003
Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
Oct   Dec
Navigator Logo