Gutted a piece of Apache commons to get an FTP class. Pretty basic, it just uploads a local file and disconnects, but that's all I'll need to publish an index page, archive page and archive index.
For some inexplicable reason, my laptop refuses to connect to java.sun.com.
AH 3:06 PM
Downloaded hsqldb 1.7.1, the latest stable version, and a major version point on from what I have now. The new version has a big pile of patches, fixes and improvements, like disallowing duplicate index names, tenfold speedup on version 1.7.0, and a smaller memory footprint. The big pluses in this version for me are referential integrity and autoincrement ID fields. JDK 1.4.x is supported.
Now I've got the new version and the developer docs, writing the DAOs should be easier.
AH 5:27 PM
The calendar panel is complete. Navigation works, selected day is carried over month to month, days are clickable, and it has a clean compile. Everything that can be tested has been, as far as I can tell. All finished.
AH 6:04 PM
Took a break from the database stuff and went back to the calendar panel, which has now become four files. The panel itself, the controller, the controller interface and the GUI interface. The GUI interface makes testing the controller a breeze: Pass in the setup data and run an assertEquals in the setDate method.
The calendar panel itself is complete and passes all tests. It's also dumb as a post, knowing nothing more than how to create itself and how to change its displayed date. The intelligence is in the controller, which handles the navigation methods, telling the panel what date to show, and eventually will notify the database which blog entries to retrieve.
I'm planning to upgrade to JDK 1.4.2. Had to download it from an Australian site because java.sun.com seems to only be up during office hours, and I think they'd notice a 42 Mb download, plus another 34Mb for the docs.
AH 8:08 PM
The first story in the XP version of Chronicle is the database story. Database design, skeleton DAOs (data access objects), database table creation, database creation tool.
So far, the database design has three data tables (entries, authors, and categories) and a link table (timestamp, entry id, author id, category id). I'm not going to incorporate comments into the database, that would be a nuisance to synchronise, and there are already many blog comment scripts floating about on the net.
The guesstimate of how long this story will take came out at about 9 hours development time, depending somewhat on database structure. I think the new database design is simpler than I was expecting, so it may take a little less.
Some good links on what user stories are:
The overall development plan looks like a very big elephant to chew through. This is just an elephant toe. The eventual plan is to include RSS, file upload, a dictionary, and lots of other goodies.
AH 6:03 AM