Re: XML Databases with Wyona

Michael Wechner <[email protected]>
Newsgroups gmane.comp.cms.wyona.user
Message-ID <[email protected]>

Alex McLintock wrote:

> At 22:50 04/06/02, tarGET-X wrote:
> 
>> I would love to help to implement a XML-Database into Wyona.
> 
> 
> 
> I have been using XIndice and Cocoon and find that it is powerful, but 
> not really fast enough for what I need.
> It may be fast enough if more caching were done but that is a bit broken 
> at the moment because the
> XML-DB protocol does not appear to have a means for saying when some XML 
> was updated.
> 
> Anyway my test site was developed with Cocoon and XIndice (an XML 
> Database) but it is cached
> by downloading the whole site as html and uploading the static html :-)
> 
> http://news.diversebooks.com/draft/cocoon/reviews/titles/home.section.shtml
> 
> I basically need to upload small documents (reviews, news, articles) but 
> associate with each of them
> attributes such as author, title, publisher, and so on. With XIndice I 
> can create Xpath  requests to
> list all the titles for instance, or all the authors, and then use XSL 
> to do the presentation.


Is the XPath engine too slow of XIndice?


> 
> 
> I still don't understand how this can be done with Wyona because of the 
> lack of documentation.
> Does Wyona store everything in a file system? in MySQL? I just don't know.
> 


The goal is to keep the "Data Abstraction Layer" of Cocoon, which is 
implemented via Generators, intact. That means, that every Wyona 
component is calling (sending requests to) Cocoon and doesn't know
what kind of repository is used for the data (Xindice, MySQL, 
Filesystem, ...). As an example you might take the AccessController
from Wyona (although the AccessController is using http as protocol 
instead of cocoon: which would be faster).

Let me say it again: Wyona doesn't care about how you hold (save) your data!

I have to admit we are not there yet, and are using at some points the
filesystem, but we will get there.

If you think it further you will end up with a "Content Management API",
such as the guys from JSR 170 are trying to establish.
Plz check out the mail archive from Cocoon on "Slide, JSR 170, XIndice".
Stefano is writing some stuff about that.
Actually WebDAV is kind of the same "track".

At OSCOM (http://www.oscom.org) we try to establish an Interop/Cross-CMS
project, which will also produce a "Content Management API" in the end I 
guess, but hopefully a more open one than JSR 170, independent of 
language and "religion" (WebDAV again!).

Maybe we can take Alex's "use-case" as an example:
-Alex is saving an article within XIndice
-XIndice is indexing this article
-Alex can search via XPath the titles of all articles

Now, let's do the same thing with Wyona:
-Alex is saving an article within Wyona
--which means you actually tell the "Wyona Revision Controller"
   (which has the "CM-API" implemented) that you want to check-in
    this article. The revison controller does it's own stuff and is
    also calling Cocoon and Cocoon will save it to some repository,
    which the Revision Controller doesn't have to know.
-The Revision Controller also notifies the "Wyona Dispatcher" that
the article has changed. The dispatcher will notify some XPath Engine
to index the article (See the publisher-notifier-subscriber-dispatcher 
pattern). XPath Engine could be for instance the XPath Engine of XIndice.
-You search with the "Wyona Query Component" (which again has implemented
the "CM-API") for the title of all articles. As concrete implementation
you might use the XPath engine of XIndice.


I hope my example isn't too confusing. What I want to say is that
in the area of Content Management Software the same will happen as
in the area of Relational Databases: You will have an API and concrete
implementations, just as JDBC is doing.

That means as long as you stick with the API, you will be able
to echange the implementation at any time (for whatever reasons).
The problem of course is, that for instance SQL is not implemented
the same for every RDB. The same is true for XPath, XSLT, etc.!!!!

Brave new world

All the best

Michael





> Alex
> 
> 
> 
> 
> 
> Openweb Analysts Ltd, London: Software For Complex Websites 
> http://www.OWAL.co.uk/
> Free Consultancy for London Companies thinking of Open Source Software.
> 
> 
> 
> _______________________________________________
> WyonaCMS-users mailing list
> [email protected]
> http://mail.wyona.org/cgi-bin/mailman/listinfo/wyonacms-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.