Doc Team Suggestions
Documentation Style
Click here for the suggestions on documentation style.
Create a section with your name and write your suggestions on the Table of Contents (TOC). Let's wiki this!
VÃtor Souza's Suggestions
Documentation:
One-paragraph description of what is WebWork. And then, an explanation of how the documentation is divided:
...
(details on each of the above follows)
Overview
- What is WebWork
- Comparison to Struts (Tapestry, VRaptor, JSF, etc.?) WebWork community
- Mailing lists / Forum
- Bug tracker
- Wiki How to contribute?– current material and links to existing articles
- Articles and press about WebWork
- Projects using WebWork / Testimonials
Project Information
- License
- Deployment notes
- WebWork versions
- Current release
- Previous releases
- Migrating from WebWork 1.x;
- Dependencies
- WebWork Team
- WebWork community
- Mailing lists / Forum
- Bug tracker
- Wiki
- How to contribute?
FAQ
- Category 1
- Category 2
- Etc.
The questions included in the FAQ should be extracted from the User Forum/Mailing List. Someone could review recent messages and find out which questions are asked the most. After that, separate the questions into categories to form the subsections.
Tutorial
- Downloading and installing WebWork
- Setting up the test environment (to test tutorial source code)
- Basic configuration and your first action (Hello WebWorld)
- Understanding actions (includes note on displaying data using Scriptlets)
- Understanding results
- Meet WebWork tag library (would also explain a little bit of OGNL)
- Evaluating other view options: Velocity
- Evaluating other view options: FreeMarker
- Understanding interceptors
- Performing validation
- Performing dependency injection (IoC) through components
- Going i18n (internationalization)
- Retrieving data without a full request using XHR/Ajax
This should be in conformance to Patrick's example app. Vitor will talk to Patrick to get his opinions on the sequence of lessons suggested above and how to make the tutorial conformant to the example app.
Cookbook
- Tips and tricks on Application Servers (this was in "Overview")
- Accessing application, session and request objects;
- How to format dates and numbers;
- Other stuff Stuff from the revised current Cookbook...
All the tips in the Cookbook should be revised. Some of them could belong to the tutorial instead (basic stuff). 3rd party integration tips could be separated from the rest. Also, it would be good if all of them also followed the same structure, kind of like a tutorial lesson, but on advanced topics. The differences between the Tutorial and the Cookbook would be:
| Tutorial | Cookbook |
---|---|---|
User level required: | Begginner | Intermediate |
Availability of Source code: | In the documentation and in the | Only in the documentation, and may not be complete. |
Should be read in sequence? | Yes. | No. |
Reference
I like Jay Bose's reference TOC (below). On top of it, I'd suggest:
Remove "What is WebWork" and "Getting Started/Deployment Notes";
Replace them with "Introduction", in which there would be instructions to read the Overview first and proceed to the tutorial if the reader wants to get started;
Append "/ Dependency Injection" to "IoC", because some people may know it only by the name "Dependency Injection";
Group "JSP & Velocity Tags" with "WebWork Freemarker Support" to create a single section that contains everything related to user interface (in subsections);
"JSP Expression Language Comparison with WebWork 1.x" should be in "Migrating from WebWork 1.x", in the "Project Information" section;
Add to that same UI topic: JavaScript validation and DWR support (is this in 2.2?);
WebFlow would be in "Related Projects";
...
A question that arised in the TOC discussion was: what's the difference between the Cookbook and the FAQ? Well, some of the items in the Cookbook are also FAQs (people ask about them a lot), so they would also be included in the FAQ, with links to the Cookbook. The FAQ should have quick answers or link to longer answers, such as the Cookbook. The Cookbook is tutorial-style, a collection of mini HOW-TOs.
Reference
- Introduction – This will have parts of Overview in it, rather than forwarding them to Overview altogether.
- Architecture
- Configuration
- Interceptors
- Action Chaining
- IOC / Dependency Injection
- UI Components - JSP, Velocity, Freemarker, JavaScript validation and DWR support
- Result Types
- Type Conversion
- Validation
- OGNL / Object Graph Navigation Language
- Internationalization
- 3rd Party Integration - Sitemesh, Spring, Pico, Hibernate, JUnit, Quartz, etc.
An important thing about the reference is that it should be written in book-style (or hibernate-reference-style) so a PDF version would be generated and people could print it, pass it around the office or read it while working out or relaxing in bed. Therefore, Confluence's PDF features play a big part in this. Some questions that came up during the discussions:
- The reference could link to other pages in some situations. Links in confluence do not reference URLs, but the page's names. Does Confluence convert them to the URL before writing the PDF? If not, should the Reference not link to any pages outside it?
- Can we select which pages are converted into PDF? If we want to convert only the Reference to PDF, can we do that? How does that work?
Related Projects
- WebFlow (graphical chart tool)
- EclipseWork (Eclipse Plugin)
- IDEA Plugin
- WebWork Optional
- Etc. ?
Jay Bose's Suggestions
Suggested standalone documents (that may be viewed as single html, multiple html chapters, or PDF):
- Reference manual
- Tutorial
Suggested wiki sections/pages:
- FAQ
- License
- Cookbook
- Webwork Community
- Webwork versions
- Articles about Webwork
- Projects using Webwork
- Comparison to Struts
Suggested Reference TOC:
- What is Webwork – also explain what Webwork is not.
- Architecture
- Getting Started/Deployment Notes
- Configuration
- Interceptors
- Action Chaining
- IOC
- JSP & Velocity Tags – this would be the current tag information, combined with the current "JSP Expression Language Comparison with Webwork 1.x" pages
- Webwork Freemarker Support
- Result Types
- Type Conversion
- Validation
- OGNL
- Internationalization
- Webflow
- 3rd Party Integration
...