A long time ago I used ACS to build websites. It had a plugin module system
similar in concept to Tapestry in that you just could drop in some code and
magically you had some new functionality. One different between the two is
ACS dynamically created the developer documentation for your site from the
modules installed.

I think Tapestry could benefit greatly from something like this. Instead of
searching the Internet for the documentation to the various installed
modules you've installed just visit /doc in your current project on your
development machine. This directory would contain the documentation for
pages/components/mixins etc.

What's required from module developers? Nothing!
The longer answer is most of the documentation can be derived from the
runtime classes. The only exception to that is the JavaDoc comments. If the
source is available the documentation system uses qdox to parse the source
and get the JavaDocs.

What's required from Tapestry?
It would be nice if it were possible to get the contents of various
configurations such as Translators, Type Coercions, etc. I'm guessing this
is possible but I have to been able to figure out how. If anyone has any
hints I'd appreciate it.

What's great about this?
You have instant access to all the documentation for what's installed in
your application and it's the documentation for the version you have
installed. It's all integrated together including any custom
components/mixins etc your have written.

Will it replace JavaDocs?
I don't really see including documentation for the Java classes (although
it could link to them).

Will it replace the existing Tapestry documentation?
No, it complements it.

What's working now?
I have a prototype that can generate the documentation for components. It
generates more or less the same thing as the Tapestry components
documentation pages.

What's needed?
I've figured out how to get this lists of pages/components/mixins. I need
to figure out how to get the list of services and configurations. Hints or
examples are welcome as are comments and other ideas.

The plan is to make the documentation system modular so you can plugin the
documentation for new configurations etc.



Thanks
Barry

Reply via email to