Lukas Kahwe Smith
2008-02-23 14:32:03 UTC
Hi,
Ok, since there seems to be controversy about how to best collaborate
on documents like TODO lists, RFC's, README's etc. and I do not want
to piss people of by making final decisions on this in a closed
circle. Here it goes. Honestly I do not think its a big issue either
way as long as we follow through with something. So please spare me an
endless discussion about nitty gritty. I want something done and I am
willing to put in the time. But I want the thing used if I do put in
the time. Also please no half hearted offers for help.
So here it goes.
===========
Current state:
===========
We currently have a a few outdated TODO files in cvs [1][2][3]. We
also have the unofficial todo wiki [4]. On that wiki we also have a
few other documents [5][6]. A few have been moved to php.net/reST
already, like the release process. Furthermore we have no real place
for RFC's to reside on php.net servers, so proposers have to use their
own servers [8]. Actually most of the time they simply just post to
the mailinglist and the only kind of summary of the discussions we get
are the Zend weeklies [9].
=======
Options:
=======
--------
I) Wiki
One option is to setup a wiki, the proposed choice was using dokuwiki,
which seems to support a flexibile auth system (so that we can use cvs
auth by default and fall back to a dokuwiki account for new guys that
do not yet have a cvs account), ACL's (so that we can control where
new guys can play around), namespaces (so that we can structure
related content), breadcrumb navigation, history/diffing. For a full
feature list look here [10]. Of course its PHP and OSS, so we can hack
on it as we please.
Work required:
# install dokuwiki
# setup an authentication service on master.php.net
# integrate authentication service with the wiki
# merge php-src TODO files with the todo items on my todo wiki
# migrate all relevant content to the wiki
# implement a proposal structure for RFC's along the lines of what
Lars has aleady proposed [11]
Advantages:
# easy to manage accounts for new guys
# wiki's are a fairly well established concept, even if the syntax
might be slightly different
# very little custom development needed
Disadvantages:
# interface is a browser for editing, diffing etc.
# separate application to maintain
---------
II) reST
We already have a way to render files straight out of CVS into happy
HTML. We are usign the reST [2] format for this. I did some work on
porting a few README's over to this format. Its not very hard albeit a
fairly boring job. We could expand this to also handle the TODO lists
quite easily. For the RFC's we could setup a new CVS repository and
simply render all RFC's via the current reST parser in a new location
(php.net/RFCs). Not sure how we would handle creation of other adhoc
documents [6].
Work required:
# merge php-src TODO files with the todo items on my todo wiki
# migrate all those todo's to reST format and commit them in the
proper branch, while removing the old TODO files
# expand the reST script to list/parse any file in some defined RFC
dir under a separate url (www.php.net/RFC?)
# talk to Rasmus to see about making it possible for more people to
open accounts
# tweak Lars's RFC template [11] to be reSTy
# determine where other documents [6] are supposed to go where people
want to collaborate on documents for php.net
Advantages:
# content is managed just like the rest of the source code
# reST is still fairly simple but much better tailored to handle the
needs for documentation
Disadvantages:
# new guys need to get a cvs.php.net account to be able to participate
and ACL system is not as finely grained as most wiki's are
# reST is not as widely known as wiki syntax
-----
III) write a reST "wiki" with a CVS storage backend
Essentially this is the reST proposal, but in order to get around the
issue of having to grant permissions, we could add an interface with a
separate auth layer and commits are done with a single user account
for those who do not have an account of their own. Note that II) can
be considered a stepping stone towards this solution. As such III)
could come later to solve some of the issues with II).
Advantages:
# easy to manage accounts for new guys
# people can pick and choose what they prefer .. local editor or web
interface
Disadvantages:
# more custom coding necessary
# reST is not as widely known as wiki syntax
-------
Personally I prefer going with a wiki, because I do not have much
affection with CVS for these kinds of documents (actually I do think
that the README's should be in CVS, which is why I worked with Hannes
on creating the current php.net/reST interface). I have put this
document up on my wiki [12], and I will keep it uptodate.
regards,
Lukas
[1] http://cvs.php.net/viewvc.cgi/php-src/TODO?view=markup
[2] http://cvs.php.net/viewvc.cgi/php-src/TODO-PHP5?view=markup
[3] http://cvs.php.net/viewvc.cgi/php-src/TODO-5.1?view=markup
[4] http://wiki.pooteeweet.org/PHPTODO/
[5] http://wiki.pooteeweet.org/MultiThreadedRunTests
[6] http://wiki.pooteeweet.org/TestFest
[7] http://ch2.php.net/reST/php-src/README.RELEASE_PROCESS
[8] http://www.stefan-marr.de/rfc-traits-for-php.txt
[9] http://devzone.zend.com/tag/Weekly_Summaries
[10] http://wiki.splitbrain.org/wiki%3Afeatures
[11] http://lars.schokokeks.org/php/php-rfc.txt
[12] http://wiki.pooteeweet.org/CollaborationToolchainRFC
Ok, since there seems to be controversy about how to best collaborate
on documents like TODO lists, RFC's, README's etc. and I do not want
to piss people of by making final decisions on this in a closed
circle. Here it goes. Honestly I do not think its a big issue either
way as long as we follow through with something. So please spare me an
endless discussion about nitty gritty. I want something done and I am
willing to put in the time. But I want the thing used if I do put in
the time. Also please no half hearted offers for help.
So here it goes.
===========
Current state:
===========
We currently have a a few outdated TODO files in cvs [1][2][3]. We
also have the unofficial todo wiki [4]. On that wiki we also have a
few other documents [5][6]. A few have been moved to php.net/reST
already, like the release process. Furthermore we have no real place
for RFC's to reside on php.net servers, so proposers have to use their
own servers [8]. Actually most of the time they simply just post to
the mailinglist and the only kind of summary of the discussions we get
are the Zend weeklies [9].
=======
Options:
=======
--------
I) Wiki
One option is to setup a wiki, the proposed choice was using dokuwiki,
which seems to support a flexibile auth system (so that we can use cvs
auth by default and fall back to a dokuwiki account for new guys that
do not yet have a cvs account), ACL's (so that we can control where
new guys can play around), namespaces (so that we can structure
related content), breadcrumb navigation, history/diffing. For a full
feature list look here [10]. Of course its PHP and OSS, so we can hack
on it as we please.
Work required:
# install dokuwiki
# setup an authentication service on master.php.net
# integrate authentication service with the wiki
# merge php-src TODO files with the todo items on my todo wiki
# migrate all relevant content to the wiki
# implement a proposal structure for RFC's along the lines of what
Lars has aleady proposed [11]
Advantages:
# easy to manage accounts for new guys
# wiki's are a fairly well established concept, even if the syntax
might be slightly different
# very little custom development needed
Disadvantages:
# interface is a browser for editing, diffing etc.
# separate application to maintain
---------
II) reST
We already have a way to render files straight out of CVS into happy
HTML. We are usign the reST [2] format for this. I did some work on
porting a few README's over to this format. Its not very hard albeit a
fairly boring job. We could expand this to also handle the TODO lists
quite easily. For the RFC's we could setup a new CVS repository and
simply render all RFC's via the current reST parser in a new location
(php.net/RFCs). Not sure how we would handle creation of other adhoc
documents [6].
Work required:
# merge php-src TODO files with the todo items on my todo wiki
# migrate all those todo's to reST format and commit them in the
proper branch, while removing the old TODO files
# expand the reST script to list/parse any file in some defined RFC
dir under a separate url (www.php.net/RFC?)
# talk to Rasmus to see about making it possible for more people to
open accounts
# tweak Lars's RFC template [11] to be reSTy
# determine where other documents [6] are supposed to go where people
want to collaborate on documents for php.net
Advantages:
# content is managed just like the rest of the source code
# reST is still fairly simple but much better tailored to handle the
needs for documentation
Disadvantages:
# new guys need to get a cvs.php.net account to be able to participate
and ACL system is not as finely grained as most wiki's are
# reST is not as widely known as wiki syntax
-----
III) write a reST "wiki" with a CVS storage backend
Essentially this is the reST proposal, but in order to get around the
issue of having to grant permissions, we could add an interface with a
separate auth layer and commits are done with a single user account
for those who do not have an account of their own. Note that II) can
be considered a stepping stone towards this solution. As such III)
could come later to solve some of the issues with II).
Advantages:
# easy to manage accounts for new guys
# people can pick and choose what they prefer .. local editor or web
interface
Disadvantages:
# more custom coding necessary
# reST is not as widely known as wiki syntax
-------
Personally I prefer going with a wiki, because I do not have much
affection with CVS for these kinds of documents (actually I do think
that the README's should be in CVS, which is why I worked with Hannes
on creating the current php.net/reST interface). I have put this
document up on my wiki [12], and I will keep it uptodate.
regards,
Lukas
[1] http://cvs.php.net/viewvc.cgi/php-src/TODO?view=markup
[2] http://cvs.php.net/viewvc.cgi/php-src/TODO-PHP5?view=markup
[3] http://cvs.php.net/viewvc.cgi/php-src/TODO-5.1?view=markup
[4] http://wiki.pooteeweet.org/PHPTODO/
[5] http://wiki.pooteeweet.org/MultiThreadedRunTests
[6] http://wiki.pooteeweet.org/TestFest
[7] http://ch2.php.net/reST/php-src/README.RELEASE_PROCESS
[8] http://www.stefan-marr.de/rfc-traits-for-php.txt
[9] http://devzone.zend.com/tag/Weekly_Summaries
[10] http://wiki.splitbrain.org/wiki%3Afeatures
[11] http://lars.schokokeks.org/php/php-rfc.txt
[12] http://wiki.pooteeweet.org/CollaborationToolchainRFC
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php