230 likes | 367 Views
Programmatically Profiling Users, Personalising UI, And Targeting Content To Audiences. May 15th & 16th, 2007 Sydney, Australia. Joseph Mortimer Solutions Architect joseph_mortimer@data3.com.au. Agenda. Intro to Personalisation O verview Demo scenarios Personalising User Experience
E N D
Programmatically Profiling Users, Personalising UI, And Targeting Content To Audiences May 15th & 16th, 2007Sydney, Australia Joseph Mortimer Solutions Architect joseph_mortimer@data3.com.au
Agenda • Intro to Personalisation • Overview • Demo scenarios • Personalising User Experience • Importing Profiles from LOB applications • Using Rich People Information • Key Take-Aways
Overview – Profile Store • Screen Shot of Profile Admin site
Image of a filter – or my coloured goggles to emphasis targeting this to 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
Personalised Portal Customise the Content Query Web Part <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>
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
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
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
Rich Presence • Task • Create Rich Presence Web Part • Use New User Profile Property • Embed JS for IM “gumdrop”
Rich Presence if (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