AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.10.2007, 16:50   #1  
Blog bot is offline
Blog bot
Участник
 
25,643 / 848 (80) +++++++
Регистрация: 28.10.2006
Inside Dynamics AX 4.0: IntelliMorph
Источник: http://feeds.feedburner.com/~r/Insid...ellimorph.html
==============

Although Dynamics AX is an international product with support for multiple countries, languages, company sizes, and industries within the same deployment, it is also an extremely productive development platform that ensures a uniform yet very configurable and automatically arranged layout of application functionality. The unique presentation technology is based on model element properties, configuration and security settings, and personalization, which together lay out the presentation controls on forms, reports, menus, menu items, and corresponding Web elements for each individual user. The technology is called IntelliMorph, and it works with both the rich client and the Web client types in Dynamics AX.

A primary requirement of the IntelliMorph technology design was preparation for international distribution, but with a different approach than other enterprise resource planning (ERP) products; IntelliMorph had to be ready for multiple countries in multiple languages within the same deployment, and it had to offer the same user experience, regardless of the user interface language. This necessitated the design of a metadata-driven and property-driven user interface in which forms, reports, menus, and menu items would react to both global and local configuration and security settings. A positive side-effect of this design is that users can personalize the interface in multiple ways. The personalization has been extended even further in Dynamics AX 4.0, in which an individual user can reference all rich client forms as individual favorites to which they can attach any query.

IntelliMorph automatically arranges functionality based on license codes, configuration and security keys, and personalizationwithout programmable changes. In below image illustrates the filtering structure for the layout of elements such as form, report, menu, and Web.

IntelliMorph presentation structure
The layout includes the license code that opens the parent configuration key, which holds either the security key references or the configuration key children to the security keys.

Security keys determine access to the menu items that reference available functionality for user groups and individual users. An individual user profile can be connected to multiple user groups, and the complete collection of permissions comprises the maximum security level. The final factor in the interface experience is personalization, which allows the user to modify the user interface by hiding, showing, and configuring the presentation controls.

The elements and their interactions and dependencies are described in greater detail in the following sections, which include a discussion on personalization.

Note
Presentation of the user interface is not limited to support for the IntelliMorph technology; it also provides a rich set of design options for developing Microsoft Windows forms with many different control types, such as ActiveX or ListView controls. Dynamics AX reports also come with their own designer that allows you to visually design a report while using both the X++ syntax and the properties window for arranging and formatting.

Best Practices
Having an understanding of how the IntelliMorph technology works can help you develop the run-time presentation for application extensions. If you follow the best practice design rules and patterns, you can optimize your use of the IntelliMorph technology and ensure a uniform application run-time interface. The best practice principles focus on using the default property settings for the presentation controls that determine how to present elements and functionality. They also cover the general use of labels, field groups, extended data types, auto groups, security and configuration keys, and menu items. The standard Dynamics AX application is developed using all the best practice rules and patterns, which provide a uniform way of interacting with the application and the underlying business logic. The MorphX Development Tools, provides a description of the Best Practices tool. You can find details on the rules and patterns in the Microsoft Dynamics AX SDK.

Principles for Forms
Designing application forms can be a very time-consuming task if you always design from scratch, especially if your application must run in a multiple-language deployment. This is why the best practice is to create forms and reports by dragging and dropping as often as possible and setting very few properties manually. Occasionally, the system's default property values might not suit the current situation, which is why almost any property can be customized.

When you design the layout of a form for which a table or view is used as the underlying data source, the same field groups and field structures in the original Tables and Views nodes in the Application Object Tree (AOT) will be available in the form node, providing that you moved the table or view by dragging it from one of these nodes to the form's Data Sources node. This gives you the flexibility to move field groups or individual fields from the pool of field groups and fields in the form's Data Sources node to the form's Design node. The data sources should be configured to use the Dynamics AX AutoJoin system that ensures that data is synchronized when two forms are linked. When you work with the layout and property settings, you must keep the Auto or Default settings. This optimizes the use of the auto-arrange technology and limits the need to move pixels to unify and align the form presentation with the rest of the application.

