Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

The Mit's Blog

En plus d'intégrer et skier, il sait même écrire !
(Blog de Renaud Comte)

Actualités


  • Ancien MVP SharePoint 8 ans ...
    Des projets .Net, SharePoint 2013 ou Office 365 ??

    Contactez-nous :

Archives

[Best Practices] Customisation du My Site : Comment le modifier en amont et en aval

Sous entendu comment modifier les My Site de MOSS 2007 avant création et leur maintenance après création.

Le "My Site" est clairement une fonction incontournable de SharePoint 2007 lorsqu'il s'agit de gérer la notion de personnalisation et de réseau social.

Tout simplement, un "Must have".

Je vois déja certains douter et me rappeler les fameuses ritournelles :

  • C'est inutile
  • Mes utilisateurs, ils n'ont pas besoin de zones personnelles
  • C'est une clé usb en ligne
  • Tout mon savoir est dans des documents
  • Le moteur de recherche est bien suffisant
  • ......

Oui, et plus encore 
>>> Si vous vous reconnaissez dans les dernières remarques, attention, vous passez vraiment à coté d'une véritable mine d'or !!!

Je suis un converti /convaincu de l' intérêt réelle et de l'importance du "My Site". Cependant, comme tout bon développeur / intégrateur, ma seconde passion est la curiosité sur la customisation complète du modèle "My Site".

Certes la version "Out Of The Box" est déjà bien pensée, pourquoi ne pas aller encore BIEN plus loin

(N'est ce pas Patrick S. ?)

Nous sommes bien en technologie SharePoint donc vous connaissez déjà bien les bases :

  • C'est forcément plus compliqué que l'on pensait
  • Encore (et toujours) des Features + des solutions
  • Au pire ce n'est que de l'ASP.Net, donc pas de soucis

Voici quelques recommandations de premier ordre

  1. Le modèle ou "Site Definition" utilisé est le SPSMSite
    >>> Comme tout modèle de site installé par MS, il hérite du modèle Global et de plus, ne peut être mis à jour directement !
  2. Le "My Site" est géré par une Web Application séparée de votre portal via le Shared Services Provider.
    Mais ce n'est pas tout : chaque nouvelle création de "My Site" génére une nouvelle Site Collection

    Soit les avantages / inconvénients inhérents
    • utilisation de quotas dédiés
    • indépendance des "My Site" entre eux (ce sont des SPSite donc des "pyramides bien étanches en terme de gestion)
      • Attention au déploiement commun
      • Attention à l'autonomie des propriétaires
      • Pas de partage ou de centralisation des
        • content types,
        • des site columns,
        • des master pages,
        • des WebParts,
        • ...
  3. Un My Site existe en pratique sous 2 formes bien distinctes et séparés :
  4. La meilleur et unique manière de faire évoluer le modèle de "My Site" est de s'appuyer sur la notion de Site Stapling
    >>> sous entendu, utilisez la dépendance sur l'identifiant "SPSPERS#0" pour déployer tout un set de feature.

    Genre

    <Feature

    Id="4457E66E-6FCD-4352-AD4D-B870600B4696"

    Title="My Site Creation Feature Stapler"

    Scope="Farm"

    xmlns="http://schemas.microsoft.com/sharepoint/" >

    <ElementManifests>

    <ElementManifest Location="elements.xml" />

    </ElementManifests>

    </Feature>

    ------------------------------------------------------------

    <Elements xmlns="http://schemas.microsoft.com/sharepoint/" >

    <FeatureSiteTemplateAssociation

    Id="4DEFA336-EDC4-43cb-9560-FE2E27E76DFB"

    TemplateName="SPSPERS#0"/>

    </Elements>


    Donc, porte ouverte à toutes vos features avec ou sans Event Receivers.
    >>> C'est n'est point un mal, faire des features reste et restera le meilleur Best Practice de la plate forme SharePoint

    A noter que pour gérer l'ajout/edition/modification de WebPart, la solution ne se trouve pas forcément dans le FeatureReceiver mais plutôt par une petite astuce : un webcontrol discret de votre Master Page
    >>> Pourquoi ? simplement un soucis de cycle de vie : le SPFeatureReceiver via stapling s'execute simplement trop tôt, les bibliothéques de pages et les pages n'existant pas encore, vous ne pouvez les modifier  ... 

    Le tout est très bien documenté et expliqué dans un post du blog du Team SharePoint
  5. Le CAML des différents fichiers éléments d'une Feature ne peuvent cependant pas tout faire ...
    Mais rien n'empêche d'aller plus loin via les fameux et pourtant si simples Feature Receiver.
    >>> Vous pouvez ainsi accéder à tout le modéle objet SharePoint/.Net ainsi que le contexte du SPWeb nécessaire.
    Comme par exemple :
    • Rajouter des pages à WebParts
    • Ajouter des WebParts et les postionnez dans une page, même l'accueil
    • Reconfigurez les propriétés d'une WebPart
      >>> le tout via la classe :
      SPLimitedWebPartManager theMan = thePage.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared)
  6. Si le mécanisme peut vous paraître finalement simple, retenez aussi que l'architecture du My Site ne repose pas que sur la notion de site collection et d'un modèle. il y a tout un système de vue publique/privée, d'accès et redirection ainsi que le systéme de création.
    En résumé :
    image 
    Pour plus de détails, je ne saurais trop vous conseiller la lecture du post de Mark Arend : MySite Pages and Architecture. Tout y est détaillé, classes et pages applicatives comprises.

 

Annexe de référence (à avoir absolument dans ses favoris ou dans son onenote) :

 

Bonne lecture et bonne personnalisation !

 

Renaud Comte aka TheMit (Me me me, still me)
Member of WygTeam
http://www.wygwam.com

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: vendredi 5 septembre 2008 10:47 par themit

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01