[ https://issues.apache.org/jira/browse/COUCHDB-441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12738384#action_12738384 ]
Curt Arnold commented on COUCHDB-441: ------------------------------------- 1. Other than possibly adding a ?include_doc(s) query parameter that would indicate whether the modified doc needs to be returned, I would not see the HTTP API changing. On the back-end, I'd be open to anything from a hard-coded entry, configured Erlang handler or design doc similar to validate_doc. 2. I'm thinking there is already a different code path for replication since I'd think that replication would preserve the existing revision id. However, on my initial scan of couch_db:update_docs, I could not identify the code that was responsible for generating the new revision id. If done with a design doc approach, either the function would not be called on during replication, the design doc would define whether it was called during replication, or the function would be called but it could detect whether it was being called during replication. I haven't thought of a reason that you'd want to invoke during replication, so I'd be fine with any of them. 3. Instead of having the edit function directly modifying the document, it could return a document that is merged into the existing document. Any top-level key that is present in the return value from an doc-edit function would be inserted in the document replacing any existing value for that key in the document. However, if multiple edit functions add the same key value, the PUT would fail with a conflict error. > Finally implement pre-write-doc-edit handlers. > ---------------------------------------------- > > Key: COUCHDB-441 > URL: https://issues.apache.org/jira/browse/COUCHDB-441 > Project: CouchDB > Issue Type: Improvement > Components: HTTP Interface > Affects Versions: 0.10 > Reporter: Curt Arnold > Fix For: 0.10 > > Attachments: COUCHDB-441.patch > > > It would be useful for auditing to have the identity of the user who inserted > a new revision and the timestamp of the operation to be inserted in the > document in the same way that the new revision number is. > Doing this at the application level is not adequate since it would be readily > spoofable and would bypass the authentication handler. > There is a comment in couch_db:update_docs about generating new revision ids, > but I couldn't quite comprehend what specific code was responsible for > inserting the id into the document. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.