Sharepoint 2010 – My Sites

In deze vijfde post in de User Profile Service series ga ik in op de 'My Sites'. Eerdere posts in deze serie:

http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-user-profile-service.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-import.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-export.aspx
http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/08/sharepoint-2010-social-tags-notes-en-user-ratings.aspx

In het aantal en type componenten rondom 'My Sites' is eigenlijk weinig veranderd in 2010. Onderstaande afbeelding geeft deze schematisch weer.

Het begint bij de gebruiker die via browser of client applicatie verbinding maakt met bijvoorbeeld een teamsite binnen een web applicatie. Door vervolgens de standaard 'My Site' web control te gebruiken, wordt er een call naar de User Profile Service gemaakt om de 'Trusted My Site Host location' voor de gebruiker op te halen. Deze wordt vervolgens doorgestuurd naar een lokale of remote 'My Site Host'.

De 'My Site Host' is gebaseerd op de SPSMSITEHOST site definitie en bevat een default.aspx pagina die content toont vanuit de desbetreffende My Site, en profiel van de gebruiker. Deze pagina wordt standaard getoond, en bevat de 'What's New' webpart, welke een News Feed toont met recente activiteiten van de gebruiker en directe collega's.

Ook host deze site de profiel pagina (person.aspx), waar gebruikers de profielen van henzelf en anderen kunnen zien, en mogelijk wijzigen, wanneer zij kiezen voor de 'My Profile' link . Door middel van de 'My Content' link, komt men op hun eigen 'My Site' uit.

De 'My Site', gebaseerd op de SPSMSITE site definitie, is een persoonlijke site voor de gebruiker. De gebruiker is hiervan 'site owner' en 'site collection administrator', en kan er dus mee doen wat hij/zij wil.

Een laatste component wat in een lokale deployment meespeelt is de 'Timer Service'. Deze beheert via de 'My Site Cleanup' en 'User Profile Service – My Site Suggestions Email Job' timer jobs de My Sites. Zo zorgt de Cleanup job ervoor dat, na verwijdering van een profiel uit de Profile Database, de manager van deze persoon de volledige rechten krijgt, en een email notificatie. De Suggestions job stuurt periodiek een email met bepaalde 'suggesties' rondom Keywords en Collega's wanneer het profiel langer dan een maand niet van updates is voorzien.

In een global deployment wordt een gebruiker op basis van zijn of haar 'Trusted My Site Host location' mogelijk doorgestuurd naar een remote farm. Het probleem hierbij is dat Social- en Profiel Data dynamisch is, en verschilt per farm. Om dit tegen te gaan is er – net als in 2007 – de optionele 'User Profile Replication Engine' welke gebruikt wordt om Social Data als Tags en keywords, en profiel data te repliceren tussen twee User Profile Service Applications.

De sites

Zoals gezegd spelen er twee belangrijke sites mee, namelijk de 'My Site' zelf en de 'My Site Host'. Zoals gezegd is de 'My Site' zelf redelijk basic gebleven, en is er niet heel veel gewijzigd ten opzichte van 2007. Het is een simpele site met een tweetal document libraries 'Shared Documents' en 'Personal Documents'. Deze zijn bedoeld voor het opslaan van privé documenten, en documenten die gedeeld kunnen worden met anderen. Het grote verschil met 2007, is dat de MySite root site, eigenlijk niet direct toegankelijk is voor anderen, ook al heeft 'NT AUTHORITY\AUTHENTICATED USERS' read rechten op de site. Gebruikers worden door een speciaal web control doorgestuurd naar de Person.aspx profiel pagina van de 'My Site Host', welke geaggregeerde data laat zien van de eigenlijke 'My Site'. Via het breken van de overerving van rechten (Limited Access) kan je wel direct rechten toekennen aan lijsten en items, die wel direct toegankelijk zijn (een veelgebruikte toepassing zullen Discussion Boards zijn). De My Site root zal alleen direct gebruikt worden door de eigenaar van de site.

De 'My Site Host' pagina, waarvan er 1 per User Profile Service is, heeft wel een flinke facelift ondergaan. Het is bijna een Social Portal geworden. Het bestaat uit een aantal onderdelen:

  • My News Feeds
    Dit is de default pagina (default.aspx), welke standaard de 'What's New' webpart bevat. Deze webpart toont recente activiteiten, waarop je je kunt inschrijven.
  • My Content
    My Content redirect naar de mysite.aspx pagina, wat de pagina is die je ofwel redirect naar je eigen mysite of een nieuwe mysite voor je aanmaakt (wanneer je daar rechten toe hebt).
  • My Profile
    Dit is de nieuwe profiel pagina (person.aspx), welke profiel informatie bevat.

De structuur van de 'My Site Host' is hieronder schematisch weergegeven.

