Developers can quickly customize Role
Centers to add business-specific and industry-specific content, making
Role Centers even more useful for businesses and the people who run
them. In this section, we describe how to customize the Role Centers
that ship with Dynamics AX 2009 and how to build a new one.
1. Customizing an Out-of-the-Box Role Center
Role Centers are based on the personas that
represent the goals and behavior of a real group of Dynamics AX users.
Each of the 33 persona-based Role Centers that ship with Dynamics AX
2009 can be deployed to customers with no additional changes as soon as
setup tasks have been performed.
As a developer or an administrator, you can also
customize a Role Center for all users in a particular role. Users can
further personalize their personal view of the Role Center. Other users
associated with the Role Center don’t see the customizations other users
have made.
You can edit a Role Center page, just as you can
any other page in Enterprise Portal. However, only the Role Center page
associated with the current user’s role is displayed. If you want to
modify other Role Center pages, you must locate them directly in Windows
SharePoint Services. You can see a list of Role Center pages at http://<server>/sites/DynamicsAx/Enterprise%20Portal/Forms/AllItems.aspx.
You can also see the list of all available Role Centers under
Administration\Setup\User Profiles. Just click the button View Role
Center in the Dynamics AX client.
Role Center names begin with RoleCenter. The exception is the EPDefaultRoleCenter
page, which is the Role Center displayed for users who are not assigned
to a specific role. Click the page name to modify the page.
We explain how to customize the data underlying the Web parts in a Role Center in the upcoming “Role Center Web Parts” section.
2. Creating a New Role Center
In this section, we describe the high-level
steps that developers and planners undertake when creating a new Role
Center. For step-by-step instructions, see the Microsoft Dynamics AX
2009 SDK at http://msdn.microsoft.com.
The first step in creating a new Role Center is
to identify the type of content you want to display in the Role Center,
along with the layout of that content. If you need to display
higher-level analytical information, you must create the KPIs and
measures and dimensions in Microsoft SQL Server Analysis Services.
Note
Measures
and dimensions comprise the OLAP cubes that Analysis Services uses to
contain the data you use to build KPIs and other analytical information.
In Dynamics AX, measures are referred to as indicators. For a detailed description of OLAP cubes and Analysis Services, see MSDN. |
The second step is to decide how the data is to
be seen in the Role Center. For example, your team might decide that the
data is to be displayed as a list of KPIs comparing current results with
the target, and that it is displayed as a report. Or you might decide
that the data should be displayed as a time comparison versus prior
performance, in a chart.
The third step is developing the content. You
can add a wealth of content to a Role Center, including Cues, Quick
Links, Dynamics Report Server Report, Business Overview, and Dynamics
Unified Worklist Web parts, KPIs, and other indicators.
The fourth step is to build the Role Center page
in Enterprise Portal. You can create a Web part page in Enterprise
Portal using any of the page templates available in Windows SharePoint
Services. Just add the Role Center Web parts and set their properties to
point to the right content, as described in the preceding steps.
Finally, you create the Web menu item pointing to the URL of the page you’ve just created. You mark the HomePage property of the Web menu item to Yes and assign this Web menu item as the Role Center in the user profile.
3. Role Center Web Parts
Now that you have a high-level view of what Role
Centers are, how they behave, and the basic development tasks that are
involved in creating them, we’ll tell you about the content—basically,
the Role Center Web parts—that you can add to or customize in a Role
Center.
Cues
A cue
is a visual representation of invoices, purchase orders, accounts
receivable, and so on. By providing greater visibility into the amount
of work that needs to get done, a cue can help users prioritize their
work. The Cues Web part mimics a pile of paper by visually representing
each task as if it were lying on a desk. A Cue is not only a visual
indicator; it acts as a shortcut that enables users to drill down into
the list pages where they can take action.
Both developers and users can create Cues from
any list page or form in the Dynamics AX client. To do so, define the
filter that you want to apply, and save it as a Cue from the Advanced
Filter folder (at Forms\List Pages) or directly from the list page. You
can also perform more-complex tasks by defining the Cue so that it
displays additional information. For example, you can add the sum of an
invoice amount and a warning symbol to a Cue when a certain condition is
met.
To define the filter, you can use the SysQueryRangeUtil
class functions. Take, for example, the user persona Alicia. Imagine
that you want to display all purchase orders where she is the order
taker (this is a field on the Purchase Order form). In the filter, you
set the order-taker field value equal to the user ID of the person
currently logged on. The purchase orders are automatically filtered to
display only those Alicia has taken.
Or imagine that the user persona April wants an
indicator of how many vendor invoices are due for payment in the
upcoming week because she pays invoices weekly. This indicator lets her
know how many checks she needs to produce and allows her to plan her
time accordingly. She can also drill down into the list of these vendors
to initiate payment. The filter you use must allow April to define the
date range so that whenever this filter is run, it displays the invoices
for a particular week.
To meet these needs, the SysQueryRangeUtil class comes with a default set of filtering functions, such as currentEmployeeId,
and many date functions. You can extend this class by creating your own
methods and using them in the advanced filter. Here’s an example.
Field – Order Taker , Criteria - (OrderTaker == currentEmployeeId())
Field – Date Opened, Criteria -(greaterThanDate(-8))
|
The information about Cues is stored in the CuesQuery and CueQuerySecurity tables.
A Cue stores the menu item from which it was
created. So when the user clicks the Cue in the Dynamics AX client Role
Center, the Cue returns to the list page or form that is linked to that
menu item and then applies the filter.
When the Cue is displayed in Enterprise Portal, it gets the corresponding Enterprise Portal page from the WebMenuItem
property of the menu item in the AOT and links to it; when the user
clicks the Cue in Enterprise Portal, the Web page is displayed. If WebMenuItem is empty, the Cue is not linked to an Enterprise Portal page and just displays the Cue with information but without a link.
When creating a Cue, an administrator or
developer can specify which user profiles can view it. Only users who
belong to the profile and have access to the associated menu item (in
the Dynamics AX client) or Web menu item (in Enterprise Portal) can view
the Cue. Users who don’t belong to the specified profiles or who don’t
have access to the menu item that the Cue is linked to can’t view the
Cue. Figure 2 shows the design-time and run-time rendering for Cues.
Quick Links
Quick
Links is a Web part that displays a collection of links to Dynamics AX
client list pages or forms, to Enterprise Portal Web pages, or to any
Web URLs. Users can create shortcuts to their most frequently accessed
forms, reports, pages and Web links, and organize them in one or more
Quick Link Web parts in their Role Center.
Administrators or developers can create links
that are common to all users in a profile. For developers and
administrators, a drop-down menu to pick Shared or Personal mode is
displayed. For users, only Personal mode is allowed, so this drop-down
menu isn’t displayed to them. Users can create only personal links, ones
that are just for them.
Adding Quick Links
The Add Links dialog box displays links from
the main menu of the Dynamics AX client or from the Dynamics QuickLaunch
Web part of Enterprise Portal. The desktop links are displayed in the
Quick Links Web part only when the Role Center is rendered in the
Dynamics AX client. These links are not displayed when the Role Center
is displayed in Enterprise Portal. When you add a link to Enterprise
Portal, you can specify whether or not it is displayed in the Dynamics
AX client Role Center. If set to Yes, the Enterprise Portal link appears
in both the Dynamics AX client and the Enterprise Portal Role Centers.
If not set to Yes (checked), the link appears only when the Role Center
is rendered in Enterprise Portal. The third type of link—that is, any
Web URL—is displayed in both modes.
Maintaining Quick Links
Quick Links are stored in the SysQuickLinks and SysQuickLinksOrder
tables. A Quick Links Web Part stores the Quick Links group ID and
default title label. The group ID is used to identify the links that
need to be displayed from the SysQuickLinks table.
When a new Quick Links Web Part is added to
the Role Center, it automatically adds a globally unique identifier
(GUID) as the group ID. But you can rename the GUID to a readable string
so that later you can manage these link groups (importing or exporting
them, or deleting them) easily from the dialog box at Basic\Setup\Role
Centers\Edit Cue Links. One or more Quick Links Web Parts can point to
the same group ID and display the same set of links.
If a user removes the links or changes their
order while in Personal mode, the links displayed to a different user in
the same Web part are not affected. The links are security trimmed, so
if a user doesn’t have access to the links, they are not displayed in
the Quick Links Web Part. The Manage Links dialog box displays all the
links and their status, such as Hidden or No Access. Figure 3 shows the Quick Links design-time and run-time rendering.
Business Overview
Key
performance indicators (KPIs) are valuable to businesses, helping
employees evaluate the progress made against measurable goals for key
business metrics. Perhaps most useful is the ability for a business to
compare a given KPI against a benchmark, helping managers assess the
present state of the business compared with previous performance, say,
during the preceding year. The Business Overview Web part shows the
performance of one or more KPIs over an established time period, with
the goal of helping users assess the present state of their business in
comparison with a prior period.
The Business Overview Web part supports two
modes of display: Business Overview and KPI List. In Business Overview
mode, the Web part displays the indicator (e.g., Revenue), Time Periods
(e.g., current quarter versus preceding quarter), and the Current and
Previous values plus the changes in the values. The Business Overview
mode is used for time comparison. In KPI List mode, the Web part
displays the indicator (e.g., New Leads), Goal (e.g., 1), and Status and
Trend; it is used for measuring progress toward a goal. In this
section, we discuss the Business Overview Web part.
You
can customize and personalize the Business Overview Web part by using a
predefined list of indicators and time periods for three roles:
developers, administrators, and users. Developers can add more time
periods and indicators to the Business Overview Web part. Users can
further personalize this Web part and add or remove indicators according
to their needs.
You can define each indicator to display the
measure in detail in a given dimension and to be linked to a detailed
report. In addition, you can configure the Business Overview Web part to
display the indicators for the current company or for all companies in
the organization, as well as the currency in which the amount indicators
are displayed. Figure 4 shows the Business Overview Web part design-time and run-time rendering.
Working with Measures
Dynamics AX comes with a predefined list of
indicators, including Goal, Status, and Trend expressions. Indicators are defined as measures
in Analysis Services cubes. If you want to modify a measure or create a
new one, you can use the Business Intelligence Development Studio
(BIDS) tool that comes with Analysis Services. If you decide to
modify or create a measure, please read the Microsoft Dynamics AX 2009
Business Intelligence Cube Reference Guide for guidance. The guide is
available for download on the Using Microsoft Dynamics AX site at www.http://microsoft.com/dynamics/ax/using.
Working with Time Periods
The
Business Overview Web part comes with a list of predefined time
periods—for example, This Month vs. Last Month, This Quarter vs. Last
Quarter, and so on—that are used for comparison. Developers and
administrators can extend this list through the Time Periods form:
Administration/Setup/Business Analysis/OLAP/Time Periods. Figure 5 shows the Time Periods form.
To add a new time period, add a new record to
the Time Periods form and set the Period ID, Description, Display Name,
Current Period MDX, and Previous Period MDX. You can also create an item
as a template and use it in the Multidimensional Expressions (MDX) for
the time period.
Note
If
you create template records, they won’t be visible in the Business
Overview Time Period drop-down menu. They are used only to enable the
reuse of MDX across many time periods. For example, if you want to
display an indicator comparing Last Month with Last Year Last Month, and
if this time period setup isn’t available out-of-the-box, you can add
it. In the Time Periods form, create a new record and set the parameters
as follows. Period ID: LastMonth_LastMonthLastYear
Display Name: (m-1) vs (m-1)(y-1)
Current period MDX: (%CurrentMonth%).Lag(1)
Previous period MDX: (%CurrentMonth%).Lag(13)
Visible:Yes
|
|
The Current period and Previous period MDX in the preceding example use a template expression already created with the name CurrentMonth. Templates are a great way to simplify and reuse MDX. %CurrentMonth% refers to an entry on the General tab in the Time Periods form, where:
Period ID: CurrentMonth
Template MDX: STRTOMEMBER('[Time].[Years Quarters Months Weeks Days].[Months].&[' +
vba!format(vba![date](), 'yyyy-MM-01') + 'T00:00:00]')
Template:Yes
|
Business Overview Authentication
The Business Overview Web part uses an Office
Data Connection (.odc) file to connect to Analysis Services. By default,
it uses /Sites/DynamicsAX/Data Connections/Dynamics AX.odc. You can
change this to point to any .odc file using the Business Overview Web
part Properties pane. By default, the Web part uses the current user
authentication to connect to Analysis Services.
If you have Enterprise Portal and Role Centers
installed on one machine and Analysis Services installed on another,
you must enable Kerberos-constrained delegation to allow the
authentication flow across machine boundaries for this multi-hop
scenario.Alternatively, you can configure the
.odc file to use the application pool’s credential to connect to
Analysis Services using NTLM, and use the user’s alias for
authorization.
The .odc file XML looks like this:
<xml id=docprops><o:DocumentProperties
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns="http://www.w3.org/TR/REC-html40">
<o:Name>Data Connections/Dynamics AX.odc</o:Name>
</o:DocumentProperties>
</xml><xml id=msodc><odc:OfficeDataConnection
xmlns:odc="urn:schemas-microsoft-com:office:odc"
xmlns="http://www.w3.org/TR/REC-html40">
<odc:Connection odc:Type="OLEDB">
<odc:ConnectionString>Provider=MSOLAP.3;Integrated Security=SSPI;Persist Security
Info=True;Data Source=Server1;Initial Catalog=Dynamics AX</odc:ConnectionString>
<odc:CommandType>Cube</odc:CommandType>
<odc:CommandText></odc:CommandText>
</odc:Connection>
</odc:OfficeDataConnection>
</xml>
|
If you’re using Kerberos, you must modify this .odc file and append ;SSPI=Kerberos to the odc:ConnectionString element. The result would look like this:
<odc:ConnectionString>Provider=MSOLAP.3;Integrated Security=SSPI;Persist Security
Info=True;Data Source=Server1;Initial Catalog=Dynamics AX;SSPI=Kerberos </odc:
ConnectionString>
|
To use the application’s pool account for
authentication and authorization to connect to Analysis Services,
instead of the user’s credentials, you must add the following element to
the .odc file XML.
<odc:DynamicsConnectionAccount>AppPool</odc:DynamicsConnectionAccount>
|
Alternatively, if you want to connect to
Analysis Services using the application’s pool account instead of the
user’s credentials, but you still want to use the user’s name for
authorization, you must add the following element.
<odc:DynamicsConnectionAccount>AppPoolWithEffectiveUserName</odc:
DynamicsConnectionAccount>
|
Unified Worklist
The Dynamics Unified Worklist Web part in Role
Centers keeps the work flowing between people by displaying all
time-based information in one central place. The worklist allows users
to take direct action on each item.
Dynamics AX has three different pieces of
information—alerts, work items, and activities—that are time-based and
assigned to a specific user. Combining and surfacing these pieces of
information in a Unified Worklist reminds users of important information
and tasks that await their action.
The Unified Worklist provides a flexible
layout, allowing users to decide how to organize and display
information. Users can configure the worklist to display at 100 percent
or 50 percent width, depending on the layout. They can also decide
whether to display, for example, all content or just Approvals and
Tasks, Alerts, or Activities. The Unified Worklist also comes with a
toolbar, which you can turn on or off, used to filter and group items.
The Dynamics Unified Worklist Web part also comes into play when you are
using the workflow infrastructure in Dynamics AX.
Reports
The
Dynamics Report Server Report Web part is used to display Dynamics AX
reports in Role Centers that are created in Microsoft SQL Server
Reporting Services. Reporting Services reports provide rich designer
tools and flexibility that allow you to create a variety of reports
(summary reports, drill-down reports, charts, or details reports) and to
get data from a transactional database or from Analysis Services cubes.
If you need to display or link to a report or
chart in a Role Center, you must develop a Reporting Services report.
The report has to connect to OLAP or OLTP to get the data.
To build the report, you use the Dynamics AX report development tools and then create a menu item in the AOT that is of objecttype SQLReportLibraryReport
to refer to the report. Finally, you point the Dynamics Report Server
Report Web part to the menu item you’ve created in the AOT, and the
report renders in the Role Center.
The Dynamics Report Server Report Web part gets
the report name and label from the menu item that it’s pointing to.
First, it verifies whether the user has access to the menu item. If so,
the label of the menu item is set as the title for the Dynamics Report
Server Report Web part. The Web part gets the company, the user’s
language setting in Dynamics AX, the Report Manager URL, and the root
folder, and then it constructs the URL for rendering the report.
It sets the constructed URL as the URL for an
IFRAME (windowless inline floating frame) and then renders the IFRAME.
The parameters that are set in the report Web part or passed through the
query string are also set on the report.
The Dynamics Report Server Report Web part also
supports the Microsoft Office SharePoint Server (MOSS) Filter consumer
interface. So the report can be connected to a MOSS Filter, and
parameters can then be passed from the Filter Web part to the Dynamics
Report Server Report Web part.
If you need to pass parameters to the report through a query string, you can do so in the URL with this syntax:
<selector>.Parameters.<parameterName>=<parameterValue>
|
For example, in the Dynamics Report Server Report Web part, set the parameter selector value to Report1. And let’s say the report has a parameter defined with the name CashInflowvsCashOutflow_EndDate. In that case, the query string is the one shown here.
http://axepdemo/sites/DynamicsAx/Enterprise%20Portal/RoleCenterCEO.
aspx?WCMP=CEU&Report1.Parameters.CashInflowvsCashOutflow_EndDate=01/01/2009
|
The underlying report can be opened in a new
browser window by clicking Open in a New window link displayed in the
Dynamics Report Server Report Web part menu. (The Web part menu is a
drop-down menu located in the upper-right corner of the Web part.) Figure 7 shows the Dynamics Report Server Report Web part design-time and run-time rendering.
Role Centers in MOSS
All the Role Centers work with Windows
SharePoint Services, but two Role Centers light up with MOSS-specific
components that come with the Microsoft Enterprise Client Access License
(CAL): the CEO and the Sales and Marketing Executive Role Centers. If
you have MOSS Enterprise, these Role Centers use the MOSS KPI list and
filter instead of the equivalent functionality provided in the Windows
SharePoint Services version of these Role Centers. (In the Windows
SharePoint Services version of these Role Centers, that functionality is
provided by Reporting Services.)
Using MOSS for these two Role Centers offers users some benefits:
With MOSS, you can change the filter at
a page level; in Windows SharePoint Services, you need to change the
filter at the Web part level.
MOSS uses a
KPI list to display the KPIs, so the user can easily personalize the
list to add or change KPIs. Windows SharePoint Services uses Reporting
Services to display the same KPIs, so to change the KPIs you have to
edit the report.
The
other advantage of using MOSS is that you can use Excel Services or
other business intelligence components; out-of-the-box Role Centers
don’t use Excel Services. Except for this one difference, all other
built-in Role Centers behave the same way in Windows SharePoint Services
and MOSS.
KPI Lists
MOSS has built-in features that allow you to
manage and display KPI information in various ways. KPI indicators can
be derived from a variety of sources: Windows SharePoint Services lists,
Excel workbooks, data in Analysis Services, and manually entered
information. For Role Centers, KPI information from Analysis Services
can be used to quickly gauge the business access and compare the actual
value to a target value. A KPI List Web Part is a navigation component
that can be added to a Role Center, enabling the user to build an
easy-to-use selection system for the KPIs needed most often. The KPI
List Web Part provides a set of visual indicators to help the user be
more aware of current performance status. The user can also build
multiple lists, organizing KPIs based on personal criteria and
requirements specific to a role-based view of the organization.
Filter Web Parts
Filters enable dashboards to be personalized by
using shared parameters among Web parts on a dashboard. Adding a
Dynamics Report Server Report Web part or KPI list to a Role Center
renders a Reporting Services report or KPI. But what if you want to
limit (or filter) the data displayed in the Web part based on a
selection made at the page level? Filter Web parts that come with MOSS
are handy for this situation.
For example, suppose you have two Dynamics
Report Server Report Web parts on a page. Each displays a different view
of company sales data. One displays a matrix report, and one shows a
graph. It can be cumbersome to filter the date of each Web part
separately, so a Date Filter Web part could be very helpful in assigning
a date to each report at the same time.
Here’s how to use a Filter Web part: after one
or more Dynamics Report Server Report Web parts are added to the Web
page, place a Date Filter Web part on the page and connect the Filter
Web part to the Dynamics Report Server Report Web parts. This connection
is necessary so that the Dynamics Report Server Report Web parts know
when a date is entered into the Filter Web part. Once the Filter Web
part is connected to the Dynamics Report Server Report Web parts, a date
can be entered in the Filter Web part, and the reports are updated
accordingly. You could connect the Filter Web part to Analysis Services
cubes to get the possible values for the parameters. They could get the
connection from the connected Web part or from an .odc file.
4. User Profiles
A
user profile represents a persona in the customer model and a typical
user of the system. It stores the default settings and configuration
options of Role Centers for users of the same type.
Administrators create user profiles for each set
of users who perform similar job functions. For example, Accounts
Receivable Clerk is a job function or a typical user function—a
persona—and in a given company, any number of users could perform this
job function. The administrator can create one user profile for the
Accounts Receivable Clerk persona, assign a Role Center to that user
profile (a Web menu item of type URL with the HomePage property set to Yes) and add the users who perform the Accounts Receivable Clerk job to that user profile.
Associating Users with User Profiles
A system administrator assigns the user to a
user profile in either the User form (Administration\Common Forms\Users)
or in the User Profiles form (Administration\Setup\User Profiles). A
user can be assigned to the same profile in all companies, to different
user profiles in different companies, or to no profile.
When the user logs on to the system, the
corresponding Role Center is displayed, based on the user’s current
company and user profile. If the user changes the company in the
business application, the Role Center for that company for that user is
displayed. If a user isn’t associated with any user profile, the default
Role Center is displayed. You can set which Role Center page should be
used as the default Role Center in the User Profiles form in the
Dynamics AX client.
You can also copy the user profiles from one
system to another by exporting one or more of the user profiles to an
XML file in the file system or to the AOT. When you export the user
profile to the AOT, it creates a node under AOT\Resources with the name
Profile_<ProfileID>. You can then export this as an .xpo file. On
the other machine, you can import directly from the file system or from
the AOT.
The user profiles that come with
Dynamics AX are stored under AOT\Resources. Dynamics AX imports these
user profiles from the AOT into your system during the Initialize Role
Center Profiles step of the installation process. If you skipped this
step, you can always initialize it from Basic\Role Center\Initialize
Role Center Profiles.