Thread: Google Summer of Code
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/
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/ -->
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
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
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/
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?
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
> ------- 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
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/