Thread: Google Summer of Code

Google Summer of Code

From
Euler Taveira de Oliveira
Date:
Hi Hackers,

For those who don't know, I will develop and ER tool integrated to
pgAdmin during these 3 months as a SoC project. Thanks to Dave Page to
mentor me.
I just set up two environments to develop/test: Slackware 11.0 and
Windows XP SP2. I don't know what version you use to build; 2.6.4 or
2.8.3?
The patches will be in [1]. I'll be using this maillist to discuss all
the development steps.

Project Summary:
Implement an ER diagramming tool fully integrated with pgAdmin. The tool
will have the following features:
1) draw database diagrams: the ability to draw relation with its
attributes, constraints, keys and draw relationships among them. The
idea is to use the wxArt2D library [2] (it's tightenly integrated in
wxWidgets [library used in pgAdmin] and it's actively maintained);
2) get the modifications in the diagram and apply it to schema/database:
map modifications to SQL statements;
3) save the diagram in a proposed format (xml-based): draft a XML DTD
format to store the metadata;
4) use different notation formats for diagrams (Barker's, IDEF1X,
others?): make an abstraction layer to support all of the notation
formats.

Steps:
1) draft a XML DTD to save the diagram metadata;
2) draft the interface integrated in pgAdmin;
3) implement the drawing diagram feature;
4) implement the diagram-to-saving-format feature;
5) implement the metadata to SQL statements feature;
6) implement different notation formats for diagrams.

That's it. I'm drafting the XML DTD (possible an XML Schema) and I'll
post it ASAP, so you could comment about it.

Fell free to contact me if you have any suggestion or doubt.

[1] http://www.timbira.com/soc2007/
[2] http://wxart2d.sourceforge.net/

--
  Euler Taveira de Oliveira
  http://www.timbira.com/


Re: Google Summer of Code

From
Guillaume Lelarge
Date:
Euler Taveira de Oliveira a écrit :
> For those who don't know, I will develop and ER tool integrated to
> pgAdmin during these 3 months as a SoC project. Thanks to Dave Page to
> mentor me.

Whoo, that's just great news. With the debugger, it's the second
functionnality I miss the most on pgAdmin :)

> I just set up two environments to develop/test: Slackware 11.0 and
> Windows XP SP2. I don't know what version you use to build; 2.6.4 or
> 2.8.3?

2.8.0 because I didn't take the time to build 2.8.3.

> The patches will be in [1]. I'll be using this maillist to discuss all
> the development steps.

Great.

> Project Summary:
> Implement an ER diagramming tool fully integrated with pgAdmin. The tool
> will have the following features:
> 1) draw database diagrams: the ability to draw relation with its
> attributes, constraints, keys and draw relationships among them. The
> idea is to use the wxArt2D library [2] (it's tightenly integrated in
> wxWidgets [library used in pgAdmin] and it's actively maintained);
> 2) get the modifications in the diagram and apply it to schema/database:
> map modifications to SQL statements;
> 3) save the diagram in a proposed format (xml-based): draft a XML DTD
> format to store the metadata;
> 4) use different notation formats for diagrams (Barker's, IDEF1X,
> others?): make an abstraction layer to support all of the notation
> formats.
>
> Steps:
> 1) draft a XML DTD to save the diagram metadata;
> 2) draft the interface integrated in pgAdmin;
> 3) implement the drawing diagram feature;
> 4) implement the diagram-to-saving-format feature;
> 5) implement the metadata to SQL statements feature;
> 6) implement different notation formats for diagrams.
>
> That's it. I'm drafting the XML DTD (possible an XML Schema) and I'll
> post it ASAP, so you could comment about it.
>

Good luck with your project.

Regards.


--
Guillaume.
<!-- http://abs.traduc.org/
      http://lfs.traduc.org/
      http://docs.postgresqlfr.org/ -->

Re: Google Summer of Code

From
Giuseppe Sacco
Date:
Hi Euler,
this is a very interesting project.

Il giorno sab, 21/04/2007 alle 18.21 -0300, Euler Taveira de Oliveira ha
scritto:
[...]
> That's it. I'm drafting the XML DTD (possible an XML Schema) and I'll
> post it ASAP, so you could comment about it.

I just wonder why you should draft a new XML DTD. I never used XML for
such data, but probably some specification has already been written. A
quick search show:

http://www.idealliance.org/papers/dx_xml03/papers/06-01-01/06-01-01.html
http://www.w3.org/RDF/

Good luck,
Giuseppe

Re: Google Summer of Code