De 'News Feed' pagina, is de default pagina, welke de recente activiteiten van jouw collega's bevat. Deze activiteiten worden bepaald op basis van jouw subscriptions. Deze zijn te wijzigen door te kiezen voor My Interests of Newsfeed Settings binnen deze webpart. In beide gevallen wordt je profiel in edit mode geopend (/_layouts/EditProfile.aspx). In de Newsfeed Settings sectie kan je de instellingen aanpassen. De meeste instellingen spreken voor zich. Je kunt bij Interests opgeven welke interests jij hebt. Mocht er iemand in zijn profiel dezelfde interests toevoegen, wordt jij daarvan op de hoogte gesteld via de activity web parts. Deze activiteiten worden op basis van changelogs in de Profile- en Social databases gecreëerd door de User Profile Service - Activity Feed Job timer job en opgeslagen in de Social database.

Vanuit de 'News Feed' pagina kun je naar de Profiel pagina, door te kiezen voor My Profile of naar je eigen 'My Site' door te kiezen voor My Content.

De profiel pagina is de meest uit het oog springende. Deze heeft echt een flinke facelift ondergaan ten opzichte van SharePoint 2007. Ik zal niet alle pagina's in detail behandelen, maar de nieuwe person.aspx en /_layouts/thoughts.aspx verdienen wel extra aandacht. Alle pagina's die gekoppeld zijn aan het profiel gebruiken een custom masterpage die je profiel foto, met een call-out (die vrij aan te passen is. Hoe cool zou het zijn, als dat gekoppeld werd aan OCS J) , en een aantal tabbladen welke verwijzen naar de verschillende overige pagina's.

De person.aspx pagina is de pagina achter 'Overview', welke de Ask Me About, Recent Activities, My Organization Chart, In Common with You en Note Board web parts laat zien.

De 'Ask Me About' web part laat het gelijknamend veld in jouw profiel zien. Wanneer iemand een link klikt, worden ze doorverwezen naar het 'Note Board' onderaan de overview pagina, waar dan een berichtje achtergelaten kan worden wat begint met 'Question about Sharepoint:', waarbij Sharepoint dan de link in de 'Ask Me About' was, waarop geklikt werd.
De 'Recent Activities' spreekt voor zich, en is een overzicht van jouw recente activiteiten.
De 'My Organization Chart' is een tree view van de organisatie, gebaseerd op de 'Manager', 'Direct Reports' en 'Department' velden uit Active Directory. Deze kan je verder manipuleren door je 'Colleagues' aan te passen onder de 'Colleagues' tab.
De 'In Common with You' web part laat gedeelde managers, collega's en site memberships zien. Tenslotte kun je in het 'Note Board' web part een notitie achterlaten.

De 'Tags & Notes' tab, vind ik persoonlijk een hele leuke tab. Hier kun je al je Tags en Notities centraal managen:


Je kunt op deze manier content terugvinden op basis van Tags (alhoewel Search hiervoor toch wel een betere oplossing is), en je kunt je Tags verwijderen of 'Private' maken. Door middel van de Refine by … web parts kun je heel gemakkelijk de Tags en Notes anders sorteren. De Add Sharepoint Tags and Note Tool werkt een beetje omslachtig, maar is een handige tool. Wanneer je deze als bookmark toevoegt aan bijvoorbeeld Internet Explorer (in mijn geval Tag Site), kun je heel gemakkelijk externe sites taggen. Er wordt dan een javascript aangeroepen die de url van de pagina meeneemt en toevoegt aan de tag.

Het allerleukste heb ik tot het laatst bewaard. Als je goed kijkt naar deze 'Tags & Notes' pagina, zie je dat alle tags in de Activities for: web part hyperlinks bevatten. Wanneer je dan vervolgens zo'n tag aanklikt, kom je op de Tag Profile pagina (/mysitehost/tagprofile.aspx), waar je een overzicht ziet van alle plekken waar deze tag gebruikt is.

Zo kun je zien in welke term set de tag is opgenomen, waaar de tagged items zijn, en de tag meteen toevoegen in jouw profiel. Zo kun je zorgen dat je op de hoogte gehouden wordt, van waar die tag gebruikt wordt, of toevoegen aan de 'Ask About Me'. Ook kun je op deze tag weer een Notitie achterlaten. Ik kan mij niet echt voorstellen waarom je dit zou willen, maar het kan. Tenslotte kun je nog kiezen voor See all results for this tag in search. Het resultaat mag duidelijk zijn. Meer hierover in mijn volgende blog post series over Search.

De overige tabbladen op de profiel pagina's vind ik minder interessant. Zo is de 'Organization' tab een pagina met een SilverLight control die hetzelfde laat zien als de 'My Organization Chart' web part op de 'Overview' tab, maar dan als mooie SilverLight animatie. Verder hebben we nog de 'Colleagues' en 'Memberships' tabbladen die – hoe kan het ook anders – collega's en site memberships tonen (alleen waar je lid bent van site members, geen andere Sharepoint groups), en de mogelijkheid bieden deze te manipuleren. Tenslotte is er nog de 'Content' tab, die we reeds besproken hebben in het stukje over de 'My Site'. Deze bevat een overzicht van recente blog posts, en content waar jij eigenaar van bent, op sites binnen jouw memberships.

