[Zope-dev] Reasons for the current API reference docs
implementation?
Chris McDonough
chrism at plope.com
Sun Apr 4 17:06:52 EDT 2004
On Sun, 2004-04-04 at 15:20, Paul Winkler wrote:
> > I'm not
> > sure that exposing the docstrings of the classes themselves would be
> > much better than the current situation,
>
> well, it would arguably make it marginally more likely that the api
> reference is updated when the code is updated.
> and maybe make it a bit easier for zope newbies to explore the codebase.
> "I grepped for ObjectManagerItem but it doesn't seem to exist" :-(
> But I tend to agree that Interfaces are the Right Thing here
> and would make it easier to extract docs.
The "objects must have a docstring to be publishable" misfeature works
against us here too if you want to get docs from code. There are many
things that are not web-callable that are part of the API. Making
interfaces does seem like the "right thing". It also implies that
whoever does it knows what the interfaces *are*, which is a subjective
issue itself. Right now, the help system "interfaces" are completely
ignored (by everyone except those who need it most: people who first
come to Zope). Marking up Zope classes with interfaces is a really huge
task because it will lead to many dark alleyways of Zope history and
will undoubtedly lead to siutations of "I wanna change this because it's
too embarrassing/complex to document".
That said, if it could be done maybe one module at a time, it's a doable
task I think. Maybe use short-lived "interface-markup" branches for
each Zope module. Just pick a module to mark up with interfaces, make
the branch, do the interfaces, ask for comments on maillists, and
merge. Wash, rinse, repeat for each module. It will take a long time,
but at least it would be in-progress. Dealing with the presentation
aspect (which IMHO involves killing the help system and replacing it
with simple files on a filesystem or chapters in an online book) could
be dealt with when the interfaces are complete (which may be never, but
that's really ok).
> :-)
>
> if we can safely assume that zope 2 is going to have a useful life
> measured in years from today, I think the task is worthwhile.
> I've seen a few of these "hurt^H^H^H^Hhelp" jokes lately,
> and the user comments on the online API reference are rather grim.
Yes, it's definitely a weak spot.
> Yes, those are in there along with many other standard Products.
> The current set of modules listed in the API reference are:
>
> AccessControl
> AuthenticatedUser
> DTMLDocument
> DTMLMethod
> DateTime
> ExternalMethod
> File
> Folder
> Image
> MailHost
> ObjectManager
> ObjectManagerItem
> PropertyManager
> PropertySheet
> PropertySheets
> PythonScript
> Request
> Response
> SessionInterfaces
> TransienceInterfaces
> UserFolder
> Vocabulary
> ZCatalog
> ZSQLMethod
> ZTUtils
> math
> random
> sequence
> standard
> string
>
>
> This is somewhat misleading as File is not a module and
> ObjectManagerItem is completely fictitious. There may be
> other such "helpful" inaccuracies.
>
> There are probably a bunch of things missing from that list too.
> E.g. OFS.Cache.* comes to mind.
Yeah. The list has grown, but the docs haven't kept up.
- C
More information about the Zope-Dev
mailing list