Mailing List Archive

Web server docs proposal (take n)
Okey, here's another attempt, now that I have some time to write
it up.

What:
I propose to create new CVS modules on the Apache system,
and move the existing server documentation into them and out
from under the source modules.

Why:
Because we have lots of people who are interested in contributing
to the Web server project by working on the docs rather than the
code. This includes people who want to provide translations for
various of the pages. Currently the only way they can do this is
by submitting a patch to the development mailing list, with no
assurance that it won't get ignored. Putting the documentation
into a separate module means we can have a separate -- and less
restrictive, perhaps -- list of people who can commit to the
documentation project.

How:
I propose that two new modules, httpd-docs-1.3 and httpd-docs-2.0,
be created. The current src/htdocs/ directory trees in the apache-1.3
and apache-2.0 CVS modules, and the apidoc/ tree in the apache-devsite
module, would be tagged, and then the files in those trees either
copied or moved to the appropriate httpd-docs-* tree. I suggest
that the address to which CVS updates are sent should include both
the apache-docs list and the apache-cvs list, so people working on
the source are kept apprised of changes to the documentation tree,
but those working only on the docco can see the changes without also
having to see all the source changes. Anyone who wants to see both
can, of course, subscribe to the apache-cvs list.

At some point the htdocs/ subtrees would be removed from the
source trees. That can either be immediate or happen sometime
after there is sufficient comfort that the new model is stable
(possibly some time t after the first release done according to
the new how-to-release instructions).

Concerns and other items:
o The how-to-relase document would need to be updated to include
instructions for extracting the docco module.
o Any time a new committer is added to the source module, it needs
to be added to the docco modules as well.
o Why two modules rather than one with branches? For simplicity and
for parity with the source trees whose contents they track.
o Why the "httpd-" module names instead of "apache-"? Because
'Apache' now means a lot more than just the Web server project,
and 'httpd' has been selected as the name of that project itself.
Whether the existing 'apache-*' modules will get renamed to
'httpd-*', or will remain with their current legacy names, is
a separate issue -- but new modules should, I think, follow the
now-current naming conventions.
o Why separate modules rather than finding a way to let these
docco-only people work only in the htdocs/ subtree? Because of
the mailing list issue, because this is how we've historically
managed disjoint committer lists, because this is how other
ASF projects seem to be handling subprojects, and because this
doesn't require futzing with the CVS scripts that affect *all*
of the ASF projects.

Have I missed anything?
--
#ken P-)}

Ken Coar <http://Golux.Com/coar/>
Apache Software Foundation <http://www.apache.org/>
"Apache Server for Dummies" <http://Apache-Server.Com/>
"Apache Server Unleashed" <http://ApacheUnleashed.Com/>
Re: Web server docs proposal (take n) [ In reply to ]
On Mon, 29 May 2000, Rodent of Unusual Size wrote:
>...
> What:
> I propose to create new CVS modules on the Apache system,
> and move the existing server documentation into them and out
> from under the source modules.

+1

>...
> How:
> I propose that two new modules, httpd-docs-1.3 and httpd-docs-2.0,
> be created. The current src/htdocs/ directory trees in the apache-1.3
> and apache-2.0 CVS modules, and the apidoc/ tree in the apache-devsite
> module, would be tagged, and then the files in those trees either
> copied or moved to the appropriate httpd-docs-* tree.

Copied. They must continue to exist in the old locations so that we can
rebuild releases based on previous tags.

Personally, I'd "cvs add" copies of the HEAD of these areas, with a
checkin comment pointing to their old location. But if the choice is going
to be copy or move... take copy.

> I suggest
> that the address to which CVS updates are sent should include both
> the apache-docs list and the apache-cvs list,

+1

>...
> At some point the htdocs/ subtrees would be removed from the
> source trees. That can either be immediate or happen sometime

"cvs delete" immediately.

They can't be physically deleted because of the "build old release" issue.
And since they are not physically deleted, then we can always recover in
case something truly does go wrong.

