Get workspaces metadata in D365FO

In Dynamics 365 For Finance and Operations workspaces provides an overview of specific activities, a colletcion of controls around a business scenario.

Ths system comes with several workspaces containing specific content for different roles and organization. In this blog post i will share how we can get this list of all out-of-box system workspaces with their tile properties by code, and how to get informations about new created workspaces by users and how they are managed in the system.

Standard Workspaces

How the system build standard workspaces?

All out-of-box workspaces are accessible via default dashboard form or the workspaces navigation pane, but how they are initialized ?

  • Constructing the Menu Navigation Data Provider
SysMenuNavigationDataProvider construct

After loading company image, workflow items with related tasks associated to current user and setting current session datetime, the system start to call the process that will construct the Menu Navigation data provider framework and control how data can be provided from the MainMenu and then initialize / extended it via initializeFromObjectParsing method.

  • Generatting the Navigation Pane Menu Structure
The NavPaneMenu AOT Menu

While initializing the NavePaneMenu Menu, the runtime call in parallel the MenuNavigationObjectInterface and retrieve the associated global structure of the NavPaneMenu Menu which contains all Dynamics 365 For Finance and Operations menus with their dictionary implementation, system navigation object references (In my case i have 32 Modules) and MetaModel elements corresponding to the MainMenu.

Dynamics 365 For Finance and Operations Menu structures
  • Getting Workspace data tiles

Once the DataContract and the menu structure well implemented from the MenuNavigationInterface, we will start iterating each menu navigation structure, walk the navigation object looking for tiles only, and then pulling the workspace tiles information.

GetWorkspaceData method to get workspace tiles information from the Data Provider dataContract
Generally we will loop each time until finding a MenuElemenTile type
  • Store workspaces data tiles
The Main call of my new customized DynVisionWorkspaceListing Class

Each workspace have an associated tile element, which is finally a menu item represented by the following informations:

DynWorkspaceTable New customized table, to store all 64 standard workspaces tile informations
DynWorkspaceDataManager Customized Form : Full listing of Workspaces with their AOT tile names, labels, and associated menu item names and types

I create new workspace, how can i get it ?

While processing the workspaces data tiles, the system each time check if there is any specific workspaces configurations stored for the current user to initialize and assign the settings to config owner.

After investigating, The FORMRUNCONFIGURATIONUSERWORKSPACE table contains information about all customized workspaces configurations created by users. and some more useful methods like Loading /Deleting / Get and setting associated workspace configurations for specified user

Querying FORMRUNCONFIGURATIONUSERWORKSPACE table

Un commentaire sur “Get workspaces metadata in D365FO

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s