mirror of
				https://github.com/kevinveenbirkenbach/infinito.git
				synced 2025-10-31 01:09:41 +00:00 
			
		
		
		
	Updated requirements
This commit is contained in:
		| @@ -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). | ||||
|  | ||||
| **Bold** words define a unique type. | ||||
|  | ||||
| # requiremts | ||||
|  | ||||
| ## interfaces | ||||
| @@ -22,63 +24,80 @@ The application MUST provide the following functions: | ||||
| * login | ||||
| * 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 | ||||
| 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 | ||||
| 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 | ||||
| * write | ||||
| * administrate | ||||
|  | ||||
| #### 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 | ||||
| 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 | ||||
| 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 | ||||
| Sources MUST be on of the following entities: | ||||
|  | ||||
| entity|attributes | ||||
| --- | ---  | ||||
| --- | --- | ||||
| user|username,password,identity | ||||
| identity|names,addresses | ||||
| address| | ||||
| @@ -90,11 +109,10 @@ text|text(varchar) | ||||
| collection|nodes | ||||
| 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 | ||||
| * JSON | ||||
| * XML | ||||
| @@ -102,18 +120,18 @@ Sources MUST be on of the following files: | ||||
| * CSV | ||||
| * 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 | ||||
| A source MAY contain other nodes. | ||||
| A **source** MAY contain other **nodes**. | ||||
|  | ||||
| ### 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. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user