Weblog: Standards and Technologies

Leigh Klotz / Xerox DocuShare

XForms: MVC in the Browser

HTML forms are the basis of interaction on the web, and yet are lacking many features we expect from user interface systems. For enterprise designers in particular, the Model-View-Controller (MVC) architecture separates data, logic, and presentation, yet HTML combines the three.

Today I'm pleased to introduce you to XForms, which is a way to author forms and gain a high level of expressive power. We use XForms in DocuShare, in our Wikis, Weblogs, Content Rules, and Content Repository administrative pages, and we've used XForms in a number of other Xerox products. I am co-chair of the World-Wide Web Consortium XForms Working Group.

I'll show you XForms working in DocuShare, on this server, and show how you can use it on your own HTTP server of any type.



An introductory post

I'm Leigh Klotz, and I work for Xerox on the DocuShare product, and my primary area of responsibility is the architecture for the user interface and web-based client interface. I work with a great team of other people and I'm sure you'll be hearing from them in the future here. You can read a little more about me, or read on for some of my professional interests.

In the coming months, I'll be focusing here on our use of web technologies across the board, and bringing those to bear on both user interfaces and non-user interfaces. I work hard to close the semantic gap between the models that have users have and the models that developers have, so that what works out to be natural for one is easy for the other, and vice versa.

Some of the technologies and standards we use are REST, RDFa, XForms, XML, XBL, XSLT, XQuery, WADL, and RelaxNG. I'll be exploring the benefits we get from them here, and will show how you can use them to your advantage as well, both with our DocuShare product and in your own systems and solutions.

We also make great use of some open-source implementations of these technologies including Restlet, AgenceXML XSLTForms, Saxon, and Guice. For each of these, I'll be covering some of the uses we make, and again showing how you can take advantage of them as well. Occasionally I'll be highlighting our contributions, which are usually the prosaic but essential bug reports, API change requests, and feature support use cases. You might also see me make postings on the various support forums for these projects.

Finally, this past year I became the co-chair of the XForms standards committee at the World-Wide Web Consortium (XForms) and I'll be highlighting our use of XForms, and giving examples and tutorials on how to make use of XForms both in DocuShare and in other contexts.

Comments are welcome, but you'll need a free DocuShare DSDN account, or you can engage with me via email, Twitter, or identi.ca.