Return-Path: X-Original-To: apmail-couchdb-dev-archive@www.apache.org Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 787B0106B2 for ; Thu, 14 Nov 2013 19:16:20 +0000 (UTC) Received: (qmail 87756 invoked by uid 500); 14 Nov 2013 19:16:20 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 87719 invoked by uid 500); 14 Nov 2013 19:16:20 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 87711 invoked by uid 99); 14 Nov 2013 19:16:20 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Nov 2013 19:16:20 +0000 X-ASF-Spam-Status: No, hits=-0.2 required=5.0 tests=FROM_DOMAIN_NOVOWEL,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of brian@streampunks.com designates 209.85.223.177 as permitted sender) Received: from [209.85.223.177] (HELO mail-ie0-f177.google.com) (209.85.223.177) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Nov 2013 19:16:13 +0000 Received: by mail-ie0-f177.google.com with SMTP id qd12so3212683ieb.22 for ; Thu, 14 Nov 2013 11:15:52 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:content-type:content-transfer-encoding; bh=ed0rppFIDFAl1JLYuIDbd157M5mYvONniOgGRp5Pzbw=; b=M+eDrTJ2NSzenbdcoNZOWLOE7RJQWMf+dEzVkcr8G/dyXEkrpyAz8a5yTqp6KtMT07 xML+KLYvt+g6Cj9Rz9V5G+F5wRSwB7h38G0W+qc+aMqrEqntYokUam0dpVYB4qEmJqmd u2RnGnTgMYvZTUkY4fS1Jqgz+J0HDRzSQuMbhiUjNr/30JtXsthSckIgbtQJnGD/gZVb Qh8L71Xq53zC1TsfvvCb5SiIPjHw6zCLSz6pDgm9v3IdQuN0msez5vCMu1V70o6kspDO Rb9pEiNMQgw5RG+WHTJGs7wjpBshwfVa8ebjz2HJK2qp4jdLEKV5pvDxgcOuZyq7kLPI N40g== X-Gm-Message-State: ALoCoQk3h/DcxCbJEboY7tyHXlnXqP3QCXVmnxB9NHOdKCYQ263siFgY21HA9alZbeGdGWND4q9U MIME-Version: 1.0 X-Received: by 10.50.30.66 with SMTP id q2mr2423174igh.17.1384456552512; Thu, 14 Nov 2013 11:15:52 -0800 (PST) Sender: brian@streampunks.com Received: by 10.64.12.9 with HTTP; Thu, 14 Nov 2013 11:15:52 -0800 (PST) X-Originating-IP: [142.255.78.149] In-Reply-To: References: <511FEA90E28843239F62C7467F4A110A@cloudant.com> Date: Thu, 14 Nov 2013 14:15:52 -0500 X-Google-Sender-Auth: LEUGZozZKNbI4sizD8wFbz6f7Nc Message-ID: Subject: Re: Plugin Registry (Was Summary of IRC meeting in #couchdb-meeting) From: Brian Mitchell To: dev@couchdb.apache.org Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org On Thu, Nov 14, 2013 at 1:52 PM, till wrote: > > > On Thursday 14 November 2013 at 18:28, Simon Metson wrote: > >> Hey, >> >> > > I agree, src/couch_plugins/README.md (http://README.md) has a quasi = roadmap that I want to work >> > > towards. The only edit for now would be that I=92d like a registry t= hat can be >> > > update independently from CouchDB releases. Would you be interested = in helping >> > > out with that? Or anything else around plugins? >> > > >> > >> > >> > I'm definitely interested to hear more. I'd love to help out with >> > getting a common place for contributed couchdb things to be indexed >> > and published. Plugins seem like an ideal testing ground. How do you >> > imagine a plugin registry working? >> > >> >> >> I=92m interested in this too. Can we pick up stuff from npm? >> Cheers >> Simon >> >> > > Please don=92t. For starters, a more or less static registry would be awe= some. Not databased. I'm curious how static really avoids the database problem. Are you saying it'd be better to just pull down a know good URL and that never changes? Beyond that, I'm not sure we need to use CouchDB just like NPM does but it is pretty nice. Maybe fewer document mutations would help (splitting plugin releases into their own documents could be a good idea for those running local mirrors). > Then minor nitpicks like: > > - enforce semantic versions +1. We should expect plugins to follow the same conventions that CouchDB do= es. > - don=92t allow people to re-upload releases Yes. We could avoid this partly by making releases more like immutable documents. > - make it easy to mirror it Replication is a natural fit here. There might be an argument for allowing automated installation via plain-old-HTTP or filesystem mirrors as well for the cases where people don't want to have to have a separate database running just to setup their own CouchDB nodes with private plugins (chicken-egg like situations emerge). > - some kind of signature for plugins/verification +1.