> akonsu wrote:
>> hello, would someone please point me to the right direction? what is
>> the preferred way to control a zope server programmatically? i need to
>> be able to administer my zope instance from a script. add users,
>> change permissions, create new sites, add objects to the sites. there
>> is webdav, xml-rpc, what else?
Here's an overview of web-based techniques that might be useful...
but I prefer doing as Bruno does:
> Interactively control/inspect/play with the server:
> <ZOPE_INSTANCE>/bin/zopectl debug
> Run a script on the server:
> <ZOPE_INSTANCE>/bin/zopectl run <myscript.py> [args...]
yep, I like working that way, and Bruno's introduction is excellent.
One clarification however:
> 1/ You can't run zopectl debug or zopectl run while you instance is
> running (as it locks the ZODB). The solution here is to set up a zeo
> instance (this is really easy), and have 2 zope instances, one serving
> the web requests, the other being used for debug/run
That's a bit misleading.
With ZEO, you don't need two full instances (by which i mean directories
containing their own etc, bin, var, and log subdirectories).
You can run the Zeo server AND one Zope server out of a single instance
home at the same time; and since your zopectl scripts won't normally
involve starting up on a tcp/ip port, you can run those from the same
instance too. I do it all the time.
Example (for any unix-like environment):
# ZEO is now running in the background.
# Zope is now running in the background, connected to ZEO.
../bin/zopectl run myscript.py &
# I'm now running a script via zopectl in the background.
# This can run at the same time as Zope, because it runs as
# a separate process and talks to Zeo, which accepts many clients
# at once.
# I am now interacting with ZEO via a python shell.
# Again, this is a separate process connecting to Zeo so I can do this
# as many times as I want simultaneously.
It's only when you want to run multiple Zope server processes
on multiple ports simultaneously that you actually need to set up multiple
Zope maillist - Zope@zope.org
** No cross posts or HTML encoding! **
(Related lists -