You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Trond Olsen <to...@gmail.com> on 2010/11/03 22:08:46 UTC

Considering couchdb for webapp

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.

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)?

Last question concerns security. Ideally I would like to support both single
user and groups control per document with private or public access.

Re: Considering couchdb for webapp

Posted by Trond Olsen <to...@gmail.com>.
Thanks for the answers. I see now I would need to do a lot of customizations
in my case. There's not many "restful" alternatives for me so I'll need to
experiment with it and see where it leads me.

On Thu, Nov 4, 2010 at 8:40 AM, Nicholas Orr <ni...@zxgen.net> wrote:

> On Thu, Nov 4, 2010 at 8:08 AM, Trond Olsen <to...@gmail.com> 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 :)
>

Re: Considering couchdb for webapp

Posted by Nicholas Orr <ni...@zxgen.net>.
On Thu, Nov 4, 2010 at 8:08 AM, Trond Olsen <to...@gmail.com> 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 :)

Re: Considering couchdb for webapp

Posted by couchdb user <co...@gmail.com>.
Hi,

On Thu, Nov 4, 2010 at 2:16 PM, Trond Olsen <to...@gmail.com> wrote:
> So it's like Nicholas mentions, the client becomes responsible for preparing
> the data hence also versioning. The server can only validate and cannot
> transform a document before it's written?
>

You could also use couchdb as the storage, but then have an
application layer (scala, php, etc) to transform documents.

Regards,


> On Thu, Nov 4, 2010 at 8:45 AM, Anand Chitipothu <an...@gmail.com>wrote:
>
>> 2010/11/4 Trond Olsen <to...@gmail.com>:
>> > 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.
>> >
>> > 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)?
>> >
>> > Last question concerns security. Ideally I would like to support both
>> single
>> > user and groups control per document with private or public access.
>>
>> Here is a blog post on implementing simple versioning with couchdb.
>>
>>
>> http://blog.couchone.com/post/632718824/simple-document-versioning-with-couchdb
>>
>> You may need to implement something in the similar lines.
>>
>> Anand
>>
>

Re: Considering couchdb for webapp

Posted by Trond Olsen <to...@gmail.com>.
So it's like Nicholas mentions, the client becomes responsible for preparing
the data hence also versioning. The server can only validate and cannot
transform a document before it's written?

On Thu, Nov 4, 2010 at 8:45 AM, Anand Chitipothu <an...@gmail.com>wrote:

> 2010/11/4 Trond Olsen <to...@gmail.com>:
> > 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.
> >
> > 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)?
> >
> > Last question concerns security. Ideally I would like to support both
> single
> > user and groups control per document with private or public access.
>
> Here is a blog post on implementing simple versioning with couchdb.
>
>
> http://blog.couchone.com/post/632718824/simple-document-versioning-with-couchdb
>
> You may need to implement something in the similar lines.
>
> Anand
>

Re: Considering couchdb for webapp

Posted by Anand Chitipothu <an...@gmail.com>.
2010/11/4 Trond Olsen <to...@gmail.com>:
> 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.
>
> 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)?
>
> Last question concerns security. Ideally I would like to support both single
> user and groups control per document with private or public access.

Here is a blog post on implementing simple versioning with couchdb.

http://blog.couchone.com/post/632718824/simple-document-versioning-with-couchdb

You may need to implement something in the similar lines.

Anand