I suggest immediately so that we don't get commits to the wrong location.

>...
> o Why two modules rather than one with branches? For simplicity and
> for parity with the source trees whose contents they track.

+1

> o Why the "httpd-" module names instead of "apache-"? Because
> 'Apache' now means a lot more than just the Web server project,
> and 'httpd' has been selected as the name of that project itself.
> Whether the existing 'apache-*' modules will get renamed to
> 'httpd-*', or will remain with their current legacy names, is
> a separate issue -- but new modules should, I think, follow the
> now-current naming conventions.

+1

> o Why separate modules rather than finding a way to let these
> docco-only people work only in the htdocs/ subtree? Because of
> the mailing list issue, because this is how we've historically
> managed disjoint committer lists, because this is how other
> ASF projects seem to be handling subprojects, and because this
> doesn't require futzing with the CVS scripts that affect *all*
> of the ASF projects.

+1

Cheers,
-g

--
Greg Stein, http://www.lyra.org/
Re: Web server docs proposal (take n) [ In reply to ]
Rodent of Unusual Size wrote:
>
...
> What:
> I propose to create new CVS modules on the Apache system,
> and move the existing server documentation into them and out
> from under the source modules.

Not that my vote counts for anything, but as one of the people that
would like to contribute to the documentation, +1 from me on this.

Rich
--
Director of Web Application Development - The Creative Group
http://www.cre8tivegroup.com/
Author - Apache Server Unleashed - http://apacheunleashed.com/
Re: Web server docs proposal (take n) [ In reply to ]
Greg Stein wrote:
>
> Copied. They must continue to exist in the old locations so that
> we can rebuild releases based on previous tags.

Um, when I said 'moved' I meant 'copied and cvs rm'd'. Which
preserves the rebuildability. What I was getting at was
whether the appearance in the new location and the absence
in the old should be atomic or not.

From the rest of your message, it sounds as though you would prefer
the change to be atomic.

I expect the files to be copied directly in the repository in
order to retain the history.
--
#ken P-)}

Ken Coar <http://Golux.Com/coar/>
Apache Software Foundation <http://www.apache.org/>
"Apache Server for Dummies" <http://Apache-Server.Com/>
"Apache Server Unleashed" <http://ApacheUnleashed.Com/>
Re: Web server docs proposal (take n) [ In reply to ]
Ken Coar wrote:

> Okey, here's another attempt, now that I have some time to write
> it up.

<snip>

> Why:
> Because we have lots of people who are interested in contributing
> to the Web server project by working on the docs rather than the
> code. This includes people who want to provide translations for
> various of the pages. Currently the only way they can do this is
> by submitting a patch to the development mailing list, with no
> assurance that it won't get ignored. Putting the documentation
> into a separate module means we can have a separate -- and less
> restrictive, perhaps -- list of people who can commit to the
> documentation project.

Agreed. Well, Ken, would you remember me? I'd told you that
I finished translating the Apache docs into Chinese *last year*.
You said you will setup the CVS and let me commit it.
Guess what? I have been waiting for almost one year!! *sigh*
I'm happy now you write a proposal, hope this time you won't
let me down again...

> Have I missed anything?

IMHO, I think you would start a project called Translations,
just like FreeBSD Docs Project:

http://www.freebsd.org/docproj/translations.html

> --
> #ken P-)}
>
> Ken Coar <http://Golux.Com/coar/>
> Apache Software Foundation <http://www.apache.org/>
> "Apache Server for Dummies" <http://Apache-Server.Com/>
> "Apache Server Unleashed" <http://ApacheUnleashed.Com/>

- Kevin
Re: Web server docs proposal (take n) [ In reply to ]
On Mon, 29 May 2000, Rodent of Unusual Size wrote:

> Okey, here's another attempt, now that I have some time to write
> it up.

+1

> Concerns and other items:

When the new module is created I would like to see all current apache-cvs
subscribers added to the new list. I don't expect so much traffic that
this will be a real issue, and it is a subtle reminder that we are all
responsible for docs. :-)

