jIO is a promised-based JavaScript library that offers connectors to many storages (Dropbox, webdav, IndexedDB, GDrive, ...) using a single API. jIO supports offline use, replication, encryption and synchronization as well as querying of stored documents and attachments allowing to build complex client-side centric web applications.
### jIO Documentation
The documentation can be found on [https://jio.nexedi.com/](https://jio.nexedi.com/)
### jIO Quickstart
git clone https://lab.nexedi.com/nexedi/jio.git
npm install
grunt server
### jIO Code
RenderJS source code is hosted on Gitlab at [https://lab.nexedi.com/nexedi/jio](https://lab.nexedi.com/nexedi/jio) (Github [mirror](https://github.com/nexedi/jio/) - please use the issue tracker on Gitlab)
### jIO Test
You can run tests after installing and building jIO by opening the */test/* folder
**jIO is a client-side JavaScript library to manage documents across multiple
jIO is a promised-based JavaScript library that offers connectors to many storages (Dropbox, webdav, IndexedDB, GDrive, ...) using a single API. jIO supports offline use, replication, encryption and synchronization as well as querying of stored documents and attachments allowing to build complex client-side centric web applications.
storages.**
### Getting Started
### jIO Documentation
To set up jIO you should include jio.js, dependencies and the connectors for the storages
The documentation can be found on [https://jio.nexedi.com/](https://jio.nexedi.com/)
you want to use in the HTML page header (note that more dependencies may be required
depending on type of storages being used):
```html
### jIO Quickstart
<script src="RSVP.js"></script>
git clone https://lab.nexedi.com/nexedi/jio.git
<script src="jio-latest.js"></script>
```
Then create your jIO instance like this:
```javascript
// create a new jio
varjio_instance=jIO.createJIO({
type:"query",
sub_storage:{
type:"uuid",
sub_storage:{
"type":"indexeddb",
"database":"test"
}
}
});
```
### Documents and Methods
Documents are JSON strings that contain *metadata* (properties, like a filename)
and *attachments* (optional content, for example *image.jpg*).
jIO exposes the following methods to *create*, *read*, *update* and *delete* documents
(for more information, including revision management and available options for
RenderJS source code is hosted on Gitlab at [https://lab.nexedi.com/nexedi/jio](https://lab.nexedi.com/nexedi/jio)(Github[mirror](https://github.com/nexedi/jio/) - please use the issue tracker on Gitlab)
Submit merge requests on lab.nexedi.com.
### jIO Test
You can run tests after installing and building jIO by opening the */test/* folder