Re: [naviserver-devel] Release/Docs

2005-07-05 Thread Bernd Eidenschink
 OTOH, have you ever looked at doctools?

Not too much, but as I read here:
http://wiki.tcl.tk/3054

the conversions should be easy:
dtp doc html  your_manpage  your_manpage.html
dtp doc nroff your_manpage  your_manpage.n
dtp doc text  your_manpage  your_manpage.txt

And seems there's also latex (and therefor PDF) and wiki:
http://aspn.activestate.com/ASPN/docs/ActiveTcl/tcllib/doctools/doctools.html

So, if we use doctools, we only would need
a) An autogenerated step to generate html,nroff (and wiki)
b) (Auto)generate an index.html file to all generated single html pages (easy)

I don't know the output of the doctool-wiki conversion, if it creates 
[Wiki-Links] automagically so that we have relations for free. But that does 
not matter. We know our commands so we can regsub and create those relations.

If we start with Wiki, we can create a nice Documentation with easy 
relations/links between the commands and documents. But the
wiki-nroff step does not exist, does it? There are these small little 
nroff-gadgets like .sp (Skip one line vertically) or markup for italics 
for function parameters. We can only produce really nice nroff/groff, if we 
have a really good Wiki template and always use it correctly. At least this 
is my impression.

BTW: How do we fetch our documentation out of Wiki for autogeneration of 
documentation? Maybe we take a database dump and one of us accesses it local? 
Hm...not good. Or spidering it... No.

So, somehow, seems the doctools approach would be easier right now.
And no one will complain that documentation is not on Wiki, if documentation 
is available! :-)

Bernd.



[naviserver-devel] Release/Docs

2005-07-04 Thread Bernd Eidenschink
Hi!

I want to ask you for your opinion on a few things:

a) Documentation
AFAIK the status was to ask Andreas Kupries for (small?) modification of the 
doctools to be able to make smart C-Function documentation. 
Zoran: Can you tell if your suggestions will be (or are) accepted?

To me it would make sense to make the documentation effort now top priority, 
regardless of the format. Later we can copy and paste it from whatever source 
to our preferred target, but we should aim for the source now. Even the fresh 
NaviServer commands are not documented and only available for the skilled C 
developer (and see current discussion on AOLserver mailinglist).

In the first step documentation must not be perfect and long, as long as it 
respects some formal template documentation style and presents things the way 
they work. Strategy?
Two possible ways:
(A)
1. Construct list of all current commands (C and TCL), mark the deprecated 
ones.
2. Categorize commands.
3. We distribute documentation work among each other (small bunch of commands 
for everyone; and we know who documents what command); and everyone on the 
mailing list is a volunteer per se and likes to contribute :-)
(B)
- Update the '/doc' dir in CVS using current templates OR
- Update the '/doc' dir in CVS using doctools OR
- use Wiki for easy peer review and parse the Wiki structure later to 
transform the docs to whatever format (would be very simple step)

b) Intermediate-Release, Beta-Release
This was also the intention for 4.99.0.
There should be a release, downloadable!, so we have a visible result of the 
current status and efforts. It should be clearly marked or named as 
intermediate or beta release, open for testing and reviewing.
Along with a statement or Roadmap that says: This release will become a 
default stable release - the next target is VFS, caching, etc.
Do we want Version 5.0.0 to be the one with VFS, caching etc. or the first 
stable release? 

What do you think?

Bernd.



Re: [naviserver-devel] Release/Docs

2005-07-04 Thread Zoran Vasiljevic

Am 04.07.2005 um 08:45 schrieb Bernd Eidenschink:



Hi!

I want to ask you for your opinion on a few things:

a) Documentation
AFAIK the status was to ask Andreas Kupries for (small?)  
modification of the

doctools to be able to make smart C-Function documentation.
Zoran: Can you tell if your suggestions will be (or are) accepted?


This seems to lag behind (my fault) . Basically, the doctools is  
allright, the

only limitation is that you can't make one man-page describing more
than one C-API call. To get an idea, install Tcl and make:

  man Tcl_FSStat

and you will see that the *entire* Tcl-VFS API is documented in
one single man-page. Now, doctools can't make this. You'd need to
supply a man-page per-api-call.

But...

Having worked with that in last couple of days. I find it
*extremely* annoying. OOH, having conceptually related calls
all fit on one page is appealing. OTOH, if you frequently need
(man) access to a single call, then it is absolutely impractical
and annoying to flip pages and pages of docs just to locate the
call in question.

I would really suggest we make a simple (and doctools supported)
page-per-api-call approach. The doctools can already do that and
it will be easier to read and (perhaps) maintain.

The drawback is: number of files (will be quite large).
I think I can live with that.



To me it would make sense to make the documentation effort now top  
priority,
regardless of the format. Later we can copy and paste it from  
whatever source
to our preferred target, but we should aim for the source now. Even  
the fresh
NaviServer commands are not documented and only available for the  
skilled C

developer (and see current discussion on AOLserver mailinglist).


Right.



In the first step documentation must not be perfect and long, as  
long as it
respects some formal template documentation style and presents  
things the way

they work. Strategy?
Two possible ways:
(A)
1. Construct list of all current commands (C and TCL), mark the  
deprecated

