Programmatically Profiling Users, Personalising UI, And Targeting Content To Audiences
description
Transcript of Programmatically Profiling Users, Personalising UI, And Targeting Content To Audiences
Programmatically Profiling Users, Personalising UI, And Targeting Content To AudiencesJoseph MortimerSolutions [email protected]
May 15th & 16th, 2007Sydney, Australia
Agenda
• Intro to Personalisation• Overview• Demo scenarios
– Personalising User Experience– Importing Profiles from LOB applications– Using Rich People Information
• Key Take-Aways
What is Personalisation?
Overview – Profile Store
• Screen Shot of Profile Admin site
• Image of a filter – or my coloured goggles to emphasis targeting this to me.
It’s all about ME
Personalising User Experience
• Lets build a personalised portal• Spec
– Personalise “Issues” for a customers projects– Show Me “My Issues” for a customer
• Task: Personalise “Issues List”– Use OOTB Functionality – Use Content Query Web Part– Target To Audience
Audiences and Targeting
Personalised Portal<xsl:template name="MyIssueRollup" match="Row[@Style='MyIssueRollup']" mode="itemstyle">
…………………………………………..………………………………………..<xsl:variable name="DueDate">
<xsl:value-of select="ddwrt:FormatDateTime(string(@Created),1033,'dd/MM/yyyy')"/></xsl:variable><div id="linkitem" class="item link-item">
<xsl:call-template name="OuterTemplate.CallPresenceStatusIconTemplate"/><table cellpading="0" cellspacing="0" width="100%"><tr>
<td width ="34%"><a href="{$SafeLinkUrl}" target="{$LinkTarget}" title="{@LinkToolTip}"><xsl:value-of select="$DisplayTitle"/></a>
</td><td width ="33%">
<xsl:value-of select="@Priority"/></td><td width ="33%">
<xsl:value-of select="$DueDate"/></td>
</tr></table></div>
</xsl:template>
Customise the Content Query Web Part
Best Practices and Further Work
• Use Audience OM to get user roles.• Use web part connections to transfer user identity or
user properties.• Create links to other LOB systems using BDC.
Using Social Networking
• Find a good image of networking, e.g business lunch or drinks, conferences etc
• Add shot of Data#3 networking from Staff net
Importing Profiles from LOB applications• Spec
– Import Information from the external HR system
• Task– Create the BDC to the LOB application– Configure Profile Import to use BDC data
Importing Profiles from LOB applications
External User Profiles
• Steps– Create the BDC– Create a new Profile Property– Import Data
Best Practices and Further Work
• Honour Permissions of external systems• Build a comprehensive user profile• Use the new properties for personalisation of content
Using Rich Presence Information
Rich Presence
• Task– Create Rich Presence Web Part– Use New User Profile Property– Embed JS for IM “gumdrop”
Adding Rich Presence
Rich Presenceif (userProfile["Rego"].Value != null) {
rego = "<strong>Rego:</strong>" + userProfile["Rego"].Value.ToString(); }
userWithPresence += string.Format("<div><span>" +
"<img name=\"imnmark\" onload=\"IMNRC('{0}');\"" + "ShowOfflinePawn=\"1\"" + "src=\"/_layouts/images/imnhdr.gif\"" +
"style=\"height:12px;width:12px;border-width:0px;\" />" + "</span>" +
"<a href=\"{1}\">{2} {0}</a></div>", rego, userProfile.PublicUrl.AbsoluteUri,
userProfile["PreferredName"].Value);
Key Take-Aways
• Personalise Information where appropriate by leveraging assets in Office Server
– Profiles, Privacy, Targeting, Social Network, Rollups, MySite• Role based targeting is the first step
– Preferences of user, determined by org. hierarchy or business role, using business data
• Show Rich and Relevant information about a Person– Show picture, IM/Call menu, Free/Busy, MySite profile
• Going beyond targeting of content– New and exciting scenarios are possible with social networks, people search,
rollup
•Questions?