For the last few weeks I've been hard at work on Mobile Web OSP 2.5. Today I committed the first of my content adapters for the system and it's related to the calendar. While that's been one of the big features I wanted to include based on recent conversations I've had I've also implemented some other things that folks my find interesting and that go a bit beyond what I discussed in my State of Mobile Web OSP post.
All of these changes are currently available in the master branch of the project. Because their are still some commits I haven't made the master branch should be considered very unstable and may not work properly but hopefully there's something there to be gleaned.
Database Support Expanded
MDB2 support has been added and the project will come with drivers for MySQL, MSSQL, and PostgreSQL. MySQL will be the only database that I actively test though. Because MDB2 doesn't currently support SQLite3 that option is now turned off but I hope to find a solution before launching 2.5.
Device Detection & Classification Updates
The core feature of Mobile Web OSP is the ability to display content in different templates based on the type of device requesting that content. In my "State of…" post I talked about being unsure on what I wanted to do with this future. Well, in the short term, I've attempted to expand the number of devices that get classified by the system as well as breaking that service out into it's own class to hopefully make it easier to utilize and update. There are some neat functions where you can deliver tweaks in templates based on type of device as well as version.
I've also added a JSON-based simple API for allowing other applications on your campus to use Mobile Web OSP as a device classification service. This should lead to only needing to update one place for all your device detection and classification needs.
That being said I'm still not sure this in-system feature will last. Looking ahead the Android tablets will cause my system a few headaches.
More Granular Statistics
The internal statistics package has been upgraded to allow for more granularity in reporting devices based on the device classification class. For example, if you add special classifications for the Palm Pixi or Nokia handsets to the device detection class those devices will start to be automatically tracked in the internal stats as their own line item. Also, any new modules you may add to the system will also start tracking immediately without any changes to the databases. Note:* because of these changes access to year-over-year data goes out the window because it was such a major change. *
Google Analytics support has been updated to use the async version as well as properly tracking outgoing links, outgoing phone calls, and outgoing emails via Google Analytics Event Tracking feature. A bug with tracking clicks on the back button in WebKit templates has also been cleaned up.
Some module-specific improvements:
- Better RSS support in the News & Emergency modules including cache support through the use of Simple RSS (this may change by launch of Mobile Web OSP 2.5 as I turn the RSS reader into a content adapter as well)
- A simple include file for the Emergency module so that one can quickly add a message that gets pushed to all three templates
- Weather module now properly works with the new template scheme.
The example Apache virtualhost file has been updated to give tips on how to properly restrict web access to parts of the system that don't need to be exposed that way.
I'll have a better idea in early January on when this project will be delivered to the outside world. My goal is to get a new version of WVU Mobile Web rolled out before the kids come back for the Spring semester. That may be a bit ambitious as it includes quite a few sections that I need to develop from scratch. I'll try to keep you all updated though.
Update December 28, 2010: The second content adapter for the map has been committed.
Update January 6, 2010: There's also a new feature proposal for federated search. I've currently committed federated search functionality for maps and calendar.