ones.
2. Categorize commands.
3. We distribute documentation work among each other (small bunch  
of commands
for everyone; and we know who documents what command); and everyone  
on the

mailing list is a volunteer per se and likes to contribute :-)


This is not an option. This has to be done for the B. (below) as well!



(B)
- Update the '/doc' dir in CVS using current templates OR
- Update the '/doc' dir in CVS using doctools OR
- use Wiki for easy peer review and parse the Wiki structure later to
transform the docs to whatever format (would be very simple step)


Current templates are in plan nroff and thus complex to
write. I would really use doctools for this purpose. doctools
have a very short learning curve (very similar to POD and very
Tcl-lish) so I believe everybody will be up and running after
glancing on a doctools page for a few minutes.

Wiki seems very nice for collaborative work but I do not
know if there is a wiki-doctools converter (doctools-wiki there is).
If we start hacking wiki, how would you convert this into some
other format? The AS project started this and I do not see any moves
there. The wiki-entered stuff is still there and nobody cares to
get it into the CVS or get it translated to other off-line reading
(man, html, pdf, etc) ?

Bottom line: I think the best way would be to make a template
for a C-API and Tcl-API call, then check-in this template for
every C/Tcl API calls in CVS, then take one at a time and fill
in the content. The CVS is a collaborative env, right?
Who does which page? This is a simple matter of communication.
I do not think that we need to divide this somehow. We are just
a few people and it suffices to document as we go. I do not think
that we will have much problems with that. A short email on the
list telling: hey, I'j now do the ns_XZY or Ns_XZY() would do.




b) Intermediate-Release, Beta-Release
This was also the intention for 4.99.0.
There should be a release, downloadable!, so we have a visible  
result of the

current status and efforts. It should be clearly marked or named as
intermediate or beta release, open for testing and reviewing.
Along with a statement or Roadmap that says: This release will  
become a

default stable release - the next target is VFS, caching, etc.
Do we want Version 5.0.0 to be the one with VFS, caching etc. or  
the first

stable release?


I think that tagging the CVS now with 4.99.0 is perfectly OK as it would
identify a body in CVS which is fixed and against which we can file  
bugs.


I would do the 5.0 after we've done all those nice new things like VFS
support (advancing well, btw), fancier upload caps, integration of  
ns_cache,

full support for byte-ranges, finalized docs etc. I would target this
towards the end of the year.

Zoran




Re: [naviserver-devel] Release/Docs

2005-07-04 Thread Bernd Eidenschink
 This way or another, it seems that if we'd have a wiki-html and
 wiki-nroff converters at hand, we could trash doctools... But I
 do not know if any of those already exists. OK, the wiki-html
 should already be there, otherwise wiki would not work ;-)
 But, what about wiki-nroff ?

Hm, the existing nroff docs could be transformed like here:
http://naviserver.sourceforge.net/wiki/index.php/Template:Documentation_template
I used the script that is found under the link hack at the end.
(It's a hack. It's a hack.) 

The way back from wiki-nroff could be, depending on the nroff quality, more 
easy, if we use an easy and fresh Wiki document (and make use of standard 
HTML-Comments for better parsing).

But it always would be unorthodox. :-)



Re: [naviserver-devel] Release/Docs

2005-07-04 Thread Zoran Vasiljevic

Am 04.07.2005 um 16:45 schrieb Bernd Eidenschink:


This way or another, it seems that if we'd have a wiki-html and
wiki-nroff converters at hand, we could trash doctools... But I
do not know if any of those already exists. OK, the wiki-html
should already be there, otherwise wiki would not work ;-)
But, what about wiki-nroff ?



Hm, the existing nroff docs could be transformed like here:
http://naviserver.sourceforge.net/wiki/index.php/ 
Template:Documentation_template

I used the script that is found under the link hack at the end.
(It's a hack. It's a hack.)

The way back from wiki-nroff could be, depending on the nroff  
quality, more
easy, if we use an easy and fresh Wiki document (and make use of  
standard

HTML-Comments for better parsing).

But it always would be unorthodox. :-)



I see this really pragmatic: *I* would not like to invent the wheel.
If there is some good quality wiki-nroff, wiki-html, wiki-(whatever)
this would be the way to go: write all in Wiki and get it converted
to other stuff. This is very appealing.
If not, but somebody (you?) could write working converters for at least
html and nroff conversion, I'd be happy to use them and would also  
opt to

write source docs in wiki. Ideal would be a tclsh app I could hit like

   wiki2html source.wiki   (would produce source.html in the current  
dir)
   wiki2nroff source.wiki  (would produce source.nroff in the  
current dir)


If not, I'd use doctools for already given reasons. It can't be that
bad considering that all of tcllib modules are documented with doctools
(with some notable deficiencies in documenting C-code as I already
mentioned).

Zoran



Re: [naviserver-devel] Release/Docs

2005-07-04 Thread Stephen Deasey
Don't know if this is useful:


http://hula-project.org/Wiki_Conversion

Our idea is that there be a script on the wiki server that autogenerates
PDFs of the admin guide, the user guide, and any other large-scale
documentation, suitable for printing and binding and admiring and
cherishing forever and ever.  -- Nat Friedman