Technology
The Technology (tech) section is where we can dig into the ins and outs of the code.
There are two major technology threads related to Gaphor: Gaphor itself and Gaphas, Gaphor's canvas implementation.
The ecosystem
No project can exists on it's own. Every project needs tools.
Those tools and sites are used to support Gaphor:
- Subversion is a state-of-the-art version management system.
- Trac is the project site.
- The Cheeseshop (or Python Package Index) is the place new versions are released.
- http://ohloh.net provides source code metrics for our little project.
- PEAK's setuptools are used to handle all setup/configuration related stuff.
Gaphas
- For an overview read Gaphas' Readme file and subproject page.
- Gaphas' canvas and constraint solver.
- Gaphas has a mechanism for triggering events when the state of canvas items changes.
See: gaphas/trunk/state.txt - On top of the state mechanism, it's pretty easy to build and undo management system.
See: gaphas/trunk/undo.txt - Quadtree's are a well suited to store geometrical data.
- API documentation at http://gaphor.sourceforge.net/gaphas-api/html/.
Gaphor
- An overview.
- Zope adapters and components and how it's used in Gaphor.
- PEAK's setuptools facilitate the service oriented architecture.
- UML 2.1 metamodel as data model.
