Return-Path: X-Original-To: apmail-couchdb-marketing-archive@minotaur.apache.org Delivered-To: apmail-couchdb-marketing-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B3FCB19F2D for ; Wed, 16 Mar 2016 18:40:12 +0000 (UTC) Received: (qmail 70592 invoked by uid 500); 16 Mar 2016 18:40:12 -0000 Delivered-To: apmail-couchdb-marketing-archive@couchdb.apache.org Received: (qmail 70552 invoked by uid 500); 16 Mar 2016 18:40:12 -0000 Mailing-List: contact marketing-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: marketing@couchdb.apache.org Delivered-To: mailing list marketing@couchdb.apache.org Received: (qmail 70541 invoked by uid 99); 16 Mar 2016 18:40:12 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Mar 2016 18:40:12 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 29B6B180315 for ; Wed, 16 Mar 2016 18:40:12 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1 X-Spam-Level: * X-Spam-Status: No, score=1 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=disabled Received: from mx2-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id lL6tMO2pWuuW for ; Wed, 16 Mar 2016 18:40:10 +0000 (UTC) Received: from monoceres.uberspace.de (monoceres.uberspace.de [95.143.172.184]) by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with ESMTPS id 83F4E5FADD for ; Wed, 16 Mar 2016 18:40:09 +0000 (UTC) Received: (qmail 32030 invoked from network); 16 Mar 2016 18:40:02 -0000 Received: from localhost (HELO ?10.0.0.10?) (127.0.0.1) by monoceres.uberspace.de with SMTP; 16 Mar 2016 18:40:02 -0000 Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\)) Subject: Re: Drupal + CouchDB From: Jan Lehnardt In-Reply-To: Date: Wed, 16 Mar 2016 19:40:00 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <9C1019A7-85CA-4CDB-A16A-C850C84E0898@apache.org> References: To: marketing@couchdb.apache.org X-Mailer: Apple Mail (2.3112) Heya Tim, thanks for writing! :) I hope everyone agrees here that what you are doing is amazing and we wish you the best of luck. But we also want to help with highlighting your work and showing the world what is possible. I think your outline looks like a great outline for a blog post already, so unless anyone here objects, feel free to write up a draft at any time and we=E2=80=99ll take it from there.=20 If you want to sign up for an account on http://blog.couchdb.org then I can add you to the editorial team and you can write the draft right in WordPress where we publish these things, just tell me your username = :) Looking forward to reviewing your draft! Best Jan -- > On 16 Mar 2016, at 13:31, Tim Millwood = wrote: >=20 > After debugging some issues on IRC with Jan he invited me to propose = an > article for the CouchDB blog about the work I'm doing for Drupal and > CouchDB. >=20 > For those that haven't seen, the TL;DR is: We are exposing CouchDB > compatible endpoints from Drupal (the PHP based CMS, you knew that, > right?), so that we can replicate content between Drupal sites using = the > replication.io protocol. >=20 > It'd be awesome to write a blog post giving a wide arching overview of = what > we are doing. We've had to: > - Alter all content in Drupal to be revisionable and enforce that > - Implement revision hashes > - Prevent revisions from being deleted (and add _deleted flag) > - Store parent revisions and generate a revision tree > - Normalize and denormalize all content to and from json > - Setup all endpoints > - Implement a replicator in php so we can do full Drupal to Drupal > replication without CouchDB >=20 > One link I shared with Jan was > https://travis-ci.org/relaxedws/drupal-relaxed/jobs/116109952 which = shows a > test we run adding documents to couchdb, then using out PHP replicator = to > replicate these documents from couchdb, to drupal, then to another = drupal > site, then back to couchdb again. We can a number of additional = documents > through the process, but these are Drupal uses which we are treating = as > documents and also replicating. --=20 Professional Support for Apache CouchDB: https://neighbourhood.ie/couchdb-support/