The blog's up and running, a slab of source code sits on Google code and at last I feel like I can stand beside the library and say "yeah, well it's good enough for now".
You can find the code here: http://code.google.com/p/p-dd/
And the blog here: http://p-dd.blogspot.com/
So what does it do?
Put simply, it's a library of PHP classes that allow for the easy generation of documentation from a set of database sources.
The idea is that, over time, database sources will be added that will allow for the collection of meta-data from all the major database players (Oracle / MySql / Postgres / etc) and produce documentation in most of the popular forms (HTML / XML / RTF / PDF / etc) including ER diagrams.
The aim is to make the library simple to use to produce either applications that output documentation for static publication or applications that allow for navigation through the database structure. Note that it is not the aim of the project to produce either of these applications, merely to allow for their creation.
It is also recognised that in the future it is desirable to take the library into a more analysis role. For example - inferring foreign keys that are not explicitly stated, either by examining the table structures or the data within those tables.
The library is very much in its early stages though, and for now we've got the following:
- A database model that consists of:
- Tables
- Columns
- Primary Keys
- Foreign Keys
- The database model can be created from the following sources:
- Oracle
- XML File
- The model can be rendered into the following formats:
- HTML
- XML
- Graphviz Neato Diagram (producing an ER diagram)
There are also lots of other little goodies in there such as datasource in dependant filters, a datasource caching system that limits the round trips to the database and a plethora of examples showing how components can be used as well as a simple Oracle database viewer application to show off what can be possible with just a small amount of work.
I hope the code is of use, and I'm fully committed to getting more and more functionality into the code as soon as possible in the new year.
Note: The eagle eyed of you may notice that I've added a new sidebar to this blog which will list the blog posts from the P-dd blog...
Technorati Tags: software, development, database, diagram, dot, dotty, neato, er, open+source, Oracle, Postgres, MySql, Robert+Baillie, documentation