Coda File System

Re: Improving Coda documentation

From: Ivan Popov <>
Date: Mon, 11 Apr 2005 12:53:07 +0200
Hello Satya,

On Sat, Apr 09, 2005 at 09:32:26AM -0400, M. Satyanarayanan wrote:
> is clearly time to do a major cleanup.   Jan and I will brainstorm
> on how best to do this.  We'd greatly appreciate your help, so we'll
> figure out how to carve up the work to make it easy for
> different people to contribute.

that looks great.

> It would help to get a sense of priorities.  Given limited
> resources,  how should we prioritize our effort:

I would begin with a detailed "HowTo setup a test Coda system,
with two replicated servers and two or more clients",
with an explanation of every choice the new Coda admin has to do.

Do not let the novice admin take shortcuts  - they can not yet realize
the meaning of the shortcuts. One of misleading small things
would be e.g. examples on a private IP net without DNS.
Then the admin would not realize the fundamental thing about realm naming -
that it is not on the client, but in the (global) DNS.

A detailed step-by-step description shall inevitably include the
"setup your name resolution !!!" step which many of new admins
want to skip... a popular source of questions and confusion.

To be pedagogical, we should not use /etc/hosts or realms files,
they are good for workarounds when you know well what you are doing.
They are plain wrong when you don't. A new admin doesn't.
She does not know what it means to Coda.

Postulate working DNS. Emphasize the need of working DNS.
Provide a conveniency "simple-dns-serversetup" script?
Do not mention using hostnames or ip-numbers as realm names,
except with very small letters at the end of the whole exercise.

Don't take me wrong - it is very good that we have working shortcuts
which can help in certain cases. Just do not expose them, people would
believe that it is a "good way of thinking".

I would explicitely recommend using 4 machines for the experiments,
or if one does not have as many, combine them, but always remember
that these are _4_ logically isolated ones.
Emphasizing that fact would (hopefully) prevent several traditional
reasons for confusion.

I suggest using [my] coda-client-setup for testing Coda
as it is distribution-neutral and even works the same way on a couple
of other OS. I will be glad to improve it to make it more "pedagogical",
suggestions are very welcome.

>   (a) precise and accurate documentation (e.g. man pages),
>       that may not be friendly to a novice user

That is a lot of work and possibly less of of the gain, as experienced users
can use productively even an out-of-date documentation, given available
updates, even when the corrections are separate from the docs.
Novice users, on the other side, need more "friendly" information anyway.

>   (b) explanation of key new concepts in Coda relative to POSIX
>        (e.g. conflicts, RVM, reintegration, volumes, ACLs,...) that may
>       baffle an otherwise expert user

Imho it can be a very useful effort, but not the first one.
Important parts of it can/should be present in the "HowTo", which
should say not only "how" but also "why".

I'd make instead a very incomplete description which would mention
the key differences from the traditional filesystems, without going
into details, just to let a novice reader realize how it is thought.

I remember how hard it was to percept the difference between an NFS server
and a DFS cell...
Do not explain details, but paint the differences with BIG letters :)

The gory rvm/log/conflicts things come naturally in the "howto",
with the explanation of their relation to the general idea.

>   (c) tutorial and step-by-step guidance to get new Coda
>        users up and running, even if many subtleties are glossed over

It is this step I would begin with.

Get a client up-and-running is trivial nowadays. The server setup will
never be trivial, there are many decisions involved.
The best we can do for the new admins - to show from the beginning
how to think to do it right.

My 2c
Received on 2005-04-11 06:54:18