Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

Version 1 Current »

Difficulty: novice

Content

Learning Objectives

After reading this article you will be able to:

  • Create a new category.

  • Create a client-specific field.


Have you read: What is a category?? The article below repeats some of the information from that article and goes into further depth.

What are categories?

Categories constitute a powerful mechanism to customize Workplace. This customization acts at the object level. The category in which an instance (for example a reservation) is created determines a variety of things, such as:

  1. What workflow (version) is used;

  2. Page layout (fields, order, etc.) of the instance page;

  3. Applicable template;

  4. Access to the object;

 Example of category usage

Take for example the Asset object. It models an asset. The word asset is very generic, it is defined as a thing or an item that represents a certain value. The Asset object has fields that represent the name or description of the asset, the supplier, the article number, the purchase price, the purchase date, and many more. These are all generic characteristics that apply to all assets.

But assets can vary a lot. For example, cars, mobile telephones, computer hardware, desks, keys and machines can all be assets. And they all share the generic characteristics mentioned before, such as a supplier, a purchase price, etc. But they also have characteristics that are specific to each asset. For example, a car has a license plate, which is a characteristic that you may want to store in Workplace. A mobile telephone does not have a license plate, but it has other characteristics that are unique to it, such as the telephone number.

Categories are used to create assets (and other objects) with specific characteristics.

Create and manage categories

Categories are created on an object. To view the categories that are available on an object: press the ‘Objects’ button on your startBoard > search for and open an object > press on the Category folder ((blue star)).

  • Not all objects have the option to create categories.

  • You cannot edit/ change settings on baseline categories.

  • Baseline categories are grey, client specific categories are colored.

Create a new (sub)category

To create a new category:

  1. Click the ‘Objects’ button on your startBoard;

  2. Search for and open the object to which you want to add the category;

  3. Press on the Category folder icon ((blue star)) ;

    1. Note: as an alternative it is possible for some objects to navigate to the category folder icon via the respective menu option. For example: navigate to the menu option REQUESTS > Request

  4. Determine hierarchical level;

    1. Select “Default” (Grey rectangle around the text) to create the category at the highest level.

    2. When you want to create a sub-category, make sure to select the category under which the new category needs to be created

  5. Press the folder icon on the top right ((blue star));

  6. Press Create category.

Edit an existing category

To edit a category:

  1. Click the ‘Objects’ button on your startBoard;

  2. Search for and open the object to which you want to add the category;

  3. Press on the Category folder icon ((blue star));

    1. Note: as an alternative it is possible for some objects to navigate to the category folder icon via the respective menu option. For example: navigate to the menu option REQUESTS > Request.

  4. Select the desired main (or sub-) category;

  5. Press the folder icon on the top right ((blue star));

  6. Edit category.

Settings on a category

 The table below discusses the settings available on a category.

Settings

Name

Name of the category. Text or a translation string can be used.

Client

Shows the name of the environment. Non-editable field.

Folder type

The folder type is purely informative. It is not possible to select another category.

Reference

Unique reference generated for this category. It is possible to adjust the reference, however be aware that this can have consequences if the original reference is used in a script.

Description

Enter a description. When creating a new object, and more than one category is available for the creator, the name and description of the category are shown to the user.

Parent

You can change the hierarchy of the category by selecting a different parent category.

Workflow

Categories link objects and workflows together. When a workflow is defined, it is possible to start a specific workflow when an object of this category is created.

Workflow version

By default (so when this setting is empty) the current version of the workflow is used, but here you can select a specific version of the workflow to be used for this category.

Page

It is possible to select a page that will be shown when an object of this category is opened. If no page is selected, a page from the parent category will be selected. If there is no page specified on the parent category, a default page is determined by the code.

Embedded page

When an object is created in this category, via an embed page, a different page can be used. this could be a simplified version of the page that is normally used.

Template

If a template is defined, a copy of this template will be generated every time a new object in this category is created. The category may contain default field settings for objects of this category.

Notification message

An email is sent to the requestor of a reservation when an update occurs due to Exchange events (Appointment time frame changed, or room changed). The email template can be configured in the category (Folder.notificationMessageId field) of the reservation.

Region

Selecting a region here ensures that only users with access to that region can create and view objects of this category.

