This is an attempt to restructure the Cocoon Documentation.
This Table of Contents is geared towards Cocoon 2.1.5 and more recent versions. This means that "deprecated" stuff will not be included, and new features of Cocoon 2.1.5 will be addressed.
Note that it doesn't mean that information found is not applicable to previous versions.
We'll try to add links to existing pages and add missing pages. Finally all pages should be undergoing review and outdated pages will be updated or rewritten. Ultimately this will be the starting point for the revised "official" documentation on the cocoon.apache.org site.
Please only use URLs for cocoon.apache.org and wiki.apache.org/cocoon.
Note that a more extreme and perhaps controversial ExtremeDocumentationOverhaul is also being proposed.
Introduction
Background information
- What is Cocoon NOT?
- When should you choose Cocoon?
- When should you NOT choose Cocoon?
- What parts of Cocoon are currently production-ready or not ?
How is Cocoon similar/dissimilar to Struts/PHP/JSP/WebWorks/Tapestry
- Coocoon as a Pluggable Framework (not a templating language)
- Scripting Options in Cocoon
The Cocoon Processing Model Chapter of The Developer Handbook, information is written about Cocoon 2.0.X but this information is still correct.
Installation of Cocoon
Download Cocoon distribution
Always go via the LatestRelease page for download locations, mirrors, keys and notes.
There are Detailed installation instructions in the documentation but if you just want to experiment the instructions in exploring the samples will get you there quicker.
Why no binaries? ... Answer: blocks! ... and Answer: ensures that you have reliable operating environment and Answer: allows you to easily configure which parts you want ... See other notes at the bottom of the distribution mirror page
- SVN Access
Building Cocoon / Setting up your own Cocoon project
- (local.)build.properties, (local.)blocks.properties
Build properties (outdated, due to different exclude/include blocks properties)
Standard (no ide)
In Eclipse (NOTE OL: I believe nobody builds Cocoon in Eclipse, but Eclipse is neverthless widely used to debug Cocoon)
- Other IDEs
Setting up a project with YourCocoonBasedProjectAnt16 or ProjectBuilding
BeginnerSimpleWebappOrganisation (PA: does this belong here?)
Running Cocoon / your project
- As a webapp
- Installing w/Jetty
- Installing w/Tomcat
under Unix (outdated, but probably still working)
under Windows (outdated, but probably still working)
- Installing w/Apache in front of a servlet container
- From the CLI/from Apache Ant
Cocoon Tracks (reading guides into various topics)
- "Cocoon Supersonic tour" block (Cocoon samples). To read this tutorial you need to install and start Cocoon (because the tutorial contains many live examples), you'll find it on the "samples / blocks with samples" page.
Writing a Cocoon 2 generator (RMI Server) Detailled discussion of the classes to extend, but written 21st november 2001, still up to date?
- Cocoon Get Together
GetTogether 2003 audio files Note: find the link through your own mirror site.
GetTogether 2003 presentations Note: find the link through your own mirror site.
GetTogether 2003 videos Note: find the link through your own mirror site.
Cocoon Technologies
- Sitemap
- Aggregating
Advanced sitemap topics (from Matthew's and Carsten book, free sample chapter, advanced sitemap topics)
Matchers (many matchers not described in the main doc)
Mount table matcher (missing in main documentation)
All matchers from the API Docs (this is complete!)
- Transformers
Should SQL not be in the Core - database interaction is a fundemental to most web apps
2nd last para of Filter is very obscure: omit or expand with detailed example
- Flowscript
See also: Input modules reference
Catalog Entity Resolver and ExternalDTD for locating local copies of DTDs and other resources
Blocks
See also: building Cocoon
[This whole section should be removed - it relates to as yet unwritten code - UV]
Blocks introduction (not implemented, maybe in 2.2)
Blocks identification (not implemented, maybe in 2.2)
Blocks background (not implemented, maybe in 2.2)
Best practices
- Flow (vs Actions (vs. XSP))
- CInclude vs XInclude vs Aggregation
- Logs
- Location
- Custom formats
- JX
JXTemplate (JXPath recommended; Jexl optional - remove references to it in main text and put on seperate page?)
- WebDAV
Customizing Cocoon
Using Log4J instead of Logkit: CocoonLog4J
Miscellaneous stuff
Should really be categorized somehow
- Authentication
- Session/Request/Response attributes, lifecycle etc.
Debugging Cocoon
- Setting up a Development Environment
- Debugging your Sitemap/Pipelines
Optimizing Cocoon Performance
- Speeding up Cocoon
CocoonPerformance (general issues about speeding up Cocoon)
- Profiling
Profiling Cocoon (how-to, tweaks and tips)
CocoonPerformanceResults Performance testing
- Caching
- Caching components
- Caching Pipelines
- Caching complete pages
Developing Your Own Components
Writing Pipeline Components Start reading here for general information
MyGenerator
MyTransformer
MySerializer
MyC!FormBinding
- Unit testing
Appendix
Reference of existing components, blocks, etc
- Action Reference
- Flow API Reference
- Woody/CForms Flow API Reference
InputModule Reference
OutputModule Reference
- Sitemap Reference (biggie)
- Transformer Reference
Other References
(Please only use URLs for cocoon.apache.org and wiki.cocoondev.org)
- Links to other resources
- Mailing Lists
About the lists including subscribe and unsubscribe information
Projects based on Cocoon
JavaDoc API
USER COMMENTS
Is it possible to get color coding on the site to distinguish "core" material from optional and/or deprecated material --DerekH