commit | ccc60c8ae09b82eb0f71ea90fb968b596fc38672 | [log] [tgz] |
---|---|---|
author | Bob Ippolito <bob@redivi.com> | Sat Jan 04 11:40:13 2014 -0800 |
committer | Bob Ippolito <bob@redivi.com> | Sat Jan 04 11:40:13 2014 -0800 |
tree | a31116c3e080679873641b89a16b6f679a794bd3 | |
parent | 80f230c34736d13b5ba735fbac389340517ab68b [diff] |
update README #3
couchperuser is a CouchDB daemon that ensures that a private per-user database exists for each document in _users. These databases are writable only by the corresponding user.
Currently this is very much purpose-built for CodeCosmos. Databases are in the form:
userdb-{hex encoded username}
For example, the user bob
will have a database named userdb-626f62
.
The reason for hex encoding is that CouchDB usernames have no restrictions, but CouchDB databases have restrictions. Hex encoding the UTF-8 representation of the username is a transformation that's easy to correctly implement in just about any language, especially JavaScript and Erlang. Other encodings would be possible, but would require additional client and server-side code to support that encoding. This is the simplest scheme that is obviously correct.