Cocoon Overview

Document created by resplin Employee on Jun 6, 2015
Version 1Show Document
  • View in full screen mode

Obsolete Pages{{Obsolete}}

The official documentation is at: http://docs.alfresco.com



Competitive CMS Products


Cocoon Overview - One Pager


What is it?


A web development framework built around the concepts of separation of
concerns (i.e content, logic, style) and component-based web development.

Supports the notion of component pipelines, each component in the
pipeline specializing on a particular operation.

Interacts with many data sources, including filesystems, RDBMS, LDAP,
native XML databases, SAP and network-based data sources.

Content delivery to different devices like HTML, WML, PDF, SVG, and RTF,
etc.


High-level Features


Site Maps (i.e. pipelines)


The types of components that can be included in a pipeline...


  • Generator - creates XML e.g. read from file, db, request etc
  • Transformer - e.g XSLT, I18N text substitution
  • Serializer - HTML, XML, PDF etc
  • Matcher - Match Incoming URI to pipeline
  • Selector - Advanced Matcher - use expressions to control pipeline
  • Action - Hook Incoming URI to application logic
  • Reader - all-in-one generator, transformer and serializer

Control Flow


  • Defines how a Web Application flows between pages
  • Not a state machine, but script (Flowscript, actually, Javascript++)
  • Views (JXTemplate, XSP/JPath and Velocity rendering)
  • Bind together with pipelines

Forms (CForms, formally Woody)


  • UI Widgets
  • Validation
  • State mangement
  • Form Rendering

XSP


  • XML oriented sripting page (just like ASP, JSP but in XML)

Offline Generation


  • Create static versions of pages and dump out to files for fast access
  • Sort of web-site publish

Other


Alignment with Alfresco Content Management Framework


DC's thougths:


  • Cocoon is not a Content Management Framework, as it says on the front page, it's a Web Application Framework. I can't see versioning, categorisation, searching, access control, etc.
  • The CMF can easily be a source for a Cocoon Pipeline
    • Develop CMFGenerator to retrieve content out of Repository (or perhaps, hook into their Repository block? api)
    • Cocoon search mapped to CMF Lucene implementation
  • The CMF can employ Cocoon pipeline services for Transformation
  • The CMF can employ Cocoon for web site publishing
  • Control Flow scripting is unique (don't know of anyone else who uses script to define the flow logic of a web app)
  • Cocoon Forms is a competitor to JSF, Struts
  • A Content oriented Web App can be built with a combination of CMF and Cocoon



RD's thougths:


  • Cocoon Pipeline's SAX event model is 'right-on' and the concept is extremely powerful.
  • The whole engine seems way too coupled with HTTP / Servlet Concepts
  • It's time for a revolutionary step with this framework -- too many outdated components under the hood.

Attachments

    Outcomes