Grant asked me to post a status update on the rearchitecture work,
especially what's going on in the branch. As you may have noticed,
we started with some empty directories and a README that explains our
current plan and milestones for the architecture pilot
project. Today, I checked in the ZFR milestone, which stands for
"Zero Functionality Release". It basically means we have a skeleton
application that doesn't do much besides build and run.
In this case, the ZFR allows plugins to register to be called at
startup, and runs a wx+Twisted main loop, with support for Trellis
events. It uses various CheeseShop packages to accomplish this, including:
* Trellis -- callback-free event-driven programming with minimized
order dependencies
* Plugins -- a simple approach to finding and running plugins via
eggs and other methods
* AddOns -- a way for you to make stamp/annotation-like objects that
extend existing objects
* Contextual -- a way to have "service" objects that look like
globals, but are actually local to an execution context
Most of the heavy lifting is done in these libraries; the ZFR itself
contains only ~65 lines of Python aside from the necessary setup.py
and __init__.py files. You can find docs and downloads for these libraries at:
http://pypi.python.org/pypi/Trellis
http://pypi.python.org/pypi/Plugins
http://pypi.python.org/pypi/AddOns
http://pypi.python.org/pypi/Contextual
If you'd like to play with the ZFR, you can check out the
rearchitecture branch, and run:
cd Chandler-Platform; python setup.py develop
cd Chandler-App; python setup.py develop
cd Chandler-Debugging; python setup.py develop
You can then run the "ocap-demo" program that gets installed when you
setup Chandler-App. (If you want to install it to a custom location,
use "setup.py develop --script-dir=/path/to/scripts". It will be
installed as an an .exe file on Windows, a shell script everywhere else.)
When doing this installation process, you must use the Python from an
existing Chandler installation (so that setuptools, wx, and Twisted
are on sys.path). You will also need an "svn" executable on PATH, as
the installation process will check out SVN code for some of the
libraries listed above. Do *not* use RunPython to run the scripts;
just use the "python" executable directly.
At the moment, the ZFR does absolutely *nothing*, which is why it's
only 65 lines of code. :) The Chandler-App project just asks the
Chandler-Platform project to start up an application. This causes a
notification to be sent to any plugins that registered for startup
notification. The Chandler-Debugging plugin (if installed) then
responds to this notification by starting a PyCrust shell.
Our next milestone is "Hello World", which basically will be adding
the main Chandler window and a splash screen, and moving the PyCrust
shell to a Tools menu option (that will be added, again, by the
debugging plugin).
After that, the next milestone is "Airhead", which will be a pretty
port of the current Chandler UI, but with no brains
whatsoever. :) More details on the milestone plans can be found in
the rearchitecture branch README.txt.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev