Readme file for ZopeEditManager
Zope Edit Manager Zope Edit Manager is a wrapper application for Casey Duncan's excellent External Editor for Mac OS X, allowing Mac users the same level of flexibility in editors and number of concurrent edits. The Problem Using the current Mac OS X Solution: <http://zope.org/Members/Feneric/ExtEditMacOSX> will only get you part of the way to <textarea> freedom. Specifically, it only allows for applications that have either a CLI component, like BBEdit, or that are bundle applications with an easily attainable executable file, mostly limited to Cocoa applications. In addition, because of the way Mac OS X approaches applications, you can only have one External Editor process going at a time. Unlike Windows and UNIX/X11 applications, Mac OS X native applications have one runtime instance. The Solution Taking Casey's work to the next level for Mac OS X users, I replicated his work using the PyObjC bridge, creating a native, Mac OS X application to act as manager for all External Editor processes. This means that you can specify any Mac OS X application (Carbon or Cocoa) to act as the editor for a MIME type, type group, or Zope meta_type. And you can have as many concurrent edits as you like, since all edits are proxied through a single application. Using It Drag the ZopeEditManger application to the Applications folder in your hard drive or home directory. You can use the built-in preferences, one of the supplied preference files, or edit your own. Soon, you will be able to change preferences via a more Mac-like interface. Configuration The helper application supports several configuration options, each of which can be triggered in any combination of object meta-type, content-type or domain. This allows you to create appropriate behavior for different types of Zope objects and content or even different servers. The configuration file is stored in the file "~/Library/Preferences/com.urbanape.zopeeditmanager.plist". If no configuration file is found when the helper application starts, a default config present in the Application's bundle is used. The configuration file follows the standard Mac OS X Plist format, found pretty much throughout your Library/Preferences folder. <dict> <key>Property Group</key> <dict> <key>Property1</key> <string>Value1</string> <key>Property2</key> <string>value2</string> </dict> </dict> Options The available options for all sections of the config file are: editor -- Application name used to invoke the editor application. save_interval -- (float) The interval in seconds that the helper application checks the edited file for changes. use_locks -- (<true/> or <false/>) Whether to use WebDAV locking. The user editing must have the proper WebDAV related permissions for this to work. always_borrow_locks -- (<true/> or <false/>) When use_locks is enabled this features suppresses warnings when trying to edit an object you have already locked. When enabled, external editor will always "borrow" the existing lock token instead of doing the locking itself. This is useful when using CMFStaging for instance. If omitted, this option defaults to <false/>. cleanup_files -- (<true/> or <false/>) Whether to delete the temp files created. WARNING the temp file coming from the browser contains authentication information and therefore setting this to <false/> is a security risk, especially on shared machines. If set to <true/>, that file is deleted at the earliest opportunity, before the editor is even spawned. Set to <false/> for debugging only. extension -- (text) The file extension to add to the content file. Allows better handling of images and can improve syntax highlighting. temp_dir -- (path) Path to store local copies of object data being edited. Defaults to operating system temp directory. Conclusion I hope you enjoy using this software. If you have any comments, suggestions or would like to report a bug, send an email to the author: Zachery Bir email@example.com -- (c) 2003, Zachery Bir and Zope Corporation. All rights reserved.