On Thu, Nov 4, 2010 at 8:08 AM, Trond Olsen <[email protected]> wrote:
> I wondered if someone would like to comment on how suitable couchdb would > be > for a webapp I'm developing? > > The app functions like a traditional desktop application and I need a > web-based storage solution that users can subscribe to. The documents to be > stored would mostly range from 1-10kb with occasional larger 1-50mb ones. I > will need to tag documents and let users retrieve groups of documents by > tag, but only transmit names/urls and not whole content. In addition, each > "primary" document might have several other separate "configuration" > documents associated with it that should be queryable on-demand by users. > > When you say documents do you mean actual documents like a letter, resume, instructions etc? Well anyway based on the general/vague information you have given sounds like couchdb would work. I'm using it for a quoting tool (vehicle finance) and pdf generator (html/css templates stored in couchdb, combine json data with these templates, produce pdf) - works great :) > I see that couchdb supports version-control but get scraped when the > database is compactified. What options are available if I want to > server-controlled diffs stored in updated documents (both doc and > attachments)? > > CouchDB doesn't support version control, what you are looking at there is http://guide.couchdb.org/draft/consistency.html If you want version control, your application needs to have it. Like if you want a picture to be 100x100 and show up on the right of the page, couchdb doesn't control this, your app does. > Last question concerns security. Ideally I would like to support both > single > user and groups control per document with private or public access. > http://www.youtube.com/watch?v=oHKvV3Nh-CI jchris - simple screencast about write security http://wiki.apache.org/couchdb/Security_Features_Overview - from what I can tell you can authorise readers at the database level, I couldn't find anything about auth per document for reading. because of this I just put security stuff at the application level... hopefully this answers your questions enough to take the next step :)