Ryan

_______________________________________________________________________________
Ryan Bloom rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------
Re: Web server docs proposal (take n) [ In reply to ]
On Mon, 29 May 2000, Rodent of Unusual Size wrote:

> Why:
> Because we have lots of people who are interested in contributing
> to the Web server project by working on the docs rather than the
> code. This includes people who want to provide translations for
> various of the pages. Currently the only way they can do this is
> by submitting a patch to the development mailing list, with no
> assurance that it won't get ignored. Putting the documentation
> into a separate module means we can have a separate -- and less
> restrictive, perhaps -- list of people who can commit to the
> documentation project.

Ok, so the reason is to allow a different set of committers to the docs,
period. No other reason. Right? I can agree with that desire.

> o Why separate modules rather than finding a way to let these
> docco-only people work only in the htdocs/ subtree? Because of
> the mailing list issue, because this is how we've historically
> managed disjoint committer lists, because this is how other
> ASF projects seem to be handling subprojects, and because this
> doesn't require futzing with the CVS scripts that affect *all*
> of the ASF projects.

Your use of the word "module" is very confusing. A "module", as
defined by CVS, is either an entry in the modules file or a particular
path to the root of a tree of files. So the docs are already their
own module. And you can add an entry to the modules file just fine
so you can do a "cvs checkout httpd-docs-1.3" and get apache-1.3/htdocs.
So there is no change required to put the docs in their own module.
They are there.

There is nothing required to allow other people to commit to only the
htdocs subdirectory other than adding them all to a group and chgrping
that subdirectory.

The mailing list issues aren't too had to handle, especially if you
subscribe to the idea that if docs and code change in one commit, then
they should be mailed together because they are related. Then you just
need a tiny little filter getting mail to the main CVS commit list and
forwarding anything that includes docs changes to the random other docs
only list.

Are you certain that commits that commit to both top level directories at
once will be mailed out properly anyway?

But, whatever. If you are insistent on going ahead regardless... so be
it.
Re: Web server docs proposal (take n) [ In reply to ]
On Tue, 30 May 2000, Marc Slemko wrote:
> On Mon, 29 May 2000, Rodent of Unusual Size wrote:
>...
> > o Why separate modules rather than finding a way to let these
> > docco-only people work only in the htdocs/ subtree? Because of
> > the mailing list issue, because this is how we've historically
> > managed disjoint committer lists, because this is how other
> > ASF projects seem to be handling subprojects, and because this
> > doesn't require futzing with the CVS scripts that affect *all*
> > of the ASF projects.
>
> Your use of the word "module" is very confusing. A "module", as

He means /home/cvs/httpd-docs-1.3/ and /home/cvs/httpd-docs-2.0/

> defined by CVS, is either an entry in the modules file or a particular
> path to the root of a tree of files. So the docs are already their
> own module. And you can add an entry to the modules file just fine
> so you can do a "cvs checkout httpd-docs-1.3" and get apache-1.3/htdocs.
> So there is no change required to put the docs in their own module.
> They are there.
>
> There is nothing required to allow other people to commit to only the
> htdocs subdirectory other than adding them all to a group and chgrping
> that subdirectory.
>
> The mailing list issues aren't too had to handle, especially if you
> subscribe to the idea that if docs and code change in one commit, then
> they should be mailed together because they are related. Then you just
> need a tiny little filter getting mail to the main CVS commit list and
> forwarding anything that includes docs changes to the random other docs
> only list.

Ken is operating from a known standpoint: create new top-level modules.
All this mucking around could create problems within the repository. For
example, consider the case where an "httpd" cvs user commits to
apache-1.3/htdocs/ and it changes the group setting. Oops! Now the docs
people cannot change that.
(dunno if FreeBSD has a "sticky group" bit like Linux)

-1 on trying to create new operational modes like Marc suggests. I've
previously stated +1 on Ken's approach.

> Are you certain that commits that commit to both top level directories at
> once will be mailed out properly anyway?

