Well, the code is going great.
I'm designing the api to allow different levels of easy and flexibility:
- very manual: creating a server and a request object
var myServer = new couch.Server('localhost', 1234, 'user', 'password');
myServer.setTimeout(1000);
var req = new couch.request.CreateDatabase(myServer, "mydatabase");
req.addEventListener("database-created", function (e) { ... }):
req.addEventListener("database-exists", function (e) { .. });
- less manual: automatic server parsing
var req = new couch.request.CreateDatabase("user:[EMAIL PROTECTED]:1234",
"mydatabase");
req.addEventListener("database-created", function (e) { ... }):
req.addEventListener("database-exists", function (e) { .. });
- easier: not messing with request-objects yourself
var myServer = new couch.Server ('localhost', 1234, 'user','password');
var myDb = myServer.database('mydatabase');
myDb.addEventListener("created", function (e) { .... });
myDb.addEventListener("exists", function (e) { .... });;
myDb.create();
- easier: automatic server parsing
var myDb = new couch.Database('mydatabase',
'user:[EMAIL PROTECTED]:1234');
myDb.addEventListener("created", function (e) { .... });
myDb.addEventListener("exists", function (e) { .... });;
myDb.create();
- a little persistance: create an object based on the value of the 'type',
setting the public properties
var myDb = new couch.Database('mydatabase', 'user:[EMAIL PROTECTED]
:1234');
var myDoc = myDb.document('some-doc-id');
mydoc.addEventListener ('instantiated', function (e) { ... });
mydoc.addEventListener ('invalid', function (e) { ... });
mydoc.requestInstance();
- easy persistance: use a mixin to give any object toCouch() and fromCouch()
qx.Class.define("custom.Person",{
extend: qx.core.Target,
uses: couch.MPersistance,
properties:
{
name: { type: "string"; nullable: true },
email: {type: "string", nullable: true }
}
});
couch.Persistance.getInstance().setDatabase('people','localhost:1234');
var P = new custom.Person();
P.set({name: 'John Doe', email: '[EMAIL PROTECTED]'});
P.toCouch();
Most code, except the persistance part, is done now, but i need to do a lot
of testing to make sure everything works as it is supposed to.
Any thoughts?
Greetings,
Ralf
2008/4/14, cboulanger <[EMAIL PROTECTED]>:
>
> CouchDB looks quite interesting. I hate Schemas that have to be upgraded
> and synchronized in different databse instances. It would be great to
> have a qooxdoo API to access this kind of database. JSON as a native
> database format would fit perfectly to a qooxdoo client...
>
> Ralf Nieuwenhuijsen schrieb:
>
> > According to the outdated documentation:
> > "Data to send with the request. Only used for POST requests. This is
> > the real post data. Generally this is a string of url-encoded
> > key-value pairs."
> >
> > Why not for PUT requests as well?
> > Also, the documention mentions several times that only GET and POST
> > are supported.
> > Eventhough PUT and DELETE do 'just work'
> >
> > I'm creating a nice CouchDB abstraction layer and haven't tested the
> > above behavior completely.
> > I'm also aware not all transport systems support REST. Can someone
> > specify on which browsers and versions it will fall back to
> > IframeTransport?
> >
> > When i'm done with library i will mail the code here and assign
> > copyright to one of the official qooxdoo developers, if they want
> > that. That should make future liscence choices the easiest. I really
> > believe CouchDB is a nice fit for Qooxdoo.
> >
> > Write your app in javascript. Write your views in javascript. Store
> > your data as json-documents.
> >
> > Who needs middleware anyway?
> >
> > Greetings,
> > Ralf
> >
> >
>
> > ------------------------------------------------------------------------
> >
> >
> -------------------------------------------------------------------------
> > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
> > Don't miss this year's exciting event. There's still time to save $100.
> > Use priority code J8TL2D2.
> >
> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > qooxdoo-devel mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
> >
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
> Don't miss this year's exciting event. There's still time to save $100.
> Use priority code J8TL2D2.
>
> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
> _______________________________________________
> qooxdoo-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel