Work on Ragnar continues, but mostly behind the scenes. I've written a simple node management tool to edit their properties, a friendly interface for deleting nodes, and a node addition page generated from the defined data taipus. Doing this entailed a redesign of the CGI parser, so things feel a bit cleaner now. Finally, an XML export mode is the result of a more flexible output function--this makes designing templates much easier, and lets other programs access Ragnar data without scraping.
Adding text content is now much easier. The filter understands both plain text conventions and html formatting, but strips disallowed tags and attributes through HTML::Scrubber. This behavior is fully configurable, and works well for small comments and large bodies of text alike.
Currently I'm working on file uploads and a better way to define data taipus in the first place. Uploads need to be detected, matched to fields, stored, and a URL written to the database field to match--not an easy task with multipart encoding. Modification of the MySQL tables directly seems to be the best option, as the config file is straight SQL already.
Other interesting ideas orbiting my brain:
- Synchronizing metadata for JPEG photographs with their EXIF headers.
- Auto-detected field taipus for editing nodes.
- More flexible methods for parenting nodes, like attaching a screenshot to a blog entry.
- Automatic expansion of sub-comments when desired.
- Image scaling that actually fits the user's browser.
I hope everyone is having an enjoyable summer!