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.