UXDE dot Net Wordpress Themes

Posts Selected From the Category "Smart Office Mashups"

Mashup – Item Master and Location Information

in Smart Office, Smart Office Mashups / No Comments

During this past Inforum event we mocked up a number of Mashups with customers interested in Mashup Designer. One of the ideas was figuring out some way to better combine the Item Master (IC11) screen with Item Location (IC12). Based on the quick designs that were tossed around in the Lab the following Mashup was developed using Mashup Designer.

In this Mashup the user is provided a list which can be used to filter and locate a specific item. When clicked, both the Item Master and Item Location screens are populated. Global actions are located in the top left which allow the user to process both forms simultaneously. Additional item information is located in a separate tab which includes some basic analysis for Stock on Hand, Allocatable quantities and Cost Details.

This video provides a high level demonstration. Source for this Mashup is also found below.  This Mashup was built in Smart Office version 10.1.

Full source is available here: ItemMasterAndLocation

 

Mashup – Employees By Position

in Smart Office, Smart Office Mashups / No Comments

Example mashup providing quick access to Employees filtered by Position. A list of Positions is provided at the top which can be filtered.  When a position is clicked the corresponding employees are listed in a list below. If a specific employee is clicked their information in HR11 is displayed to the right.

mashup_employees_by_position

 

 

Full source code available here: EmployeesByPosition

Employee Self-Service Mashup Example

in Smart Office, Smart Office Mashups / No Comments

I had a few requests within the same week to create a Mashup that employees could use inside Smart Office to access the Self-Service applications which are browser applications.

This can be done various ways, one of the easiest being to provide a set of Favorites. But the Mashup was the preferred route.

Below you will find the completed Xaml code.  There are only a few interesting parts to note:

1) Notice the use of the <<HttpServer>> constant.  This is a value understood by the Mashup and allows you to move this around from server to server and avoid using a hard-coded value.

1
<mashup:NavigationTreeMember Level="1" Label="Reg by Course" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/registrationbycourse.htm" />
<mashup:NavigationTreeMember Level="1" Label="Reg by Course" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/registrationbycourse.htm" />

 

2) The Column and Row where the NetBrowser control resides are both set to 1* and not Auto.  This allows the web page to fit nicely inside the Mashup and take up all of the existing space.

Here is the completed Xaml.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<!--
Employee Self-Service example mashup developed by Josh Geving
-->
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:ui="clr-namespace:Mango.UI.Controls;assembly=Mango.UI" xmlns:mashup="clr-namespace:Mango.UI.Services.Mashup;assembly=Mango.UI">
    <Grid.Resources>
    </Grid.Resources>
 
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="200" />
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="1*" />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="40" />
        <RowDefinition Height="1*" />
    </Grid.RowDefinitions>
 
<!-- An example of an optional menu bar, could be removed if no menu bar will be used -->
    <!--
    <StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal" HorizontalAlignment="Stretch" Height="40" 
                     Style="{DynamicResource styleBackgroundApplicationBarMashup}">
        <Menu>
            <MenuItem Header="_File">
                <MenuItem Header="_New" />
                <Separator />
                <MenuItem Header="_Save" />
            </MenuItem>
        </Menu>
    </StackPanel>
    -->
 
    <mashup:NavigationTree Name="NavTree" Grid.Column="0" Grid.Row="1">
        <mashup:NavigationTree.Members>
            <mashup:NavigationTreeMembers>
 
                <mashup:NavigationTreeMember Level="0" Label="Credentials">
                    <mashup:NavigationTreeMember.Members>
                        <mashup:NavigationTreeMembers>
                            <mashup:NavigationTreeMember Level="1" Label="Career Management" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/careermanagement/employee/mainWinCheesecake.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Competency Profile" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/credentials/ecpmain.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Contract Balances" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/contractbalances.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Professional Profile" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/credentials/pp.htm" />
                        </mashup:NavigationTreeMembers>
                    </mashup:NavigationTreeMember.Members>
                </mashup:NavigationTreeMember>
 
                <mashup:NavigationTreeMember Level="0" Label="Employment">
                    <mashup:NavigationTreeMember.Members>
                        <mashup:NavigationTreeMembers>
                            <mashup:NavigationTreeMember Level="1" Label="Job Postings" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/pajobreq.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Job Profile" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/jobprofile.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Jobs Applied For" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/pareqapp.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Phone Book" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/phonebook.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Policy Manual" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/policybook.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="ReviewHistory" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/reviewhist.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Work Phone" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/empphone.htm" />
                        </mashup:NavigationTreeMembers>
                    </mashup:NavigationTreeMember.Members>
                </mashup:NavigationTreeMember>
 
                <mashup:NavigationTreeMember Level="0" Label="Life Events">
                    <mashup:NavigationTreeMember.Members>
                        <mashup:NavigationTreeMembers>
                            <mashup:NavigationTreeMember Level="1" Label="Life Events" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/lifeevents_splash.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Adoption" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/adoption.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Birth" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/birth.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Divorce" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/divorce.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Legal Separation" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/legalsep.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Marriage" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/marriage.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Move" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/homeaddress.htm?from=lifeevents" />
                            <mashup:NavigationTreeMember Level="1" Label="Spouse Employment" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/spouseemployment.htm" />
                        </mashup:NavigationTreeMembers>
                    </mashup:NavigationTreeMember.Members>
                </mashup:NavigationTreeMember>
 
                <mashup:NavigationTreeMember Level="0" Label="Pay">
                    <mashup:NavigationTreeMember.Members>
                        <mashup:NavigationTreeMembers>
                            <mashup:NavigationTreeMember Level="1" Label="Direct Deposit" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/directdeposit/ddmain.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Org Chart" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/orgchart.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Pay Checks" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/paychecks.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Pay Rate History" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/payratehistory.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Payment Modeling" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/paymentmodeling.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Tax Withholding" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/w4/taxwithholding.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Year To Date" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/yeartodate.htm" />
                        </mashup:NavigationTreeMembers>
                    </mashup:NavigationTreeMember.Members>
                </mashup:NavigationTreeMember>
 
                <mashup:NavigationTreeMember Level="0" Label="Personal Info">
                    <mashup:NavigationTreeMember.Members>
                        <mashup:NavigationTreeMembers>
                            <mashup:NavigationTreeMember Level="1" Label="Certifications" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/qualifications.htm?type=crt" />
                            <mashup:NavigationTreeMember Level="1" Label="Competencies" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/qualifications.htm?type=cmp" />
                            <mashup:NavigationTreeMember Level="1" Label="Dependents" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/dependentsmain.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Education" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/qualifications.htm?type=edu" />
                            <mashup:NavigationTreeMember Level="1" Label="Emergency" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/emergencycontacts.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Ethnicity" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/ethnicity.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Leave Balances" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/leavebalancebegin.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Marital Status" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/maritalstatus.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Military Status" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/military.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Nickname" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/nickname.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Personal Profile" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/emppersonal.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Veteran Status" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/veteran.htm" />
                        </mashup:NavigationTreeMembers>
                    </mashup:NavigationTreeMember.Members>
                </mashup:NavigationTreeMember>
 
                <mashup:NavigationTreeMember Level="0" Label="Time Entry">
                    <mashup:NavigationTreeMember.Members>
                        <mashup:NavigationTreeMembers>
                            <mashup:NavigationTreeMember Level="1" Label="Daily" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/timeentry/employee/timeentry.htm?type=daily" />
                            <mashup:NavigationTreeMember Level="1" Label="Exception Entry" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/timeentry/exception/exception.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Period Entry" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/timeentry/employee/timeentry.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Print Time Entry" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/timeentry/employee/printtime.htm" />
                        </mashup:NavigationTreeMembers>
                    </mashup:NavigationTreeMember.Members>
                </mashup:NavigationTreeMember>
 
                <mashup:NavigationTreeMember Level="0" Label="Training">
                    <mashup:NavigationTreeMember.Members>
                        <mashup:NavigationTreeMembers>
                            <mashup:NavigationTreeMember Level="1" Label="Reg by Category" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/registrationbycategory.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Reg by Course" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/registrationbycourse.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Reg by Tracks" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/registrationbytrack.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Required Training" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/patrnreq.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Scheduled Training" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/paregister.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Training History" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/patrnhist.htm" />
                        </mashup:NavigationTreeMembers>
                    </mashup:NavigationTreeMember.Members>
                </mashup:NavigationTreeMember>
 
                <mashup:NavigationTreeMember Level="0" Label="Retirement">
                    <mashup:NavigationTreeMember.Members>
                        <mashup:NavigationTreeMembers>
                            <mashup:NavigationTreeMember Level="1" Label="Stock Options" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/stockoptions/employee/shr064.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Savings Modeling" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/401k/401k.htm" />
                            <mashup:NavigationTreeMember Level="1" Label="Goal View" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/goalmanagementemployee.html" />
                        </mashup:NavigationTreeMembers>
                    </mashup:NavigationTreeMember.Members>
                </mashup:NavigationTreeMember>
 
            </mashup:NavigationTreeMembers>
        </mashup:NavigationTree.Members>
    </mashup:NavigationTree>
 
    <mashup:NetBrowser Name="NetBrowser" Grid.Column="2" StartUri="http://go2.infor.com/brand/images/logo_animation.gif" Margin="5" Grid.Row="1">
        <mashup:NetBrowser.Events>
            <mashup:Events>
                <mashup:Event SourceName="NavTree" TargetName="NetBrowser" SourceEventName="CurrentItemChanged" TargetEventName="Navigate" Activate="NetBrowser">
                    <mashup:Parameter SourceKey="Uri" TargetKey="Uri" />
                </mashup:Event>
            </mashup:Events>
        </mashup:NetBrowser.Events>
    </mashup:NetBrowser>
    <GridSplitter Name="Splitter" Style="{DynamicResource styleGridSplitterVerticalMashup}" Grid.Column="1" Grid.Row="1" />
    <Label Name="TitleLabel" Content="Employee Self-Service" Style="{DynamicResource styleGroupBoxHeaderMashup}" Margin="5" />
