As usual, 2 seconds after I hit 'Send' I think of something else to say...

On 13/04/2009 5:16 PM, Chris Anderson wrote:

Something like this then? (also a list of signatures, here)

      {
        "_id" : "89a7stdg235",
        "_rev" : "1-26476513",
        "message" : "I said this and I meant it.",
        "date" : "2009/04/09 15:54:08",
        "author" : {
          "name" : "J. Chris Anderson",
          "url" : "http://jchrisa.net";,
          "photo" : "http://jchrisa.net/profile.jpg";
        }
        "foo" : "not signed but still a normal field",
        "signatures" : [{
          "signed-fields: [ "message", "date", "author"],
          etc as described...
        }]
     }

I've a slight concern about the name 'signatures' here - its not about 'signatures' per-se, it's more about the assumptions *any* regular word implies about the 'schema' of the database trying to use this facility.

In other words, how can we be sure the field 'signatures' doesn't conflict with a field already in the database?

I'm not quite up on the full context of this discussion, but I see 2 potential solutions:

* Leave it up to the app to dictate the name of the field (ie, 'signatures' is just an example in the above, but the literal field name is up to the app)

or

* Invent a new naming convention for a category of fields somewhere in between 'reserved' (ie, those with a leading '_') and application-specific ones. IOW, assuming the couch impl will not let us use '_signatures', use something along the lines of '.signatures' - something couch will not reject, but something which apps can easily avoid. A leading '.' does have a certain appeal - its almost a 'hidden' field...

Cheers,

Mark

Reply via email to