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
