Skip to content

Commit fcc1b4f

Browse files
committed
documentation
1 parent d38045e commit fcc1b4f

File tree

4 files changed

+38
-56
lines changed

4 files changed

+38
-56
lines changed

CHANGELOG.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Change Log
2+
3+
All user visible changes to this project will be documented in this file.
4+
This project adheres to [Semantic Versioning](http://semver.org/), as described
5+
for Rust libraries in [RFC #1105](https://github.com/rust-lang/rfcs/blob/master/text/1105-api-evolution.md)
6+
7+
## 0.1.0 : 2018-04-15 : Newborn
8+
9+
* First release

README.md

+19-51
Original file line numberDiff line numberDiff line change
@@ -37,67 +37,35 @@ easy and flexible use of [ArangoDB] in applications.
3737

3838
**Status: Experimental**
3939

40-
This project is under heavy development. There is no released version yet.
40+
The first usable version is released. Yuppie!
4141

42-
The plans are to provide:
42+
For details about this first version and how to use the Rincon ArangoDB driver
43+
see the [README](rincon/README.md) in the [rincon] crates subdirectory.
4344

44-
* A typesafe low level driver API for the [ArangoDB REST API]. (WIP)
45-
* Convenience 'Session'-API on top of the driver API. (WIP)
46-
* API to compose [AQL] queries in a typesafe manner. (PLANNED)
45+
The project is continuously evolving. There may be breaking changes in upcoming
46+
releases. All changes will be documented in the [CHANGELOG.md](CHANGELOG.md).
47+
Breaking changes will be marked as such.
4748

48-
Currently I am working on the driver API for the REST API. There are a lot
49-
methods in the REST API which require a lot of coding. Therefore I have
50-
split the implementation into 2 milestones. The details about the planned
51-
milestones and progress is documented in
52-
[docs/arangodb_rest_api_methods.md](docs/arangodb_rest_api_methods.md)
49+
If you are interested in using this Rincon ArangoDB driver I would be happy to
50+
receive feedback and here what everyone is thinking about it. Especially if
51+
you have ideas about improving usability of the driver.
5352

54-
## Ideas
53+
Please file an issue on Github for every idea you have, the difficulties you are
54+
facing and naturally for all bugs you find.
5555

56-
In this section ideas for this project are collected. The provided code
57-
snippets shall illustrate the ideas. This does not mean that they are
58-
implemented yet or will be implemented in exact that way. So don't
59-
expect that any code snippet provided here will compile or work yet.
56+
You may also use the Gitter channel to ask questions and discuss things.
6057

61-
#### Typesafe and low level driver API for the REST API of ArangoDB
58+
## What's next?
6259

63-
e.g. something like
60+
There is still lot of work todo. The next planned steps are:
6461

65-
```
66-
let method = CreateCollection::with_name("my_collection");
67-
let result = connection.execute(method);
68-
```
62+
* Implement more operation of the [ArangoDB REST API]. Details about the
63+
planned and ready operations can be found in
64+
[docs/arangodb_rest_api_methods.md](docs/arangodb_rest_api_methods.md)
6965

70-
#### Session API on top of the driver API
66+
* Implement the asynchronous session API (`rincon_session_async`)
7167

72-
e.g. something like
73-
74-
```
75-
let session = datasource.create_session();
76-
let database = session.use_database("my_database");
77-
let collection = database.create_collection("my_new_collection");
78-
collection.add_document(..);
79-
let document = collection.get_document(..);
80-
```
81-
82-
The main purpose of the session shall be:
83-
* no need to specify the database and collection on each and every request.
84-
* reuse of connections to the database, e.g. from a connection pool, for
85-
speed and efficient use of resources.
86-
* convenient API for transaction handling
87-
* efficient execution of batches of operations.
88-
89-
#### API to compose AQL queries in a typesafe manner
90-
91-
e.g. something like
92-
93-
```
94-
let query = Aql::for(customers)
95-
.filter(|c| c.age == 42)
96-
.limit(10)
97-
.return(|c| (c.name, c.age, c.city))
98-
;
99-
let results = query.results(session);
100-
```
68+
* Work on the documentation
10169

10270
## Multiple Crates
10371

docs/arangodb_rest_api_methods.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ in the `rincon_client` lib. The different entries and their meanings are:
103103
| Ready | RenameCollection | PUT /_api/collection/{collection-name}/rename | Rename collection |
104104
| Ready | GetCollectionRevision | GET /_api/collection/{collection-name}/revision | Return collection revision id |
105105
| M.2 | | PUT /_api/collection/{collection-name}/rotate | Rotate journal of a collection |
106-
| M.1 | | PUT /_api/collection/{collection-name}/truncate | Truncate collection |
106+
| M.2 | | PUT /_api/collection/{collection-name}/truncate | Truncate collection |
107107
| M.2 | | PUT /_api/collection/{collection-name}/unload | Unload collection |
108108

109109
### Cursors [M.1]
@@ -191,17 +191,17 @@ in the `rincon_client` lib. The different entries and their meanings are:
191191
| Ready | ModifyVertex | PATCH /_api/gharial/{graph-name}/vertex/{collection-name}/{vertex-key} | Modify a vertex |
192192
| Ready | ReplaceVertex | PUT /_api/gharial/{graph-name}/vertex/{collection-name}/{vertex-key} | Replace a vertex |
193193

194-
### Graph edges [M.1]
194+
### Graph edges [M.2]
195195

196196
| Status | Rust method struct | REST API method | Description |
197197
|--------|--------------------|-------------------------------------|-------------|
198-
| M.1 | | GET /_api/edges/{collection-id} | Read in- or outbound edges |
198+
| M.2 | | GET /_api/edges/{collection-id} | Read in- or outbound edges |
199199

200-
### Graph Traversal [M.1]
200+
### Graph Traversal [M.2]
201201

202202
| Status | Rust method struct | REST API method | Description |
203203
|--------|--------------------|-------------------------------------|-------------|
204-
| M.1 | | POST /_api/traversal | executes a traversal |
204+
| M.2 | | POST /_api/traversal | executes a traversal |
205205

206206
### Indexes [M.1]
207207

rincon/README.md

+5
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ Here is a diagram that depicts the dependencies between the crates:
5555

5656
![Crate dependency structure](../docs/crate_structure.png)
5757

58+
## Getting started
59+
60+
For guides on how to use the Rincon ArangoDB driver check out the documentation
61+
of the [rincon_session API] and the [rincon_client API].
62+
5863
## Status of the project
5964

6065
**Currently not all crates listed above are released yet**

0 commit comments

Comments
 (0)