web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Dynamics 365 Community / Blogs / Adalhix / Get workspaces metadata in ...

Get workspaces metadata in Dynamics 365 For Finance and Operations through X++

AdnDalhi Profile Picture AdnDalhi 336

01_5F00_Understanding_2D00_Workspaces.jpg

 

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.

pastedimage1602973150769v1.png
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
pastedimage1602973150772v2.png
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
pastedimage1602973150773v3.png
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.

pastedimage1602973150775v4.png
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.

pastedimage1602973150778v5.png
GetWorkspaceData method to get workspace tiles information from the Data Provider dataContract
pastedimage1602973150780v6.png
Generally we will loop each time until finding a MenuElemenTile type
  • Store workspaces data tiles
pastedimage1602973150783v7.png
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:

pastedimage1602973150786v8.png
DynWorkspaceTable New customized table, to store all 64 standard workspaces tile informations
pastedimage1602973150788v9.png
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 ?

pastedimage1602973150790v10.png

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

pastedimage1602973150792v11.png
Querying FORMRUNCONFIGURATIONUSERWORKSPACE table

Check my next article on : Dynvision365 blog

Comments

*This post is locked for comments