[Chandler-dev] Menu Madness (i.e. where has my favorite menu gone?)

Katie Capps Parlante capps at osafoundation.org
Mon Apr 2 00:39:17 PDT 2007

Ok, I finally checked in the most recent round of menu changes. They
implement most of Bug 5236 and Bug 5173, and are spec'd here:

The test menu is gone, replaced by two menus:
- Demo: for "demonstration"-level functionality
      (e.g. Amazon, EVDB)
- Tools:
    - tools we might point the user at when problem solving
      (e.g. Repository -> Check)
    - test/debugging items that exist for developer/tester convenience
      (e.g. new scripting functionality, pyshell)
    - additional tools that an advanced user might make use of
      (e.g. Certificates, Plugin management)

Most of the old "Test" menu items live on in "Tools", but it has been
refactored to separate out menu items that users might be pointed at.

Note that plugins might insert menu items into *any* menu. Most plugins
currently insert menu items into "Demo", as they are not fully baked and
we want to segregate them from the rest of the app while they are in
this state. Eventually we'd like them to integrate more seamlessly into
the app, and that would mean placing appropriate menu items in other

Of course, plugins can also insert into the "Tools" menu. The
EventLogger is our only current example, inserting the newly renamed
"Log user actions" item into "Tools->Logging".

Other notable menu changes:
- Mail online/offline has been promoted to the sync menu.
- Dump/reload items have been promoted to the file menu.
- Unsubscribe/Unpublish share a menu item and event (Unshare)
- Toolbar events added into menus (Reply/ReplyAll/etc., All/Mail/etc.)
- Stamping menu items toggle text instead of being check menus

I added "toggleTitle" to the MenuItem schema for that last one, so that
both strings could live in the menu definition instead of the menu
handler, which would have been particularly icky for the stamp/unstamp
case. In theory we could build this more directly into the block 
behavior and use it in other places as well.

Work left to do:
- Bug 4617. Move test code (including CPIA skins) into separate plugin
that doesn't have to be included in the end user release. Noted: the
test skins currently install a bunch of block items -- removing them
might have a perf/footprint advantage for the end user. The TestBlocks
functional test of course depends on the skins -- I'm not sure how we're
going to handle functional tests that currently depend on plugins.
- edit/remove applies to items and collections separately
- Jump to calendar view/weekview
- Addto/moveto
- Online/offline for all shares and for all inclusive (works per share 
and for Mail)


More information about the chandler-dev mailing list