Navigate

Thursday, October 26, 2006

Web Content Management: Number One Pain

Web Content Management still hurts the most. That's what I hear from IT professionals and web developers, and that's the evidence I see from the 2006 HighEdWebDev Conference. There have been a lot of redesigns and rollouts, and a lot of trials. There have been some successes, and a lot of painful lessons learned. Jeffrey Veen's conclusion that most CMS implementations fail seems just as true for educational institutions.



Veen's is an interesting article. The cause of widespread failure, in his view, is not a technological failure, but a failure of process and workflow in the institution. Veen's observation underscores that CMS are basically a commodity application - the systems don't distinguish themselves by unique feature sets. My own experience confirms that, but I would add one other important cause of failure that is, in fact, a technical issue: poor integration into the network and systems infrastructure.



Let's look at both issues, and in the process examine how the WebLion team is addressing those issues.



Process and Workflow



When we begin a partnership with one of our colleges, departments or units, there is always some uncertainty about what life with a CMS will be like. But after a time all have reached a point whereby they realize the power they are inheriting. They fall in love, and in the excitement of love they see a better world full of potential. In this relationship (don't worry, this metaphor ends soon) built-in workflow is the equivalent of poetry. They dream of workflow as paths and loops through an editorial nirvana. Dear reader - in this story, love is blind and dangerous.


What these units are doing is fixing their current problems of process and workflow, or general lack thereof, with the promise of control that the CMS holds forth. That is Veen's point exactly. What do we do when we see the optimistic flowcharts painted on the whiteboard? We urgently pull on the reigns and make this point: the first draft workflow should duplicate the process already in place. Even if the process is informal and ad hoc, there is one to be discovered.



Network Infrastructure


Thinking about the "fit" of the CMS with the local network and security infrastructure may well turn out to be THE distinguishing features of a CMS.
There are no standard implementations for authentication across institutions. There are so many big and small differences in implementation details, that inevitably there has to be some level of customization for accomodate those differences, as well as future changes to network systems. This one problem alone makes access to CMS code (at least the code for managing user accounts, security and workflow). This alone gives a clear edge to open source systems.



The Coming Shakeout


There is, at this writing, over a thousand CMS products to choose from, not including the home-rolled, one-off LAMP applications that small shops regularly create. Like it or not, CMS is now a commodity product; there isn't room for so many in the education space where budgets are getting stretched so thin. Some institutions looking for commercial solutions should be wary of a shakeout, or they may find themselves with an albatross instead.

Sunday, October 15, 2006

Code Cleanout: Separate Content From Behavior

A keystone of good web design is separation of content from style, behavior and structure. The technology for accomplishing good design is a platform suported by four pillars: XHTML, CSS, JavaScript, and XSL stylesheets. We understand how to separate XHTML and CSS reasonably well, but not so separating JavaScript from content — until recently.


Separation of content from visual design and style was a quiet revolution in how we manage web resources. The contributions to content management and design practices; the savings in time, money, and system resources; the cure for what pains can't be overstated. So when I read discussions of applying the same principles to separation of content and behavior, visions of clear skies and calm seas dance across my eyes. Let me explain...


Dynamic behavior and sophisticated user interfaces is some of what Javascript brings to the web. It has also brought a lot of accessibility headaches, pointless eye candy and interesting debate. Now we can still have the debate, but without loss of accessibility (with care and skill, of course). How is this done?


By using the same principles of separation from content, move the embedded JavaScript to an external (.js) file, add a <script/> tag with an href attribute pointing to the external JavaScript file, and use the same hooks that CSS uses to add behavior. In addition to the hooks, you use the JavaScript binding of the DOM. Instead of using selectors (as you would to add style), you access the document hooks using JavaScript methods document.getElementById and document.getElementsByTagName.


The event triggers embedded in the HTML, and incidentally an important cause of inaccessible code, is removed from the content file and added at download time by the browser using DOM methods, e.g.:



for( var i=0; i < links.length; i++ ){
links[i].onclick = function(){
return anotherFunction(this);
};
}

With care and technique, if the browser doesn't support JavaScript, then the static markup works in its place.


Christian Heilmann is an early pioneer of these techniques; techniques that were somehow given the obtuse name of "Unobtrusive JavaScript." To read more, and to get on board his Operation Cleanup campaign to remove JavaScript from content - especially, I pray, the cruft left by DreamWeaver (e.g., function MM_findObj(...), MM_openBrWindow(...), MM_validateForm(), etc., ad nauseum) - run to his web site.

Thursday, October 05, 2006

Metadata, Standards and Repurposing Content

Tag the Open Education 2006 conference "reuse, remix, burn". If tags could be tagged, tag [reuse, remix, burn] with "metadata, semantics, structure". Meaning: educational technology needs a toolbox of authoring agents and repositories that allow content to be found, parsed, edited, and combined with other content, the result of which is presented for learners. Metadata, semantics and structure are key to enabling technologies for authoring, discovery and distribution of educational content. The problem to this point is that currently available tools don't help authors add metadata, know little or nothing of semantics, and produce awful, non-standard code.

If a web page author posts a content-filled page using the (alas) usual methods of unstructured tag soup, you might as well write the content on paper, fold it in a bottle and toss it on the ocean. Unless that page becomes a Web classic, you will have about the same chance of finding that bottle while lost at sea (not a bad metaphor for the Web) as I would searching the net. For tools to effectively find content must use metadata. Tools to parse and remix content need structure; and it would be helpful if the structure had useful semantics.

Eric Duval , Professor of Computer Science at Katholieke Universiteit Leuven, president of the ARIADNE Foundation and the Friday keynote at Open Education 2006 knows a lot about opening content to search and remixing. His research group has contributed metadata schemas (Learning Object Metadata , or LOM), frameworks for modeling learning objects (ALOCoM), and has generally written a great deal on these subjects (publications and blog). His current passion is making learning content open. Openness has several aspects: findability, copyright restrictions, and the ability to repurpose (or, remix) content. "Even if you make all your material available for free, under a CC license, and in a way that makes it easy to find, it may be of little value to me if you make it difficult to change.That is where the value of content models and SCORM plays out, as they make scalable repurposing possible."

Even in a restrictive copyright system such as Penn State, the institutional benefits associated with finding and repurposing learning content can be huge. Adopting a purely technical practice can provide the foundation for eventual development and integration of applications that will open (internally) our content: get serious about metadata and standards.