Difference between revisions of "HowTo:Design a Customizing"
(→Data Model) |
|||
Line 28: | Line 28: | ||
= Data Model = | = Data Model = | ||
− | A good way to design a data model is to create an | + | A good way to design a data model is to create an [https://de.wikipedia.org/wiki/Entity-Relationship-Modell Entity-Relationship Diagram]. It is recommended to do so in the scope of a Technical Design (see [[HowTo:Design_a_Customizing#Requirement%20Supply%20Chain|Requirement Supply Chain]]). |
== Object-oriented and relational == | == Object-oriented and relational == | ||
Line 34: | Line 34: | ||
One can use relations and references to create n:m and 1:n connections and dependencies between such entities (e.g., the relationships between invoices, invoice items and products). | One can use relations and references to create n:m and 1:n connections and dependencies between such entities (e.g., the relationships between invoices, invoice items and products). | ||
Properties with different data types can be modeled for every entity, and one such MetaClass can inherit the properties from another (e.g., there could be a MetaClass "SAFETY_INSTRUCTIONS" inheriting the "Filepath" property from a "DOCUMENT" MetaClass). | Properties with different data types can be modeled for every entity, and one such MetaClass can inherit the properties from another (e.g., there could be a MetaClass "SAFETY_INSTRUCTIONS" inheriting the "Filepath" property from a "DOCUMENT" MetaClass). | ||
− | An important aspect in data modelling, especially for the representation in relational databases, is [https://en.wikipedia.org/wiki/Database_normalization | + | An important aspect in data modelling, especially for the representation in relational databases, is [https://en.wikipedia.org/wiki/Database_normalization normalization]. |
== Basic data model == | == Basic data model == | ||
Line 41: | Line 41: | ||
In contrast, a common mistake is to start designing the data model according to the workflow one is trying to customize. There are the following problems with that: | In contrast, a common mistake is to start designing the data model according to the workflow one is trying to customize. There are the following problems with that: | ||
− | * The data is not [https://en.wikipedia.org/wiki/Database_normalization | + | * The data is not [https://en.wikipedia.org/wiki/Database_normalization normalized] correctly, because properties are not assigned to the "true" entity in the customer's process. |
* As a consequence, there is redundancy in the data and the data model is inconsistent with reality, leading to conceptual problems when using the data later. | * As a consequence, there is redundancy in the data and the data model is inconsistent with reality, leading to conceptual problems when using the data later. | ||
Line 56: | Line 56: | ||
Also, {{UBIK}} comes with a lot of features one can apply to influence the behavior of (data on) the mobile client, ranging from inter-dependent tasks and work-packages to dynamic selective lists. | Also, {{UBIK}} comes with a lot of features one can apply to influence the behavior of (data on) the mobile client, ranging from inter-dependent tasks and work-packages to dynamic selective lists. | ||
− | |||
− | |||
− | |||
− | |||
= Algorithm = | = Algorithm = |
Revision as of 11:16, 26 July 2023
Customizing UBIK® is a complex endeavor. In this article, we aim to provide a guide and best practices making this task as straight-forward as possible.