[Hypercontent-developer] development update
Brought to you by:
alexvigdor
From: Alex V. <av...@co...> - 2004-05-28 17:23:23
|
Hello all, This is a status update for those interested in following HyperContent development. The current release is version 1.3, and version 1.3.1 has been tagged in the CVS. It contains 4 bug fixes and one or two minor new features; I'm leaving on vacation for a week starting tomorrow, so I may not get it out before then, but you can feel free to download it with the 'rel_1_3_1' tag. The code in the CVS added post 1.3.1 is related to some new functionality which I'm hoping to bundle into version 1.4 in time for the JA-SIG June conference; it offers a whole new way of managing site navigation. Up until now, site navigation has been constructed through a combination of XML includes and XSL logic for labeling, sorting and displaying. If ad-hoc sorting is desired, the only way to do it until now has been to add a custom sort field to XML data and include that data at build time for XSL processing. To re-order objects could be laborious, as you have to edit each file whose position should change individually. Adding a one-off link to a navigation area could involve creating or editing yet another file. The new functionality allows you to define navigation templates in an XML file, which will be dynamically resolved at build time into a tree of fully sorted and labeled navigation items. These templates can be as simple as saying "put book chapters under book divisions under books and label and sort them all by title", but also accommodate one-off links, custom ordering and labeling, restricting the maximum number of displayed items, and more. This functionality is already complete: the HyperContent web site has been converted to use it. Using this mechanism allowed me to remove 25% of the overall XSL code, 20% of the project definition code, order documentation chapters in one place rather than many, reduce build-time memory consumption by over 50% and speed up the build! What I'm currently working on to fit on top of this is a navigation editor, which will allow you to re-order items by simple drag and drop, click to edit labels and locations, and easily add or remove ad-hoc items from a navigation set. The drag-and-drop DHTML magic is finished, which I expect was the hardest part, so I am optimistic about completing the work in time for the conference. As of right now, it looks like version 1.4 will be the end of the 1.x track; each release since 1.1 has added functionality within the initial architecture, only minimally extending the architecture to support new features as required. This summer marks the beginning of development for version 2.0, which is going to entail a major architectural overhaul. v2 is going to be a standalone server application; it will no longer sit inside of uPortal, but will be able to present management tools and content portlets to any portal via WSRP and UDDI, or directly to the user's browser with no intermediary. v2 will have an integrated content server, so that it can be used to deliver dynamic content as well as pushing static content like v1.x. This content server will be built on WebDAV, which will make it possible to edit repository content directly from the desktop. Over the course of the summer I'll be posting more documentation about the v2 design, but the short of it is pretty much what you see above. If anyone is interested in contributing to the development, don't hesitate to respond! Alex |