Return-Path: X-Original-To: apmail-couchdb-user-archive@www.apache.org Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 87B3FF6D6 for ; Fri, 22 Mar 2013 11:14:21 +0000 (UTC) Received: (qmail 69349 invoked by uid 500); 22 Mar 2013 11:14:20 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 68426 invoked by uid 500); 22 Mar 2013 11:14:18 -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 68407 invoked by uid 99); 22 Mar 2013 11:14:18 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 22 Mar 2013 11:14:18 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of dch@jsonified.com designates 209.85.215.49 as permitted sender) Received: from [209.85.215.49] (HELO mail-la0-f49.google.com) (209.85.215.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 22 Mar 2013 11:14:13 +0000 Received: by mail-la0-f49.google.com with SMTP id fs13so6904185lab.22 for ; Fri, 22 Mar 2013 04:13:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jsonified.com; s=google; h=mime-version:x-received:x-originating-ip:date:message-id:subject :from:to:content-type; bh=WqtLElScrmm59SlAyf0lf9HyBmivwRcknqgDD6FJWPY=; b=VLapwvNHDkoWTJheSPCniX0agpcQNatObNK1F4obG78g2RBaW5M45Ncq6mA074cx8j cQr8ZC9tniCL7YCq4CeLj1Aq4gOP7Z98ifzb/m9dakL4v+atnRuqL7ZdEdlLKwtgxwVG HsMtEOyQpcl1lab2hpNMBluukm0pAFvrZtf/s= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:x-originating-ip:date:message-id:subject :from:to:content-type:x-gm-message-state; bh=WqtLElScrmm59SlAyf0lf9HyBmivwRcknqgDD6FJWPY=; b=jXy6abXG8BgEn+ekthg3eTpaE4LbRoBidwc6XyVhrW5EQMyMjiuNMxYTPrGVsjSFTO 7MczulMq3E8fCDm7se1XmOFzyI1HHa9k60UJ+oIHhOKOuJOMeadLnySFPn5yae4F8vGS EmA9NFLZNi7rf7W/bDs2AQ9KFmU+nDoiDdLGMT/NczmFXeinJaqqx1gtoL3CKNBdNGwc tccgvjl9uNtE6678axcO2sX9NW2SAZ8dVGWgm95pRfzbzdDuehPkJmA9e1A1DmbwyvkN 1MtNLflLgfGzSjWPmIUA+zEK0OucHbqZLfucsKHOXMdTiIvGL4F5Iow+he2vyF/RWPw3 2RkA== MIME-Version: 1.0 X-Received: by 10.112.34.200 with SMTP id b8mr939526lbj.3.1363950831815; Fri, 22 Mar 2013 04:13:51 -0700 (PDT) Received: by 10.112.81.169 with HTTP; Fri, 22 Mar 2013 04:13:51 -0700 (PDT) X-Originating-IP: [84.112.19.176] Date: Fri, 22 Mar 2013 12:13:51 +0100 Message-ID: Subject: Google Summer of Code topics From: Dave Cottlehuber To: CouchDB Developers Content-Type: text/plain; charset=ISO-8859-1 X-Gm-Message-State: ALoCoQkJu9dFIAYrfgWd+7aZBawhCvKxQxI5a4xUNnnO6xYaIiBaoO+BpB1c8XQ7eaDTnrvQj3ee X-Virus-Checked: Checked by ClamAV on apache.org Hi folks, GSOC[1][2] registration for ASF closes this weekend, and we'd like to get some proposals into it, viz http://community.apache.org/gsoc.html from last year. If you reply, please do so just to the dev@ list -- note I BCC'd users@ for some ideas. I've got a few suggestions to get the ball rolling, with numbers where taken from the future features list: https://gist.github.com/rnewson/2387973 6. implement a Domain-Specific Language to run within the Erlang VM, to support native speed filtering, validation, and indexing in addition to the current in-built JS and erlang ones. Maybe something that includes http://jsonselect.org/ 8/9. Rewire CouchDB's HTTP layer to support websockets and spdy. I think this implies switching to cowboy, this could be too messy. 12. Extend CouchDB's query model (e.g. https://developers.google.com/chart/interactive/docs/querylanguage) to support a richer syntax. 13/14. Implement partial reads and updates of documents, Make the javascript view engine faster. Could include v8 bindings, different / parallel communication approaches between erlang and javascript worlds, avoiding reparsing JSON roundtrips, and make it faster than the current spidermonkey implementation. Implement external storage of attachments and appropriate HTTP API hooks incl replication to allow hosting attachments outside the .couch files, either on local storage, or in cloud blob storage (S3, azure etc). Implement a view development sandbox, where you can easily prototype with a sub-set of documents without long build times. Add an optional HTTP compression layer to CouchDB. It would be really cool if you could do the compression during doc update (or view creation or something) so that it can be served directly next time. See https://github.com/lgerbarg/couchdb/tree/gzip-support for a prior implementation or https://gist.github.com/archaelus/76455 for a file-based approach, and http://visualstart.blogspot.co.at/2012/02/mochiweb-erlang-and-gzip.html for some other ideas. Develop a plugin API & rework the authentication layer to allow plugging in ErLDAP, nodejs with EveryAuth or PassportJS or in fact anything you like. Extend geocouch and/or couchdb with some of Volker's ideas (cue Volker). Or stuff like quadtrees, geohashes or hilbert curves. Finally, if you are interested in being a mentor, please speak up! A+ Dave [1]: http://www.google-melange.com/gsoc/homepage/google/gsoc2013 [2]: https://groups.google.com/forum/?fromgroups=#!topic/google-summer-of-code-discuss/yYM2ru4bTeo