Re: Proposing couchdb-glib and evolution-couchdb for GNOME 2.30



2009/10/1 Rodrigo Moya <rodrigo gnome-db org>:
> On Thu, 2009-10-01 at 20:03 +0200, Mikkel Kamstrup Erlandsen wrote:
>> 2009/10/1 Rodrigo Moya <rodrigo gnome-db org>:
>> > On Thu, 2009-10-01 at 16:02 +0200, Rodrigo Moya wrote:
>> >> On Thu, 2009-10-01 at 13:41 +0100, John Carr wrote:
>> >> > >>
>> >> > > it is not required for evo-couchdb to work, so I don't think it needs
>> >> > > any mention, apart from saying that if you want to run a local CouchDB,
>> >> > > you need to install CouchDB and all its dependencies.
>> >> >
>> >> > I only brought it up because of the ongoing mozilla vs webkit
>> >> > discussions (and mozilla js vs seed/jscore) and i think the most
>> >> > useful configuration of evo-couchdb does depend on couchdb and hence
>> >> > mozilla js.
>> >> >
>> >> > I'm only so bothered in as much as i really don't want a desktop in
>> >> > the future to need 2 javascript engines and each application depending
>> >> > on 2 or 3 different database engines and so on :]
>> >> >
>> >> you are indeed right, but I see couchdb can use different javascript
>> >> libraries (it has a configure option to tell it where to find libjs) so
>> >> I guess we could ask the couchdb guys to support our JS engine (when we
>> >> decide which one to use :)
>> >>
>> > ok, just asked the couchdb devels about this, and it seems to be much
>> > easier than I thought, so this should be easy to fix when we decide
>> > which JS engine to use.
>>
>> Indeed, one can use any language as a CouchDB indexer. Indexer -
>> because that is really what the Javascript is used for. The (very)
>> simplified explanation is that you can't do custom queries against
>> Couch only index lookups, but you can create some very funky indexes.
>> These indexes are generated by calling out to an outside process over
>> a socket using some protocol defined in the Couch docs (which is also
>> why Couch is still very fast, the script engine is only used on
>> indexing time).
>>
>> This external indexer process use libmozjs by default but you can
>> create your custom indexer in what ever language you want; Python,
>> Perl, even C if you are adventurous. It should not be a big task to
>> write an indexer based on libseed I think - although I haven't checked
>> the details.
>>
> no, shouldn't be a big task, as confirmed by the CouchDB developers this
> afternoon. The only thing that I'm not sure about is that they mentioned
> e4x
> (http://www.ecma-international.org/publications/standards/Ecma-357.htm )
> being needed in the JS implementation, so does libseed support that?

Hm... I don't get why XML processing would be needed. All there is to
it should be described here:
http://wiki.apache.org/couchdb/View_server?action=show&redirect=ViewServer

Of course this means that all views should be written in a language
supported by the ViewServer (that is, JS/libseed/webkit). Or maybe it
is because they use some XML processing with JS internally - but I
actually didn't think that the couch server would require libmozjs,
only the external viewserver /usr/lib/couchdb/bin/couchjs?


-- 
Cheers,
Mikkel


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]