- Notifications
You must be signed in to change notification settings - Fork0
Tridoc Serverside Infrastructure
License
tridoc/tridoc-backend
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Server-side infrastructure for tridoc: easy document management for individuals and small teams.
This will setup tridoc on port 8000 and fuseki avaliable on port 8001.Make sure you havedocker-compose
installed.
ReplaceYOUR PASSWORD HERE
in the first command with your choice of password.
Unix/Linux/wsl:
export TRIDOC_PWD="YOUR PASSWORD HERE"docker-compose builddocker-compose up
On windows, relpace the first line with:
$env:TRIDOC_PWD="YOUR PASSWORD HERE"
For more Setup options see theDEV-README.md
There are two types of tags: simple tags and parameterizable tags. Parameterizable tags need a parameter to become a parameterized tag wich can be added to a document.
Simple tags can be created byPOST
to/tag
. You need to send an JSON object like this:
{"label":"Inbox"}
Note:
label
must be unique.
The label must not contain any of the following: whitespace,
/
,\
,#
,"
,'
,,
,;
,:
,?
;
The label must not equal.
(single dot) or..
(double dot).
Tags can be added to a document byPOST
to/doc/{id}/tag
. You need to send an JSON object like the one above.
Tags must be created before adding them to a document.
Parameterizable tags can be created byPOST
to/tag
too. You need to send an JSON object like this:
{"label":"Amount","parameter": {"type":"http://www.w3.org/2001/XMLSchema#decimal" }}
Again,
label
must be unique.parameter.type
can either behttp://www.w3.org/2001/XMLSchema#decimal orhttp://www.w3.org/2001/XMLSchema#date .
Parameterizable tags can only be added to a document with a value assigned. ByPOST
ing a JSON object like the following to/doc/{id}/tag
, a parameterized tag is created and added to the document.
{"label":"Amount","parameter": {"type":"http://www.w3.org/2001/XMLSchema#decimal","value":"12.50" }}
A parameterizable tag with this
label
andparameter.type
has to be created before.
Tags can be added to a document byPOST
to/doc/{id}/comment
You can either send an JSON document like the following
{"text":"This is a comment"}
When getting a comment, a JSON array with objects of the following structure is provided:
{"text":"This is a comment","created":"2020-03-12T10:07:20.493Z"}
Address | Method | Description | Request / Payload | Response | Implemented in Version |
---|---|---|---|---|---|
/count | GET | Count (matching) documents | 13 | Number | 1.1.0 |
/doc | POST | Add / Store Document | PDF5 | - | 1.1.0 |
/doc | GET | Get List of all (matching) documents | 123 | Array of objects with document identifiers and titles (where available) | 1.1.0 |
/doc/{id} | GET | Get this document | - | 1.1.0 | |
/doc/{id} | DELETE | Deletes all metadata associated with the document. Document will not be deleted and is stays accessible over /doc/{id}. | - | - | 1.1.0 |
/doc/{id}/comment | POST | Add comment to document | Comment object / See above | - | 1.2.0 |
/doc/{id}/comment | GET | Get comments | - | Array of comment objects | 1.2.0 |
/doc/{id}/tag | POST | Add a tag to document | Tag object / See above | - | 1.1.0 |
/doc/{id}/tag | GET | Get tags of document | - | Array of tag objects | 1.1.0 |
/doc/{id}/tag/{tagLabel} | DELETE | Remove tag from document | - | - | 1.1.0 |
/doc/{id}/thumb | GET | Get document thumbnail | - | PNG (300px wide) | 1.5.0 |
/doc/{id}/title | PUT | Set document title | {"title": "the_Title"} | - | 1.1.0 |
/doc/{id}/title | GET | Get document title | - | {"title": "the_Title"} | 1.1.0 |
/doc/{id}/title | DELETE | Reset document title | - | - | 1.1.0 |
/doc/{id}/meta | GET | Get various metadata | - | {"title": "the_Title", "tags":[...], "comments": [...] ... } | 1.1.0 | .comments & .created in 1.2.1 |
/raw/rdf | GET | Get all metadata as RDF. Useful for Backups | 4 | RDF, Content-Type defined over request Headers or ?accept. Fallback to text/turtle. | 1.1.0 |
/raw/zip or/raw/tgz | GET | Get all data. Useful for backups | - | ZIP / TGZ containing blobs/ directory with all pdfs as stored within tridoc and a rdf.ttl file with all metadata. | 1.3.0 |
/raw/zip | PUT | Replace all data with backup zip | ZIP | Replaces the metadata and adds the blobs from the zip | 1.3.0 |
/tag | POST | Create new tag | See above | - | 1.1.0 |
/tag | GET | Get (list of) all tags | - | - | 1.1.0 |
/tag/{tagLabel} | GET | Get Documents with this tag. Same as/doc?tag={tagLabel} | 12 | Array of objects with document identifiers and titles (where available) | 1.1.0 |
/tag/{tagLabel} | DELETE | Delete this tag | - | - | 1.1.0 |
/version | GET | Get tridoc version | - | semver version number | 1.1.0 |
1 : ?text
2 : ?limit and ?offset
3 : ?tag and ?nottag
Since 1.4.4, filtering for Tag Ranges is possible with the following syntax:…={label};{min};{max}
.min
ormax
may be ommitted for unbounded search. Trailing semocolons may be omitted.Example:
…?tag=foo;;30&tag=bar;2020-01-01;2020-12-31
gives all that have tag foo with a value <= 30, and bar values within 2020.
Be aware that this may need replacing of the caracter
;
by%3B
.
4 : ?accept
5 : ?date followed by an ISO 8601 date string including time and timezone, seconds optional, sets creation date
Deleting / editing comments might be supported in the future
About
Tridoc Serverside Infrastructure
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.