Configuratie

Als je mijn blog post series hebt gevolgd, weet je al wat nodig is om 'My Sites' te hosten. Om toch het een en ander samen te vatten. Heb je voor de 'My Sites' het volgende nodig.

  1. Creëer een web applicatie voor de My Sites.
    http://technet.microsoft.com/en-us/library/cc261875(office.14).aspx
  2. Creëer een My Site Host site collection.
    1. Maak de site collectie in de nieuw aangemaakte web applicatie.
    2. Gebruik de My Site Host template (onder de Enterprise tab)
  3. Creëer een managed path voor de My Sites web applicatie.
  4. (Optioneel) Activeer self-service-site creation
    http://technet.microsoft.com/en-us/library/cc261685(office.14).aspx
    Deze actie stelt gebruikers met de juiste rechten in staat om zelf sites te creëren. Dit is nodig voor de My Site host om het mogelijk te maken om My Sites automatisch te laten genereren. De gebruiker moet dan wel 'Use Self-Service Site Creation' rechten hebben.
  5. (Optioneel) Creëer een User Policy om site creation rechten te delegeren.
    1. Browse naar Application Management > Manage Web Applications
    2. Selecteer de nieuw aangemaakte web application.
    3. Kies in de Ribbon voor Permission Policy onder de Policy sectie.
    4. Selecteer Add Permission Policy Level.
    5. Geef de policy een naam, kies voor Allow en het recht Use Self-Service Site Creation, en selecteer OK.
    6. Kies in de Ribbon voor User Policy onder de Policy sectie.
    7. Selecteer Add Users.
    8. Laat de dropdown box op 'All Zones' staan en kies Next.
    9. Geef NT Authority\Authenticated Users op als security principle in de Choose Users sectie, selecteer de zojuist aangemaakte permission policy in de Choose Permissions sectie, en selecteer OK.
  6. Verwijs een 'User Profile Service' naar de juiste zojuist aangemaakte 'My Site Host':
    1. Browse naar Application Management > Manage Service Applications > User Profile Service > Setup My Sites
    2. Geef in de My Site Host Location de volledige URL op van de 'My Site Host'.
    3. Geef in de Personal Site Location het managed pad op wat je hebt aangemaakt.
    4. Verdere settings die nog gewijzigd kunnen worden:
      1. Preferred Search Center – Wijzigt het default Search Center en scopes voor de My Site Host profiel pagina.
      2. Site Naming format – Bepaald de url van de nieuwe My Sites. Je kunt hier kiezen de gebruikersnaam te gebruiken of een combinatie van domein en gebruikersnaam om conflicten te voorkomen.
      3. Language Options – Bepaald of gebruikers een eigen taal mogen kiezen voor hun My Site.
      4. Read Permission Level – Bepaald welke accounts read rechten krijgen op de My Sites.
      5. My Site E-Mail notifications – Bepaalde welk sender en reply-to adres gebruikt wordt bij het versturen van notificatie emails.
    5. Selecteer Ok om de wijzigingen op te slaan.
  7. Zorg dat de gebruikers de juiste rechten hebben om de features te gebruiken en om de My Sites aan te maken (standaard staat dit goed via 'Authenticated Users'):
    1. Browse naar Application Management > Manage Service Applications > User Profile Service > Manage User Permissions
    2. Zorg dat de gebruikers de Use Personal Features en Create Personal Site rechten hebben.

Alle web applicaties die verbonden zijn met de Service Application proxy group waar deze 'User Profile Service' onder valt kunnen nu gebruik maken van de functionaliteiten van de 'My Sites'.

De overige configuratie die gedaan kan worden rondom 'My Sites' is niet veel gewijzigd in 2010. Via Configure Trusted Host Locations geef je 'My Site Host' locaties op die je kunt gebruiken in Audiences om gebruikers naar andere 'My Site Hosts' te sturen, in omgevingen waar meerdere SharePoint farms draaien. Published links to Office client applications en Configure Personalization Site stellen je in staat om links naar interne of externe links toe te voegen aan hetzij de 'My Site Host' toplink bar, ofwel aan de Office client applicaties. In combinatie met audiences, kan je deze links targetten op groepen gebruikers.

De volledige blog serie bestaat uit:

  1. http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-user-profile-service.aspx
  2. http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-import.aspx
  3. http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/07/sharepoint-2010-profiel-synchronisatie-export.aspx
  4. http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/08/sharepoint-2010-social-tags-notes-en-user-ratings.aspx
  5. http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-my-sites.aspx
  6. http://blogs.microsoft.nl/blogs/mpriem/archive/2010/08/13/sharepoint-2010-user-profile-service-timerjobs-en-cmdlets