While it's not a full blown CMS, you might like to look at the collaborative wiki work which is happening (which I am involved with). This has several things in common with your approach: multiple types of data store (MySQL, Postgres, DBD::SQLite), different formatters, etc.