Alexander Klimetschek wrote:
Hi folks,
since we released the first (beta) version of our Cocoon-based open
source teamwork software this week (http://www.mindquarry.com),
congratulations!
I'd like
to offer the Cocoon blocks we wrote that could move into Cocoon itself.
So we don't need to maintain them any longer ;-) No, just joking, but
since we got a lot by using the Cocoon framework, we want to give
something back! These blocks are:
(commenting without looking at the sources - I don't have the time to go deeper,
sorry)
- cocoon-extractor:
extracts full-text content of different file types (currently word,
excel, powerpoint, pdf, xml and plain text) using jakarta slide and
others; it provides a Generator that gives full-text that can be used
for eg. indexing binary files
http://www.mindquarry.org/repos/mindquarry-search/trunk/cocoon-extractor/
sounds to be a useful new block
- SVN source:
a source that reads a local subversion repository and provides the
content, supports revisions etc. (read-only)
http://www.mindquarry.org/repos/mindquarry-workspace/trunk/mindquarry-dma-source/
how to you access SVN? Are you using a ASL-compatible base library?
(http://people.apache.org/~cliffs/3party.html)
- JCR xml source:
an advanced version of the jcr source that is already present in the
cocoon-jcr-impl block; it maps xml content onto the jcr node tree
structure, so when you push in xml content, it won't store it as binary
stream, but rather as a nodes with subnodes and so on; this allows to
run xpath queries on the xml document's content; the source also
supports jcr versioning, each new write will create a new version
http://www.mindquarry.org/repos/mindquarry-jcr/trunk/mindquarry-jcr-source/
I'd say add it to the cocoon-jcr block but maybe one of the original authors of
the jcr block can give some comments.
And various components:
- RunningModeDependentPipeline: (Pipeline)
to automatically use different pipelines depending on the running mode,
eg. no caching in dev, full caching in prod, and optionally enabling
profiling with a single system property (I know this is possible by
putting two different xconf/spring bean files under dev/ or prod/, but
this code is quite young in cocoon, so we don't have it available in our
cocoon version)
http://www.mindquarry.org/repos/mindquarry-webapp/trunk/mindquarry-webapp-resources/src/main/java/com/mindquarry/webapp/pipelines/RunningModeDependentPipeline.java
hey, I was thinking about something similar just some time ago. I guess this
needs further discussions on this list.
- MavenPomPropertiesModule: (Input Module)
allows to read eg. the version numbers out of your block jars
http://www.mindquarry.org/repos/mindquarry-webapp/trunk/mindquarry-webapp-resources/src/main/java/com/mindquarry/webapp/modules/MavenPomPropertiesModule.java
I like it
- ParamsToURIModule: (Input Module)
a meta module that converts all attributes of another module into a
correct uri query string (&a=b;c=d)
http://www.mindquarry.org/repos/mindquarry-webapp/trunk/mindquarry-webapp-resources/src/main/java/com/mindquarry/webapp/modules/ParamsToURIModule.java
What's the rational behind this? Can you explain the usecase?
- RedirectTransformer: (Transformer)
transformer doing a redirect, good after a SourceWritingTransformer if
you want to redirect to another page after a POST
http://www.mindquarry.org/repos/mindquarry-webapp/trunk/mindquarry-webapp-resources/src/main/java/com/mindquarry/webapp/transforming/RedirectTransformer.java
Not sure about this, TBH it sounds hacky to me. Wouldn't it be better to put the
writing logic into a separate pipeline and call it from an action or from flow
and then do the redirect?
Some of the things will only need a different package name, but others
need a bit more changes to become separate and adhere to all conventions
of a cocoon block.
Some words to the further procedure: Creating a new block in trunk requires a
vote, additions to existing blocks need discussions on the list which have
already started with this mail (discuss then commit). Keep up the good work and
go ahead!
--
Reinhard Pötz Independent Consultant, Trainer & (IT)-Coach
{Software Engineering, Open Source, Web Applications, Apache Cocoon}
web(log): http://www.poetz.cc
--------------------------------------------------------------------
___________________________________________________________
Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de