status of the Kerberos documentation project

Zhanna Tsitkova tsitkova at MIT.EDU
Mon Jun 20 13:13:32 EDT 2011


Hello,
This is to update you on  the current state of the Kerberos  
documentation effort and to hear your feedback.

Briefly, the goal of the project is to create a full scale "one-stop- 
shopping" Kerberos documentation that would be easy to support and  
contribute to, and that would have the benefits of  cross-referencing  
and  feedback management.

The first step of the project was creating Doxygen style API  
documentation.  Please, see the current Doxygen output at http://web.mit.edu/afs/athena/user/t/s/tsitkova/www/v10/trunk/out/html/krb5_8hin.html 
    As of now almost all of 300+ API functions (see krb5.hin) are  
documented with the emphasis on the description of parameters and  
functionality.  Some of the API functions have usage examples  -  
generally we want all of the API to have them.  Also, many comments  
were added to the public structures/datatypes/defines.

We propose using Sphinx documentation generator to put together in an  
organized manner the documentation for users, administrators  and  
developers. (See http://web.mit.edu/tsitkova/www/build1/index.html .  
Please, note that all the documents are in DRAFT status.) Sphinx takes  
restructuredText (ReST) as source format which has benefits of both a  
smooth learning curve and general simplicity. For example, see http://web.mit.edu/tsitkova/www/build1/krb_admins/conf_files/kdc_conf.html 
  and its source accessible from "Show Source" tab on the right or  
just http://web.mit.edu/tsitkova/www/build1/_sources/krb_admins/conf_files/kdc_conf.txt 
.

As you know, the current Kerberos V5 Administrator's/ User's/ 
Installation guides are in texinfo format. The task of accurate  
housekeeping of texinfo is very hard.  This makes the texinfo  
documentation a logical starting point for translating existing  
documentation into Sphinx format.

The section  "For application developers" http://web.mit.edu/tsitkova/www/build1/krb_appldev/index.html 
  is, obviously, intended for application writers. It has a complete  
reference to the Kerberos API using an experimental bridge to convert  
Doxygen output into Sphinx format. ( See, for example, http://web.mit.edu/tsitkova/www/build1/krb_appldev/refs/api/krb5_build_principal.html 
   ). The "Topics in TODO list"  was compiled based on the short  
survey of the developers and is the subject for revision, extension  
and your kind contributions.   Two topics from this list were "The  
difference between Heimdal and MIT API" and "Principal manipulation  
and parsing" and we've started some coverage on the subjects. Also,  
one can consider these two examples as another demonstration of  
flexibility of Sphinx in the sense of grouping and cross-referencing.

The content of the "For administrators" section is a combination of  
whatever we have in the current "Kerberos V5 System Administrator's  
Guide" (in progress) and various topics on the subjects of   
troubleshooting, etc. Under "Advance topics"  there is also a "TODO"  
list.

Finally, the "For users" section is currently compiled based on  
Kerberos V5 UNIX User's Guide. The document is a re-write in ReST  
format. It is the first step in the direction of the user  
documentation update.

The purpose of this project is not only to collect the Kerberos  
related documents in one place, but also keep them up-to-date,  
complete  and errorless. That is the reason why we plan to  support  
"Feedback" system in one way or another. Currently, almost every page  
has at its bottom link to the email  ( krb5-bugs at mit.edu with pre- 
constructed subject line ) where the feedback on the particular  
document should be sent.

Again, as it was stated before, the documentation will be built  
incrementally.  We will see what works and what doesn't and will  
correct our course as we go.


We plan to store documentation source files under /doc directory.

Thanks,
Zhanna


Zhanna Tsitkova
tsitkova at mit.edu







More information about the krbdev mailing list