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

Reply via email to