1. Case study Knowledge Base: Solution design

    Article: AN0001845Updated: 03.10.2018

    Based on the requirements we will design the class model (entity-relationship diagram), in which data will be stored.


    Relations between classes will be provided by columns of the type Value from a referenced class. The entity highlighted in red is the internal ObjectGears class Person, that contains ObjectGears users and can be referenced same like to user defined class. Hereinafter we will describe the main classes of the model KnowledgeBase. Article reader does not have a direct access on these classes. Their data are displayed to readers by means of page for search, displaying and article evalution. Article authors or Administrators of KnowledgeBase have read-only or read-write access on particular classes. Autoři článku a Administrátoři znalostní báze mají na jednotlivé třídy přístup na čtení nebo zápis. There are other classes in the model, that no of the mentioned role have to have access on. Their data modification could be necessary only in case when the logic of the KnowledgeBase functioning should be changed.


    The Administrator maintains the list of main topics of the KnowledgeBase with their description, list of authors and approver of the given topic in this class.

    Class Category

    The Administrator maintains the breakdown of the main topics into particular categories, into which articles are placed in this class.

    Class Security classification

    The Administrator maintains the list of security classifications with the list of readers, that can display them or with information that they are public (available to anybody).

    Class Article

    The Author of the article selects a topic from the list stored in the class Topic. After the selection values oc categories belonging to the given topic are updated. This behaviour can be ensured by setting up property Class for record restriction of the column Category in the class Article to the value Topic.

    Each article should have a unique number. We will set property Enable sequences to Yes and property Sequence format to KB{#:0000000} in the column Number.

    There will be approved values of name, text and security classification of an article in columns Name, Text and Security classification.

    There will be new, proposed values submitted by author for approvel in columns New_name, New_text and New_security_classification. Te author will be able to add a comment with a reason for sending a new article verion in the column New_version_comment.

    The average article rating will be saved in the column Rating.

    The date of the article new version approval will be saved in the column Update date.

    It will be possible to link the article to configuration items, which the article relates to, in the column Related_CI. We have to ask Owner of the model IT to enable class CI for referencing in model Knowledgebase and create column of the type n references to the class CI in the class Article.

    The Author will be able to modify columns New_name, New_text an New_security_classification and save the record repeatedly.

    We will create a Master-detail relation in the class displaying relation of the Article to particular Requests for article, in order authors can see, which requests were approved and which not.

    When the new version is complete, author will submit the article for approval by clicking on the button Submit for approvel. After clicking the button script will run and find out if there is request to this article, that was not approved so far. If so, the system will reject the request due to previous request that was not approved or rejected so far. Button Article deletion works in similar way. Autor can also cancel previous request by clicking on button Cancellation of the last request.

    Apart from hypertext links included in the text of the article, article can also refer to another articles in column Related articles (reference to n records). It is possible to attach files to the article in the column Files (this column has type file).

    Class Article request

    There are requests for new articles, their update or deletion stored in this class.

    After record creation in this class workflow is automatically started. Requirements concerning approval process will be provided by means of workflow.

    Class Workflow tasks

    Tasks assigned within workflow will be stored in the class Workflow task, in which we create apart from standard columns Task_assigned_to, Task_done a Task_deadline column referring to the record in the class Article request, column for approver comment and column, in which the approver will select value Approved or Rejected.

    We create a Master-detail relation displaying relation of the Task to the Article request in this class, in order the approvers have information about what they approve.

    Class Rating

    Webpart Rating stores information about rating of the given article by the given users with the given value in this class.