I've successfully modified the source to use dojo toolkit to display the source code. This means that I'm now comfortable enough with dojo to upload a snapshot of the new source. I've been so long in updating because I've had to learn javascript on the fly. It is a powerful language but the idiosyncracies between IE and Mozilla are enough to bring one to tears. Thanks to the many useful resources that helped me resolve my issues. I've decided that MochiKit takes too long to load. I've now chosen to use dojo; which is better documented and has a menu templating system builtin already. The dojo package can be found at http://www.dojotoolkit.org. I'll upload a new snapshot as soon as I'm comfortable that dojo will stay. There are many good libraries available but I'm also learning javascript as well as the use of the libraries. I've chosen a couple of javascript libraries to help give OSELIB some easy to use javascript classes. First I've chosen MochiKit as it seems most complete including the ability to use Ajax which is what I was looking for. MochiKit was using a SourceHighlighter JS from Dream Projections and I have incorporated it as well and have added links to the bottom of this page to allow you to view the source. I've spent today making the validators happy with both the html and css. I now have success with at least the welcome page for the osetailer.progw.org site. I'll be adding a doc:validator tag in the future to handle the addition of the validator urls. I've just ridded myself of the <ul><li> madness. The doc:menu and its doc:menuitem child have simplified creating the menu items. The .psp files contain the doc:menu tag while the .menu files under the WEB-INF/menu directory will contain the doc:menuitem tags. The doc:menu tag names the file with the doc:menuitem list and handles the <div> with its style class and id as well as the <ul> tags. The doc:menuitem tag handles the <li> and <a ...> tags to complete the menu list. I've just created a doc:news tag with a doc:newscolumn subtag for the osetailer-doc taglib. It improves the readability of the news source code and removes the worry of needing to type the style classes required to render the news. This tag will eventually be expanded to retrieve the data from at DB table. For now the news content is maintained within a .cmf file. I've improved my CSS so that IE and Mozilla now render mostly the same. This was a challenge as I was learning some gritty CSS details on the fly. The pages overall for OSEtailer are beginning to take shape. I have some interesting ideas for adding some tag features such as a restricted attribute on the page and zone tags. The value of this attribute will indicate the group a.k.a. role that is allowed to view the content of the page or zone. In my last article I had mentioned that I would be concentrating on content and presentation management. I went to bed that night and while falling asleep had a brilliant idea for how to achieve that goal. Some of the pages have been recoded to take advantage of that developing taglib, including this one.

The taglib short name will be doc - short for document of course. The coded tags so far are <doc:page>, <doc:pagehead>, <doc:menu>, <doc:zone>, <doc:heading> and <doc:zone>. All tags provided by Dan Allen in Studs have been mapped into the OSELIB tag library for ease of use.
I have basic registration working and storing user data into the database. I consider this a major milestone into this project. It means that I can now serve users in some fashion. The frontend so far is very basic but I'm creating a backend library that will aid in rapid development. I will next be working to solidify the content and presentation management. Feel free to register an account; I will use it eventually to send project updates. I'm now very happy. I have basic password validation working against a stored password in the database. Try it out, click the Login menu item above using an ID of demo and a password of osedemo. Both ID and password are case sensitive at the moment. I may make it configurable for the User ID. Next I'll be working on the registration form. I have the basic shell for the login form. Doesn't do much yet but it does show off the studs struts functionality nicely. I'll be doing the registration form next and adding actual login functionality against stored passwords in the DB. Eventually, we'll add alternative authentication methods such as imap or ldap. This is certainly taking longer than I had originally planned but good design is a must have criteria. I am getting close to being able to allowing registration and turning on the authentication module. I am currently working out the design details for my configuration system so that user details are configurable from the start. Now that I've chosen a new model my next step is to connect the model to a DB. One of the negatives to a new model is needing to learn it but the design and documentation for this model is good so learning is quick. So far I've spent about three hours on it. Once I've connected to the DB I'll create a registration system. More later ... You are seeing a working demo of OSEtailer in action. With the model I've discovered I hope to have a working project in a few weeks. You will be able to see the developments by bookmarking this page and then returning. Once I have my database setup I will be able to take requests to keep you updated by email. I am taking a different approach to OSEtailer. At first I had thought I would use PEAR and SMARTY for the library interface for OSEtailer. A great idea no doubt but I have since found something better. In my research I have found a model for modular approach that is common to many portal type of applications. As I work on this working set I will reveal what I have found so keep watching.