Using ange-ftp with Zope
Zope has a built in FTP server running by default on port 8021. You
may configure the start script to use the default FTP port (21) if
your host does not have the standard ftp server using this port.
Be warned, if you specify a port below 1024 you have to start
ZServer as root.
You may open DTML documents and methods using Emacs (ie. ange-ftp): just enter
the path to your folder: /superuser@localhost 8021:/Cms
and you will get a list of the content of the directory.
(Remember pressing C-q to be able to enter the space character before
the port number.)
You may navigate through your Zope repository by
pressing enter on the name of a folder, and may open the required file
by pressing enter on its name.
You may also use the path and file name completion facility.
If you open a DTML script, its id (normally) does not have an
extension. If you want to use HTML mode for the file opened switch
emacs to html-mode: M-x html-mode.
You may create new files, but these always will be of type DTML
Document: /[email protected]
8021:/Cms/myNewDoc
Before using emacs with your Zope repository you should be aware of
that
- You cannot use version objects via FTP. If you open a file stored
in Zope with emacs it is always opened outside of any version
object. If someone changed a document in a version, and you open that
document, you will get the original version, but you cannot save your
changes.
- You cannot login with the name of a user who has no permission to
perform an FTP ls (ie. list) command in the / or any directory in the path to the
file. For example in my initial setup I created users only in the
"application folders" (folders in the root folder). These users cannot
use Emacs with Zope. If your programmers want to use Emecs (which is
highly probable) you should create the users in the root folder. This is a
problem with ange-ftp and efs, not with FTP or Zope.
Using efs with Zope
The efs package is used by many Emacs/XEmacs users.
The efs package has a bit different way of specifying the port number:
/[email protected]#8021:/dir1/file1
Nonetheless, the usage of eps is (almost) the same as ange-ftp.
However, efs makes backup files by default by renaming the original to
a file name with a ~ character suffixed, and then creates a new file
with the original name. When this file is created
Zope takes it as a DTML Document
object. A general solution is to switch off making backup files:
(setq efs-make-backup-file nil)
(setq make-backup-files nil)
Sometimes switching off only efs-make-backup-file is enough but sometimes
not. Switching off make-backup-file has the disadvantage that no
backup files are created at all, even not for local files.
For a RedHat user efs is not required,
ange-ftp works fine. Downloading and installing efs may not be an easy
job, and efs also has the same problems (mentioned above) with Zope as ange-ftp.