</Grid>
<!--
Employee Self-Service example mashup developed by Josh Geving
-->
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:ui="clr-namespace:Mango.UI.Controls;assembly=Mango.UI" xmlns:mashup="clr-namespace:Mango.UI.Services.Mashup;assembly=Mango.UI">
	<Grid.Resources>
	</Grid.Resources>

	<Grid.ColumnDefinitions>
		<ColumnDefinition Width="200" />
		<ColumnDefinition Width="Auto" />
		<ColumnDefinition Width="1*" />
	</Grid.ColumnDefinitions>
	<Grid.RowDefinitions>
		<RowDefinition Height="40" />
		<RowDefinition Height="1*" />
	</Grid.RowDefinitions>

<!-- An example of an optional menu bar, could be removed if no menu bar will be used -->
	<!--
	<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal" HorizontalAlignment="Stretch" Height="40" 
					 Style="{DynamicResource styleBackgroundApplicationBarMashup}">
		<Menu>
			<MenuItem Header="_File">
				<MenuItem Header="_New" />
				<Separator />
				<MenuItem Header="_Save" />
			</MenuItem>
		</Menu>
	</StackPanel>
	-->

	<mashup:NavigationTree Name="NavTree" Grid.Column="0" Grid.Row="1">
		<mashup:NavigationTree.Members>
			<mashup:NavigationTreeMembers>

				<mashup:NavigationTreeMember Level="0" Label="Credentials">
					<mashup:NavigationTreeMember.Members>
						<mashup:NavigationTreeMembers>
							<mashup:NavigationTreeMember Level="1" Label="Career Management" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/careermanagement/employee/mainWinCheesecake.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Competency Profile" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/credentials/ecpmain.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Contract Balances" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/contractbalances.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Professional Profile" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/credentials/pp.htm" />
						</mashup:NavigationTreeMembers>
					</mashup:NavigationTreeMember.Members>
				</mashup:NavigationTreeMember>

				<mashup:NavigationTreeMember Level="0" Label="Employment">
					<mashup:NavigationTreeMember.Members>
						<mashup:NavigationTreeMembers>
							<mashup:NavigationTreeMember Level="1" Label="Job Postings" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/pajobreq.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Job Profile" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/jobprofile.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Jobs Applied For" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/pareqapp.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Phone Book" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/phonebook.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Policy Manual" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/policybook.htm" />
							<mashup:NavigationTreeMember Level="1" Label="ReviewHistory" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/reviewhist.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Work Phone" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/empphone.htm" />
						</mashup:NavigationTreeMembers>
					</mashup:NavigationTreeMember.Members>
				</mashup:NavigationTreeMember>

				<mashup:NavigationTreeMember Level="0" Label="Life Events">
					<mashup:NavigationTreeMember.Members>
						<mashup:NavigationTreeMembers>
							<mashup:NavigationTreeMember Level="1" Label="Life Events" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/lifeevents_splash.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Adoption" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/adoption.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Birth" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/birth.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Divorce" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/divorce.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Legal Separation" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/legalsep.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Marriage" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/marriage.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Move" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/homeaddress.htm?from=lifeevents" />
							<mashup:NavigationTreeMember Level="1" Label="Spouse Employment" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/spouseemployment.htm" />
						</mashup:NavigationTreeMembers>
					</mashup:NavigationTreeMember.Members>
				</mashup:NavigationTreeMember>

				<mashup:NavigationTreeMember Level="0" Label="Pay">
					<mashup:NavigationTreeMember.Members>
						<mashup:NavigationTreeMembers>
							<mashup:NavigationTreeMember Level="1" Label="Direct Deposit" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/directdeposit/ddmain.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Org Chart" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/orgchart.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Pay Checks" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/paychecks.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Pay Rate History" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/payratehistory.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Payment Modeling" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/paymentmodeling.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Tax Withholding" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/w4/taxwithholding.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Year To Date" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/yeartodate.htm" />
						</mashup:NavigationTreeMembers>
					</mashup:NavigationTreeMember.Members>
				</mashup:NavigationTreeMember>

				<mashup:NavigationTreeMember Level="0" Label="Personal Info">
					<mashup:NavigationTreeMember.Members>
						<mashup:NavigationTreeMembers>
							<mashup:NavigationTreeMember Level="1" Label="Certifications" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/qualifications.htm?type=crt" />
							<mashup:NavigationTreeMember Level="1" Label="Competencies" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/qualifications.htm?type=cmp" />
							<mashup:NavigationTreeMember Level="1" Label="Dependents" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/dependentsmain.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Education" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/qualifications.htm?type=edu" />
							<mashup:NavigationTreeMember Level="1" Label="Emergency" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/emergencycontacts.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Ethnicity" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/ethnicity.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Leave Balances" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/leavebalancebegin.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Marital Status" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/maritalstatus.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Military Status" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/military.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Nickname" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/nickname.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Personal Profile" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/emppersonal.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Veteran Status" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/veteran.htm" />
						</mashup:NavigationTreeMembers>
					</mashup:NavigationTreeMember.Members>
				</mashup:NavigationTreeMember>

				<mashup:NavigationTreeMember Level="0" Label="Time Entry">
					<mashup:NavigationTreeMember.Members>
						<mashup:NavigationTreeMembers>
							<mashup:NavigationTreeMember Level="1" Label="Daily" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/timeentry/employee/timeentry.htm?type=daily" />
							<mashup:NavigationTreeMember Level="1" Label="Exception Entry" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/timeentry/exception/exception.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Period Entry" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/timeentry/employee/timeentry.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Print Time Entry" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/timeentry/employee/printtime.htm" />
						</mashup:NavigationTreeMembers>
					</mashup:NavigationTreeMember.Members>
				</mashup:NavigationTreeMember>

				<mashup:NavigationTreeMember Level="0" Label="Training">
					<mashup:NavigationTreeMember.Members>
						<mashup:NavigationTreeMembers>
							<mashup:NavigationTreeMember Level="1" Label="Reg by Category" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/registrationbycategory.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Reg by Course" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/registrationbycourse.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Reg by Tracks" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/registrationbytrack.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Required Training" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/patrnreq.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Scheduled Training" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/paregister.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Training History" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/patrnhist.htm" />
						</mashup:NavigationTreeMembers>
					</mashup:NavigationTreeMember.Members>
				</mashup:NavigationTreeMember>

				<mashup:NavigationTreeMember Level="0" Label="Retirement">
					<mashup:NavigationTreeMember.Members>
						<mashup:NavigationTreeMembers>
							<mashup:NavigationTreeMember Level="1" Label="Stock Options" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/stockoptions/employee/shr064.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Savings Modeling" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/401k/401k.htm" />
							<mashup:NavigationTreeMember Level="1" Label="Goal View" Uri="&lt;&lt;HttpServer&gt;&gt;/lawson/xhrnet/goalmanagementemployee.html" />
						</mashup:NavigationTreeMembers>
					</mashup:NavigationTreeMember.Members>
				</mashup:NavigationTreeMember>

			</mashup:NavigationTreeMembers>
		</mashup:NavigationTree.Members>
	</mashup:NavigationTree>

	<mashup:NetBrowser Name="NetBrowser" Grid.Column="2" StartUri="http://go2.infor.com/brand/images/logo_animation.gif" Margin="5" Grid.Row="1">
		<mashup:NetBrowser.Events>
			<mashup:Events>
				<mashup:Event SourceName="NavTree" TargetName="NetBrowser" SourceEventName="CurrentItemChanged" TargetEventName="Navigate" Activate="NetBrowser">
					<mashup:Parameter SourceKey="Uri" TargetKey="Uri" />
				</mashup:Event>
			</mashup:Events>
		</mashup:NetBrowser.Events>
	</mashup:NetBrowser>
	<GridSplitter Name="Splitter" Style="{DynamicResource styleGridSplitterVerticalMashup}" Grid.Column="1" Grid.Row="1" />
	<Label Name="TitleLabel" Content="Employee Self-Service" Style="{DynamicResource styleGroupBoxHeaderMashup}" Margin="5" />
</Grid>

 

 

Mashups Inside Form Tabs, and the Ability to Pass Data to Them

in Smart Office, Smart Office Mashups / No Comments

Beginning in Smart Office version 10.0.4.1 you have the ability to place Mashups inside form tabs (Browser Tabs). Of course, to make them contextual you also have the ability to pass data from the form to the mashup. This capability opens up a whole world of exciting possibilities. Think about it. Mashups allow you to bring together various parts of the ecosystem and bring them together to form a new application for the user. With this feature, you are bringing the Mashup to the form, where the user is already working, rather than bringing the form to the Mashup. In the end it is another tool you can use to help the user do their job more efficiently.

The following are the basic details to embed a Mashup inside a form tab and pass data from the form to the Mashup. Specific details may be refined in future versions of Smart Office, but the functionality is here to stay.

In this simple example we are going to create a List View for AP10.2 and embed it inside a tab on AP10.1. The List View has two keys we are intersted in VENDOR-GROUP and VENDOR. We will use these to filter the List View based on the form data. We call the List Panel “Locations” which we will reference later on when we add the Brower Tab to the form. The last step in the Designer is to create one empty event for the List Panel against the Global > Startup which looks like this:

Future versions of LSO should no longer require this

Next we create the Browser tab on AP10, we are calling this Locations.  The url we are going to enter is as follows:

mashup:///?BaseUri=Tab.mashup&RelativeUri=tab.xaml&Locations=VENDOR-GROUP:<VEN-VENDOR-GROUP>;VENDOR:<VEN-VENDOR>

I always let the system create the initial shortcut for me by dragging the Mashup from the Navigation Panel out to the Canvas, then check the Settings. The system will give you something like this:

mashup:///?BaseUri=Tab.mashup&RelativeUri=tab.xaml

We are adding the following to pass the values:

&Locations=VENDOR-GROUP:<VEN-VENDOR-GROUP>;VENDOR:<VEN-VENDOR>

Locations is the name of the List View control in the Mashup. The remaining are sets of name/value pairs telling it what to pass over to the Mashup.

In the end you should have something that looks like this:

As the user proceeds through the records the values from the form are passed into the Mashup and the List View is filtered accordingly.

 

 

Using a Mashup to Provide Data for a Process Flow

in Lawson, Smart Office, Smart Office Mashups / No Comments

In this example we are using a mashup created with the Mashup Designer to provide a user with a form. The purpose of the form is to collect information from the user and pass it into a waiting Process Flow Service. From there you can do whatever you need with the data.  Specifically, this example is for an employee to select another employee to act as proxy while they are away.

Needs
  1. Default the current employee value into the employee field
  2. Provide the user with an ability to select another employee
  3. Provide date fields for start and end dates

The end result looks like this:

Here is where the user is allowed a select on Employee using a standard S3 Drillselect:

Date select in action:

After submitting the form:

The resulting data in an email sent from an email node in Process Flow.

Here is the completed xaml code where I have inserted comments for all important areas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<!--
Mashup Designer Example
Created by:     Josh Geving - Solutions Group
 
Description:    Simple Mashup form which provides an employee a form to select another employee
                    to act as a proxy. Form includes one defaulted value from user context, two date select
                    fields and an S3 Drillselect fro an employee value.  These values are passed to a waiting
                    Process Flow Service called EmployeeProxy (not included).
 
Last Tested:    LSO 9.1.3.7 - Mashup Designer 10.0.0
-->
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:ui="clr-namespace:Mango.UI.Controls;assembly=Mango.UI" xmlns:mashup="clr-namespace:Mango.UI.Services.Mashup;assembly=Mango.UI" xmlns:ps="clr-namespace:PF.Client.Mashup;assembly=PF.Client" xmlns:s3="clr-namespace:S3.Client.Mashup;assembly=S3.Client" Name="MainGrid">
    <Grid.Resources>
    </Grid.Resources>
 
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="1*" />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="40" />
        <RowDefinition Height="30" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
 
<!-- An example of an optional menu bar, could be removed if no menu bar will be used -->
    <!--
    <StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal" HorizontalAlignment="Stretch" Height="40"
                     Style="{DynamicResource styleBackgroundApplicationBarMashup}">
        <Menu>
            <MenuItem Header="_File">
                <MenuItem Header="_New" />
                <Separator />
                <MenuItem Header="_Save" />
            </MenuItem>
        </Menu>
    </StackPanel>
    -->
 
    <!-- begin the tirgger panel tied to a Service and including VariableNames -->
    <ps:TriggerPanel Name="TriggerPanel" Service="EmployeeProxy" DataArea="LIVE" IsDataAreaInSession="True" VariableNames="COMMENT,ENDDATE,ORIGEMPLOYEE,PROXYEMPLOYEE,STARTDATE" MandatoryVariableNames="COMMENT,ORIGEMPLOYEE,PROXYEMPLOYEE,STARTDATE,ENDDATE" CriteriaName1="Criteria 1" CriteriaName2="Criteria 2" CriteriaName3="Criteria 3" Margin="20" Grid.Column="0" Grid.Row="2">
        <ps:TriggerPanel.Events>
            <!-- an event on Initialized to FillForm which allows us to set a value from the User Context (employee) -->
            <mashup:Events>
                <mashup:Event SourceName="TriggerPanel" SourceEventName="Initialized" TargetName="TriggerPanel" TargetEventName="FillForm">
                    <mashup:Parameter TargetKey="COMMENT" />
                    <mashup:Parameter TargetKey="ENDDATE" />
                    <mashup:Parameter TargetKey="ORIGEMPLOYEE" Value="{mashup:UserContextValue Path=S3/employee}" />
                    <mashup:Parameter TargetKey="PROXYEMPLOYEE" />
                    <mashup:Parameter TargetKey="STARTDATE" />
                </mashup:Event>
            </mashup:Events>
        </ps:TriggerPanel.Events>
 
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="8" />
                <ColumnDefinition Width="200" />
                <ColumnDefinition Width="100" />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>
 
            <!-- label and textbox to display the user context employee value, IsEnabled set to false to prevent user entry -->
            <Label Content="Employee" Grid.Row="0" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center" />
            <TextBox Text="{Binding [ORIGEMPLOYEE]}" Width="100" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="2" Name="EmployeeComboBox" IsEnabled="False" Margin="10" />
 
            <!-- label and drill select which is a standard S3 drill select, bound to PROXYEMPLOYEE -->
            <Label Content="Proxy Employee" Grid.Row="1" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center" />
            <s3:DrillSelectTextBox Text="{Binding [PROXYEMPLOYEE]}" Grid.Row="1" Grid.Column="2" Name="EmployeeSelect" Token="HR11.1" SystemCode="HR" KeyNumber="H07" KeyString="01=1" Height="12" IsSelectable="True" Margin="10" TrimValues="True" />
 
            <!-- label and datepicker, the key prt of this is to use SelectedDate for the Binding -->
            <Label Content="Start Date" Grid.Row="2" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center" />
            <DatePicker SelectedDate="{Binding [STARTDATE]}" Grid.Row="2" Grid.Column="2" HorizontalAlignment="Left" Name="startDate" VerticalAlignment="Top" Margin="5" Width="120" />
 
            <!-- label and datepicker, the key prt of this is to use SelectedDate for the Binding -->
            <Label Content="End Date" Grid.Row="3" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center" />
            <DatePicker SelectedDate="{Binding [ENDDATE]}" Grid.Row="3" Grid.Column="2" HorizontalAlignment="Left" Name="endDate" VerticalAlignment="Top" Margin="5" Width="120" />
 
            <!-- label and textbox for the comment -->
            <Label Content="Comment" Grid.Row="4" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center" />
            <TextBox Grid.Row="4" Grid.ColumnSpan="2" Name="CommentTextBox" Grid.Column="2" HorizontalAlignment="Stretch" VerticalAlignment="Center" Text="{Binding [COMMENT]}" Margin="10" IsEnabled="True" />
 
            <!-- button with an event to trigger the flow -->
            <Button Grid.Row="5" Grid.ColumnSpan="3" HorizontalAlignment="Right" Content="Submit Proxy Request" Width="150" VerticalAlignment="Center" Margin="0,8,0,0">
                <Button.CommandParameter>
                    <mashup:Events>
                        <mashup:Event TargetEventName="TriggerFlow" TargetName="TriggerPanel" />
                    </mashup:Events>
                </Button.CommandParameter>
            </Button>
        </Grid>
    </ps:TriggerPanel>
 
    <!-- two additional labels up in the header for the user -->
    <Label Name="MainLabel" Content="Employee Proxy Request" Style="{DynamicResource styleGroupBoxHeaderMashup}" Margin="10,10,0,0" Grid.Column="0" Grid.Row="0" />
    <Label Name="SecondaryLabel" Content="Please fill in all fields below and submit your request" Grid.Column="0" Grid.Row="1" Margin="20,0,0,0" />
</Grid>
<!--
Mashup Designer Example
Created by: 	Josh Geving - Solutions Group

Description: 	Simple Mashup form which provides an employee a form to select another employee
					to act as a proxy. Form includes one defaulted value from user context, two date select
					fields and an S3 Drillselect fro an employee value.  These values are passed to a waiting
					Process Flow Service called EmployeeProxy (not included).

Last Tested: 	LSO 9.1.3.7 - Mashup Designer 10.0.0
-->
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:ui="clr-namespace:Mango.UI.Controls;assembly=Mango.UI" xmlns:mashup="clr-namespace:Mango.UI.Services.Mashup;assembly=Mango.UI" xmlns:ps="clr-namespace:PF.Client.Mashup;assembly=PF.Client" xmlns:s3="clr-namespace:S3.Client.Mashup;assembly=S3.Client" Name="MainGrid">
	<Grid.Resources>
	</Grid.Resources>

	<Grid.ColumnDefinitions>
		<ColumnDefinition Width="1*" />
	</Grid.ColumnDefinitions>
	<Grid.RowDefinitions>
		<RowDefinition Height="40" />
		<RowDefinition Height="30" />
		<RowDefinition Height="Auto" />
	</Grid.RowDefinitions>

<!-- An example of an optional menu bar, could be removed if no menu bar will be used -->
	<!--
	<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal" HorizontalAlignment="Stretch" Height="40"
					 Style="{DynamicResource styleBackgroundApplicationBarMashup}">
		<Menu>
			<MenuItem Header="_File">
				<MenuItem Header="_New" />
				<Separator />
				<MenuItem Header="_Save" />
			</MenuItem>
		</Menu>
	</StackPanel>
	-->

	<!-- begin the tirgger panel tied to a Service and including VariableNames -->
	<ps:TriggerPanel Name="TriggerPanel" Service="EmployeeProxy" DataArea="LIVE" IsDataAreaInSession="True" VariableNames="COMMENT,ENDDATE,ORIGEMPLOYEE,PROXYEMPLOYEE,STARTDATE" MandatoryVariableNames="COMMENT,ORIGEMPLOYEE,PROXYEMPLOYEE,STARTDATE,ENDDATE" CriteriaName1="Criteria 1" CriteriaName2="Criteria 2" CriteriaName3="Criteria 3" Margin="20" Grid.Column="0" Grid.Row="2">
		<ps:TriggerPanel.Events>
			<!-- an event on Initialized to FillForm which allows us to set a value from the User Context (employee) -->
			<mashup:Events>
				<mashup:Event SourceName="TriggerPanel" SourceEventName="Initialized" TargetName="TriggerPanel" TargetEventName="FillForm">
					<mashup:Parameter TargetKey="COMMENT" />
					<mashup:Parameter TargetKey="ENDDATE" />
					<mashup:Parameter TargetKey="ORIGEMPLOYEE" Value="{mashup:UserContextValue Path=S3/employee}" />
					<mashup:Parameter TargetKey="PROXYEMPLOYEE" />
					<mashup:Parameter TargetKey="STARTDATE" />
				</mashup:Event>
			</mashup:Events>
		</ps:TriggerPanel.Events>

		<Grid>
			<Grid.ColumnDefinitions>
				<ColumnDefinition Width="Auto" />
				<ColumnDefinition Width="8" />
				<ColumnDefinition Width="200" />
				<ColumnDefinition Width="100" />
			</Grid.ColumnDefinitions>
			<Grid.RowDefinitions>
				<RowDefinition Height="Auto" />
				<RowDefinition Height="Auto" />
				<RowDefinition Height="Auto" />
				<RowDefinition Height="Auto" />
				<RowDefinition Height="Auto" />
				<RowDefinition Height="Auto" />
			</Grid.RowDefinitions>

			<!-- label and textbox to display the user context employee value, IsEnabled set to false to prevent user entry -->
			<Label Content="Employee" Grid.Row="0" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center" />
			<TextBox Text="{Binding [ORIGEMPLOYEE]}" Width="100" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="2" Name="EmployeeComboBox" IsEnabled="False" Margin="10" />

			<!-- label and drill select which is a standard S3 drill select, bound to PROXYEMPLOYEE -->
			<Label Content="Proxy Employee" Grid.Row="1" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center" />
			<s3:DrillSelectTextBox Text="{Binding [PROXYEMPLOYEE]}" Grid.Row="1" Grid.Column="2" Name="EmployeeSelect" Token="HR11.1" SystemCode="HR" KeyNumber="H07" KeyString="01=1" Height="12" IsSelectable="True" Margin="10" TrimValues="True" />

			<!-- label and datepicker, the key prt of this is to use SelectedDate for the Binding -->
			<Label Content="Start Date" Grid.Row="2" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center" />
			<DatePicker SelectedDate="{Binding [STARTDATE]}" Grid.Row="2" Grid.Column="2" HorizontalAlignment="Left" Name="startDate" VerticalAlignment="Top" Margin="5" Width="120" />

			<!-- label and datepicker, the key prt of this is to use SelectedDate for the Binding -->
			<Label Content="End Date" Grid.Row="3" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center" />
			<DatePicker SelectedDate="{Binding [ENDDATE]}" Grid.Row="3" Grid.Column="2" HorizontalAlignment="Left" Name="endDate" VerticalAlignment="Top" Margin="5" Width="120" />

			<!-- label and textbox for the comment -->
			<Label Content="Comment" Grid.Row="4" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center" />
			<TextBox Grid.Row="4" Grid.ColumnSpan="2" Name="CommentTextBox" Grid.Column="2" HorizontalAlignment="Stretch" VerticalAlignment="Center" Text="{Binding [COMMENT]}" Margin="10" IsEnabled="True" />

			<!-- button with an event to trigger the flow -->
			<Button Grid.Row="5" Grid.ColumnSpan="3" HorizontalAlignment="Right" Content="Submit Proxy Request" Width="150" VerticalAlignment="Center" Margin="0,8,0,0">
				<Button.CommandParameter>
					<mashup:Events>
						<mashup:Event TargetEventName="TriggerFlow" TargetName="TriggerPanel" />
					</mashup:Events>
				</Button.CommandParameter>
			</Button>
		</Grid>
	</ps:TriggerPanel>

	<!-- two additional labels up in the header for the user -->
	<Label Name="MainLabel" Content="Employee Proxy Request" Style="{DynamicResource styleGroupBoxHeaderMashup}" Margin="10,10,0,0" Grid.Column="0" Grid.Row="0" />
	<Label Name="SecondaryLabel" Content="Please fill in all fields below and submit your request" Grid.Column="0" Grid.Row="1" Margin="20,0,0,0" />
</Grid>

.

Retrieving User Profile Values in a Mashup

in Lawson, Smart Office, Smart Office Mashups / No Comments

The S3 application User Profile values are available from within a Mashup using the following syntax:

1
2
3
<Label Content="{mashup:UserContextValue Path=S3/id}" />
 
//id is an attribute returned by Profile denoting the user id
<Label Content="{mashup:UserContextValue Path=S3/id}" />

//id is an attribute returned by Profile denoting the user id

Using this same syntax it is possible to retrieve these other useful values:

  • email
  • firstname
  • lastname
  • name
  • productline
  • employee
  • vendor
  • vendor_group
  • company

Of course you can view the full list against your applications using the following:

http://<server>/servlet/Profile?