Hi everyone!
Well, here I am announcing the resulting project of my GSoC experience
during the [your] summer: smallUML, a project to help us building diagrams
and sharing them with any package of code.
My mentor was Stephane Ducasse and my co-mentor Geert Claes, so thanks to
them for the guidance up to now, and also to Fernando Olivero who helped me
a lot (hope to do some coding with you at ESUG! :P).

You can gofer it:

Gofer it
>     squeaksource: 'smallUML';
>     package: 'ConfigurationOfSmallUML';
>     load.
> (Smalltalk at: #ConfigurationOfSmallUML) project latestVersion load.
>

And then open the Diagram Browser of the current little examples evaluating:

DiagramDrawingDocumentation openDiagramBrowser  .
>

This is beta and I'm still working on it, my work will continue after GSoC's
deadline, so of course your welcome to give some feedback and think about
what features would you like it to have and if you're confortable with the
current features. It would be really nice if this helped to get all Pharo
projects more documented, with visual diagrams that help understanding them
at a glance.

Talking about that... the current features are:

   - Open a *Diagram Browser* for an existing Category Diagrams Holder (this
   is a class ment to hold the created diagrams and there should be one per
   category, for now; you can browse DiagramDrawingDocumentation to see an
   example)
   - *Create and edit diagrams* programatically describing them with
   "diagram code" (the diagram code it's just a protocol of methods meant to
   describe diagrams, you can see some diagram code browsing
   DiagramDrawingDocumentation methods or each Class Box in the Diagram
   Browser)
   - Every diagram you build through the Diagram Browser it's saved as
   "diagram code", so you can *share it as code* that will reproduce your
   diagram :) That means that diagrams can 'travel' along it's package when you
   commit your changes with Monticello! And then they can be edited by anybody,
   they're not just a pretty picture.
   - You can *export* your diagram as a *PNG* picture or you can export it's
   "diagram code" as a *workspace*.
   - Only *Class Diagrams* can be built for now.
   - Class Boxes of a class diagram can be *dragged* to be easily
   positioned.

Some details that are missing:

   - It's funny, but I can't center the class boxes title! :P
   - I tried adding some scrollbars to the "whiteboard" where you can view
   your diagrams in the Diagram Browser, but if I did that the drag & drop of
   the class boxes worked funny :( I'll ask about that to you later.

On the way:

   - Tests and documentation, and a screencast showing every feature.
   - Lots of refactors: as I'm adding more kind of diagrams right now, so
   I'm doing a lot of refactors to make everything more flexible and improving
   all the messy code there.
   - A version of Minimal Connectors for anybody to use if they feel like
   connecting morphs for another project.
   - Some usability improvements.
   - Object diagrams
   - Sequence diagrams
   - Your feedback :D


So I'd really appreciate if you can give it a try and tell me how you feel
about it, I'd like it to be very usable.

Cheers!

Carla
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to