New features and updates

Nov 23, 2012 at 8:23 AM
Edited Nov 23, 2012 at 8:26 AM

Hi all,

After trying out this project and finding it did the essential core of what I wanted but lacked both updates and some functionality I would like to see, I downloaded the source and bug-fixed some of the routines.  I contacted Amit asking to join the project as a contributor so I could update and improve the application.  He agreed and here I am. This hasn't been released as a build yet but the updated source code is available to download.  Anyway, current fixes include:

1. Fixed PDF generation.  

Maybe it was just me or new OS features stopped the code working but when I generated a PDF of my schema, I just got an empty document with the right number of (blank) pages.  This is no longer the case.  I updated the code to use memory streams instead of storing the files locally and that both improved speed and fixed the issue.

2. Updated to .NET 4.5.

Not a major fix since the code is pretty robust and well formed.  The changes to the new libraries required minimal changes to the existing codebase.

3. Progress update for PDF generation.

It's not perfect yet but fundamentally it works.  Previously, the application hung until generation was complete and didn't give you any feedback.  This has now been spawned into its own background process and updates the progress bar according to the work it is doing.

Now the next part.  New features.

This is where I'm looking for support and feedback.  Currently I'm in the process of revamping the connectivity and document generation code to allow us to connect to multiple database types (Oracle, MySQL as well as SQL Server) and generate various document types (PDF, Word, XML) with a more robust object structure allowing us to create the appropriate object but using the same core commands to do things.  This should allow future updates and additions of document types/databases with significant ease.  Adding a new type will be as simple as adding a new class, inheriting the relevant base type and interfaces and implementing the type-specific code.

Once completed, I intend to add the ability to access the data dictionary fields of the databases.  This means that you can store documentation comments and notes with the appropriate associations in the correct internal database location.  It also means the database is self-documented, the documentation is stored WITH the data (and hence backed up) and you will just need to connect to the relevant schema and the document is both up-to-date and available to print immediately.  You will also be able to update the data dictionary via the application yourself thus making Turtle SQL THE open source database documentation tool of choice for many people.

What I'm asking for from you, dear reader, is for feedback, suggestions, quibbles, quirks and basically to tell me how you'd like this to work.  I'm going to be a user as well and know how I'd like things to work and know certain aspects of this project will need to change interface-wise.  What I also need is to know what the community wants too.

On a personal level, I'm quite excited to be working on this as I know how great a tool this can become with some time, effort and support from the community at large.  I can't speak for Amit personally but I know that this project has the capability to be something special and I hope more people will want to be involved with this.

I look forward to hearing from you all.