1. Case study EasyTask: Solution design

    Article: AN0001841Updated:

    When designing an application in ObjectGears we will start with a scheme of relations between classes (entity relationship diagram). Requirements on EasyTask model lead e.g. to this class scheme.


    Relations between classes will be ensured by columns of type Value from a referenced class. We choose this type of column also for column AssignedTo (OG user), that containg reference to ObjectGears user.

    First, we will create classes to which class Task will refer to. We define Description format for each class, that will be later on displayed in the references in the class Task. In case of class Project, this description will consist of project code and project name that will be separated by two spaces and a dash. Therefore we will set in the property Description format of the classProject following formula: {{column.code}} - {{column.name}}. In case of other classes the description will consist of a value from a single column. Therefore, we will set in the property Description format of this classes {{column.name}}.

    We want the project code to be a unique identifier and have it generated by the application in format PROJxxxx, where x is a numeric. Therefore we will user column Short text, check the option Enable sequences and in the property Sequence format set PROJ{#:0000}.

    After that we create class Task. ColumnDescription will be a Long text. We check option Mode of added comments at this column.

    The task will go through several possible states. The user can switch from one status to another. A typical status course is displayed in the following picture:


    In order the user can easily filter the records according to the various columns, we will use option Quick filter in the context menu of the detail of the class Task and check columns that shall be offered for filtering.


    Everytime a record is changed we want to send an email notification to the user that is stated in the column AssignedTo. This will be ensured by a rule fo the class Task After existing record change, that will perform action Send notification. Rule set up is shown in the following screen.

    In order that the notification is sent also at the initial record creation, we will set up another rule in the class with the type After new record save.

    The format of the email notification is defined in the object Notification of the model EasyTask. This notification is set up in the following way:

    We will also want to highlight the records according to the value in the column Status and highlight the records assigned to the current user. This will be ensured by rules Before existing record list display with action type Set formatting for particular situations. Example hereinafter shows a rule set up for highlighting tasks assigned to the logon user.