none
MOSS2007 - My Site RRS feed

  • Question

  • Bonjour,

    Comment puis-je parcourir tous les my sites de mon serveur par programmation ? Par exemple je voudrai les parcourir et afficher les description de tous les my site.

    Est-ce possible ? Comment récupérer la liste des my sites ?

    Merci.
    mardi 15 mai 2007 12:30

Réponses

  • Bonjour

     

    Voici un exemple de code qui devrait faire l'affaire : récupération de l'application web hébergeant les MySites, puis boucle dans les collections de sites disponibles avec test sur le modèle utilisé qui devrait être "SPSPERS". Une autre méthode pourrait être l'interrogation des profils utilisateurs pour récupérer leur url. J'espère que ça vous conviendra. 

    Code Snippet

                SPWebApplication webappMySites = SPWebApplication.Lookup(new Uri("http://office12-server:15000"));

                foreach (SPSite mySite in webappMySites.Sites)
                {
                    using (SPWeb rootWeb = mySite.RootWeb)
                    {
                        if (rootWeb.WebTemplate == "SPSPERS")
                        {
                            Console.WriteLine(rootWeb.Url + " : " + rootWeb.Description);
                        }
                    }
                    mySite.Dispose();
                }

     

     

    jeudi 17 mai 2007 15:18

Toutes les réponses

  • Bonjour

     

    Voici un exemple de code qui devrait faire l'affaire : récupération de l'application web hébergeant les MySites, puis boucle dans les collections de sites disponibles avec test sur le modèle utilisé qui devrait être "SPSPERS". Une autre méthode pourrait être l'interrogation des profils utilisateurs pour récupérer leur url. J'espère que ça vous conviendra. 

    Code Snippet

                SPWebApplication webappMySites = SPWebApplication.Lookup(new Uri("http://office12-server:15000"));

                foreach (SPSite mySite in webappMySites.Sites)
                {
                    using (SPWeb rootWeb = mySite.RootWeb)
                    {
                        if (rootWeb.WebTemplate == "SPSPERS")
                        {
                            Console.WriteLine(rootWeb.Url + " : " + rootWeb.Description);
                        }
                    }
                    mySite.Dispose();
                }

     

     

    jeudi 17 mai 2007 15:18
  • Mais c'est nickel ca !

     

    Question : tu le blogue ou je le fait  ?

     

     

    vendredi 18 mai 2007 08:29
  • Merci !!
    vendredi 18 mai 2007 09:32
  • Justement Renaud, je me disais que je le bloguerai bien Stick out tongue

     

    Je vais voir s'il existe un autre moyen de faire ça, voire trouver la propriété qui donne la/les webapp(s) qui hébergent les MySite.

     

    Coming soon du coup !

    vendredi 18 mai 2007 10:37
  • J'ai fais autrement pour finir. En fait c'était pour permettre, à partir d'un my site, la visualisation du CV de la personne. Alors ce que j'ai fais c'est que j'ai créé une propriété Lien CV de type URL, pour les profils utilisateurs. Cette porpriété ne peut être modifié que par les admin évidement car on veut que seule une personne de l'administration puisse publier les CV ou les éditer.

    Alors j'ai une Library dans un site ou la personne charger des CV y dépose les documents.
    J'ai créé un évènement sur la Library qui récupère le nom du fichier qui en fait correspond au UserName de la personne a qui appartien le CV, j'accède donc au profil et je met à jour la propriété Lien CV.

    L'inverse pour la suppression Wink

    Voili voilou !!
    vendredi 18 mai 2007 12:04
  • Juste par curiosité parce que je suis encore très nouveau à SharePoint, mais comment créez-vous cet évènement ? est-ce lui en fait qui se charge de mettre à jour la propriété Lien CV ?

    Aussi je vois également qu'il y a du code, s'agit-il uniquement de développements de Web Part ? ou est-ce à un autre niveau ?
    vendredi 18 mai 2007 19:12
  • Avec SharePoint 2007, il y a bien d'autres axes de développement que les webparts (heureusement !).

     

    Ce dont parle Lady Najla ce sont les event handlers (ou event receivers) qui permettent de réagir de façon synchrone ou asynchrone sur les événements levés sur une bibliothèque de documents ou une liste (sur l'ajout, modification, suppression, checkin, checkout, ...). Dans la nouvelle version de SharePoint, outre le support de ces événéments sur les listes, le mode synchrone, on gagne aussi de nombreux autres événements : sur modification de la structure d'une liste (ajout, modification, suppression de colonne), sur la suppression des sites / collections de sites, sur l'activation/désactivation/installation/désintallation des features etc etc...

     

    Bref, je vous conseille de jeter un oeil sur un post récent de Huggy les bons tuyaux alias Renaud Comte qui a fait une petite synthèse des choses à savoir : http://blogs.codes-sources.com/themit/archive/2007/04/12/moss-sample-une-bon-exemple-d-event-handler-gestion-des-permissions.aspx

     

    Sachez cependant que le sujet est assez vaste mais très intéressant (c'est un de mes développements préférés car c'est facile et ça résoud nombre de "problèmes" élégamment).

    samedi 19 mai 2007 08:51
  • Merci beaucoup pour vos indications !
    Je ne me doutais pas que cela était possible...

    lundi 21 mai 2007 19:36