Cross Module Parenting

Article published on the 9th of February, 2022.

This feature is only available from WorkPoint 365 Version 4.0.

1. Introduction

Cross Module Parenting setups make it possible for entities on a module to have a parent relationship with an entity from multiple parent business modules.

Consider the following business module setup:

Presentation1 - PowerPoint

This business module setup is fairly traditional where a Projects- and  a Contacts module are registered as children of the Companies module. On the side, we have a Suppliers module, which also has a Contacts child module.

This setup splits contacts on the solution into multiple modules with different parent relationships.

With the Cross Module Parenting feature, you can now create a setup like the following:

Presentation1 - PowerPoint

With this setup, we can have one Contacts module, which can have parent relationships with entities either from the Companies- or the Suppliers modules. This makes managing contact persons across a large WorkPoint solution easier.

This can also reduce the number of business modules needed on WorkPoint solutions.

2. Requirements

The Cross Module Parenting feature requires a WorkPoint Enterprise license plan.

3. Configuration

Traditionally, the parent of an entity has been registered in the "wpParent" lookup field. This feature replaces this field with 5 new fields, which are all used to facilitate the relationship between parent and child entities:

  • wpParentModuleID
  • wpParentModuleTitle
  • wpParentEntityID
  • wpParentEntityUniqueID
  • wpParentEntityTitle

These fields are generated automatically by WorkPoint.

In the following configuration case, we have two parent modules; Companies and Suppliers. We also currently have one child module, the Projects module.

We will create a Contacts module which can store contact persons related to either a company or a supplier.

We start in the WorkPoint administration:

  1. Under "Business Modules" in the WorkPoint Administration Dashboard, we click "Add new" to create a new business module.
  1. We provide a name for the new business module. In this case, we call it "Contacts".
  2. We provide the Entity name "Contact".
  3. We select to base the business module on the template "Contacts".
  4. We check the "Enable multi module parents" checker.
  5. In the business module picker, we select both the "Companies" and the "Suppliers" business modules.
  6. We can then specify a title for the parent module entities. This is the display name of the column which is going to show the parent entity in the business module list.
  7. We select an appropriate icon for the business module.
  8. We can now save the business module and start the provisioning.

After the provisioning, the new Contacts business module should appear in the WorkPoint Administration Dashboard:

Note that once a business module has been created using the "Enable cross module parenting" setting, this setting cannot be changed.

When creating entities on the Contacts module, we will be able to first select a parent entity module and then select a parent entity. This process is described in the End User Guide section.

4. End User Guide

Note that as of writing this documentation article, creating entities using Cross Module Parenting can be done exclusively from WorkPoint Express. This process is described in the following section.

We can now try making a new Contact entity. In this case call the new contact entity Edward Dean, and we will set the parent to be a Company called "Company 001":

Note that the following dialogue shows the Create Item dialog using WorkPoint Express. If you do not see the same type of dialogue when opening the properties of an item, you can enable it by opening the WorkPoint Express settings -> System -> Prefered Dialogs -> Set "Default create entity dialog" to "Express".

  1. In the "Create Item" dialogue in WorkPoint Express, we provide the name "Edward Dean" for the new Contact.
  2. In the "Parent module" property, we search for and select the "Companies" module.
  1. Once the parent module has been selected, we can search for entities on that module to use as parent for the new Contact.
  2. Once we have selected a desired parent entity, we can create the entity by clicking the "OK" button.

If needed, we can edit the parent entity of the contact at a later time:

  1. In the list of contacts, right-click the Contact and select "Properties".
  1. Use the Parent module and Parent entity selectors to edit the parent of the contact.
  2. When a new parent has been selected, click the "OK" button to save the settings.

5. Notes

Note that once a business module has been created using the "Enable multi module parents" setting, this setting cannot be changed.

Also note that as of writing this documentation article, creating entities using the Multi Module Parent Relation can be done exclusively from WorkPoint Express.

Additionally, note that business modules with "cross module parenting" enabled MUST NOT use the sub-site module architecture.

Lastly, note that security trimming-wise, in case a user has access to see a child entity but not a parent entity, the user will be able to see the title but not the content of the parent entity.

Have more questions? Submit a request