Installation is two-fold:
Download the archive and extract it into your Zope products directory. Then restart Zope. If you succeeded, you'll notice pencil icons next to the external editable objects in the Zope management screens.
Dependancies: Python 2.2, Tk
Download the helper app archive and extract it. Enter the ExternalEditor directory and run (You may need to be root):
python2.2 setup.py install
This will install the zopeedit.py executable (in /usr/local/bin on my system). Alternately, you can just copy zopeedit.py to the location of your choosing.
Once you have the helper application installed, you need to configure your browser to fire it off appropriately. To do so, create an entry in the helper applications list for your browser(s) that associates the mime type "application/x-zope-edit" with the helper application.
Here are the step-by-step configuration instructions for Mozilla:
Here are instructions for Konqueror (provided by Mark Bucciarelii)
The helper application can run any editor program that does not detach itself from the controlling process.
To get terminal based editors to work, you need to spawn them inside an xterm. to do this, use something like the following for the editor option:
editor = xterm -e vi
You can of course modify the above to fire up your favorite terminal and editor or add any command line arguments you want.
As for editors that insist on detaching from the controlling process (gvim does this by default), you need to configure them so that they do not detach. For gvim you could use:
editor = gvim -f
Troubleshooting
If the helper app won't launch try the following suggestions:
- Make sure you have Tk installed properly. To test this, bring up Python
in a terminal and enter 'import Tkinter'. If it throws an exception,
that is your problem.
- Netscape 4 users, add a "%s" at the end of the application command line.
It appears the Netscape likes to alert you with spurious things coming
from stderr. I'll see if I can come up with a solution to that.
- Make sure the file is marked as executable for your user
('chmod +x zopeedit.py' should do it)
- Make sure the browser is properly configured. Use a full path to the
helper app.
- Make sure you are using a graphical editor (that uses X windows). To use
a terminal based editor (like vi), setup the editor option to spawn it
inside an xterm. See tips above.
- Try downloading and saving the external editor data to a file manually
(right click on the pencil icon). Then try running the helper app from
the command line, passing it the path to this file. If it runs, then
there is something wrong with the browser configuration. If not, then it
should output a traceback to your terminal. Email me a copy of this
traceback, and the data file and I will try to fix it.
- If the editor launches, but the helper app complains that it lost its
connection to the editor process, this is because your editor detached
from the parent process (the helper app). Configure the editor such that
it does not do this. Unfortunately this prevents you from using a
multi-headed text edit server (like nedit and emacs can provide).