Return-Path: Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: (qmail 82088 invoked from network); 9 Feb 2011 11:00:02 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 9 Feb 2011 11:00:01 -0000 Received: (qmail 69563 invoked by uid 500); 9 Feb 2011 11:00:00 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 69367 invoked by uid 500); 9 Feb 2011 10:59:57 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 69354 invoked by uid 99); 9 Feb 2011 10:59:55 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Feb 2011 10:59:55 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [209.85.213.52] (HELO mail-yw0-f52.google.com) (209.85.213.52) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Feb 2011 10:59:48 +0000 Received: by ywf9 with SMTP id 9so11327ywf.11 for ; Wed, 09 Feb 2011 02:59:21 -0800 (PST) MIME-Version: 1.0 Received: by 10.150.158.9 with SMTP id g9mr1490672ybe.125.1297249161174; Wed, 09 Feb 2011 02:59:21 -0800 (PST) Received: by 10.151.50.9 with HTTP; Wed, 9 Feb 2011 02:59:21 -0800 (PST) Date: Wed, 9 Feb 2011 11:59:21 +0100 Message-ID: Subject: Why I look into CouchDB From: "Klamann, Norbert" To: user@couchdb.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org Hello list, since some days I dabble with couchdb and want to give you some background to my potential use cases for which I consider Couch. In my day job I am a freelancer and work since some 15 years or so with oracle databases. I think I have knack for relational modelling and like to to it. Nevertheless the toolchain for web applications is very complex and so are rollout and deployment problems. Usecase 1 My wife and I have started a local webservice where we offer a kind of internet full service agency for the local brick and mortar stores and companies. To make our own life easier we build the websites with plone. Plone offers us slideshows, composite pages (Collage in plone parlance) and a very clean css-structure and very good html. Plone sites degrade gracefully when javascript is not available in the browser. One killer feature is that URLS don't break when we move documents around in the site. The downside of plone is the very complex architecture, propagation of content changes (between development and production) is very hard to do in a granular fashion. We can live with these shortcomings for the time being, but I am not to keen to develop db-oriented websites with plone, and I see some potential in this direction even for our customers. For this reason I consider django which appeals to my relational trained brain and is architecturally much cleaner IMO. Couchdb could offer us an even simpler architecture plus easy replication. I would need the ability the key benefits of plone and have no ideas if and how it would be feasable to build them in Couchdb. So I consider this use case as a remote one, but I would like to hear ideas. Usecase 2 To organise our own business we need a kind of very special CRM-System. We have dozens of information objects with lot of mutual relations. We have potential customers, we look at their websites and take notes, we contact them, we have to follow up the contacts, write bills and configure their websites. We have to track the demands of our existing customers and so on and so forth. I would like to see an integrated datastore of all this stuff. Simple replication and offline usage would be a huge benefit. In a relational DB this would require dozens of tables and quite complicated joins. I think it would be doable in django and this was in fact my first thougt. Neverltheless this seems to be a classical use case for Couchdb. But there are some obstacles : I don't know how to build a friendly interface to the data. The interface should assist with the administrative chores of the business, the less clicks the better. Listboxes with lookup data should be pre-populated etc. Accessibility is not the main concern here, so a javascript-heavy solution would be acceptable, but I am not a js-Guru and do not like the language too much. The other day I did the evently tutorial and I find this stuff very complicated, it requires a great deal of plumbing. Maybe Couchdbkit with django is the way to go ? Any thoughts ? I am well aware that couchdb is moving fast and that I have to invest time to learn and unlearn things. I would like to hear opinions and get some pointers for further study.I read the definitive guide one time (which is certainly not sufficient). Thanks for listening ! -- Mit freundlichen Gr=FC=DFen Norbert Klamann (Gesch=E4ftsf=FChrer) mailto:Norbert.Klamann@klamann-software.de Tel: (49) +172/2797723 Fax: (49) +2235/9918299 Firma Klamann Software Limited Franz-Marc-Str.174 D-50374 Erftstadt Sitz Erftstadt, AG K=F6ln, HRB 57303 Gesch=E4ftsf=FChrer: Evelyn & Norbert Klamann Web :=A0klamann-software.de Ndl. der :Klamann Software limited, 69 Great Hampton Street,B18 6EW Birmingham, UK, reg. in England and Wales No. 5690926