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
- History
- Introduction/About SoC
- What is Cocoon?
- What is Cocoon NOT?
- When should you choose Cocoon?
- When should you NOT choose Cocoon?
- Feature Matrix
- What parts of Cocoon are currently production-ready or not ?
- How is Cocoon similar/dissimilar to WebWorks]/PHP/JSP/[http://www.webworks.com//Tapestry
- Coocoon as a Pluggable Framework (not a templating language)
- The MVC+ model
- 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)
- Build system
- Standard (no ide)
- In Eclipse (NOTE OL: I believe nobody builds Cocoon in Eclipse, but Eclipse is neverthless widely used to debug Cocoon)
- In Netbeans
- With Maven
- 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)
- under IBM Webshere 5.x
- Installing w/Apache in front of a servlet container
- From the CLI/from Apache Ant
Cocoon Tracks (reading guides into various topics)
- Tracks
- "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.
- How to develop Web Applications
- Write a custom generator
- 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 2002
- GetTogether 2003 Notes
- 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.
- GetTogether 2004 Best Practices talk of Jeremy Quinn
- GetTogether 2004 Notes
- GetTogether 2004 Pictures
Cocoon Technologies
- Sitemap
- Protocols
- Sitemap (userdocs)
- Sitemap (wiki)
- Sitemap Patterns
- Sitemap Structure
- Sitemap Variable substitution
- Aggregating
- Aggregator info
- Advanced sitemap topics (from Matthew's and Carsten book, free sample chapter, advanced sitemap topics)
- Aggregators FAQs
- Example for Content Aggregation
- Example sitemap snippets
- Minimal Sitemap Configuration
- Minimal Sitemap Configuration, extended with CInclude
- Pipelines
- 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!)
- Using and Implementing Matchers and Selectors
- Selectors
- Generators
- Transformers
- 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 - Transformer
- Transformers
- Serializers
- CForms
- Flowscript
- Database Interaction
- Input modules
- See also: Input modules reference
- Catalog Entity Resolver and ExternalDTD for locating local copies of DTDs and other resources
Blocks
- Blocks Descriptions
- See also: building Cocoon
[This whole section should be removed - it relates to as yet unwritten code - UV]
- What are blocks?
- 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
- GetTogether 2004 Best Practices talk of Jeremy Quinn
- Cocoon Best practices snippets
- 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?)
- JXTemplateGenerator
- JXPath
- WebDAV
Customizing Cocoon
- Using Saxon instead of Xalan/Xerces
- Using Log4J instead of Logkit: CocoonLog4J
Miscellaneous stuff
Should really be categorized somehow
- Authentication
- I18n
- PortalEngine
- Session/Request/Response attributes, lifecycle etc.
Debugging Cocoon
- Setting up a Development Environment
- Debugging your Sitemap/Pipelines
- Debugging Cocoon in Eclipse
- Debugging Cocoon with JSwat
- UnitTestingStylesheetsAndPipelines
Optimizing Cocoon Performance
- Speeding up Cocoon
- CocoonPerformance (general issues about speeding up Cocoon)
- Performance Tips
- Profiling
- Profiling Cocoon (how-to, tweaks and tips)
- Using the Cocoon Profiler
- CocoonPerformanceResults Performance testing
- Caching
- WritingForCacheEfficiency
- Caching components
- Caching Pipelines
- XSPCachingWithCocoonHEAD
- JXTemplateGenerator
- Caching complete pages
Developing Your Own Components
- Starting from Avalon framework
- Writing Pipeline Components Start reading here for general information
- MyGenerator
- MyTransformer
- MySerializer
- MyCFormBinding
- Unit testing
- Sample of block descriptors
- Blocks definition
- Blocks Filesystem Layout
- Ant
Appendix
Reference of existing components, blocks, etc
- Blocks Descriptions
- Action Reference
- Flow API Reference
*Woody/CForms Flow API Reference - Generator Reference
- InputModule Reference
- OutputModule Reference
- Serializer Reference
- Sitemap Reference (biggie)
- Transformer Reference
Other References
(Please only use URLs for cocoon.apache.org and wiki.cocoondev.org)
- Cocoon215ExternalReferences
- Links to other resources
- Mailing Lists
- About the lists including subscribe and unsubscribe information
- Search the mail archives
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