Performance will vary greatly depending upon which strategy your JCR
implementation uses to persist items. The type and amount of items you
want to store in your repository will also influence performance. For
you, storing thousands of thumbnails in a repository might not have been
the right solution. But I think that in order to facilitate the
maintenance of dynamic Tapestry applications an interface to a content
repository is a good idea. You don't have to tinker with the templates
just because you want some different text on your pages. Any editor can
do it through a web interface like Magnolia. No need to annoy your
application programmer with this.
Cheers,
Uli
Phillip Rhodes schrieb:
I did write some tapestry components to search, display, upload, modify
contents in a JCR repository, but after we loaded a few hundred images into the
repo, our application slowed to a crawl. The problem (and it's a common one
for many repositories) was that to return a content item, the repository has to
retrieve all attributes for the node, and this was a separate select statement.
So if your repository has 100 images in it, it would be doing 100+ sql queries
to build up the nodes. Once it's loaded, it can be cached, but this was not a
viable option since performance was critical for me, and we have 1000's of
images.
I am just sharing my experience with you so that you consider the performance
of returning 100 thumbnails on your tapestry page in your design.
In the end, I wrote my tapestry components access a SpringService that sits on
top of a compass/lucene file system repository for images, content. The
SpringService is remotable so that I have many application servers running
against the central repository server. Next on the roadmap is to implement the
backend storage to be amazon s3. Performance is good because for example, all
the information to display a image is returned in a single lucene document.
meta information for the content is stored in the filesystem as xml files.
Phillip
----- Original Message -----
From: "Ulrich Stärk" <[EMAIL PROTECTED]>
To: "Tapestry users" <users@tapestry.apache.org>
Sent: Friday, December 7, 2007 9:45:01 AM (GMT-0500) America/New_York
Subject: Re: Web Content Management Systems
You could write some components against the JCR API and access the
underlying repository Magnolia uses (I don't know if this is possible
with OpenCms).
Have a look at the Jackrabbit website (that's the repository
implementation Magnolia uses) to learn how to register the repository
with JNDI. Then just configure Magnolia to use that one instead of the
preconfigured location. Afterwards you are able to also access the
repository from your tapestry webapp with a JNDI lookup. This approach
has some security flaws though. Magnolia has its own security checks and
connects to the repository through just one user. If you access the
repository directly you bypass Magnolias security layer.
The Jackrabbit website shows how to register the repository with JNDI in
the local web context. So you only have access to the repository in the
context where you registered it. In order to have your Tapestry app and
Magnolia live in different contexts and still access the same repository
you will have to register it globally thus making it available to ALL
contexts in your container. In combination with the above mentioned this
can have serious impacts on security. So be careful what you do.
Cheers,
Uli
unimatrixzero schrieb:
Hi!
I'm currently testing a few Open Source WCMS Systems like OpenCms and
Magnolia (Java based).
All this WCMS using JSP's for Templates (together with a own Taglib) and
Magnolia stores the Content
in an JSR-170 Java Content Repository. I'm wondering if it is possible to
integrate some Content
from this Content Management System into a Tapestry Application. Goal would
be that the user
is able to modify content in the Content Management System (like writing an
article or adding a picture)
and this content could be then included in Tapestry. Is this in some way
possible?
One of the greatest problems is that Tapestry uses his own kind of templates
and OpenCms and Magnolia the JSP ones.
Do you think there is a way to integrate this two things?
Maybe you could help me.
Thank you in advance.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]