SharePoint 2007 Personalization Framework
I find that nearly all my customers want some level of personalization and targeting in their portals and web sites. It seems the world today is filled with so much information one of our biggest problems is information overload. The audiences feature in SharePoint was created specifically to allow information to be targeted to only those it is relevant to. The biggest problem I seem to face when trying to use the audiences feature in SharePoint is where do I get the data from? A lot of times customers want data that doesn't exist in their Active Directory, PeopleSoft, or other systems. Sometimes this information is there but isn't reliable or isn't updated frequently. To combat this problem I created a SharePoint solution that I call the Personalization Framework. What this framework provides is an easy way to allow users to update their SharePoint 2007 profile at the site collection level. It also provides a mechanism to allow the site collection owner to force users to enter information into their profiles. Here is a quick breakdown of how this feature works.
Create the properties you want to profile by in the Shared Services admin, choice type works the best
Install the solution package
Activate the Site Collection Feature
Upon activation a list is created called "Personalization Properties" that has two fields, "Title" and "ForceEntry"
For each profile property that you want to use targeting for add an item to this list. The name must match the Name of the property in the Shared Service Profile Properties. If you want the user to be forced to enter this information check the "ForceEntry" box
If this property is of the type choice groups will be created automatically in the site collection for targeting purposes
If you want to make use of the force entry property you must add the "PropertyChecker" control to your masterpage with the following line at the top of the page
<%@ Register TagPrefix="PPF" TagName="PropertyChecker" src="https://blogs.msdn.com/_controltemplates/PersonalizationFramework/PropertyChecker.ascx" mce_src="https://blogs.msdn.com/_controltemplates/PersonalizationFramework/PropertyChecker.ascx" %>
And then include the control at the top of the masterpage
<PPF:PropertyChecker runat="server"/>
After that you should be all set to have users start entering information into their SharePoint 2007 profile without having to go to their My Site Profile. If you want to use this information to target content simply use the built in audience targeting feature and target content at one of the groups that got created when you chose a property to monitor.
Download the code and solution package here
Here is a sample screen shot of the edit properties page that the user would see. Force Entry properties get red asterisk to indicate they are required.
Here is a sample screen shot of what the admin would see when editing the properties list.
Comments
Anonymous
March 17, 2008
Hi, I'm trying a test here...but install.bat doesn't exists...instead of there are a install.txt with the following content: "FILE QUARANTINED Microsoft IT has removed PersonalizationFramework.zi_->Install.bat since it has been found to match the FILE FILTER= unnamed: <in>*.bat file filter."Anonymous
March 17, 2008
The comment has been removedAnonymous
March 18, 2008
Hi Nils, install.bat is simply a file that automates installation of the feature and GAC deployment. I will update the files but you should be able to install the solution manually or use the included solution package for now. -JoshAnonymous
June 26, 2008
Josh, I like the idea here because personalization is powerful and AD is often out of date. You might want to check that first screen shot. Looks like you tried to mask the company name, but it still shows in the address bar and the tab title. Tom