Type

You can specify that a category is only applicable for a particular type, such as ‘incoming invoice’ or ‘outgoing purchase order’. When the user selects the function ‘Create incoming invoice’ (where the same ‘Type’ is set), only categories of this specific type are shown.

Context

This setting specifies where the category can be used. in context of the selected context. If no context is selected, the category can be used in all contexts.

Only in context

This setting works in conjunction with the “Context” setting. When this setting is set to “yes”, the category will only be able to be used in context of the selected context. When this setting is set to “no” the category can be used when there is no context.

Translate

This setting determines if the name of the category or folder should be translated.

Show on folder view overrides

You can specify if a user can select this category when creating an object, if the access permission on this folder (= category) is set to ‘view’. So, when set to ‘no’, a user with view permission to the category cannot create an object in this category.

Show on object view overrides

You can specify if a user can select this category when creating an object, if the access permission on this object is set to ‘view’. So, when set to ‘no’, a user with view permission to the object cannot create an object in this category.

Show path

This setting specifies whether the full path to a folder is shown in its instance display if the folder is a sub-folder of another folder.

Show folder

When set to ‘no’ this category does not show up in the list of categories when creating a new instance for an object.

Search screen

Note: Only supported in the original interface. In case there are many objects in a folder, a search screen can be shown instead of a list of objects.

Access rights on categories

To change access on category level follow the steps described above in the “Edit an existing category” section. It is now not possible to specify the access rights on categories on two levels:

  • Access to the folder (= category). Determines if a user has access to the category. Practically this determines if a user is allowed to: 1) create an object of this category and 2) is able to select this category on for example filter pages. The folder access can be found via the folder icon (top right corner).

    • With ‘full' access user are allowed to create objects of this category;

    • With ‘view' access it depends on the category setting: ‘Show on folder view overrides’ and 'Show on object view overrides’, if a user is allow to create objects of this category;

    • With access ‘none’, users cannot create objects of this category.

Tip: if no user is allowed to create the object, it is easier to change the category setting ‘Show folder = no’.

  • Access to the objects inside the folder (= category). Determines the access to objects of this category that have already been created. These access rights can be found using the lock icon (top right corner).

    • With ‘full’ the user is allow to edit the object . Note: access rights might still be still restricted due to workflow, script, field settings, etc.)

    • With ‘view’ rights the user can view objects in this folder. Note: these access settings overrule the access grated by workflow tasks.

    • With access ‘none’, the users cannot view objects created in this category

 Example: set access for assets of the category 'Car'.

If you want users to be able to see all assets of the category cars, but you do not want them to be able to create new assets of the category cars, you can implement the following:

  • Access to folder: set access to ‘none’;

  • Access to objects inside the folder: set to ‘view’ (set to ‘full’ if you want users the be able to edit existing cars).

Create a client-specific field

There are a lot of default available fields for every object in Workplace. To learn more about fields, see the article about /wiki/spaces/KB/pages/79790133. In some cases, however, a client-specific field has to be created.

  • It is only possible to create client-specific fields on objects that have categories.

  • Think twice before creating client-specific fields; they have a negative impact on performance.

To create a new client-specific field:

  1. Click the ‘Objects’ button on your startBoard;

  2. Search for and open the object to which you want to add the field;

  3. Press on the Category folder icon ((blue star));

    1. Note: as an alternative it is possible for some objects to navigate to the category folder icon via the respective menu option. For example: navigate to the menu option REQUESTS > Request.

  4. Select the desired main (or sub-) category;

  5. press ‘New. The field is now created.

  6. Name the new field by using the plus sign next to the setting “Field” (you might first need to press the ‘>' before you see the '+’ symbol)

    1. Leave the name of the environment and the “-” sign (you can delete the auto-generated number)

    2. Add the new name of the field after the “-” sign. These rules apply:

      1. Use capital letter after the “-” sign (e.g. fmb-Testfield).

      2. Fields referring to other objects must end with the name of the object followed by “Id” (e.g. fmb-TestPropertyId)

      3. Date and time fields must end with “Date” or “Time” (e.g. fmb-newStartDate)

      4. Enumeration fields must end with “Code”

      5. CodeType fields must end with “CodeTypeId”

  7. These are a lot of setting available for client-specific fields, most of which you don’t need. Make sure at least to following settings are set: Field, Display type, Label, and Description.