Nobody does that today, so it is not a requirement for tomorrow. If it
works, then great. Otherwise, it just doesn't matter.

Cheers,
-g

--
Greg Stein, http://www.lyra.org/
Re: Web server docs proposal (take n) [ In reply to ]
On Tue, 30 May 2000, Greg Stein wrote:

> On Tue, 30 May 2000, Marc Slemko wrote:
> > On Mon, 29 May 2000, Rodent of Unusual Size wrote:
> >...
> > > o Why separate modules rather than finding a way to let these
> > > docco-only people work only in the htdocs/ subtree? Because of
> > > the mailing list issue, because this is how we've historically
> > > managed disjoint committer lists, because this is how other
> > > ASF projects seem to be handling subprojects, and because this
> > > doesn't require futzing with the CVS scripts that affect *all*
> > > of the ASF projects.
> >
> > Your use of the word "module" is very confusing. A "module", as
>
> He means /home/cvs/httpd-docs-1.3/ and /home/cvs/httpd-docs-2.0/

I know what he means. However, he is trying to suggest that somehow
that is a "module" and is specical to CVS. That is not what a CVS
module is. The world module has a very specific meaning.

>
> > defined by CVS, is either an entry in the modules file or a particular
> > path to the root of a tree of files. So the docs are already their
> > own module. And you can add an entry to the modules file just fine
> > so you can do a "cvs checkout httpd-docs-1.3" and get apache-1.3/htdocs.
> > So there is no change required to put the docs in their own module.
> > They are there.
> >
> > There is nothing required to allow other people to commit to only the
> > htdocs subdirectory other than adding them all to a group and chgrping
> > that subdirectory.
> >
> > The mailing list issues aren't too had to handle, especially if you
> > subscribe to the idea that if docs and code change in one commit, then
> > they should be mailed together because they are related. Then you just
> > need a tiny little filter getting mail to the main CVS commit list and
> > forwarding anything that includes docs changes to the random other docs
> > only list.
>
> Ken is operating from a known standpoint: create new top-level modules.
> All this mucking around could create problems within the repository. For
> example, consider the case where an "httpd" cvs user commits to
> apache-1.3/htdocs/ and it changes the group setting. Oops! Now the docs
> people cannot change that.
> (dunno if FreeBSD has a "sticky group" bit like Linux)

That is how it already has to work! There is nothing that tells
CVS to magically use a certain group for a certain subdirectory as
things are now; CVS knows nothing about the OS groups. The OS does
it. There is nothing different between having cvsroot/foo and
cvsroot/bar and having cvsroot/foo and cvsroot/foo/bar as far as
how groups work.

Once you understand how CVS is doing things anyway, it really isn't
a matter of any "mucking around". The only "mucking around" is with
some locally hacked up scripts to change how they mail stuff, or
just leave that out entirely and use a procmail filter or something.

>
> -1 on trying to create new operational modes like Marc suggests. I've
> previously stated +1 on Ken's approach.

It isn't a "new operational mode" once you understand how CVS works anyway.

>
> > Are you certain that commits that commit to both top level directories at
> > once will be mailed out properly anyway?
>
> Nobody does that today, so it is not a requirement for tomorrow. If it
> works, then great. Otherwise, it just doesn't matter.

One of the things stated earlier was that people who want to can
just check the docs tree out in a htdocs subdirectory of their
working directory, and act like it was never changed. Committers
should be committing docs changes to go along with their code at
the same time they do the code. If they do that, then they will
try to commit to two "top level modules" at once. cvs may separate
the commits enough by itself to avoid this problem. I don't know.
If it doesn't, then you will end up with the log being sent to the
list as defined by the first file being committed. And that isn't
very good.

It _IS_ a requirement for tomorrow because we are now taking two trees
that are intrinsically related and pulling them apart, then saying that if
people want them together they can do it themself. The consequences of
doing that have to be considered. I do not consider it to be a good
tradeoff to require committers who are committing code and docs changes to
have to go to two separate places and do two separate commits, etc. That
is the completely wrong direction.