Cyrus Daboo posted a set of
tools for working with CalDAV/Darwin Calendar Server. It's got a learning curve... but some helpful tips:
- in the client tool, ? brings up a list of commands.
- in pyclient, the syntax for help on one of those commands is "help [command]"
- when inside a command's interactive mode, 'help' lists options
So, for instance, say you want to edit the ACL on a principal's calendar, but you don't know how.
/ > ?
acl - Manage the access privileges of a directory or file.
cat - Display contents of a file or directory.
cd - Change working directory.
exit - Terminates this session.
help - Displays help about a command.
history - Displays the history of all commands used in this session.
logging - Changes the current state of HTTP logging.
ls - List the contents of a directory.
principal - Displays the current server login id.
props - List the properties of a directory or file.
proxies - Displays the delegates for the chosen user.
quit - Terminates this session.
server - Displays the current server.
whoami - Displays the current server login id.
As you can see, using ? pointed me to the acl command. Now, to use it:
/ > help acl
Command: acl
Description: Manage the access privileges of a directory or file.
Usage: acl [OPTIONS] [PATH]
PATH is a relative or absolute path.
Options:
-i interactive mode for adding, changing and deleting ACLs.
if not present, existing ACLs will be printed.
So, I just do as follows:
/ > acl -i /calendars/users/tack/calendar
Entering ACL edit mode on resource: /calendars/users/tack/calendar/
ACL >
but what do I do from here?
ACL > help
add - Add ACL to existing resource.
change - Change ACL on existing resource.
exit - Terminates this session.
help - Displays help about a command.
list - List current ACLs on existing resource.
logging - Changes the current state of HTTP logging.
quit - Terminates this session.
remove - Remove ACL on existing resource.
Help tells me how to work on the ACL's for this.