Update docs
This commit is contained in:
parent
240b1fb922
commit
543e457581
|
@ -1,72 +0,0 @@
|
||||||
Use-case with eTags
|
|
||||||
###################
|
|
||||||
We explain the use-case of tagging a device with an :ref:`tags:eTags`,
|
|
||||||
going through the manufacturing of the tags, their distribution and
|
|
||||||
the final linkage between tag and computer.
|
|
||||||
|
|
||||||
For this use-case we suppose we want 100 eTags.
|
|
||||||
|
|
||||||
Actors
|
|
||||||
******
|
|
||||||
|
|
||||||
- Tag provider: organization that orders and manages the eTags; it is
|
|
||||||
certified by eReuse.org thus having permission to order the tags.
|
|
||||||
- NFC Tag manufacturer.
|
|
||||||
- Photochromic tag manufacturer.
|
|
||||||
- User: organization that uses the tags.
|
|
||||||
|
|
||||||
Requirements
|
|
||||||
************
|
|
||||||
|
|
||||||
- At least one eReuse.org Devicehub. One Devicehub can contain several
|
|
||||||
organizations and inventories, or organizations can have their own
|
|
||||||
copy of Devicehub. Devicehub work distributely over the Internet.
|
|
||||||
- One `eReuse.org Tag <https://github.com/ereuse/tag>`_ running in a
|
|
||||||
server over the Internet by the *tag provider*.
|
|
||||||
|
|
||||||
Use case
|
|
||||||
********
|
|
||||||
|
|
||||||
1. The *tag provider* enters into the server containing the
|
|
||||||
*eReuse.org Tag* software and executes the command
|
|
||||||
``etag create-tags 100 --csv file.csv``, which creates 100
|
|
||||||
tags in the database and saves their URLs into a spreadsheet CSV file
|
|
||||||
called *file.csv*.
|
|
||||||
2. The *tag provider* sends the CSV file to the *NFC tag manufacturer*
|
|
||||||
and orders the 100 tags.
|
|
||||||
3. The *NFC tag manufacturer* creates those tags (NFC plus QR code)
|
|
||||||
and updates the CSV file with the NFC ID of each tag, so each row
|
|
||||||
of the CSV file contains the URL sent by the *tag provider* and
|
|
||||||
the ID of the NFC tag created by the *NFC tag manufacturer*.
|
|
||||||
4. The *Tag provider* updates *eReuse.org Tag* with the ID of the
|
|
||||||
NFC by executing ``etag update-tags file.csv`` where *file.csv* is the
|
|
||||||
file sent by the *NFC tag manufacturer*.
|
|
||||||
5. The *Tag provider* orders 100 photochromic tags to the *Photochromic
|
|
||||||
tag manufacturer*. Note that these tags don't require any special
|
|
||||||
treatment.
|
|
||||||
6. The *Photochromic tag manufacturer* sends back 100 tags.
|
|
||||||
7. The *Tag provider* distributes the eTags (NFC and photochromic) to
|
|
||||||
several organizations, *users*, both physically by sending them and
|
|
||||||
virtually by executing ``etag set-tags http://some-devicehub.com
|
|
||||||
0 100``; this marks the tags in *eReuse.org Tag*
|
|
||||||
as *sent to some-devicehub.com* and creates the tags in that
|
|
||||||
Devicehub.
|
|
||||||
8. The *user* receives the tags, sticks them in their devices, and scans
|
|
||||||
the NFC or QR codes:
|
|
||||||
|
|
||||||
1. By using the `eReuse.org Android App <https://github.com/eReuse/eReuseAndroidApp>`_
|
|
||||||
the user can scan the QR code or the NFC of the eTag.
|
|
||||||
2. If the *user* is processing devices with the `eReuse.org
|
|
||||||
Workbench <https://github.com/ereuse/workbench>`_, Workbench
|
|
||||||
automatically attaches hardware information like serial numbers,
|
|
||||||
otherwise the *user* can add that information through the app.
|
|
||||||
3. These softwares communicate with the Devicehub of the user and
|
|
||||||
command the Devicehub to link the device with the tag.
|
|
||||||
4. The Devicehub of the user links the tag.
|
|
||||||
5. The Devicehub creates or updates a virtual entity in Everythng
|
|
||||||
containing the device and the tag.
|
|
||||||
6. If Devicehub or Everythng detect that the tag was linked they won't
|
|
||||||
allow this operation. Devicehub can only detect if the app is linked
|
|
||||||
by looking at its internal database. Everythng, as it contains all
|
|
||||||
device and tag information, validates that the tag is not linked
|
|
||||||
elsewhere.
|
|
|
@ -1,5 +0,0 @@
|
||||||
Event Diagram
|
|
||||||
=============
|
|
||||||
|
|
||||||
.. uml:: events.puml
|
|
||||||
:width: 100%
|
|
|
@ -16,7 +16,7 @@ This is the documentation and API of the `eReuse.org Devicehub
|
||||||
agents
|
agents
|
||||||
inventory
|
inventory
|
||||||
tags
|
tags
|
||||||
etag
|
lots
|
||||||
|
|
||||||
* :ref:`genindex`
|
* :ref:`genindex`
|
||||||
* :ref:`modindex`
|
* :ref:`modindex`
|
||||||
|
|
29
docs/lots.rst
Normal file
29
docs/lots.rst
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
Lots
|
||||||
|
####
|
||||||
|
|
||||||
|
Lots are folders that contain devices and other lots, and can be
|
||||||
|
at the same time under several lots.
|
||||||
|
|
||||||
|
`Here <https://www.bustawin.com/
|
||||||
|
dags-with-materialized-paths-using-postgres-ltree/>`_ you have
|
||||||
|
a low-level technical implementation of how lots and their
|
||||||
|
relationships are mapped.
|
||||||
|
|
||||||
|
Create lots
|
||||||
|
***********
|
||||||
|
You create a lot by ``POST /lots/`` a `JSON Lot object <https://
|
||||||
|
app.swaggerhub.com/apis/ereuse/devicehub/0.2/#model-Lot>`_.
|
||||||
|
|
||||||
|
Adding / removing children
|
||||||
|
**************************
|
||||||
|
You can add lots to a lot by performing
|
||||||
|
``POST /lots/<parent-lot-id>/children/?id=<child-lot-1>&id=<child-lot-2>``.
|
||||||
|
Note that all lots must exist before. The **parent** lot is the
|
||||||
|
lot containing the **children** lots without any intermediate lot.
|
||||||
|
|
||||||
|
To remove children lots the idea is the same:
|
||||||
|
``DELETE /lots/<parent-lot-id>/children/?id=<child-lot-1>&id=<child-lot-2>``.
|
||||||
|
|
||||||
|
And for devices is all the same:
|
||||||
|
``POST /lots/<parent-lot-id>/devices/?id=<device-id-1>&id=<device-id-2>``;
|
||||||
|
idem for removing devices.
|
|
@ -102,4 +102,78 @@ Tags and migrations
|
||||||
Tags travel with the devices they are linked when migrating them. Future
|
Tags travel with the devices they are linked when migrating them. Future
|
||||||
implementations can parameterize this.
|
implementations can parameterize this.
|
||||||
|
|
||||||
http://t.devicetag.io/TG-1234567890
|
http://t.devicetag.io/TG-1234567890
|
||||||
|
|
||||||
|
|
||||||
|
Use-case with eTags
|
||||||
|
*******************
|
||||||
|
We explain the use-case of tagging a device with an :ref:`tags:eTags`,
|
||||||
|
going through the manufacturing of the tags, their distribution and
|
||||||
|
the final linkage between tag and computer.
|
||||||
|
|
||||||
|
For this use-case we suppose we want 100 eTags.
|
||||||
|
|
||||||
|
Actors
|
||||||
|
======
|
||||||
|
|
||||||
|
- Tag provider: organization that orders and manages the eTags; it is
|
||||||
|
certified by eReuse.org thus having permission to order the tags.
|
||||||
|
- NFC Tag manufacturer.
|
||||||
|
- Photochromic tag manufacturer.
|
||||||
|
- User: organization that uses the tags.
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
============
|
||||||
|
|
||||||
|
- At least one eReuse.org Devicehub. One Devicehub can contain several
|
||||||
|
organizations and inventories, or organizations can have their own
|
||||||
|
copy of Devicehub. Devicehub work distributely over the Internet.
|
||||||
|
- One `eReuse.org Tag <https://github.com/ereuse/tag>`_ running in a
|
||||||
|
server over the Internet by the *tag provider*.
|
||||||
|
|
||||||
|
Use case
|
||||||
|
========
|
||||||
|
|
||||||
|
1. The *tag provider* enters into the server containing the
|
||||||
|
*eReuse.org Tag* software and executes the command
|
||||||
|
``etag create-tags 100 --csv file.csv``, which creates 100
|
||||||
|
tags in the database and saves their URLs into a spreadsheet CSV file
|
||||||
|
called *file.csv*.
|
||||||
|
2. The *tag provider* sends the CSV file to the *NFC tag manufacturer*
|
||||||
|
and orders the 100 tags.
|
||||||
|
3. The *NFC tag manufacturer* creates those tags (NFC plus QR code)
|
||||||
|
and updates the CSV file with the NFC ID of each tag, so each row
|
||||||
|
of the CSV file contains the URL sent by the *tag provider* and
|
||||||
|
the ID of the NFC tag created by the *NFC tag manufacturer*.
|
||||||
|
4. The *Tag provider* updates *eReuse.org Tag* with the ID of the
|
||||||
|
NFC by executing ``etag update-tags file.csv`` where *file.csv* is the
|
||||||
|
file sent by the *NFC tag manufacturer*.
|
||||||
|
5. The *Tag provider* orders 100 photochromic tags to the *Photochromic
|
||||||
|
tag manufacturer*. Note that these tags don't require any special
|
||||||
|
treatment.
|
||||||
|
6. The *Photochromic tag manufacturer* sends back 100 tags.
|
||||||
|
7. The *Tag provider* distributes the eTags (NFC and photochromic) to
|
||||||
|
several organizations, *users*, both physically by sending them and
|
||||||
|
virtually by executing ``etag set-tags http://some-devicehub.com
|
||||||
|
0 100``; this marks the tags in *eReuse.org Tag*
|
||||||
|
as *sent to some-devicehub.com* and creates the tags in that
|
||||||
|
Devicehub.
|
||||||
|
8. The *user* receives the tags, sticks them in their devices, and scans
|
||||||
|
the NFC or QR codes:
|
||||||
|
|
||||||
|
1. By using the `eReuse.org Android App <https://github.com/eReuse/eReuseAndroidApp>`_
|
||||||
|
the user can scan the QR code or the NFC of the eTag.
|
||||||
|
2. If the *user* is processing devices with the `eReuse.org
|
||||||
|
Workbench <https://github.com/ereuse/workbench>`_, Workbench
|
||||||
|
automatically attaches hardware information like serial numbers,
|
||||||
|
otherwise the *user* can add that information through the app.
|
||||||
|
3. These softwares communicate with the Devicehub of the user and
|
||||||
|
command the Devicehub to link the device with the tag.
|
||||||
|
4. The Devicehub of the user links the tag.
|
||||||
|
5. The Devicehub creates or updates a virtual entity in Everythng
|
||||||
|
containing the device and the tag.
|
||||||
|
6. If Devicehub or Everythng detect that the tag was linked they won't
|
||||||
|
allow this operation. Devicehub can only detect if the app is linked
|
||||||
|
by looking at its internal database. Everythng, as it contains all
|
||||||
|
device and tag information, validates that the tag is not linked
|
||||||
|
elsewhere.
|
||||||
|
|
Reference in a new issue