mirror of
https://github.com/kevinveenbirkenbach/infinito.git
synced 2025-01-09 14:07:25 +01:00
Updated requirements
This commit is contained in:
parent
287d60000e
commit
bf32608956
@ -4,6 +4,8 @@ interpreted as described in [RFC 2119](https://tools.ietf.org/html/rfc2119).
|
|||||||
|
|
||||||
"entity" or "entities" are to be interpreted as [Doctrine Objects](https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/working-with-objects.html).
|
"entity" or "entities" are to be interpreted as [Doctrine Objects](https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/working-with-objects.html).
|
||||||
|
|
||||||
|
**Bold** words define a unique type.
|
||||||
|
|
||||||
# requiremts
|
# requiremts
|
||||||
|
|
||||||
## interfaces
|
## interfaces
|
||||||
@ -22,63 +24,80 @@ The application MUST provide the following functions:
|
|||||||
* login
|
* login
|
||||||
* logout
|
* logout
|
||||||
|
|
||||||
A user MUST have one node.
|
A **user** MUST have one **node**.
|
||||||
|
|
||||||
A user MUST be a source.
|
A **user** MUST be a **source**.
|
||||||
|
|
||||||
### law
|
### law
|
||||||
A law MUST belong exclusive to a node.
|
A **law** MUST belong exclusive to a **node**.
|
||||||
|
|
||||||
A law MUST contain one of each of right types one time.
|
A **law** MUST contain one of each of **right** types one time.
|
||||||
|
|
||||||
#### right
|
#### right
|
||||||
A right MUST NOT be a source.
|
A **right** MUST NOT be a **source**.
|
||||||
|
|
||||||
A right MUST belong to a law.
|
A **right** MUST belong to a **law**.
|
||||||
|
|
||||||
A right MUST be of one of the following types:
|
A **right** MUST be of one of the following types:
|
||||||
* read
|
* read
|
||||||
* write
|
* write
|
||||||
* administrate
|
* administrate
|
||||||
|
|
||||||
#### permission
|
#### permission
|
||||||
A permission MAY have a father from which it inherit.
|
A **permission** MAY have a father from which it inherit.
|
||||||
|
|
||||||
A permission MUST belong to a right.
|
A **permission** MUST belong to a **right**.
|
||||||
|
|
||||||
A permission MUST allow blacklisting.
|
A **permission** MUST allow blacklisting.
|
||||||
|
|
||||||
A permission MUST allow whitelisting.
|
A **permission** MUST allow whitelisting.
|
||||||
|
|
||||||
A permission MUST allow that it applies to child of collection.
|
A **permission** MUST allow that it applies to the parent **relative collection** s of the rule set.
|
||||||
|
|
||||||
A permission MUST allow that it applies to the parents of the collection.
|
A **permission** MUST allow that it applies to the child **relative collection** s of the rule set.
|
||||||
|
|
||||||
A permission MUST contain a collection on which the rule set applies.
|
A **permission** MUST contain a **collection** on which the rule set applies.
|
||||||
|
|
||||||
### node
|
### node
|
||||||
A node MUST have one source.
|
A **node** MUST have one **source**.
|
||||||
|
|
||||||
A node MAY contain a parents collection.
|
A **node** MUST contain a parent **relative collection**.
|
||||||
|
|
||||||
A node MAY contain a children collection.
|
A **node** MUST contain a children **relative collection**.
|
||||||
|
|
||||||
A node MAY be a member of a collection entity.
|
A **node** MAY be a member of one or more **relative collection** s.
|
||||||
|
|
||||||
A node MUST have a law.
|
A **node** MAY be a member of one or more **collection** entity.
|
||||||
|
|
||||||
A node MUST have a history.
|
|
||||||
|
A **node** MUST have a **law**.
|
||||||
|
|
||||||
|
A **node** MUST have a **history**.
|
||||||
|
|
||||||
|
#### relative collection
|
||||||
|
|
||||||
|
A **relative collection** MUST belong to a **node**.
|
||||||
|
|
||||||
|
A **relative collection** MUST contain **node** s.
|
||||||
|
|
||||||
|
A **relative collection** MUST provide the following functions:
|
||||||
|
* get all relatives
|
||||||
|
* get specific relative
|
||||||
|
* get relatives
|
||||||
|
* get relatives of generation
|
||||||
|
|
||||||
### source
|
### source
|
||||||
A source MUST have one node.
|
A **source** MUST have one node.
|
||||||
|
|
||||||
A source MUST be an entity.
|
A **source** MUST be an entity.
|
||||||
|
|
||||||
|
A **source** MUST contain a file fabric.
|
||||||
|
|
||||||
#### entities
|
#### entities
|
||||||
Sources MUST be on of the following entities:
|
Sources MUST be on of the following entities:
|
||||||
|
|
||||||
entity|attributes
|
entity|attributes
|
||||||
--- | ---
|
--- | ---
|
||||||
user|username,password,identity
|
user|username,password,identity
|
||||||
identity|names,addresses
|
identity|names,addresses
|
||||||
address|
|
address|
|
||||||
@ -90,11 +109,10 @@ text|text(varchar)
|
|||||||
collection|nodes
|
collection|nodes
|
||||||
live|birthday,death
|
live|birthday,death
|
||||||
|
|
||||||
A source MUST have a file fabric.
|
#### file
|
||||||
|
|
||||||
#### files
|
A **file** MUST be on of the following types:
|
||||||
|
|
||||||
Sources MUST be on of the following files:
|
|
||||||
* HTML
|
* HTML
|
||||||
* JSON
|
* JSON
|
||||||
* XML
|
* XML
|
||||||
@ -102,18 +120,18 @@ Sources MUST be on of the following files:
|
|||||||
* CSV
|
* CSV
|
||||||
* JPG
|
* JPG
|
||||||
|
|
||||||
It SHOULD be possible to export a file to one or more other files.
|
It SHOULD be possible to export a **file** to one or more other **file** s.
|
||||||
|
|
||||||
It MUST be possible to edit a file.
|
It MUST be possible to edit a **file**.
|
||||||
|
|
||||||
IT MUST be possible to save a file.
|
IT MUST be possible to save a **file**.
|
||||||
|
|
||||||
#### collection
|
#### collection
|
||||||
A source MAY contain other nodes.
|
A **source** MAY contain other **nodes**.
|
||||||
|
|
||||||
### history
|
### history
|
||||||
A history MUST log all of the actions which happen to a node.
|
A **history** MUST log all of the actions which happen to a **node**.
|
||||||
|
|
||||||
A history MUST exclusive belong to a node.
|
A **history** MUST exclusive belong to a **node**.
|
||||||
|
|
||||||
A history MUST allow to give the state of a node to a special date back.
|
A **history** MUST allow to give the state of a **node** of a special date back.
|
||||||
|
Loading…
Reference in New Issue
Block a user