http://www.gnome.org/projects/dia/images/develop.jpg

Developers

Since Dia is open source, there's no fixed plan for when what will be done, nor can we tell anybody to code specific parts. Thus the development tends to happen where people get annoyed enough with the current state that they do something about it. Which is fine. We (the maintainers) are happy to get contributions, however, we will not automatically add any patch we're sent. We would like potential contributors to take a look at our Dia/CodingGuidelines first and Dia/HowToSubmitPatches second, following these will dramatically increase your change of having your patch accepted.

Current state

We feel Dia is in a state where it can be actively used. Many features are implemented and the code is quite solid and mature. Please try it out and tell us what you think of it. Check out the code too, you might even want to contribute...

The file format is XML based since 0.30, so it's pretty easy to keep backwards compatible. We'll do my best to make new versions load older files, no guarantees the other way though.

We develop under i386 Linux (Ubuntu) and gtk+ 2.0, and it works for us (tm). Dia is known to run on several Unix variations, and Windows as well. If you have succesfully tried it on some other architecture, please tell us.

For those interested in helping out, or curious about what's currently going on, we try to keep up a page with Dia/CurrentDevelopment. For those who feel like adding something of their own, there's a page of Dia/PotentialDevelopment with features we'd like to get but don't have anyone looking at yet.

Development documentation

Generic information

Dia/CodingGuidelines

Dia/HowToSubmitPatches

Specific parts

Dia/Undo

Roadmap

The roadmap towards version 1.0 (as of version 0.96, end of 2006) is laid out below. Of course, since all the work is done by volunteers, it may turn out otherwise, but these are the areas that the maintainers feel should be focused on first.

0.96

0.97

0.98

1.0

Other ideas bubbling around: OpenOffice.org and OmniGraffle file format support. Rotation, possibly just of text. LaTeX support in the form of in-diagram display of rendered LaTeX.

UML support

The UML support is quite extensive, all of the static structure diagram parts is done. In the future support for other kinds of UML diagrams will come.

The core UML objects are the only ones left that don't use the standard properties API, but rather defines their own GTK dialogs. This needs to change, and the only missing part is a property that handles arbitrary-length lists of properties.

For future work on UML, here's some links explaining UML: http://decomp.ulb.ac.be:9090/Courses/glp0506/06-UMLAndClasses.pdf

Network diagrams

Dia can be used to draw diagram of LANs and WANs. At the moment very few object usable for drawing these diagrams are implemented, there is more to come. Other diagram types

Dia currently also supports Entity-Relationship diagrams, Flow charts, Sybase database diagrams, electric circuit diagrams, GRAFCET, IDEF0, and much more.

Developing

Dia is designed to be very flexible. Diagram types are scanned for and loaded at runtime from dynamic libraries. In the future we hope many different kinds of diagram types will exist. Things like JSP diagrams, block diagrams, organization charts, whatever. If you want to help with this, please contact us.

Get the latest sources from Subversion repository (SVN).

Gnome has moved from CVS to SVN and although older versions of Dia are available from CVS you should use Subversions to access the latest version.

You can always get the latest development version from the gnome svn tree in the 'dia' module. If you want to help out with the development of Dia, please use this version.

You can check out a copy of the sources by typing svn checkout http://svn.gnome.org/svn/dia. (This might take a while.)

After you have done this you can always check whether you have modified (your local copy of) the sources by typing svn status while standing in the directory where the dia sources reside, and you can update them by typing svn update.

You can always browse the latest sources with bonsai or lxr. In the ChangeLog you can see all the recent developments. Getting recent snapshots via HTTP

Snapshots are generated daily by the Dia ChangeLog Daemon and stored here: http://www.raeder.dk/~larsrc/Dia/snapshots.

Google Summer of Code

I missed the deadline for submit some project ideas to the 2007 Google Summer of Code. For next years SoC, here are the ideas:

Rotation (maybe with scaling, too)

Better autorouting

Full dockability

Embeddability

Mailinglist

There is a mailing list dedicated to discussions about the design, development and usage of Dia. You can subscribe by filling out the form at the dia-list pages.

Be warned that due to recent spam activity, mails sent by non-subscribers may take a while to be okayed. It's a very good idea to subscribe at least as long as your subject is being discussed.

If you want to help out with Dia or discuss it's development, please use the list so that all interested people can take part in the discussion.

The mailing list is archived at http://mail.gnome.org/archives/dia-list/ and (this one has some older mails too) http://www.mail-archive.com/dia-list@lysator.liu.se/. Bugs

We use Bugzilla to track our bugs. If you have found a bug, and don't see it in the list of all Dia bugs (open or closed), please do report it.

Authors

This program was originally programmed by Alexander Larsson, alla@lysator.liu.se. The current maintainers are Lars Clausen and Hans Breuer. Steffen Macke maintain the Win32 installer.s

The following persons have in some way contributed:

Dia is documented by:

Dia/Developers (last edited 2008-05-29 23:29:20 by blahedo)