discuss: Linux documentation wiki


Previous by date: 13 Jan 2002 15:42:35 -0000 Postfix-Cyrus-MySQL-replex-HOWTO, Luc de Louw
Next by date: 13 Jan 2002 15:42:35 -0000 Re: Linux documentation wiki, David Merrill
Previous in thread: 13 Jan 2002 15:42:35 -0000 Re: Linux documentation wiki, David Merrill
Next in thread: 13 Jan 2002 15:42:35 -0000 Re: Linux documentation wiki, David Merrill

Subject: Re: Linux documentation wiki
From: Charles Curley ####@####.####
Date: 13 Jan 2002 15:42:35 -0000
Message-Id: <20020113081830.A26526@trib.com>

On Sun, Jan 13, 2002 at 09:01:43AM +0100, jdd wrote:
> this "wiki" discussion turns to "wiki versus cvs"
> 
> I think wiki and cvs are two completely different beasts.
> 
> cvs needs an account and/or special configurations. I once try to look at it 
> ans never had time to understand...
> 
> wiki can be used at once by anybody.
> 
> however it would be ridiculous to make directly a HOWTO from a wiki. Anyboby 
> can not only add but also delete from a wiki page and thus no essential text 
> can be hold there.
> 
> BUT I think it should be VERY interesting to have a wiki page for any HOWTO 
> (if accepted by the maintainer) to hold a todo/bug list.
> 
> effectively understand my point. suppose I find a bug in a HOWTO. How old is 
> my HOWTO version? is this bug already known by the maintainer? before writing 
> and spending maybe long hours to comment the bug, I ought to get a look a the 
> HOWTO wiki to see if this has already been done.

Would bugzilla be a better choice here?

I've been watching the wiki discussion with some concerns, and haven't
yet been satisfied. One of them is security, another is the integrity
of the original document. Using bugzilla addresses both of those
issues because it does not allow the bug filer access to the source.

Also, the wiki seems to require almost instantaneous response from a
document's maintainer to a change. Bugzilla allows a more leisurely
response because the change is not added to the original document in a
manner that makes it appear to be part of the original document.

I don't see any evidence that a wiki allows the maintainer to deal
with each bug/change discretely. That is, suppose three different
people make changes to a wiki document. Tom edits something in. Dick
sees the changes, and makes a change. Harry then comes along and makes
other changes to Tom's edits. I would want to deal with Tom's original
changes first, then the other two. Bugzilla would preserve Tom's
original changes.

Also, bugzilla would preserve the bug filers' comments about the
change, as well as the change itself.

> 
> a wiki log could also show if the maintainer is still alive :-)
> 
> of course wiki is only one of many kind of communication methods.
> 
> is it costy to use?
> 
> if someboby want it, why don't do it?
> 

-- 

		-- C^2

The world's most effective anti-virus software: Linux.

Looking for fine software and/or web pages?
http://w3.trib.com/~ccurley

--> -->
 
 
<type 'exceptions.IOError'>
Python 2.5.2: /usr/bin/python
Sat Jun 29 13:05:34 2024

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /opt/ezmlm-browse-0.20/<string> in ()
 /opt/ezmlm-browse-0.20/main.py in main()
  424 
  425         if path is not None:
  426                 main_path(path)
  427         else:
  428                 main_form()
global main_form = <function main_form at 0x85a4c6c>
 /opt/ezmlm-browse-0.20/main.py in main_form()
  378         except ImportError:
  379                 die(ctxt, "Invalid command")
  380         module.do(ctxt)
  381 
  382 def main():