When designing forms, follow the recommendations in the following list where possible to optimize use of the auto-arrange technology. Most patterns are property settings on the form design.
  • Use default settings where possible, especially for the attributes Left, Top, Width, Height, Frame, WindowResize, WindowType, and HideToolbar.
  • Use the DataGroup attribute when using tables or views as data sources.
  • When using the DataGroup attribute, change the AutoDataGroup property to Yes. This adjusts the overall behavior based on the data source behavior.
  • Use labels instead of hard-coded strings.
  • Add Help text (status bar Help) as labels instead of hard-coded strings.
  • Use the TitleDatasource property to provide a better and more visible data experience for the user.
  • Set the AutoDeclaration property to Yes if the control features must be accessible from X++ code.
  • Use the AutoJoin system where possible.
If your customers require a very unique user experience, there are no design restrictions that prevent you from completely remodeling the user interface. The only disadvantage is that training, flexibility, and upgrade become somewhat more complex.
Principles for Reports
IntelliMorph is even more important for reports than it is for forms. The best practices for reports primarily involve retaining the default settings for properties. When you design a report, knowledge about the environment in which the report will execute is often unavailable. This type of information includes the following:
  • The size of the paper in the user's printer
  • The length or content of the labels according to the user's installation profile and language
  • Which fields are disabled by security and configuration key settings
  • The length of the fields (extended data types) in the user's installation
  • The sort order of the data sent to the report
  • Whether the user wants to print using the subtotals setting or just the totals setting
  • The default settings for font and font size
  • The number of records in the tables from which the report gets its data
You can create two kinds of report designs: Auto (AutodesignSpecs) or Generated (design). You can use Auto for all normal reports and Generated for reports with special functional requirements that cannot be implemented with Auto designs. You can also use the Generated design for reports for which the design is determined externally, such as:
  • Reports that are forms with externally determined layouts and where the information is expected to display in very specific positions.
  • Reports that are forms for which the design is likely to be adjusted to the customer needs at deployment time. Invoices are one example. Most controls should have their positions fixed (not set to Auto) to simplify moving them by using the Report Designer.
You should follow these design patterns when possible:
  • Use default property settings where possible, especially for Orientation, Width, Label, Width of label, and formatting information because fixed settings cause the report controls to disregard the IntelliMorph auto-arrange technology available from the property window.
  • Use the Auto design report type when possible.
Working with IntelliMorph
IntelliMorph provides numerous options for personalizing Dynamics AX forms. These options allow you to move controls, set properties on controls, and add extra fields to forms. Forms are customized at application run time, and settings are saved on a per-user basis. The personalization options can be invoked from multiple places, depending on the type of personalization. The personalization options use the same framework whether a column is hidden via the Command entry on the menu bar, moved within the form runtime by using the mouse, or renamed by using the advanced personalization form.

The advanced personalization form, shown in below image, provides the user with customization options.
The advanced personalization form

By using this tool, the user can change the tab page order, move elements around, remove fields, add additional fields from existing form data sources, rename the field, prevent the field content from being edited, change the default field length, and even choose among multiple versions of the form presentation. The personalizations can be shared if, for example, a department wants a common presentation that is different from the standard company presentation and does not want to modify the global form layout.
To make user personalization work, you must define different levels of personalization by using the form design properties AllowUserSetup and AllowAdd. There are four levels of personalization as presented in below table.
Personalization Levels


These personalization levels also depend on how X++ code on the form is used. The kernel can automatically restrict the user setup level if the methods that take the position of the control into account are overridden.http://insidedynamicsax.blogspot.com/
</img> </img> </img> </img> </img>


Источник: http://feeds.feedburner.com/~r/Insid...ellimorph.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Inside Dynamics AX 4.0: The Security Framework Blog bot DAX Blogs 0 31.10.2007 11:40
Inside Dynamics AX 4.0: Working with the .NET Business Connector Blog bot DAX Blogs 0 04.10.2007 05:15
Inside Dynamics AX 4.0: Usage Scenarios Blog bot DAX Blogs 0 04.10.2007 05:15
Inside Dynamics AX 4.0: Inside the Business Connector Blog bot DAX Blogs 0 04.10.2007 05:15

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:42.