Documaster model closely follows the Noark5 stadnard. As in the Noark5 definition, at the very top of the entities objects structure are the Fonds (Arkiv
).
As depicted on the diagram below, a Fonds (Arkiv
) should have at least one Fonds Creator (Arkivskaper
) and can have zero or many (0..*) linked Series (Arkivdel
). Relations between entities can be referenced by two different names depending on the entity which is using the link. As in the example below, Fonds (Arkiv
) link to Series (Arkivdel
), when referenced from the Fonds is accessed by the reference name refArkivdel
. When the same link is refferred to from the Series (Arkivde
) it is accesed by the reference name refArkiv
. All reference names start with the ref
prefix.
Each relation also has cardinality depicted on the diagrams, which indicates whether the relation is one-to-one, one-to-many or many-to-many.
Keeping data in consistent state, requires fine grained control over core entities creation and modification. Documaster Noark5 API v1 uses a single operation POST /noark5/v1/transaction
to execute a sequencial series of actions towards the Noark5 structure in order to modify it. Transaction is considered successfully completed only when all the actions part of it are executed without an error. An error in any of the actions would result in rollback of the whole transaction, which means the data will remain the the state before the transaction.
Looking for entity objects in Documaster Archive is done using POST /noark5/v1/query
operation. It allows retrieving one or more entitie object of the same type (or the same base type) using a comprehensive query language, that allows following relations between entities deep in the structure.
Documaster Archive provides two opeations for managing electronic docments:
POST /noark5/v1/upload
GET /noark5/v1/download
Document metadata cannot be added to Documaster Archive before the electronic version of the document is uploaded (excluding use cases where real documents are not electronic).
Any other model data, that is not part of the core set of entities, in Documaster Noark5 API is managed through a separate set of API operations.
POST /noark5/v1/transaction
API (reffered in the documentation as transacton
)POST /noark5/v1/query
API (reffered in the documentation as query
)Relations between entities are used for two purposes:
link entities to each other (using POST /noark/v1/transaction
operation, transaction::link
action)
query linked entities (using POST /noark/v1/query
operation)
While the Documaster implementation is flexible in regards of how references are used, as a general rule, when two objects are linked using POST /noark5/v1/transaction
operation, the child entity (the one lower in the Noark5 structure), should reference an entity object up the structure. Querying the structure can be done using any references suitable.
Now that all required details for the authentication, model and operations are covered, the next step would be making a couple of queries against the API.
First API Interaction