WCM Best Practices: How Many Web Forms?

A customer recently asked me how long it would take to convert a site of theirs to be managed by Alfresco. This is something that comes up a lot, so it’s a good opportunity to discuss the issue. I’ll focus here on migrating a site that’s not managed by any CMS into Alfresco (i.e. no migration process), just a static or dynamic pages that need to be now managed by Alfresco.

The salesy answer is as fast as you can import your pages into Alfresco i.e. as quick as few minutes. This is true, in a way – this will allow you to have the site pages inside Alfresco WCM. You can then modify the pages, and deploy the content through Alfresco. However, the goal of any web content management system is to enable nontechnical users make changes on the website, and this won’t quite do. That means that some redesign is usually warranted. Recently I was talking about my colleague, Peter Monks, about making a decision for when a certain page should be converted to a form, and when it doesn’t make sense.

Of course, I am not talking about the obvious if you have 1000 product pages that all look the same, you clearly need forms, and one or more renditions for creating the pages. But, if you have a page that may change a few times a year, or even less frequently, i.e. About Us page, then is it worth to convert it?

Rule Of Thumb

When making this decision, you have to work with the customer and figure out how often certain page or set of pages will likely need to be changed change. Another, secondary, consideration is the technical level of who needs to make the changes to the page. For example, if you have a somewhat technical person who knows HTML reasonably well responsible for a certain page that doesn’t change frequently, then converting it to an XForm is probably an overkill.

Back to non-technical users – if a Web Form is only going to be used for one or two pages (instances of that type) then it’s probably not worth implementing as a Web Form. Another approach you can take is to see whether it’s possible to implement a more generic Web Form that can handle multiple different “types” of pages.

HTML “BLOBs” for Infrequently Changing Pages

Peter also suggested as a best practice what he called “HTML BLOB” Web Form, which should be used for the one-off pages or page fragments. It’s useful in several cases, and as a “safety valve” of sorts. It lets content contributors create those one off pages in a forms based environment, but without too much Web Form development effort. Pages like “About Us”, “Contact Us” etc. are often good examples of “HTML Blob” pages.

The HTML Blob is basically a simple Web Form with a big text field, probably with a title and summary fields, as well as a “related items” repeating element. All of these are optional, except for the content of course (the BLOB). In that text field you can put html, and that gets converted to an html page. You can also have other “catch all” content types, such as “Link”, “Teaser List”, etc. You do need to be aware that you are mixing up content and presentation, but in this case this is probably OK.

Conversion Process

When approaching a site to be converted, you should go through it and analyze all page types to come up with an initial inventory of content types (web forms). Then do a second sweep. This time, focus on combining and reducing the number of web forms to an absolute minimum – the fewer the better. Keep in mind that you can include both static and dynamic XSDs inside other XSDs. This means that you can share some code across multiple XForms, if that makes sense. This is also the time to decide which pages are candidate for the catchall (blob) pages. Once you reduce the total number of forms to a minimal number, then you can start the estimation process for how long it will take you.

Please share your experiences and ideas in the best way to do the migration of a site to Alfresco in comments.

Leave a Reply


Alfresco Home | Legal | Privacy | Accessibility | Site Map | RSS  RSS

© 2012 Alfresco Software, Inc. All Rights Reserved.