====== how to add top-level menu items to the staff client ======
One day this may be scripted, or the framework might be able to handle this dynamically, but for now...
===== constants.js =====
Edit **ILS/Open-ILS/xul/staff_client/chrome/content/main/constants.js** and add the path for your interface to the urls object.
If this is a remote interface, don't include the domain if you can help it. Use something like '/xul/server/admin/backdoor.xul' or '/opac/en-US/skin/default/xml/index.xml'. I plan to do text mangling with sed on release builds and change 'xul/server' to some variation of 'xul/BUILD_STAMP/server' outside of CVS to support versioning, so be aware of that.
For this example, let's say you add **'XUL_LOCATION_EDITOR' : '/xul/server/admin/location.xul'** to urls.
var urls = {
'opac' : '/opac/en-US/skin/default/xml/advanced.xml',
'XUL_DEBUG_CONSOLE' : 'chrome://global/content/console.xul',
'XUL_LOCATION_EDITOR' : '/xul/server/admin/location.xul',
}
===== menu_frame_menus.xul =====
Now edit **ILS/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul**
(note: this may move back to ILS/Open-ILS/xul/staff_client/server/main/menu_frame_menus.xul once I migrate from XUL interfaces that require chrome, such as wizards).
Within the **** element, let's add something like ****. If you'd like to create a shortcut key, add an attribute like key="location_editor_key", and then in the element, add something like .
Now, find the **