Difference between revisions of "Mapping Rules"
Jump to navigation
Jump to search
Tim Holzheim (talk | contribs) |
Musaab Khan (talk | contribs) |
||
(16 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | =Introduction= | |
Certain aspects of the software can be systematically implemented. If it is worth wile to work systematically then some rules should be applied. Otherwise ad-hoc decisions are possible which shall be documented in place. e.g the Source Code | Certain aspects of the software can be systematically implemented. If it is worth wile to work systematically then some rules should be applied. Otherwise ad-hoc decisions are possible which shall be documented in place. e.g the Source Code | ||
− | + | ||
+ | |||
+ | = Rules = | ||
<b> Each rule boils down to the decision taken for the systematic working of things. </b> | <b> Each rule boils down to the decision taken for the systematic working of things. </b> | ||
Line 17: | Line 19: | ||
== List of == | == List of == | ||
− | + | #Input form to allow adding new entities | |
− | + | #Number of entities should be shown. Can be queried with parameter '''|format=count''' | |
− | + | #List of all (query limit can be applied) instances of this entity | |
− | * | + | ##List should contain all properties of the entity (sorted by index/sortPos) |
− | [https://or.bitplan.com/index.php/ | + | #Show one rendered entity instance (should be hide-able) |
+ | # Must contain everything that the entity is involved in. | ||
+ | ===Examples=== | ||
+ | * [https://or.bitplan.com/index.php/List_of_Cities Example for List of] | ||
+ | * [https://or.bitplan.com/index.php/SiDIFTemplates#listof SiDIF template for List of] | ||
== Concept == | == Concept == | ||
− | + | # A table containing important information about the structure of the entity. | |
+ | # List of all properties of this entity. | ||
+ | # Optional: | ||
+ | ##Documentation of the entity if available | ||
+ | ## A section showing a uml diagram with the description of the entity, its attributes and links to other entities (but no details for those) | ||
+ | ## Class diagram of the entity containig all primitive properties | ||
+ | ## Properties with type Page are shown as edges | ||
+ | ### outgoing edges for properties that link from this entity to another one | ||
+ | ### incoming edges for properties that link another entity to this entity | ||
+ | ### edges should show the cardinality (can be derived from Property:inputType) | ||
+ | ### edges should have the property name as label | ||
+ | # List of all technical pages of this entity | ||
== Help == | == Help == | ||
=== Rules === | === Rules === | ||
Line 31: | Line 48: | ||
# A documentation section showing the wiki documentation of the entity description(Topic) | # A documentation section showing the wiki documentation of the entity description(Topic) | ||
# A section with up to 7 links for example instances for the entity | # A section with up to 7 links for example instances for the entity | ||
− | # A section showing a table of all properties for the entity | + | # A section showing a table of all properties for the entity. More explicit description of properties and support of multiple languages. |
# Optional: A section showing a uml diagram with the description of the entity, its attributes and links to other entities (but no details for those) | # Optional: A section showing a uml diagram with the description of the entity, its attributes and links to other entities (but no details for those) | ||
+ | ##Class diagram of the entity containig all primitive properties | ||
+ | ##Properties with type Page are shown as edges | ||
+ | ###outgoing edges for properties that link from this entity to another one | ||
+ | ###incoming edges for properties that link another entity to this entity | ||
+ | ###edges should show the cardinality (can be derived from Property:inputType) | ||
+ | ###edges should have the property name as label | ||
+ | ##Other entities should not include there properties | ||
# A list of links to the other technical SMW elements relevant for the entity | # A list of links to the other technical SMW elements relevant for the entity | ||
+ | |||
=== Links === | === Links === | ||
* [https://or.bitplan.com/index.php/SiDIFTemplates#help SiDIF template for help] | * [https://or.bitplan.com/index.php/SiDIFTemplates#help SiDIF template for help] | ||
* [https://or.bitplan.com/index.php/Help:City Example for help] | * [https://or.bitplan.com/index.php/Help:City Example for help] | ||
[[File:Help-Example.png|400px|link=https://or.bitplan.com/index.php/Help:City]] | [[File:Help-Example.png|400px|link=https://or.bitplan.com/index.php/Help:City]] | ||
+ | |||
+ | ===UML Example=== | ||
+ | [[File:event_uml.png|400px]] | ||
== Category == | == Category == | ||
+ | ===Rules=== | ||
+ | #Description on how to enter new instances of this entity | ||
+ | # Link to the Concept of the entity for further information | ||
* Category should list down all the pages in the entity involved. Each page marked with a Category tag of the entity will be available to view at the Category:Entity page. | * Category should list down all the pages in the entity involved. Each page marked with a Category tag of the entity will be available to view at the Category:Entity page. | ||
+ | |||
+ | ===Example=== | ||
* [https://or.bitplan.com/index.php/Category:City Example for help] | * [https://or.bitplan.com/index.php/Category:City Example for help] | ||
Line 47: | Line 80: | ||
May apply rules on when to show certain content based on the properties of the entity. | May apply rules on when to show certain content based on the properties of the entity. | ||
If the form is strict the Template limits the set of properties that are stored on creation with the from. | If the form is strict the Template limits the set of properties that are stored on creation with the from. | ||
+ | ===Rules=== | ||
+ | *noinclude part | ||
+ | **Example usage of the template | ||
+ | *Includeonly part | ||
+ | **Displaying of the information based on the properties of the entity | ||
+ | |||
See https://or.bitplan.com/index.php/Template:City | See https://or.bitplan.com/index.php/Template:City | ||
[[File:Screenshot_2021-03-22 Template City - or.png|400px]] | [[File:Screenshot_2021-03-22 Template City - or.png|400px]] | ||
− | == Form == | + | == Form == |
+ | ===Rules=== | ||
+ | *noinclude part | ||
+ | **Description | ||
+ | **Inputfield to create/edit new entity | ||
+ | **Link to the help page of the entity | ||
+ | *includeonly part | ||
+ | **Input field for all properties of the entity | ||
== Properties == | == Properties == | ||
+ | * Structure of property shown to the user | ||
+ | * A short description of what the property holds and its type. | ||
+ | * A list of pages that use that property | ||
+ | |||
+ | = Validation = | ||
+ | |||
+ | * validation approaches: | ||
+ | ** Manual check by comparing pages created with the rules and marking the rules with {{Done}} | ||
+ | ** Dynamic at runtime e.g using redlinks in the form showing that a property does not exist | ||
+ | ** Test pages and testcode with query which will check if there are some properties that are not used in a form. |
Latest revision as of 01:26, 24 March 2021
Introduction
Certain aspects of the software can be systematically implemented. If it is worth wile to work systematically then some rules should be applied. Otherwise ad-hoc decisions are possible which shall be documented in place. e.g the Source Code
Rules
Each rule boils down to the decision taken for the systematic working of things.
- For each entity type there is a form with the same name. e.g Entity Event has Form:Event.
- Each Entity needs to have 7 technical SMW pages:
- List of
- Help
- Concept
- Category
- Template
- Form
- Properties(1 page per property)
List of
- Input form to allow adding new entities
- Number of entities should be shown. Can be queried with parameter |format=count
- List of all (query limit can be applied) instances of this entity
- List should contain all properties of the entity (sorted by index/sortPos)
- Show one rendered entity instance (should be hide-able)
- Must contain everything that the entity is involved in.
Examples
Concept
- A table containing important information about the structure of the entity.
- List of all properties of this entity.
- Optional:
- Documentation of the entity if available
- A section showing a uml diagram with the description of the entity, its attributes and links to other entities (but no details for those)
- Class diagram of the entity containig all primitive properties
- Properties with type Page are shown as edges
- outgoing edges for properties that link from this entity to another one
- incoming edges for properties that link another entity to this entity
- edges should show the cardinality (can be derived from Property:inputType)
- edges should have the property name as label
- List of all technical pages of this entity
Help
Rules
A help page consist of the following sections:
- A header showing Icon, Link to the Entity description Topic), name of the entity, plural name of the entity and the plain text documentation
- A documentation section showing the wiki documentation of the entity description(Topic)
- A section with up to 7 links for example instances for the entity
- A section showing a table of all properties for the entity. More explicit description of properties and support of multiple languages.
- Optional: A section showing a uml diagram with the description of the entity, its attributes and links to other entities (but no details for those)
- Class diagram of the entity containig all primitive properties
- Properties with type Page are shown as edges
- outgoing edges for properties that link from this entity to another one
- incoming edges for properties that link another entity to this entity
- edges should show the cardinality (can be derived from Property:inputType)
- edges should have the property name as label
- Other entities should not include there properties
- A list of links to the other technical SMW elements relevant for the entity
Links
UML Example
Category
Rules
- Description on how to enter new instances of this entity
- Link to the Concept of the entity for further information
- Category should list down all the pages in the entity involved. Each page marked with a Category tag of the entity will be available to view at the Category:Entity page.
Example
Template
Display the properties of the Entity in a structured way. May apply rules on when to show certain content based on the properties of the entity. If the form is strict the Template limits the set of properties that are stored on creation with the from.
Rules
- noinclude part
- Example usage of the template
- Includeonly part
- Displaying of the information based on the properties of the entity
See https://or.bitplan.com/index.php/Template:City
Form
Rules
- noinclude part
- Description
- Inputfield to create/edit new entity
- Link to the help page of the entity
- includeonly part
- Input field for all properties of the entity
Properties
- Structure of property shown to the user
- A short description of what the property holds and its type.
- A list of pages that use that property
Validation
- validation approaches:
- Manual check by comparing pages created with the rules and marking the rules with ✓
- Dynamic at runtime e.g using redlinks in the form showing that a property does not exist
- Test pages and testcode with query which will check if there are some properties that are not used in a form.