Sunday, January 1, 2012

Explanation of Intellimorph (not MorphX!)

AX has functionality in it which allows end users, not developers, to customize their user experience. It is called Intellimorph. This is not to be confused with MorphX which is AX's IDE and fully contained within the AX 2009 application (in AX 2012, Visual Studio 2012 can be leveraged also). I hear it often where people call this feature MorphX and it creates a whole bunch of confusion when they reference it assertively for various points. An example of this is when they say 'You can do that through MorphX development, right?' when they really mean 'Our people can do that through Intellimorph, right?'.

AX's Intellimorph functionality will allow you to customize what fields the user can see and in what location/order. It is incredibly versatile for allowing multiple users to each see different views without needing to bring in a developer. Technically, it stores the changes to the form in the system's Usage data for the user so all changes are user to user. Usage data is stored as a container. Since the forms displays are unique to a given user, this is good for satisfying requirements for form changes are not universal and the security requirements for field access exist.

As seen in Figure 1 below, by right-clicking on a field or column (in AX, rows are data and columns are fields), there is the option to select 'Hide'. This feature will essentially hide the field from the user. Not shown in this blog (sorry) is the option right below this 'Hide' option called 'Show' where the fields hidden by the user can be revealed.

A given user can store multiple different views of a form (via the 'Save' button in Figure 2) and the template layout can be recalled at any given time for use later (via the 'Load' button in Figure 2). At any time, the current layout can be cleared and reverted back to the target form without any Intellimorph modifications by clicking the 'Reset' button in Figure 2. These features are all user to user. They do not apply cross-user.

Since these modifications are unique to the current user, it may be desired to apply the tireless blood, sweat, and tears that went into a custom template from someone else to another user's form. The target user can then use the 'Retrieve from user' button in Figure 2 to select from a list of users that have other templates for the current form (Figure 5). Of the list of these users, when one is selected (from Figure 5), it will show the user what templates that user has created (Figure 6). When a template is selected, it will be immediately applied to the user. The user can then save the template for use later.

Through usage data, a user will automatically be brought into the view of the last template that was used. This means that if a user selects someone else's template, it will be there's until they change it or the usage data for the user is erased.

Unfortunately, there is no way to mass deploy a template to users or groups of users.

If you need to make a change to an existing template of yours, you will need to remember the exact name of the template and it can be updated. To do this automatically would be another modification.

This is a good alternative to some other things that people come up with during the design phase. This is even something overlooked by developers because Intellimorph is not in the same thought vein as the 'modification' mindset. I know this for a fact as I am functional/technical and used to be solely technical.

Hope this helps.

Figure 1 – Right click on the form
Figure 2 - User Setup View

Figure 3 – The screen that appears from clicking the 'Save' option from Figure 2 for entering the name for a user template

Figure 4 – The screen that appears from clicking the 'Load' button from Figure 2 for applying a previously saved form

Figure 5 – The names of the AX users that have templates that you can browse

Figure 6 – The templates saved by the user from the previous figure for the current form

No comments:

Post a Comment