the feature can be used by creating a collection with the extra `keyOptions`
attribute as follows:
db._create("mycollection", { keyOptions: { type: "autoincrement", offset: 1, increment: 10, allowUserKeys: true } });
The `type` attribute will make sure the keys will be auto-generated if no `_key` attribute is specified for a document.
The `allowUserKeys` attribute determines whether users might still supply own `_key` values with documents or if this
is considered an error.
The `increment` value determines the actual increment value, whereas the `offset` value can be used to seed to value
sequence with a specific starting value. This will be useful later in a multi-master setup, when multiple servers can use
different auto-increment seed values and thus generate non-conflicting auto-increment values.
The default values currently are:
- `allowUserKeys`: `true`
- `offset`: `0`
- `increment`: `1`
The only other available key generator type currently is `traditional`. The `traditional` key generator
will auto-generate keys in a fashion as ArangoDB always did (some increasing integer value, with a more or less unpredictable
increment value).
Note that for the `traditional` key generator there is no the option to disallow user-supplied keys and give the
server the sole responsibility for key generation.
Added a REST API for user management
The REST API exposes the functionality available in module "users" for HTTP access.
The following methods are available:
* GET /_api/user/username: fetch user information
* POST /_api/user: create new user
* PUT /_api/user: replace an existing user
* PATCH /_api/user: (partially) update an existing user
* DELETE /_api/user: remove an existing user
Additionally, a module "crypto" is introduced and exposed for Javascript actions.
The crypto module provides the following functions:
* require("org/arangodb/crypto").md5();
* require("org/arangodb/crypto").sha256();
* require("org/arangodb/crypto").rand();