Yesterday, I submitted Schemata, my first project ever to SourceForge.net, and today I saw that they approved it! I am excited. Since I left the uPortal project, I have been missing the joys of open source software development. This project, called Schemata, will give me a chance to get back into it.
Schemata will be a tool that software developers use to maintain the schema and data for a database that supports the application they are developing. The tool will allow you to maintain the schema and data in an XML format which can be loaded into any relational database for which a JDBC driver is available. The developer would no longer have to maintain multiple versions of SQL scripts, one for each database he/she wants to support. It is really useful if you want to use, say, HSQLDB in development and for testing, but then use PostgreSQL in production.
I wrote a similar tool for uPortal about 5 years ago called DbLoader, but over time, the tool was enhanced with uPortal-specific features and it isn't easy to use it apart from the rest of the uPortal framework. Schemata will be very similar in concept and will grow to include Ant tasks, a Maven plugin, and maybe even an Eclipse plugin eventually.
I'm also using this opportunity to learn a new XML parsing API called StAX which stands for Streaming API for XML. Often called pull parsing, it has the speed advantages of SAX, but not the difficult programming style resulting from having to code up event handlers.
The Schemata project is just getting underway, so don't expect to find any working software at the SourceForge site yet.