If the client-specific field should also be available for all instance (e.g. all reservations of assets) that already exist, also execute the following step to create attributes in the database. Assuming you are still on the newly created field you can:

  1. Navigate to the update button (blue star) (top right);

  2. Optional: use the filtering if you do not want to generate the field for all existing objects ;

  3. Press ‘Search’;

  4. A preview of the number of objects that will be updated is shown > press ‘Ok’' to confirm.

If the fields attributes are not updated, it is not possible to edit the field (stays grey even in correct mode) for existing objects!

 Settings of client-specific fields are explained in the table below.

Settings

Explanation

Object

The object will selected automatically depending on the category the object is present in.

Field

The technical name of the field can be specified by either selecting the name from a list, or by customizing it to your own liking.

Display Type

It is possible to specify the display type. This could be for instance a text field, a yes/no field, or a date field.

Label

The label specified here will be visible to the end user. It is possible to specify the label using a translation string.

Description

It is possible to describe what this client-specific field represents.

Options

The options setting is used for fields that use enumerations (e.g. status fields) . Such formatting creates a drop down field with different specifications. For instance, it is possible to format using ‘10:good, 20:average, 30:bad’ which in turn will create three option, namely good, average, and bad to choose from.

Formula

It is possible to specify a formula that is using other object fields and expressions. For example ‘amount * discount’

Input mask

The input can be checked based on a regular expression. For example “[1-9][0-9]*” means that numbers should not start with a “0”. Similarly, “[a-zA-Z0-9.\-=]*” implies that that the text may not contain special characters.

Input mask help text

You can enter a help text or key which is displayed when the input does not match the pattern. For example, “You may enter alphanumerical characters only in this field”.

Type

Fixed fields are stored with the object in the database. These fields are baseline fields.

Custom fields are extensions that apply only in the specific client environment. Derived (custom) fields are not stored in the database, but calculated dynamically. You can not search on derived fields.

Category

Custom fields can be linked to a category. The fields are only applicable if the object is linked to a category. Fields defined with parent categories are available for its respective sub-categories.

Select page

For a screen select, you can define a page or a filter that should be invoked to select items. For selecting a contact you can define a filter that shows contacts of a particular organization.

Page dependent

When page dependent is set to “yes”, a filter page is used with the name of the page plus the name of the object that is searched for. For instance, to set the field “propertyId” on the page “AbcRequest”, the system will search for a page “AbcRequestPropertyFilter”.

This enables you to define custom filter pages depending on the page or category.

Selection context

By default, objects are searched for in the context of the current object. If you want to search for the object in all objects, you can set the “Selection context” to “Client”. Note: this setting is only supported in the original interface and not in the AUI.

User group

With fields that refer to a contact, you can dynamically assign a contact to a group. If the field “requestorContactId” in the object “Request” has a group “Requestor”, the contact that is entered in this field is assigned to this group when the object is opened and can recieve certain rights and tasks.

Implicit group

This setting is used in conjunction with the “User group” Setting.

If the implicit group is set to “no”, a team member is automatically created when the user is added as a requestor. This can be used to add a contact, which is defined as the manager of a project, automatically to the project team as a project manager. Note: If the user is removed as the requestor, the user is still a part of the team and keep all associated access rights.

If the implicit group is set to “yes”, no new team member will be added. The user will be rewarded all the access rights in the context of the object only. When removing the user as the requestor, they will no longer have these access rights.

Use group for access

This setting is used in conjunction with the “User group” and “Implicit group” settings.

This setting indicates if the implicit group should be used for evaluating access rights. For custom fields this should be set to “no” for performance reasons.

Inherit team

Using this setting, you can specify that team members in a group are inherited via this field.

Report

You can link a report to a custom field. If the user clicks on the icon next to the field, it will link through to the report. Henceforth, this can be used instead of adding the report as an include.

Size

This specifies the maximum numbers or characters in the database. If nothing has been specified, a value of 255 numbers or characters is used.

Width

This is the size of the field in pixels. If nothing is specified, a default value of 240 pixels is used.

Maximum length

