programmatically profiling users, personalising ui, and targeting content to audiences
DESCRIPTION
Programmatically Profiling Users, Personalising UI, And Targeting Content To Audiences. May 15th & 16th, 2007 Sydney, Australia. Joseph Mortimer Solutions Architect [email protected]. Agenda. Intro to Personalisation O verview Demo scenarios Personalising User Experience - PowerPoint PPT PresentationTRANSCRIPT
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?