module = <module 'commands.showmsg' from '/opt/ezmlm-browse-0.20/commands/showmsg.pyc'>, module.do = <function do at 0x8602b8c>, global ctxt = {'cmd': 'showmsg', 'threadidx': 47, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}
 /opt/ezmlm-browse-0.20/commands/showmsg.py in do(ctxt={'cmd': 'showmsg', 'threadidx': 47, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'})
   18         write(html('msg-pager') % ctxt)
   19         write('<hr>')
   20         sub_showmsg(ctxt, ctxt[MSGNUM])
   21         write('<hr>')
   22         write(html('msg-pager') % ctxt)
global sub_showmsg = <function sub_showmsg at 0x85a41ec>, ctxt = {'cmd': 'showmsg', 'threadidx': 47, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, global MSGNUM = 'msgnum'
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showmsg(ctxt={'cmd': 'showmsg', 'threadidx': 47, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msgnum=2080)
  229         format_timestamp(ctxt, ctxt)
  230         write(html('msg-header') % ctxt)
  231         rec_showpart(ctxt, msg, 0)
  232         write(html('msg-footer') % ctxt)
  233         ctxt.pop()
global rec_showpart = <function rec_showpart at 0x85a41b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 47, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msg = <email.message.Message instance at 0x8625c4c>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 47, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x8625c4c>, partnum=1)
  205                 else:
  206                         for p in part.get_payload():
  207                                 partnum = rec_showpart(ctxt, p, partnum+1)
  208         else:
  209                 write(html('msg-sep') % ctxt)
partnum = 1, global rec_showpart = <function rec_showpart at 0x85a41b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 47, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, p = <email.message.Message instance at 0x862b12c>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 47, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x862b12c>, partnum=2)
  208         else:
  209                 write(html('msg-sep') % ctxt)
  210                 sub_showpart(ctxt, part)
  211         return partnum
  212 
global sub_showpart = <function sub_showpart at 0x85a4144>, ctxt = {'cmd': 'showmsg', 'threadidx': 47, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part = <email.message.Message instance at 0x862b12c>
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 47, 'HTTP_X_FORW...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x862b12c>)
  164         type = ctxt[TYPE] = part.get_content_type()
  165         ctxt[FILENAME] = part.get_filename()
  166         template = html('msg-' + type.replace('/', '-'))
  167         if not template:
  168                 template = html('msg-' + type[:type.find('/')])
global template = <function template at 0x859ce9c>, global html = <function html at 0x859ced4>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x8627480>
 /opt/ezmlm-browse-0.20/globalfns.py in html(name='msg-application-pgp-signature')
   40 
   41 def html(name):
   42         return template(name + '.html')
   43 
   44 def xml(name):
global template = <function template at 0x859ce9c>, name = 'msg-application-pgp-signature'
 /opt/ezmlm-browse-0.20/globalfns.py in template(filename='msg-application-pgp-signature.html')
   31         except IOError:
   32                 if not _template_zipfile:
   33                         _template_zipfile = zipfile.ZipFile(sys.argv[0])
   34                 try:
   35                         f = _template_zipfile.open(n).read()
global _template_zipfile = None, global zipfile = <module 'zipfile' from '/usr/lib/python2.5/zipfile.pyc'>, zipfile.ZipFile = <class zipfile.ZipFile at 0x8535a7c>, global sys = <module 'sys' (built-in)>, sys.argv = ['-c', '/opt/ezmlm-browse-0.20']
 /usr/lib/python2.5/zipfile.py in __init__(self=<zipfile.ZipFile instance at 0x861efec>, file='-c', mode='r', compression=0, allowZip64=False)
  337             self.filename = file
  338             modeDict = {'r' : 'rb', 'w': 'wb', 'a' : 'r+b'}
  339             self.fp = open(file, modeDict[mode])
  340         else:
  341             self._filePassed = 1
self = <zipfile.ZipFile instance at 0x861efec>, self.fp = None, builtin open = <built-in function open>, file = '-c', modeDict = {'a': 'r+b', 'r': 'rb', 'w': 'wb'}, mode = 'r'

<type 'exceptions.IOError'>: [Errno 2] No such file or directory: '-c'
      args = (2, 'No such file or directory')
      errno = 2
      filename = '-c'
      message = ''
      strerror = 'No such file or directory'