When we looked at some of our internal usage data we found that _update had 
measurably higher adoption than the rendering functions, so we didn’t push so 
hard on deprecating it yet.

I’d feel better about removing this endpoint if there was a clear plan to 
provide alternative server-side partial update functionality in a future 
release. We had some good discussions in GitHub a while back:

https://github.com/apache/couchdb/issues/1554
https://github.com/apache/couchdb/issues/1559

It’d be good to review those designs and see if we can advance them to the 
level of an RFC. I suspect we’re close.

+0

> On May 6, 2020, at 10:53 AM, Nick V <vatam...@gmail.com> wrote:
> 
> +1
> 
> 
>> On May 6, 2020, at 08:04, Jonathan Hall <fli...@flimzy.com> wrote:
>> 
>> +1
>> 
>>> On 5/6/20 1:57 PM, Jan Lehnardt wrote:
>>> Hey all,
>>> 
>>> it appears we missed an item in our 3.0 deprecations list and we should
>>> clear this up.
>>> 
>>> We have as of yet failed to capture consensus here about the
>>> deprecation of the _update endpoint. I think we *have* consensus here,
>>> but we didn’t make it stick in writing.
>>> 
>>> To recap: the _update endpoint was added to allow arbitrary data to be
>>> POSTed to CouchDB and for developers to take whatever and turn that
>>> into a JSON document that then gets stored into CouchDB. Initially,
>>> this was added so we can process HTML Form submits. With the advent of
>>> XHR/fetch in browsers, this is no longer necessary. Another aim at the
>>> time was allowing legacy data systems that e.g. send XML via HTTP to
>>> configurable URLs to directly integrate with CouchDB. This is still a
>>> valid use-case, but easily enough worked around.
>>> 
>>> There is also a constant level of confusion with the similarly named
>>> validate_doc_update feature, which enforces access control and schema
>>> conformity on all document writes. There is no proposal to deprecate
>>> this feature at this point and the _update endpoint and functionality
>>> are fully distinct from validate_doc_update.
>>> 
>>> _update is the logical reverse of a _show and we already have
>>> deprecated that. It follows that we also deprecate _update for the same
>>> reasons (which I’m not going to rehash here for the 400th time).
>>> 
>>> Since this is an API deprecation as per our bylaws[1], please cast your
>>> votes (or abstain to agree, as per lazy-consensus).
>>> 
>>> Best
>>> Jan “XML, in this economy?” Lehnardt
>>> —
>>> [1]: https://couchdb.apache.org/bylaws.html#api
>>> 

Reply via email to