couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pearce, Martyn" <Martyn.Pea...@gs.com>
Subject RE: Google Summer of Code topics
Date Mon, 25 Mar 2013 17:47:53 GMT
thank you

-----Original Message-----
From: Jeff Charette [mailto:iomatix@yahoo.com] 
Sent: Monday, March 25, 2013 5:44 PM
To: user@couchdb.apache.org
Cc: 'CouchDB Developers'
Subject: Re: Google Summer of Code topics

I do something similar.  Here it is in case anyone wants to look at it from a slightly different
code perspective.

   /* underscore and underscore string are not needed, just my preference */
    var _ = require('underscore')._,
     _s = require('underscore-string'),
     globalKeys = ['_id', '_rev', 'template', 'type', 'permissions'];

    exports.edit = function (doc, req) {

	/* add values from request */
	_.each(req.form, function(val, key) {
		if (globalKeys.indexOf(key) === -1) {
			try {
		        doc[key].value = JSON.parse(req.form[key]);
		    }
			catch (e) {
		        if (typeof doc[key] !== 'undefined') {
					doc[key].value = req.form[key];
				}
		    }
		}
	});
	
    return [doc, {
        code: 200,
        headers: {
          'Content-Type': 'application/json'
         },
        body: JSON.stringify('render to template or return success')
    }];
    };

You simply post to '_update/edit/docid' with form content.

Jeff Charette | Principal 
We Are Charette
web / identity / packaging

m  415.298.2707
w  wearecharette.com
e   jeffrey@wearecharette.com

On Mar 25, 2013, at 12:46 PM, "Pearce, Martyn" <Martyn.Pearce@gs.com> wrote:

> thanks
> 
> -----Original Message-----
> From: Mark Hahn [mailto:mark@hahnca.com] 
> Sent: Monday, March 25, 2013 4:45 PM
> To: user
> Cc: CouchDB Developers
> Subject: Re: Google Summer of Code topics
> 
> Here is the code in a gist .. https://gist.github.com/mark-hahn/5238514
> 
> 
> On Mon, Mar 25, 2013 at 9:00 AM, Pearce, Martyn <Martyn.Pearce@gs.com>wrote:
> 
>> Posting it here would be a great start.  That would imply permission for
>> interested parties to post it on an examples page, I think.
>> 
>> Thanks,
>> 
>> -----Original Message-----
>> From: Mark Hahn [mailto:mark@hahnca.com]
>> Sent: Monday, March 25, 2013 3:59 PM
>> To: user
>> Cc: CouchDB Developers
>> Subject: Re: Google Summer of Code topics
>> 
>> How would you suggest I publish it?  I don't have a blog.  I guess I could
>> post it here for now.  It's not very big.
>> 
>> 
>> On Mon, Mar 25, 2013 at 2:19 AM, Pearce, Martyn <Martyn.Pearce@gs.com
>>> wrote:
>> 
>>> It would be a great published example/howto if you were willing to
>> publish
>>> your code for that.
>>> 
>>> -----Original Message-----
>>> From: Mark Hahn [mailto:mark@hahnca.com]
>>> Sent: Friday, March 22, 2013 6:14 PM
>>> To: user
>>> Cc: CouchDB Developers
>>> Subject: Re: Google Summer of Code topics
>>> 
>>>> Implement partial reads and updates of documents,
>>> 
>>> In case anyone didn't know, you can do partial updates right now with an
>>> update handler.  I have been using one for some time that allows the app
>> to
>>> modify any part of a doc with a single http request.  It even allows one
>> to
>>> modify an attribute nested inside objects.  I've ended up using only this
>>> for all updates.
>>> 
>>> 
>>> On Fri, Mar 22, 2013 at 7:20 AM, Jeff Charette <iomatix@yahoo.com>
>> wrote:
>>> 
>>>> My top 3 for couchapps:
>>>> 
>>>> 1. more robust _rewrites module to do things like, possibly introduce
>>>> regex matching
>>>> 
>>>> 
>>> 
>> http://stackoverflow.com/questions/14839422/rewrite-without-file-extension-in-couchdb
>>>> 2. doc level security
>>>> 3. with secure_rewrites true, _attachments handler moved to design doc
>>>> level /db/_design/doc/_attachments - like an update handler
>>>>        - database level _users, so /db/_design/doc/_users - behaves
>> just
>>>> like /_users
>>>> 
>>>> Sorry if any of this is pathetically naive!
>>>> Jeff Charette | Principal
>>>> We Are Charette
>>>> web / identity / packaging
>>>> 
>>>> m  415.298.2707
>>>> w  wearecharette.com
>>>> e   jeffrey@wearecharette.com
>>>> 
>>>> On Mar 22, 2013, at 7:13 AM, Dave Cottlehuber <dch@jsonified.com>
>> wrote:
>>>> 
>>>>> 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
>>>> 
>>>> 
>>> 
>> 


Mime
View raw message