CGI/Database Driven Web Applications
DynamicICE/ICE
PERL/MySQL Content Management System
DynamicICE [Dynamic Interactive Content Engine, for want of a better name] was inspired by a period of time I spent working at the Department of Education, Science and Training (now the Department of Education, Employment and Workplace Relations) as Intranet Editor, where I used a modified version of Microsoft Content Management System to deliver internal communications to the Department.
I quickly became frustrated with the limited, poorly designed software package, and was determined to create a package without the problems of the Microsoft system.
Some Notable DynamicICE Features:
- Ability to manage, modify, edit, delete, reflow and search an infinite number of hierarchically organised pages
- Automatic Menu, breadcrumb strip, and page shortcut generation
- Completely independent theming and styling information, ability to manage an infinite number of stylesheets per page, and for separate themes per page
- Automatic metadata generation
- Dynamically generated robots.txt
- WYSIWYG page editor
- Capacity to manage an infinite number of users
- Group policy manager
- Individual user permissions
- 100,000-level page permissions, allowing for a vast array of user groups with different page viewing and modification priveliges
- User session Manager
- Cryptographically encoded session keys against a random eight digit salt, itself generated by a user specified seed
- Easy setup procedure
- Completely customisable string table for informational and error messages
- Configurable error pages
- Database session and hit logging
- Pageview, Referrer, User Agent, Geolocation, and chronological statistics, and error reporting
- RSS aggregation for page-views and statistics
- New data visualisation technique - PageFlow
- Blogging engine enabling an infinite number of blogs, each with their own theme, metadata, articles, and permissions
- And more...
Screenshots of a few notable elements on a DynamicICE powered website:
- Logging in
- Context Sensitive Toolstrip, Dynamic Menu
- Configurable Site-global footer
- Flexible Dynamic Includes
- WYSIWYG skinnable editor with dynamic, extensible metadata fields
- Blog Settings Manager
- Blog Article footer
- Auto-generated Menus and Dynamic Content Selectors
- Unauthenticated Article Comment
- Authenticated Comment Form
- Unauthenticated Comment Form
- Automatic Archive and RSS generation
- Fine-grained referrer information
- Individual User Profile
DSControl - PERL/BASh/AppleScript Based System Remote for the Nintendo DS
Initially, this project was developed so that I could control iTunes on my Macs, using my Nintendo DS (with Web Browser.) This project was a valuable lesson in web development for mobile devices.
The implementation was extremely difficult, because the Opera browser on the Nintendo DS does not support XML/HTTP requests, and subsequently AJAX. Ordinarily, AJAX would have been the perfect tool for the job of a multimedia remote - as it can be used to automatically update the 'Now Playing' display, and allows the submission of commands to the server without forcing a page-refresh. Instead, rather than being forced to put up with a static display which would have to be manually refreshed, I devised an elaborate system of both visible and invisible iframes which would themselves invisibly and periodically refresh, without requiring the entire User Interface to refresh, only changing its display when the source data had changed.
The result was a seamless and dynamically updating interface to iTunes. But why stop there? I created an XML packaged, Applescript plugin architecture, and plugins for Mail, Instant Messaging, EyeTV (TV Tuner software,) Vienna (RSS Aggregator,) and administration panels for system status and settings.
Screenshots
- DSControl Main Menu
- iTunes Control Example 1
- iTunes Control Example 2
- iTunes Control Example 3
- System Statistics Module, uptime page
- Instant Messaging Module, Contact Selection
- Instant Messaging Module, Chat Screen