From
Dave Page
Date:
Euler Taveira de Oliveira wrote:
> Hi Hackers,
>
> For those who don't know, I will develop and ER tool integrated to
> pgAdmin during these 3 months as a SoC project. Thanks to Dave Page to
> mentor me.

Welcome Euler - I'm looking forward to working with you.

> I just set up two environments to develop/test: Slackware 11.0 and
> Windows XP SP2. I don't know what version you use to build; 2.6.4 or
> 2.8.3?

I'm guessing you mean wxWidgets version, in which case 2.8.3.

Regards, Dave

Re: Google Summer of Code

From
Euler Taveira de Oliveira
Date:
Giuseppe Sacco wrote:

> I just wonder why you should draft a new XML DTD. I never used XML for
> such data, but probably some specification has already been written. A
> quick search show:
>
> http://www.idealliance.org/papers/dx_xml03/papers/06-01-01/06-01-01.html
> http://www.w3.org/RDF/
>
I don't know if you understand why i'm proposing the xml definition for
ERD. Because you could open the ERD in another machine and recreate it.
Interesting paper, but I'm thinking about using SQL/XML XML Schema (SQL
2003 standard). Maybe a modified version of the standard 'cause some
metadata (position stuff, other?) needs to be stored too, so the tool
could draw exactly the same way.
RDF? I read some papers proposing it but I think the standard is the way
to go?

Comments?


--
  Euler Taveira de Oliveira
  http://www.timbira.com/


Re: Google Summer of Code

From
Andy Burns
Date:
On 22/04/2007 08:46, Giuseppe Sacco wrote:

> I just wonder why you should draft a new XML DTD. I never used XML for
> such data, but probably some specification has already been written.

I got the impression that it wasn't the actual structure of the ER
diagram itself that was going to be stored (on the grounds that will be
gleaned from the database schema itself) but what _will_ be stored
stored is metadata about the diagram, such as positioning and sizing
information for each element, or did I jump to conclusions?



Re: Google Summer of Code

From
Robins
Date:

Frankly, I think I was pretty much where Andy is. I mean, aren't we storing 'only position / sizing (in other words UI) details' in the schema ?

Storing the database structure in the schema (and not reading it from the database) is going to be quite futile for me personally ... you know 'managing two schemas' issue.

Or did I too get it wrong ?

Robins

On 4/22/07, Andy Burns <fedora@adslpipe.co.uk> wrote:
On 22/04/2007 08:46, Giuseppe Sacco wrote:

> I just wonder why you should draft a new XML DTD. I never used XML for
> such data, but probably some specification has already been written.

I got the impression that it wasn't the actual structure of the ER
diagram itself that was going to be stored (on the grounds that will be
gleaned from the database schema itself) but what _will_ be stored
stored is metadata about the diagram, such as positioning and sizing
information for each element, or did I jump to conclusions?



---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match



--
Robins

Re: Google Summer of Code

From
"Dave Page"
Date:

> ------- Original Message -------
> From: Robins <tharakan@gmail.com>
> To: pgadmin-hackers@postgresql.org
> Sent: 22/04/07, 17:28:25
> Subject: Re: [pgadmin-hackers] Google Summer of Code
>
> Frankly, I think I was pretty much where Andy is. I mean, aren't we storing
> 'only position / sizing (in other words UI) details' in the schema ?
>
> Storing the database structure in the schema (and not reading it from the
> database) is going to be quite futile for me personally ... you know
> 'managing two schemas' issue.
>
> Or did I too get it wrong ?

It's primarily a design tool, not an auto-doc tool, so you will generate DDL from a completed design. The auto-doc (ie.
reverseengineering an existing schema) functionality is expected to be a post-SoC project. 

Regards, Dave

Re: Google Summer of Code

From
Euler Taveira de Oliveira
Date:
Robins wrote:

>    Frankly, I think I was pretty much where Andy is. I mean, aren't we
>    storing 'only position / sizing (in other words UI) details' in the schema
>    ?
>
Nope.

>    Storing the database structure in the schema (and not reading it from the
>    database) is going to be quite futile for me personally ... you know
>    'managing two schemas' issue.
>
See this link [1] where I explain in details the advantage of storing
the diagram metadata in a XML Schema. Briefly:
* model 1 is database-independent so you don't need a database
connection to open and modify the diagram;
* using model 2, you can't differ if an object is part of one diagram or
another one; so you can't have two models in the same database!

IMHO an general ER Tool (I know it involves a complexity) is better than
a database-driven one.

[1] http://www.timbira.com/soc2007/

--
  Euler Taveira de Oliveira
  http://www.timbira.com/