How to Contribute
See How to contribute to Apache Cocoon.
Contributed Components
These are not necessarily deemed to be high enough quality to be included in the
core distribution, but they have been tested under
several key environments, they are provided under the same license
as Cocoon, and they are included in the Cocoon distribution under the
contrib/ directory.
None as yet! - although you can expect that some of the links
listed below will eventually migrate to the "contributed components" level, and
then maybe even into the main distribution.
Patch Queue
Submissions of modifications
to Cocoon which are awaiting review. Anyone can
comment on them on the cocoon-dev mailing list - code reviewers are needed!
Use these at your own risk - although Cocoon has no guarantee
either, these patches have not been reviewed, let alone accepted.
Other Extensions
The other extensions listed here are not endorsed by the Cocoon
project either - they are provided as a convenience only. They may or may not work,
they may or may not be open source, etc.
To have a link added to this table, see How to contribute
to Apache Cocoon.
Name and Link
|
Type
|
Description
|
Status
|
Licensing
|
Contact
|
CDK
|
"Ready to go" Cocoon distribution
|
Tomcat and Cocoon 1 and 2, pre-configured and ready to run on Windows
|
Beta
|
Same as Cocoon
|
kzielinski@supermedia.pl
|
XSLT-process
|
Development Environment
|
A minor mode for (X)Emacs that allows you to invoke an XSLT processor, or Cocoon on a buffer,
thus yielding a fast turnaround time.
|
Supports Xalan, Cocoon, Saxon
|
?
|
Ovidiu Predescu
|
DB Prism
|
Servlet/CMS
|
"A Servlet which emulates Oracle Web Application Server plsql Cartridge or the newest Oracle IAS mod_plsql.
DB Prism provides Java Stored Procedures, and it is 100% compatible with OWS 3.x/OAS 4.x and IAS 1.0. It supports
UTF-8 database encoding, Oracle 7, 8, and Oracle Lite. It includes DB Producer for the Cocoon framework so that it can
integrate with XML technology from http://xml.apache.org/ . It also includes the DB Prism/Cocoon Content Management
System (CMS), based on Oracle CMS."
|
?
|
Freeware
|
Marcelo F. Ochoa
|
LDAP Taglib
|
Logicsheet
|
Performs LDAP queries and serializes their results as XML. Alternative to Cocoon's LDAP Processor.
|
Obsolete - see Cocoon 2 alternatives
|
Freeware
|
Jeff Turner
|
Auth Taglib
|
Logicsheet
|
Protects XML/XSP pages, so that they can only be viewed/executed by
authenticated users. Supports several authentication schemes using a
database or encrypted files.
|
"Suitable for production use. Syntax/Concept finalized, i.e. future
versions will be backwards-compatible"
|
Open Source
|
Ulrich Mayring
|
SOAP Taglib
|
Logicsheet
|
Implements a generic SOAP client. Any SOAP server wanting to present its
services to the world over a uniform HTTP-based interface can do so via
an XML page using the SOAP taglib. Includes sample app and comprehensive docs.
|
"Suitable for production use. Syntax/Concept not finalized."
Currently not Cocoon 2 compatible.
|
Open Source
|
Ulrich Mayring
|
IMAP Processor
|
Processor
|
Sends emails via an IMAP server.
|
Not fully functional. Mail taglib(s) in Cocoon distribution are probably
better.
|
GPL
|
Bavo De Ridder
|
XSP Tutorial
|
Documentation
|
A "beginner's guide" to XSP.
|
|
N/A
|
David Parry
|
UML Docs for Cocoon 1.8
|
Documentation
|
Complete UML diagrams for Cocoon 1.8. UML appears in top pane, javadoc in bottom right.
Generated using Together 4.1.
|
?
|
N/A
|
David Parry
|
Session toy and number-guessing game
|
Examples
|
Demonstrates use of session variables (but not session taglib)
|
?
|
Freeware
|
OD
|
Emacs Editing Functions for XSL/XSP
Thanks to Ovidiu Predescu for these.
"For those of you that use Emacs/Xemacs to edit XSL/XSP pages, here are some
handy functions you can use in your .emacs to speed up the editing. They insert
the commonly used tags in the current buffer, indented and nicely formatted.
They were developed and used on Xemacs 21.1, but they should work on GNU Emacs
as well.
"I'd be curious to know what other little things people use in emacs to speed up
development."
![](resources/void.gif) | ![](resources/void.gif) | ![](resources/void.gif) | ![](resources/void.gif) |
(require 'tempo)
(defun get-value-from-minibuffer (display format-string)
(let ((input (read-from-minibuffer display)))
(if (string= input "")
""
(format format-string input))))
(tempo-define-template "xsl-template"
'('&'o'> "<xsl:template"
(get-value-from-minibuffer "Template name: " " match=\"%s\"")
">" 'n'>'n
"</xsl:template>" '>
(end-of-line 0)))
(tempo-define-template "xsl-if"
'('&'o'> "<xsl:if"
(get-value-from-minibuffer "Test expression: " " test=\"%s\"")
">" 'n'>'n
"</xsl:if>" '>
(end-of-line 0)))
(tempo-define-template "xsl-for-each"
'('&'o'> "<xsl:for-each"
(get-value-from-minibuffer "Select expression: " " select=\"%s\"")
">" 'n'>'n
"</xsl:for-each>" '>
(end-of-line 0)))
(tempo-define-template "xsp-logic"
'('&'o'> "<xsp:logic>" '>'n'>'n
"</xsp:logic>" '>'n
(end-of-line -1)))
(tempo-define-template "xsp-expr"
'('&'o'> "<xsp:expr>" '>'n'>'n
"</xsp:expr>" '>'n
(end-of-line -1)))
(tempo-define-template "xsl-value-of"
'('> "<xsl:value-of"
(get-value-from-minibuffer "Value: " " select=\"%s\"")
"/>" '>))
(tempo-define-template "xsl-apply-templates"
'('> "<xsl:apply-templates"
(get-value-from-minibuffer "Select: " " select=\"%s\"")
"/>" '>))
(defun my-xml-templates-hook()
(define-key xml-mode-map "\C-ct" 'tempo-template-xsl-template)
(define-key xml-mode-map "\C-ci" 'tempo-template-xsl-if)
(define-key xml-mode-map "\C-cf" 'tempo-template-xsl-for-each)
(define-key xml-mode-map "\C-cv" 'tempo-template-xsl-value-of)
(define-key xml-mode-map "\C-ca" 'tempo-template-xsl-apply-templates)
(define-key xml-mode-map "\C-cl" 'tempo-template-xsp-logic)
(define-key xml-mode-map "\C-ce" 'tempo-template-xsp-expr))
(add-hook 'xml-mode-hook 'my-xml-templates-hook)
| ![](resources/void.gif) | ![](resources/void.gif) | ![](resources/void.gif) | ![](resources/void.gif) |
|