By default, the maximum number of characters for text fields is set to the database size. You can limit the number of characters by specifying a lower value.

Height

The height of the field in pixels.

Number of decimals

Specifies the number of decimals to use in a numeric field (money, float, percentage).

A value of “0” means that no digits should be used. Hence the numbers are rounded up to whole numbers.

Required

If a field is required, an error message is displayed if the user does not complete the field. An asterisk symbol, *, is shown next to the field. The check for required fields is not performed for users in the role “administrator”.

Show zero

To indicate that a zero (0) should not be shown for numeric fields, set this field to “no”.

Capitals only

You can automatically capitalize the text that is entered in the field. This can be used for instance for ZIP codes.

Logging

If logging is activated, all changes to the field are stored. You can see who changed a value, at what time, and to and from what value. Logging should also be enabled on object-level as well. Enabling logging impacts performance.

Translate

Enumeration values can be translated automatically. Make sure you use translation keys as values in the enumeration list.

Convert to plural

This setting is specifically made for the PeriodCode fields. If a field is named abcPeriodCode and there exists a field abcPeriod, the label of the field will be converted to plural if the value is greater than 1. For example, '1 day', '2 days'.

Self select

A “myself” icon is displayed next to the field that sets the contact field to the current user.

Self default

If set to “yes”, the contact of the current user is automatically filled out in this field when a new object is created. For example, to automatically set the requestor of a request to the current user.

Iterative select

When set to “yes”, the user is able to traverse hierarchies in a drop-down menu. After the user has made a selection from the first level, the items on the next level are shown. For example, if the user selects a problem type “airco”, the options “too hot” and “too cold” will be shown.

Translate label

You can specify if a label should be translated. You can enter a translation key in the label field.

Search on translation

You can turn on this setting for text fields. Users in the group “Translator” can enter separate strings for each language. You can use this to store the “name” field of catalog items in different languages. This setting causes a lot of overhead and should be used with care. A better approach is to use translation strings and set translation to “yes”.

Search

You can specify that search should include objects that are related to this field. If the setting for object “Invoice” and field “toContactId” is set to “yes”, invoices are found based on the name of the contact. Searches will take longer is the search option is turned on.

Asynchronous

When asynchronous loading is turned on, the main page will load independent from the field. When asynchronous loading is turned off, the user has to wait for the content inside the field to load before being able to see the content of the main page.

Submit if modified

By default, field values are submitted to the server for further processing. In some cases, it is only necessary to submit the value when it has been modified by the end user.

Filter

Turn this setting to “yes” to add this field to the advanced search filter.

Sort alphabetically

Items in drop-down menus are ordered by the sequence defined in the enumeration. You can indicate that the items should be ordered alphabetically by using this setting.

Reload

Save and reload the screen when the value of the field has been entered.

Editable

It is possible to specify if a field should be editable or not. Note: The editability of some fields are determined by the code and cannot be overwritten.

Cascade delete

If this setting is set to “yes”, the related objects are deleted in case you delete the main object.

Cascade update

If the object is updated, this setting determines if the related object should be updated as well.

Database index

Only informative in the client layer.

Foreign create

This setting only applies to screen selections. A “+” icon becomes available in which you can directly create and link a new object instead of selecting an existing object from the list.

Edit by override

If edit by override is activated, a pencil will be available next to the field. To edit the content of the field, the user must click on the pencil and provide a mandatory comment to why the value of the field is being changed. The comment will later be available in the logbook.

Override

This functionality is obsolete as it has been replaced by “Edit by override”.

Unit

Specifies in which units the field should be measured in.

Alignment

This setting only applies for the content in lists and reports. It specifies where in the respective cell the text should be alligned.

Copy from template

When this setting is on, the field will be copied over when copying a template an existing object.

Obsolete

Obsolete fields should no longer be used. They will eventually be removed from the system.

Process order

The process order determines the order that a functionality should be processed after saving or refreshing the page. This functionality is mostly used when a script is linked to a field.

Rollup

For hierarchy pages, the rollup functionality adds the total amount of units to the parent. For example, if two sub-properties in a building are each 100 square meters large. The rollup function automatically calculate 100+100=200 square meter to the parent property.

Summary

Search

  • No labels