Forum OpenACS Q&A: Package Documentation

Collapse
Posted by Klyde Beattie on
I'm browsing the download secion and i note that the different
packages for OACS 4 are lacking any documentation what-so-ever most
of the packages don't even have a note that hints at what they do
(granted it is fairly obvious from the package name usually). As a
fairly new member of the OACS it would save me a great deal of time
in the project planning stage if i knew what the package did! The bug
tracking system, on the other hand, is awsome.

Any comments?

Collapse
Posted by Roberto Mello on
We are working on documentation. Our initial goal of the project is to release a good port of the packages with the documentation we have. We'll get cranking on more documentation as soon as we have a first release out the door.

Of course, if you are using a package that you really like right now, and would like to contribute documentation, drop me a line. We'd be glad to incorporate it into our documentation.

I'm preparing a "HOWTO" kind of document to write documentation. I'm a perfectionist, so I haven't made it public yet, but it'll be real soon now (tm).

Collapse
Posted by Don Baccus on
Actually most of the package do currently have documentation, the same documentation provided by aD when ACS 4.2 was released.

You need to point your browser locally at packages/foo-package/www/doc to find them.  The documentation tends to be at the requirements-design level rather than user level, but they should at least help you understand what a package does and how it does it.

As Roberto says we're making progress in our own documentation efforts, which will build on documents inherited from aD.  And the more help we get the better the documents will be!

Collapse
Posted by Jon Griffin on
Reviving this old thread,
Roberto, did you ever get close to creating a standard for docs?
I am porting a bunch (and writing new) of modules and would like to add/change to a standard format.
AD's format was a dismal failure and existed only to say they were documented.
Collapse
Posted by Roberto Mello on
Jon,

I modified and did some retouching and updating to the Documentation guide that aD had made, and that's what we've been using. We inherited a lot of Docbook XML documentation and we couldn't just change all that, so that's the format we are using, at least for the core docs.

What I noticed was the the tools for dealing with Docbook SGML are more mature and easier to work with, but since everything we had was in XML, we had to keep it.

What I'm seeing now are packages where only HTML documentation is being done only in HTML, and we're in for big trouble if we start fragmenting things like that.

In one hand I understand that it's an added burden for someone creating a package to learn and mess with Docbook XML, and all the tools involved. But on the other hand, we'll have to come up with a standard at some point. The advantages of Docbook are indexing, output to several formats (SGML makes this easier, with XML it's trickier) including PDF, easy linking, etc.

When you say that "AD's format was a dismal failure and existed only to say they were documented", are you referring to Docbook? Or to the documentation templates they created?

Collapse
Posted by Roberto Mello on
Sorry, forgot the URL for the Documentation-related part of the OACS 4.5 docs: https://openacs.org/doc/openacs-4/eng-standards.html.
Collapse
Posted by Jon Griffin on
The content not the docbook requirement was a failure.

Almost all of the docs were written by the developer for the developer and (as has been alluded to many times) very little meat either for 3rd party developers or end users.

Example code is not relevant (if it exists at all), and the use cases while interesting don't help many people.

I guess what I am getting at is the fact that documentation should have how to use the package, how to extend the package, as well as the reasons for the package existing.

Even though there is an api browser, each package should say what procs are defined (both db and tcl) and also document the complete data model. Then you could see if another package does what you want or has written a function you need, and so on and so forth.

Just my thoughts, but I think there should be a defined standard of minimal requirements for documentation and AD's wasn't good.

Collapse
Posted by Don Baccus on
There should be but ... as always ... the issue is one of available volunteer hours of those capable of writing decent documentation.

Just as we have a reesource problem with testing.

And making sure things like ETP work for Oracle.

As a community we're going to have to tackle the problem of resource availability as time goes on.  Hopefully as some of our small consulting firms increase their revenue they'll be able to devote some ongoing resources to core work.

We're caught in a weird place.  OF folks, myself, OpenMSG, Musea, InfiniteInfo, others like yourself ... all seem to be caught up in paid client or day job work, some OpenACS-based, some not, but an encouraging amount being OpenACS-based.

The "weird place" comment is in regard to this being a bit of a Catch-22.  We're far enough along so folks feel confident using the toolkit for serious bill
paying work which means they're not available for the non-bill paying work we need to continue to improve the toolkit so that it's even better for doing bill paying work.

Collapse
Posted by Jon Griffin on
I will volunteer to put together a spec for public scrutiny.

I can base it on what AD started and go from there. I just didn't want to step on anyones toes, if this was already in the works.

I will have a preliminary spec done by Tuesday if we are in agreeance.

Collapse
Posted by Don Baccus on
Sure, why not, that would be cool!  You can put it in new-file-storage and let folks comment on it after posting a pointer here ...
Collapse
Posted by Roberto Mello on
Jon, that'd be great. Let me know if I can be of assistance.
Collapse
Posted by Ben Koot on
I am runnig userability tests all the time. I a available 14 hours a day to assit you folks, and have dedicated endusers that love to participate in testing. Just let me know what you need to have tested.

cheers

Ben

Collapse
Posted by Jon Griffin on
Well I am a day late, but I have a document on my server with some initial thoughts as to a documentation standard.

I took my thoughts as well as some ideas from Linux Doc Project and GNU. It is a work in progress now and I am looking for comments, omissions etc.

The doc is at http://jongriffin.com/static/openacs/OpenACS-documentation

Collapse
Posted by Jade Rubick on
Jon, it looks like a really good start to me. I think that + a well
done example package would get us off to a good start.
Collapse
Posted by Lars Pind on
May I suggest using bug-tracker as the example package? I need to add Oracle support and documentation, but aside from those grave ommissions, I've tried to make it a model of OpenACS package development.
Collapse
Posted by Jon Griffin on
Where is bug-tracker? In the dev cvs or somewhere else?