in

didierdanse.net

Site personnel de Didier Danse
Didier Danse's Personnal Website
Microsoft Most Valuable Professional SharePoint

This Blog

Syndication

didierdanse.net - Les news Developpement

  • Le publipostage, comment ça marche?

    Le publipostage, c’est quoi?

    Selon Wikipedia, le publipostage peut se définir sous la forme suivante:

    Le publipostage ou mailing, est la technique de marketing qui consiste à envoyer en nombre des informations ou prospectus publicitaires, par voie postale ou électronique, pour assurer la promotion d’un produit, d’un service ou d’une enseigne. Cette forme de promotion est fréquente dans la vente par correspondance.

    Si l’on reprend la définition et que l’on généralise celle-ci, le publipostage permet de générer et/ou d’envoyer du courrier à une liste prédéfinie de personnes.

    Nous allons voir comment cette fonctionnalité, qui est bien souvent sous-utilisée, peut permettre de personnaliser des emails, ce que ce soit à des fins marketing ou non.

    (S’il vous plait, si le but est de faire du marketing, oubliez mon adresse email Smile )

    Que faut-il pour faire du publipostage?

    Bien peu de choses… Il faut simplement Word. La version présentée ci-dessous est la version 2010 mais il est possible de trouver des fonctionnalités similaires dans les versions précédentes de Word.

    Un tab au sein du ruban permet de gérer et de générer tout ce qui est relatif au publipostage.

    image

    Comment envoyer du courrier en mode publipostage?

    Vu que le but du publipostage est d’envoyer de l’information à une liste prédéfinie de contacts, il est nécessaire soit de créer cette liste, soit d’en utiliser une existante.

    image

    Dans la capture précédente, le choix s’est porté sur la création d’une nouvelle liste. Dès lors, il est possible d’ajouter de l’information dans la table ci-dessous.

    image

    Cette liste, qui n’est pas stockée dans le fichier Word, pourra être réutilisée. De ce fait, Word nous propose d’enregistrer cette liste dans un fichier .mdb. Les habitués reconnaitront l’extension qui était utilisée par Access dans les versions précédentes. C’est en effet une base Access qui contient ces informations. Cependant, on notera qu’il n’est pas nécessaire d’avoir Access installé sur son poste pour pouvoir bénéficier de ces fonctionnalités. En effet, Word est capable de lire les données présentes dans la base de données directement.

    image

    Maintenant, nous avons défini la liste des destinataires. Il ne nous reste plus qu’à créer le template qui sera utilisé comme base pour la génération des emails et/ou des documents. Pour cela, il est nécessaire d’ajouter des champs au sein du document. Cette liste se base sur la liste des champs utilisés pour les contacts.

    image

    Bien entendu, il existe des cas où il est nécessaire de différencier le texte en fonction de critères divers (par exemple pour indiquer “Cher Monsieur” ou “Chère Madame” en fonction du sexe de la personne concernée).  Ceci est également possible en ajoutant des règles qui se base sur les champs dont nous venons de parler.

    image

    Enfin, il ne reste plus qu’à visualiser le résultat. Il est donc possible de voir le rendu pour l’un ou l’autre destinataire. Ceci est très pratique pour vérifier que les cas divers sont bel et bien gérés.

    image

    Le document est bel et bien formaté? Il ne reste plus qu’à l’imprimer ou à envoyer les emails correspondants.

    image

    Cependant il nous manque quelque chose de primordial pour envoyer des emails: les adresses emails… Celles-ci ont été définies dans la liste de contacts. Il ne reste dès lors plus qu’à indiquer quel est le champs qui contient cette information.

    image

    Et voilà, vous venez d’envoyer du courrier à toute une série de documents à des personnes (bien entendu, si il s’agit de courrier papier, il vous faudra le déposer à la poste, Word ne pourra pas le faire pour vous, c’est dommage j’en conviens).

    La sélection des contacts

    Revenons à la notion de destinataire. La source de données peut être de différents types:

    • base de données de contacts
    • tableau Excel
    • Lien ODBC (cela ne vous parle pas, c’est normal! Il s’agit d’un lien vers une base de données de tout type)

    On peut voir cela dans les écrans ci-dessous:

    image image

    Si la sélection de la source de contacts se porte sur Outlook, dans ce cas, il faudra indiquer la liste de contacts à utiliser.

    image

    Enfin, il ne vous reste plus qu’à sélectionner les gens de la liste qui sont ciblés par votre courrier.

    image

    ____

    Didier Danse – http://didierdanse.net

    Microsoft Most Valuable Professional SharePoint
    Devoteam LuxembourgDevoteam Group

  • SharePoint 2010: Ferme, application web, collection de sites, sites et sous-sites, comment s’y retrouver?

    Post original: SharePoint: Ferme, application web, collection de sites, sites et sous-sites, comment s'y retrouver?

    Par l’aspect évolutif de SharePoint, toute personne amenée à réaliser l’architecture d’une infrastructure SharePoint se retrouve rapidement confrontée à une question importante: Que mettre à quel endroit? Il n’existe pas une réponse ferme et définitive. Par contre, chaque élément cité à des propriétés, des possibilités et des objectifs différents. Reste ainsi à utiliser les bons containers pour le bon contenu…

    Il existe différents types de containers dont les principaux sont:

    • 1a) Ferme SharePoint (SPFarm d’un point de vue développeur)
    • 1b) Applications de service
    • 2) Application web (SPWebApplication)
    • 3) Collection de sites (SPSite)
    • 4) Sites (SPWeb)
    • 4) Sous-sites (SPWeb)

    Principalement la hiérarchie autour de ces quatre premiers éléments (en bleu) répond à des besoins techniques alors que les deux suivants permettent d’organiser de manière purement logique les sites et les données comprises dans ces sites.

    Passons rapidement en revue de quoi est composer une infrastructure SharePoint. Pour plus de détails, rien de tel qu’une petite recherche sur Internet!

    1.A) Ferme SharePoint

    Il s’agit simplement de l’ensemble des serveurs front-end, applicatifs (Shared services), d’indexation ou encore hébergeant les bases de données. Une ferme pourra être déployée à un endroit particulier en fonction des objectifs de cette ferme comme, par exemple, permettre l’accès depuis Internet.

    image

    1.B) Applications de service

    Il s’agit d’un ensemble de services au niveau de la ferme ce qui sous-entend qui est partagé entre différentes applications web et donc sites collections.

    Parmi ces services on retrouve entre autres les notions de:

    • Profil (propriétés du profil, paramètres pour la synchronisation)
    • Recherche (scopes, mappings de propriétés, sources de contenu, …)
    • Excel Services
    • Business Connectivity Services

    image

    Chaque service peut être indépendamment activé sur des serveurs différents. Cette paramétrisation permet dès lors de rendre l’infrastructure SharePoint la plus efficace possible en tenant compte des aspects de sécurité et de disponibilité.

    2) Application web

    Rien d’exceptionnel pour les IT ou les développeurs qui ont déjà pu mettre en place des sites ASP.NET, PHP ou utilisant toute autre technologie puisqu’il s’agit d’une application web tout ce qu’il y a de plus classique avec entre autres:

    • Un site dans IIS
    • Une url particulière
    • Une méthode d’authentification liée à cette application

    image

    On notera également que, dans un contexte SharePoint, une application web aura sa propre base de données (tout du moins lorsqu’il s’agit d’une nouvelle web application puisqu’il est possible d’étendre des applications webs pour donner des paramètres différents permettant ainsi de partager des données au travers de différentes applications web qui proposent des techniques d’authentification différentes).

    Par ailleurs, SharePoint étant basé sur ASP.NET, le code et les mises à jour du web.config (avec le SafeControls pour les initiés) se fera de manière globale pour les différentes collections de sites qu’exposent notre application web. On pourra ainsi utiliser ces différentes web applications pour empêcher certaines opérations (par exemple utiliser un web part) selon la population visée (Intranet, Extranet, Internet, partenaires, …).

    Enfin, une application web est toujours associée à un Shared Services Provider.

    3) Collection de sites

    Une collection de sites est un container virtuel (en ce sens où l’on ne retrouve aucun fichier sur disque comme pour l’application web) et sa définition est stockée dans une base de données de configuration.

    D’un point de vue IT, la collection de sites a plusieurs avantages dont les principaux sont:

    • Quota de données
    • Facilité de maintenance (le backup / restore se fait par défaut au niveau de cette collection)

    image

    Si l’on se place au niveau de la gestion du contenu, on notera que pour chaque collection de site est défini un administrateur. Cet administrateur peut ainsi gérer tout ce qui se trouve dans le site collections, à savoir:

    • Corbeille de second niveau
    • Recherche customisée par site-collection
    • Utilisateurs pour une collection de sites

    Enfin, l’utilisation des collections de sites permet de cataloguer des éléments customisés en fonction de la population qui accèdera à du contenu de cette collection de sites (par département par exemple):

    • Page maître
    • Images
    • Templates de sites et de listes
    • Web parts

    Une collection de sites possède toujours un site racine.

    image

    4) Sites et sous-sites

    Jusque là, nous avons beaucoup parler des ITs, un peu des développeurs mais peu des utilisateurs finaux pourtant moteurs pour tout ce qui est contenu au sein de notre SharePoint.

    A ce niveau nous pourrions ne parler de gestion de contenu. Selon les droits dont ils disposent, les utilisateurs peuvent:

    • Créer des sites
    • Créer des listes
    • Attacher des workflows à des listes
    • Assigner des permissions
    • Restaurer des données supprimées
    • Et bien d’autres choses encore!

    A ce niveau, seul le bon sens et les règles définies par votre entreprise ont de l’importance. Peu importe où se trouve les données, elles seront physiquement stockées au même endroit. Cela ne veut pas pour autant dire que l’on doit placer nos données partout et n’importe comment. Profitez des possibilités de SharePoint comme l’héritage des permissions pour gérer de manière efficace vos sites.

    image

    Il est techniquement possible d’ajouter du code ou des outils de reporting aidant à la gestion mais il ne faut pas négliger la formation des utilisateurs qui recevront les droits de créer des sites.

    Un exemple de hiérarchie de sites:

    • Ferme
      • Application Web 1
        • Collection de sites A (avec le site d’entrée)
          • Site A.1
            • Site A.1.1
            • Site A.1.2
          • Site A.2
            • Collection de sites B (avec le site d’entrée)

              • Site B.1
                • Site B.1.1
                  • Site B.1.1.1
              • Site B.2
      • Application Web 2
        • Collection de sites C (avec le site d’entrée)
          • […]
        • Collection de sites D (avec le site d’entrée)
          • […]

    A vrai dire, il serait encore possible de rédiger sur ce sujet durant des heures mais je pense que ce post permettra déjà à bien des gens d’avoir un aperçu du pourquoi il est important de se renseigner préalablement à la mise en place de votre SharePoint.

  • Session SharePoint: Utiliser des données externes au sein de SharePoint 2010 à l'aide de Business Connectivity Services ce 23/02/2011, de 18:30 à 20:30

    SharePoint devient, au fil du temps, le point d'entrée pour accéder à l'ensemble des données de l'entreprise de par les fonctionnalités avancées proposées par cette solution.

    Cette session, destinée aux développeurs et architectes SharePoint, a pour but de montrer comment utiliser des données présentes dans des systèmes d'information externes à SharePoint, de manière totalement intégrée. Nous verrons comment utiliser différents types de sources de données .NET et WCF.

    N’hésitez pas à nous rejoindre pour discuter de ce topic.

    Infos et inscriptions: http://www.dotnethub.be/DnhEventManager/EventDetail.aspx?eventId=15

  • MVP pour la sixième année consécutive

    Le titre est plus qu’explicite: Je suis à nouveau MVP sur la plateforme SharePoint et cela pour la seconde année consécutive. Auparavant, j’ai 4 ans sur la technologie ASP.NET m’ont permis d’avoir une bonne connaissance de cette technologie.

    En tout cas, voilà une bonne nouvelle! Cette année 2011 démarre plutôt bien et mes objectifs pour cette année sont clairs: promouvoir SharePoint, la notion de Workflow, le document management et toutes les autres fonctionnalités trop peu exploitées!

    La collaboration entre Devoteam Guidance Luxembourg (www.devoteam.lu) et moi-même me permettra par ailleurs d’atteindre ces objectifs. J’en profite par ailleurs pour indiquer que nous sommes à la recherche d’une nouvelle recrue pour compléter l’équipe SharePoint. Des infos? Contactez-moi!

    En espérant écrire un post similaire l’année prochaine Smile

  • Utilisation de Selenium dans un contexte SharePoint

    Peu importe la technologie ciblée lors d’un développement, il convient de réaliser un maximum de tests. Malheureusement on est généralement confronté à un problème simple: quel outil choisir pour la réalisation de ces tests.

    Dans un environnement Microsoft, on serait tenter de mettre en avant les outils de tests présents dans Team System. Cependant, parfois il n’est pas nécessaire de mettre un autre produit, gratuit. En l’occurence, ce post a pour but de montrer l’utilisation de Selenium, outil de tests web.

    Selenium se décline en divers modules. Sur cette base, des tests ont été effectués avec :

    • Selenium IDE (plugin Firefox)
    • Selenium RC

    Selenium IDE

    L’IDE permet d’enregistrement une suite d’actions et de la rejouer rapidement. Pour cela, Selenium ajoute du code lui permettant d’effectuer les dites actions sans intervention humaine.

    clip_image001

    Durant les tests effectués, il est arrivé que Selenium ne puisse rejouer les tests qu’il a lui-même enregistré, cela a cause des identifiants qui varient d’un chargement à l’autre de la page ou d’autres modifications du genre.

    Les points positifs de Selenium IDE :

    • Open Source ;
    • Fonctionnalités globales permettant de couvrir des scénarios simples et systématiques.

    Les points négatifs de Selenium IDE :

    • Ne fonctionne que sur Firefox ;
    • L’interface manque de convivialité. Certaines actions simples et fréquentes nécessitent des opérations manuelles dans des fichiers ;
    • Par défaut, pas d’utilisation possible de boucles ;
    • Par défaut, pas d’utilisation possible de conditions ;
    • Nécessité de travailler avec des tests à part entière et donc impossibilité de « passer des paramètres » à une activité sans pour autant placer ces conditions ;
    • La multiplication des scénarios nécessitent cette même multiplication des tests proprement dits. Toute modification doit se faire sur l’ensemble des tests dupliqués.

    Selenium RC

    Selenium RC (Remote Control) est un serveur qui fait office de Proxy (l’application envoie une requête à Selenium RC et Selenium la transmet au serveur destinataire). Comme pour l’IDE, il ajoute du code javascript lui permettant d’accéder et manipuler la page.

    clip_image003

    Les points positifs :

    • Open Source ;
    • Multi-navigateurs ;
    • Apprentissage rapide (pas de nouvel outil car possibilité d’utilisation du langage de prédilection du développeur) ;
    • Possibilité de créer une librairie d’objets réutilisables afin d’éviter les erreurs, d’avoir des opérations communes et aussi d’accélérer la réalisation de tests ;
    • Meilleure gestion des informations affichées (il n’est pas nécessaire de faire du nettoyage) ;
    • Possibilité d’étendre plus facilement les fonctionnalités de Selenium ;
    • Facilité de mise en œuvre de tests qui peuvent utiliser comme source des fichiers, une base de données ou tout autre chose qui est géré par la technologie utilisée.

    Les points négatifs :

    • Nécessité d’installer Java sur la machine qui sert de proxy (il est possible d’utiliser un seul serveur pour différentes personnes).

    Pour lancer des tests au travers de Selenium RC, il est nécessaire d’écrire du code chargé de dialoguer avec Selenium RC lui même responsable de charger et d’injecter les informations nécessaires dans les pages.

    Exemple simple de code utilisable dans un contexte SharePoint. Le code parle de lui-même :

    foreach (string groupName in groupNames)
    {
        #region Add user to group
    
        if (!SPTests.ExistsGroup(groupName))
            Assert.Fail("Group '" + groupName + "' doesn't exist");
                SPTests.AddMemberToGroup(TESTUSER1_USERNAME, groupName);
    
        if (isISAServerUsed) SPTests.DisconnectCurrentUser();
    
        SPTests.OpenPage(rootRelativeUrl, possibleTitles);
        #endregion
    
        #region Operations
        SPTests.Authentication_ISAServer(TESTUSER1_USERNAME, TESTUSER1_PASSWORD);
    
        // Operations with current user
        if (isISAServerUsed) SPTests.DisconnectCurrentUser();
            SPTests.OpenPage(rootRelativeUrl, possibleTitles);
        #endregion
    
        #region Remove user from group
        SPTests.Authentication_ISAServer(ADMINUSERS_USERNAME, ADMINUSERS_PASSWORD);    
        SPTests.RemoveMemberToGroup(TESTUSER1_USERNAME, groupName);
    
        if (isISAServerUsed) SPTests.DisconnectCurrentUser();
            SPTests.OpenPage(rootRelativeUrl, possibleTitles);
        #endregion
    }

    ______

    public void RemoveMemberToGroup(string memberName, string groupName)
    {
        OpenGroupPage(groupName);
        selenium.Check("//input[@account='" + memberName + "']");
    
        try
        {
            selenium.ChooseOkOnNextConfirmation();
            selenium.RunScript("BLOCKED SCRIPTBtnRemoveUsersClick(currentViewId, true);");
        }
        catch (SeleniumException)
        {
            // Handle SeleniumException because of Confirmation not allowed. Deletion is ok
         }            
    }

    Documentation au sujet de Selenium: http://seleniumhq.org/docs/index.html

    Selenium ne permet d’effectuer que des tests simples. Pour réaliser des scénarios ou encore des tests de charge, PushToTest TestMaker est l’outil idéalement. Le prix est relativement peu élévé par rapport aux fonctionnalités proposées. Pour plus d’info: http://www.pushtotest.com/index.php/comparison.

  • Les Language Packs SharePoint 2010 Foundation sont là

    Ils sont dispos et prêts à être installés depuis l’URL suivante: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=646e311a-aaf3-4d30-b03c-2f3c70d19a22

    L’installation ne pose guère de soucis, c’est pourquoi nous n’en ferons qu’un rapide aperçu. Mais démarrons par la plus grosse difficulté dans ce processus… Le choix de la langue du language pack! Et oui, la majorité d’entre ont eu le cas de télécharger un language pack anglais en lieu de celui voulu. Google ou encore Bing indexent les pages dans les différentes langues tandis que l’url reste identique. Lors d’une recherche, nous arrivons donc sur la dite page dont la langue correspond à vos paramètres et non à notre recherche. Et c’est ainsi qu’on installe un language pack en anglais sur un SharePoint qui l’était tout autant. Sélectionnez donc bien la bonne langue dans l’encadré rouge ci-dessous:

    image 

    Notez qu’il faut compter entre 110 et 170MB pour les languages packs les plus courants. Voici un exemple avec le language pack en français (notez que le nom du fichier envoyé par le serveur de download n’est pas très explicite à ce sujet):

    image

    Et voilà, le plus dur est passé, la suite, vous la connaissez… next, next et next :-)

    image image image 

    image image

    Comme indiqué, n’oubliez pas d’exécuter le wizard de config dès que le temps vous le permet!

    Une fois fait, rendez-vous dans un site quelconque. Dans les site settings, vous y trouverez un lien Language settings.

    image

    En suivant ce lien, vous pourrez ainsi indiquer les langues qui peuvent être utilisées dans ce site comme indiqué sur la capture d’écran suivante:

    image

    Les utilisateurs pourront dès lors sélectionner la langue qui leur convient le mieux.

    image

    Tout ce qui est "out-of-the-box" est ainsi traduit (les menus, le ruban, …).

    image

    Il existe bien d’autres fonctionnalités autour du multilinguisme. Nous en reparlerons certainement dans les prochaines semaines tant elles sont utiles et intéressantes dans cette version 2010 de SharePoint.

  • Urbaniser son système d’information, un mal pour un bien?

    Article publié dans le IT Pro Magazine de février 2010

    Quelque soit le contexte, l’information est un principe fondamental de la stratégie d’une entreprise. Cette information trouve aisément sa place au sein d’un système d’information à l’aide de classifications diverses et de méthodes pour retrouver aisément celle-ci. Ce dernier est ainsi un outil essentiel pour l’entreprise.

    Depuis déjà plusieurs décennies, l’informatique est devenu un outil utilisé pour mettre en place ce système d’information et ainsi stocker des informations sous une forme structurée dans un format électronique permettant de dématérialiser et d’automatiser toute une série d’actions en rapport avec des procédures d’entreprise. Cette automatisation diminue la charge de l’humain en réduisant le nombre de tâches répétitives telles que le calcul des totaux des factures, la recherche d’une adresse ou encore l’échange d’informations entre personnes. Un système d’information, informatisé ou non, doit, pour être utilisé de manière efficace, refléter les processus métiers ainsi que les actions et interactions entre différentes entités. Depuis quelques années, ce système est devenu également la source d’informations utilisée pour aider à la décision.

    Lorsque l’on parle d’un système d’information informatisé, on pense généralement base de données, données qui les constituent ou encore le matériel proprement dit. Cependant, il est généralement omis de tenir compte du facteur humain. Nous y consacrerons un paragraphe entier car il est primordial d’en tenir compte pour obtenir un système d’information efficace.

    Le système d’information au fil du temps

    Au fur et à mesure que le temps passe, l’entreprise s’enrichit de nouvelles applications et de nouvelles fonctionnalités. Selon les fonctionnalités souhaitées ou simplement le choix des intervenants, les technologies utilisées peuvent s’avérer différentes. Le système d’information est ainsi rapidement hétérogène, les solutions et applications ne pouvant malheureusement pas toujours communiquer entre elles.

    Chaque jour, de nouveaux besoins fonctionnels ou encore techniques se font sentir. C’est ainsi que, pour répondre à cette demande, il est fréquent de voir de nouvelles couches techniques ou de nouvelles solutions bricolées autour de ces applications afin de remédier aux lacunes de celles-ci. Ces modifications ont pour effet de créer ce que l’on appelle communément l’effet spaghetti, rendant les nouvelles extensions, corrections et interconnexions difficiles.

    Par ailleurs, ces problèmes d’extension et d’interconnexion s’accentuent d’autant plus lors de la fusion de deux sociétés ou encore lors de la mise en place de la notion de partenariat avec des acteurs extérieurs à l’entreprise. C’est ainsi qu’il faut malheureusement parfois se résigner à dire que l’informatique est complexe. Généralement, la cause de cette complexité est le manque de connaissance du système d’information. Il est donc important de garder à l’esprit que pour informatiser efficacement un système d’information, celui-ci doit suivre les entités métier, les règles qui lui sont appliquées et enfin les processus dans lesquels ces entités ont un rôle.

    Pour tendre vers un système d’information réellement efficace, il est donc conseillé de fréquemment se poser des questions telles que « Quelle est la cible marché de l’entreprise ? », « Comment dois-je bâtir et faire évoluer le système d’information de manière à ce qu’il accompagne la stratégie de l’entreprise ? ».

    L’urbanisation

    L’urbanisation est un concept plus souvent connu au niveau d’une ville bien que dans ce contexte, il est plus fréquent d’entendre parler d’urbanisme plutôt que d’urbanisation. Le terme urbanisation est quant à lui pratiquement toujours utilisé dans le contexte informatique, mettant l’accent sur la durée importante du processus.

    L’urbanisation d’une ville a pour but de réaliser le plan de cette ville, quartier par quartier et ce afin de rendre l’aspect global cohérent, de faciliter et simplifier l’ensemble de la ville mais aussi de faciliter la communication entre ces quartiers. Cette notion peut être appliquée à tout système d’information. Comme pour une ville, cette opération suivra les stratégies et les besoins du point du vue métier.

    L’urbanisation doit se faire selon plusieurs étapes. La première étant l’inventaire de l’existant, ce que nous appellerons cartographie. Ensuite, le système devra évoluer pour tendre vers une solution respectant les différents objectifs et contraintes. Mais pour réussir un projet d’urbanisation, il est nécessaire de l’introduire au plus tôt et de progresser petit à petit en mettant tout d’abord en place les échanges entre entités en privilégiant les entités globales puis en entrant dans le détail. L’urbanisation doit être organisée, monitorée et cadrée. Pour cela, il est conseillé de mettre en place un groupe de travail qui veillera à la cohérence du tout.

    La cartographie du système d’information

    Les décideurs et architectes doivent être au courant du système d’information, cela c’est clair pour bien des gens. Mais il serait également souhaitable que chaque intervenant au sein de ce système en connaissant les fondements de la structure. C’est ce que permet la cartographie du système d’information.

    La cartographie doit, idéalement, être la plus complète possible, allant de l’aspect métier aux détails de tous les échanges entre applications au niveau technique.

    Le métier

    Bien que l’on parle d’un système informatisé d’information, il est primordial de tenir compte de l’aspect métier et des différents acteurs qui tournent autour de celui-ci. Ainsi, il est intéressant de démarrer par la partie métier afin d’y faire apparaitre les processus, les objectifs mais aussi les contraintes telles que le suivi de Sarbanes-Oxley.

    L’aspect fonctionnel

    Ensuite, on identifiera les différents objets métiers et les fonctions utilisées par ces objets. Ces objets doivent se trouver en lien avec le métier et les processus métier afin d’identifier les référentiels et les différents échanges entre entités.

    Les serveurs et applications

    Bien entendu, l’aspect technique de l’environnement est important, si bien qu’il faut qualifier l’ensemble de l’architecture du point de vue physique et logique, sans oublier les serveurs de backup. On veillera à adapter l’architecture et les environnements en fonction des contraintes fixées par le métier.

    Parmi les applications, on distinguera également les applications généralistes de celles qui sont personnalisées pour l’entreprise. Ces premières proposent de plus en plus de connecteurs, permettant de plus aisément les intégrer dans une architecture orientée services alors que les applications maison devront éventuellement être remaniée.

    Enfin, on veillera à faire le lien entre l’architecture physique et l’architecture logicielle afin de mettre en avant les informations nécessaires à chaque application telles que le stockage, les accès et les performances.

    La technique

    Enfin, l’ensemble des règles de construction doivent être également identifiés. Ces règles peuvent concerner les techniques de développement ou encore l’infrastructure.

    Que faire une fois la cartographie effectuée ?

    Une fois l’ensemble du système cartographié, il s’agit de planifier l’ensemble des modifications à effectuer pour tendre vers un système cohérent et modulaire correspondant au métier de l’entreprise. D’un point de vue technique, il s’agit dès lors de migrer, en profitant de cette phase pour effectuer du nettoyage ou de la conversion de code tout en consolidant et mutualisant les serveurs afin d’utiliser l’ensemble de son environnement au maximum. On profitera également pour diminuer les couches techniques et mettre en place de la communication entre les différentes applications.

    L’interopérabilité entre applications

    Nous l’avons vu, il est souhaitable de rendre les applications modulaires et communicantes.

    Une Architecture Orientée Services (SOA) permet de mettre en communication différentes applications présentes au sein d’une entreprise au travers de services réutilisables. Les communications depuis et vers des applications s’effectuent selon deux bus : le bus applicatif permettant de faire communiquer les applications entre elles et avec le système et le bus de services utilisé par les utilisateurs au travers de la notion de services.

    On parle de SOA lorsque les services respectent la neutralité par rapport au protocole utilisé par le consommateur, le couplage faible entre le fournisseur et le consommateur ainsi que la granularité permettant au consommateur de faire appel à un service sur base d’une définition sans en connaitre l’implémentation. Chacune des applications doit également gérer efficacement l’ensemble des entités qui la compose. On parle dès lors de cohérence forte.

    Le facteur humain

    Comme nous l’avons dit à plusieurs reprises, un système d’information ne doit pas se limiter à l’aspect technique. L’humain est un élément très important.

    Effectivement, l’ordinateur est capable d’effectuer des actions répétitives, ou suivant un processus bien défini, et programmées au préalable. Parmi ces actions, nous pouvons parler de la recherche, du tri ou encore de la génération de statistiques. Quant à l’humain, celui-ci possède quelqu’un chose que l’ordinateur ne possède pas. Il est en effet capable d’analyser et d’interpréter des informations sur base desquelles il prend des décisions.

    En contrepartie de cette aide informatique, cela sous-entend que l’entreprise attend de plus en plus de ses employés, ce qui n’est pas toujours pris positivement par ces personnes, ce qui peut amener des réticences et des difficultés lors de l’urbanisation du système d’information. Ainsi, l’aspect humain n’est pas du tout à négliger.

    Pour espérer une réussite totale de l’urbanisation, il sera nécessaire à chacun de permettre aux autres employés d’avoir des responsabilités et de travailler au sein de groupes de travail ayant pour objectif d’analyser les processus.

    Urbaniser à quel coût ?

    Parler d’urbanisation à un décideur provoquera à coup sûr le questionnement suivant : « Quel est le retour sur investissement ? ». Il est vrai que si l’on regarde sur du court terme, le retour est assez faible au vu du nombre d’opérations à effectuer pour tendre vers un système efficace.

    En parallèle, il est intéressant de calculer le coût lié à la maintenance des solutions actuelles. La multiplication des solutions a souvent pour conséquence la multiplication des serveurs, des opérations de maintenance ou encore des corrections. Bien que toutes les opérations nécessitent l’appel à des intervenants, les corrections ont cependant le plus fort impact budgétaire puisqu’en plus de consommer du temps, elles fatiguent les intervenants, le tout pour des opérations que l’on peut considérer comme n’étant pas orientées vers le futur.

    A l’inverse, la diminution du nombre de serveurs, la diminution de la perte d’information ainsi que la diminution des séances de formation permettent effectivement de diminuer le coût global de l’informatique dans l’entreprise. De plus, de par la réutilisabilité des services exposés, lors de la mise en place d’une nouvelle possibilité, le coût est bien en deçà de ce que serait le coût classique.

    Ainsi, si l’on compare le coût d’urbanisation au coût de maintenance, il s’avère que, même pour un nombre de fonctionnalités identiques, l’urbanisation est plus intéressante financièrement pour peu que l’on se fixe des objectifs à moyen terme et que l’on dispose d’un minimum d’argent à investir. Alors prêt ? Cartographiez !

     

    image

  • SharePoint: Afficher une master page custom quelque soit le template utilisé

    Lorsque l’on créée des templates de sites personalisés, on est rapidement tenté d’y attacher par défaut une master page également personalisée. Cela s’avère assez simple à réaliser mais là où cela se complique c’est lorsqu’on souhaite attacher, par défaut, notre master page aux templates existants. On pourrait aisément modifier le nom de la master page active mais dans un contexte où les utilisateurs crèent eux mêmes leurs sites sur base des templates, il est probable que ceux-ci ne configurent pas cette master page.

    Ainsi, puisque dans la majorité des cas nous nous retrouverons avec la master page par défaut, nous pourrions être tenté de remplacer cette master page par la nôtre. Cela n’est malheureusement pas supporté par Microsoft. On travaillera donc autrement et on modifiera, à la volée le nom de la master page à utiliser. Pour cela, il suffit d’intercepter les requêtes à l’aide d’un HttpModule. Pour faire faire simple, un HttpModule permet d’exposer des évènements qui participeront à chacune de vos demandes de page web.

    Dans notre cas, nous attacherons un handler à l’évènement PreInit de la page qui est demandée.

    Un HttpModule est simplement à mettre en oeuvre et doit implémenter deux méthodes de base: Dispose et Init. Ainsi, voici un exemple de code implémentant les éléments cités précédemment.

    public class MasterPageManagerHttpModule : IHttpModule { #region IHttpModule Members public void Dispose() { } public void Init(HttpApplication context) { context.PreRequestHandlerExecute += new EventHandler(context_PreRequestHandlerExecute); } void context_PreRequestHandlerExecute(object sender, EventArgs e) { Page page = HttpContext.Current.CurrentHandler as Page; if (page != null) page.PreInit += new EventHandler(page_PreInit); } void page_PreInit(object sender, EventArgs e) { Page page = sender as Page; if (page == null || page.MasterPageFile == null) return; if (page.MasterPageFile.ToLower().Contains("default.master")) { page.MasterPageFile = "~sitecollection/_catalogs/masterpage/custom.master"; // Master page can be uploaded to layouts folder also return; } if (page.MasterPageFile.ToLower().Contains("application.master")) { page.MasterPageFile = "~sitecollection/_catalogs/masterpage/customapplication.master";

    return; } } #endregion }

    Il nous reste à indiquer, dans le web.config qu’il est nécessaire d’utiliser ce HttpModule.

    <add name="MasterPageManager" type="Company.Portal.Features.MasterPageManagerHttpModule.MasterPageManagerHttpModule, Company.Portal.Features.MasterPageManagerHttpModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5" />

    Vu le type d’évènement, on déploiera ce code à l’aide d’une feature ayant comme scope la WebApplication et qui se chargera, à l’activation, de modifier le web.config comme indiqué dans ce post: SharePoint: How to use SPWebConfigModification class

    Simple mais efficace.



  • Retrouvez moi enfin sur Twitter!

    Il y a des moments où un simple lien suffit pour partager une information. Twitter est un bon vecteur d’information. Je vais donc l’utiliser à cet effet.

     

    http://twitter.com/didierdanse

  • SharePoint: Imprimer la page courante

    Imprimer une page provenant d’un site Internet est quelque chose de courant et pourtant cette impression est souvent très mal implémentée rendant les impressions peu lisibles ou entourées de toute une série d’éléments non désirés (liens divers, images utilisant abondamment l’encre de l’imprimante et bien d’autres choses pouvant perturber une impression peu couteuse, de qualité et exposant les informations importantes).

    L’impression peut être lancée de différentes manières:

    • Fonction Impression dans le menu du navigateur (ou CTRL+P);
    • Fonction incluse dans un script (VBScript ou javascript avec window.print()).

    Cette deuxième possibilité ne fait cependant qu’appeler la fonction présentée dans le premier point. De ce fait, l’impression respectera cependant le choix effectué par l’utilisateur, à savoir imprimer ou non les couleurs et images utilisées en background. Par défaut, cette option est décochée sous Internet Explorer:

    image

    Cette option a pour but d’éviter le gaspillage d’encre. Il ne reste plus qu’à créer nos propres règles pour définir comment doit être le rendu de notre page à l’impression.

    Jusque là rien d’exception puisque l’on imprime ce qui est à l’écran. Reste donc à voir comment soulager l’impression des éléments superflus. Nous pourrions utiliser une page générant uniquement un tableau de données. Mais qu’en est-il de l’impression d’un calendrier? D’une liste comportant des groupements? Et pour les filtres? Enfin, comment faire si vous avez filtré dynamiquement les données? Il est difficile de gérer autant de pages qu’il n’y a de cas envisageables et permettant de bénéficier de toutes les fonctionnalités présentées par les composants présents sur la page.

    Il reste cependant une solution basée sur du CSS tout à fait classique. Les règles CSS, les développeurs web connaissent généralement (tout du moins, je l’espère). Ce qu’ils connaissent généralement moins c’est la possibilité de définir des règles pour des médias différents. Ainsi, on pourra avoir des règles différentes selon le média utilisé: screen, print, braille et bien d’autres. Ceux qui nous intéressent sont clairement screen et print.

    Ainsi, plusieurs possibilités s’offrent à nous dont les principales sont:

    • utiliser 2 link, l’un avec un type screen et l’autre print (et donc deux fichiers css différents).
    <link rel='stylesheet' href='printstyle.css' type='text/css' media='print'>
    <link rel='stylesheet' href='screenstyle.css' type='text/css' media='screen'>
    • Utiliser un seul fichier CSS et spécifier le média directement dans ce fichier
    @media screen, print
    {
    /* Règles CSS partagées dans les différents types;
        Notez qu’il aurait été possible d’indiquer all. */
    .master { width: 90%; }
    }
    
    @media print 
    { 
    /* Règles CSS utilisées uniquement dans le cadre de l’impression */
    .master { width: 100%; }
    .monElement { display: none; }
    }

    N’hésitez également pas à utiliser cette possibilité pour remplacer des images par d’autres plus légères pour l’impression, modifier la police de caractères ou tout autre chose permettant une impression de meilleure qualité.

  • SharePoint / Office: Ouvrir un fichier sans devoir spécifier à nouveau le mot de passe

    Il est rapidement ennuyeux de devoir réintroduire son login et votre mot de passe pour ouvrir un fichier dans Office directement depuis SharePoint.

    image

    Si cela est le cas, il est fort probable le site SharePoint soit dans une zone que Local Intranet.

    image

    Ainsi, Office regarde cette notion de zone que l’on retrouve dans Internet Explorer. Lorsque la zone est différent de Local Intranet, les credentials ne sont pas envoyées lors de la connexion pour le téléchargement du fichier. Il suffit donc de dire explicitement que le site doit faire partie de la zone.

    Pour cela, rendez-vous dans Internet Explorer, ouvrez le SharePoint au sein du navigateur puis allez dans le menu Outils > Options Internet et sélectionnez l’onglet Sécurité.

    image

    Il ne reste qu’à cliquer sur Local Intranet puis sur le bouton Sites.

    image

    Après un clic sur le bouton Avancé

    image

    il ne reste qu’à appuyer sur Ajouter.

    image

    Votre site est désormais considéré comme étant un intranet et les credentials sont donc envoyés lors de la connexion.

    image

  • SharePoint: Activer le Single-Sign-On (SSO)

    Vous utilisez de multiples comptes au sein de votre entreprise avec par exemple, un pour vous connecter à votre Windows, l’autre pour vous connecter à SAP, un troisième pour vous connecter à une application Oracle ou que sais-je encore? Dans ce cas, le Signle Sign On est une fonctionnalité très utile pour vous et surtout pour vos utilisateurs.

    Effectivement, à l’aide de cette fonctionnalité, vous pouvez vous loguer une fois (lorsque vous entrez sur votre Windows) et, si vous avez déjà fourni l’association login / mot de passe pour les autres applications, vous connecter automatiquement à ces autres applications ou système d’informations. Rassurez-vous, le stockage de ces informations est fait de manière cryptée à l’aide d’une clé de cryptage. Nous y reviendrons plus loin dans cet article.

    Dans ces quelques lignes, nous allons voir comment l’activer au sein de SharePoint.

    Single-Sign-On dans la console d’administration

    Rendez-vous sur la page de gestion des Opérations. Le lien concernant SSO se trouve dans la configuration de la sécurité.

    clip_image002*

    Après avoir cliqué sur ce lien, vous devriez obtenir la page suivante:

    clip_image004

    Les liens disponibles diffèrent selon les droits de l’utilisateur connecté.

    Il se peut également que vous receviez le message suivant: Failed to connect to Microsoft Single Sign-on Service. To configure, please ensure the service is running comme on le retrouve sur la capture suivante:

    clip_image005

    Dans ce cas, cela sous-entend que le service SSO n’est pas en cours d’exécution. Il faut dès lors l’activer. Si vous n’avez pas ce message, vous êtes évidemment libre de bypasser cette étape mais il est cependant conseillé de vérifier le paramétrage du service.

    Activer le service SSO

    Rendez-vous dans la fenêtre d’administration des services (services.msc) et cherchez le service Microsoft Single Sign-On. Très certainement celui-ci est-il stoppé.

    clip_image006

    Si vous activez le SSO, il est fort probable que vous l’utilisiez dans le futur de manière régulière. De ce fait, il est préférable de mettre le service en démarrage automatique.

    clip_image007

    Par ailleurs, dans l’onglet Log On, indiquez le compte qui exécutera ce service. Celui-ci doit faire partie des administrateurs de votre SharePoint afin de pouvoir créer la base de données qui contiendra le mapping Windows User Account / Application User Account.

    clip_image008

    Modifier les paramètres de SSO

    Un clic sur le premier lien permet de configurer le Single Sign-On.

    Single Sign-On-Administrator: peut créer, modifier ou supprimer des définitions d’applications.

    Enterprise Application Definition Administrator: peut gérer les credentials d’une définition d’application.

    Comme nous l’avions signalé précédemment, il est nécessaire de créer une base de données qui contiendra les différents comptes utilisateurs. C’est dans cet écran que nous pouvons (et même devons) créer la dite base de données. Enfin, il est possible de modifier les paramètres par défaut concernant la durée de vie du ticket SSO et des audits au sein de la base de données.

    clip_image010

    Rapidement, nous pouvons voir qu’une nouvelle base de données à été créée dans SQL Server:

    clip_image012

    Cette base ne contient que quelques tables mais c’est bien suffisant pour répondre aux objectifs de SSO. Il vous est loisible de vous balader au sein de cette base afin de bien comprendre comment fonctionne cette base. On notera rapidement que les informations concernant les comptes utilisateurs ne sont pas lisibles tel quel. Cela a dû à un concept déjà cité: la clé d’encryption

    Gérer la clé d’encryption

    Une clé d’encryption est conceptuellement très simple à maitriser. Il s’agit d’une chaîne de caractères qui est utilisée pour crypter / décrypter les données dans la base de données.

    Ainsi, sur le lien Manage Encryption Key, il est possible de générer une nouvelle clé d’encryption. La création d’une nouvelle clé est conseillée de manière périodique ou encore lors d’un soupçon de données altérées. 

    clip_image013

    clip_image014

    Bien que ce ne soit qu’une option, il est fortement recommandé de réencrypter les données stockées dans la base de données lors de la création d’une nouvelle clé sans quoi les utilisateurs devront réencoder leurs credentials.

    Enfin, une fois que celle-ci a été générée, il est conseillé de sauvegarder cette clé. On notera tout de même que l’on nous ne propose que de faire des backups sur le drive A…

    Définir des applications d’entreprise

    Il ne reste dès lors plus qu’à créer des définitions d’applications d’entreprise (entendez par là SAP, Oracle, …) pour lesquelles vous souhaitez stocker des credentials.

    Ainsi, définir une application est une étape aisée puisqu’il suffit d’indiquer le nom de l’application (nom que vous souhaitez) et les propriétés qui doivent être persistées.

    clip_image015

    Ensuite, vous pouvez ajouter, modifier ou supprimer des comptes pour une certaine application.

    clip_image016

    Notez que pour les comptes qui n’auront pas encore été spécifiées, il est possible directement à l’utilisateur d’encoder son login et son mot de passe au travers de la page http://{server}/_layouts/ssologon.aspx.

    Sans entrer dans les détails, il vous est possible d’utiliser un autre provider SSO que celui fournit au travers de cette interface. Il vous est ainsi loisible d’utiliser un autre provider SSO ce qui est très utile si vous utilisez déjà un service SSO.

    Enfin, bien que ce code ne soit pas exhaustif, voici une piste de code si vous souhaitez manipuler des informations SSO:

    ISsoProvider provider = SsoProviderFactory.GetSsoProvider();
    
    SsoCredentials crentials = provider.GetCredentials(“Mon_Application”);

    Ces deux simples lignes de code vous permettrons de récupérer les informations login / mot de passe enregistrées pour l’utilisateur courant pour l’application définie en tant que Mon_Application.

    Plus d’infos sur ces méthodes:

    http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.portal.singlesignon.ssoproviderfactory.getssoprovider.aspx et http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.portal.singlesignon.issoprovider.getcredentials.aspx

  • SharePoint: Ferme, application web, collection de sites, sites et sous-sites, comment s’y retrouver?

    Par l’aspect évolutif de SharePoint, toute personne amenée à réaliser l’architecture d’une infrastructure SharePoint se retrouve rapidement confrontée à une question importante: Que mettre à quel endroit? Il n’existe pas une réponse ferme et définitive. Par contre, chaque élément cité à des propriétés, des possibilités et des objectifs différents. Reste ainsi à utiliser les bons containers pour le bon contenu…

    Il existe différents types de containers dont les principaux sont:

    • 1a) Ferme SharePoint (SPFarm d’un point de vue développeur)
    • 1b) Shared Services Provider
    • 2) Application web (SPWebApplication)
    • 3) Collection de sites (SPSite)
    • 4) Sites (SPWeb)
    • 4) Sous-sites (SPWeb)

    Principalement la hiérarchie autour de ces quatre premiers éléments (en bleu) répond à des besoins techniques alors que les deux suivants permettent d’organiser de manière purement logique les sites et les données comprises dans ces sites.

    Passons rapidement en revue de quoi est composer une infrastructure SharePoint. Pour plus de détails, rien de tel qu’une petite recherche sur Internet!

    1.A) Ferme SharePoint

    Il s’agit simplement de l’ensemble des serveurs front-end, applicatifs (Shared services), d’indexation ou encore hébergeant les bases de données. Une ferme pourra être déployée à un endroit particulier en fonction des objectifs de cette ferme comme, par exemple, permettre l’accès depuis Internet.

    image

    1.B) Shared Services Provider

    Il s’agit d’un ensemble de services au niveau de la ferme ce qui sous-entend  qui est partagé entre différentes applications web et donc sites collections.

    Parmi ces services on retrouve entre autres les notions de:

    • Profil (propriétés du profil, paramètres pour la synchronisation)
    • Rercherche (scopes, mappings de propriétés, sources de contenu, …)
    • Excel Services
    • Business Data Catalog

    image

    Il peut y avoir plusieurs SSP (Shared Services Provider) mais il est fortement conseillé de ne pas en abuser sans quoi la gestion de votre ferme s’en retrouvera fortement complexifiée.

    2) Application web

    Rien d’exceptionnel pour les IT ou les développeurs qui ont déjà pu mettre en place des sites ASP.NET, PHP ou utilisant toute autre technologie puisqu’il s’agit d’une application web tout ce qu’il y a de plus classique avec entre autres:

    • Un site dans IIS
    • Une url particulière
    • Une méthode d’authentification liée à cette application

    image

    On notera également que, dans un contexte SharePoint, une application web aura sa propre base de données (tout du moins lorsqu’il s’agit d’une nouvelle web application puisqu’il est possible d’étendre des applications webs pour donner des paramètres différents permettant ainsi de partager des données au travers de différentes applications web qui proposent des techniques d’authentification différentes).

    Par ailleurs, SharePoint étant basé sur ASP.NET, le code et les mises à jour du web.config (avec le SafeControls pour les initiés) se fera de manière globale pour les différentes collections de sites qu’exposent notre application web. On pourra ainsi utiliser ces différentes web applications pour empêcher certaines opérations (par exemple utiliser un web part) selon la population visée (Intranet, Extranet, Internet, partenaires, …).

    Enfin, une application web est toujours associée à un Shared Services Provider.

    3) Collection de sites

    Une collection de sites est un container virtuel (en ce sens où l’on ne retrouve aucun fichier sur disque comme pour l’application web) et sa définition est stockée dans une base de données de configuration.

    D’un point de vue IT, la collection de sites a plusieurs avantages dont les principaux sont:

    • Quota de données
    • Facilité de maintenance (le backup / restore se fait par défaut au niveau de cette collection)

    image

    Si l’on se place au niveau de la gestion du contenu, on notera que pour chaque collection de site est défini un administrateur. Cet administrateur peut ainsi gérer tout ce qui se trouve dans le site collections, à savoir:

    • Corbeille de second niveau
    • Recherche customisée par site-collection
    • Utilisateurs pour une collection de sites

    Enfin, l’utilisation des collections de sites permet de cataloguer des éléments customisés en fonction de la population qui accèdera à du contenu de cette collection de sites (par département par exemple):

    • Page maître
    • Images
    • Templates de sites et de listes
    • Web parts

    Une collection de sites possède toujours un site racine.

    image

    4) Sites et sous-sites

    Jusque là, nous avons beaucoup parler des ITs, un peu des développeurs mais peu des utilisateurs finaux pourtant moteurs pour tout ce qui est contenu au sein de notre SharePoint.

    A ce niveau nous pourrions ne parler de gestion de contenu. Selon les droits dont ils disposent, les utilisateurs peuvent:

    • Créer des sites
    • Créer des listes
    • Attacher des workflows à des listes
    • Assigner des permissions
    • Restaurer des données supprimées
    • Et bien d’autres choses encore!

    A ce niveau, seul le bon sens et les règles définies par votre entreprise ont de l’importance. Peu importe où se trouve les données, elles seront physiquement stockées au même endroit. Cela ne veut pas pour autant dire que l’on doit placer nos données partout et n’importe comment. Profitez des possibilités de SharePoint comme l’héritage des permissions pour gérer de manière efficace vos sites.

    image

    Il est techniquement possible d’ajouter du code ou des outils de reporting aidant à la gestion mais il ne faut pas négliger la formation des utilisateurs qui recevront les droits de créer des sites.

     

    Un exemple de hiérarchie de sites:

    • Ferme
      • Application Web 1
        • Collection de sites A (avec le site d’entrée)
          • Site A.1
            • Site A.1.1
            • Site A.1.2
          • Site A.2
        • Collection de sites B (avec le site d’entrée)
          • Site B.1
            • Site B.1.1
              • Site B.1.1.1
          • Site B.2
      • Application Web 2
        • Collection de sites C (avec le site d’entrée)
          • […]
        • Collection de sites D (avec le site d’entrée)
          • […]

     

    A vrai dire, il serait encore possible de rédiger sur ce sujet durant des heures mais je pense que ce post permettra déjà à bien des gens d’avoir un aperçu du pourquoi il est important de se renseigner préalablement à la mise en place de votre SharePoint.

  • SharePoint: Un bug majeur dans le Service Pack 2!

    Le titre est quelque peu alarmiste. C’est voulu sans quoi l’auriez-vous réellement lu? :-) Je vous rassure cependant: le bug existe mais la solution également.

    Après avoir installé le Service Pack 2 de SharePoint, SharePoint passe en mode trial et la date d’expiration du produit change. Ainsi, si vous ne modifiez pas cette date, vous n’aurez plus d’accès au SharePoint au travers de l’interface.

    La procédure pour changer le Product ID est indiquée dans cette KB: http://support.microsoft.com/default.aspx/kb/971620 

    Pour plus d’infos: http://blogs.msdn.com/sharepoint/archive/2009/05/21/attention-important-information-on-service-pack-2.aspx

  • Téléchargez le Service Pack 2 de SharePoint

    Depuis quelques mois, Microsoft propose les mises à jour de SharePoint au travers de deux types de packages: les Service Pack et les Cumulative Updates. Ainsi, pour avoir un environnement SharePoint qui soit à jour, vous devez installer:

    • Le dernier Service Pack
    • Le dernier Cumulative Udpate

    Cette fois, ce n’est pas un Cumulative Update qui est proposé mais bien un Service Pack. Ainsi, vous ne devez installer rien d’autre que le Service Pack pour être à jour.

     

    Voici les liens pour télécharger le SP:

    SharePoint Service Packs

    Windows SharePoint Services 3.0 Service Pack 2 (SP2) – English

    http://www.microsoft.com/downloads/details.aspx?FamilyID=79bada82-c13f-44c1-bdc1-d0447337051b&displaylang=en

     

    MOSS seulement: The 2007 Microsoft Office Servers Service Pack 2 (SP2)

    http://www.microsoft.com/downloads/details.aspx?FamilyID=b7816d90-5fc6-4347-89b0-a80deb27a082&displaylang=en

     

    Language Pack Services Packs

    Windows SharePoint Services 3.0 Language Pack Service Pack 2 (SP2)

    32 bits: http://www.microsoft.com/downloads/details.aspx?FamilyID=085e5ac8-58f6-4cf9-8012-33b95ee36c0f&displaylang=en

    64 bits: http://www.microsoft.com/downloads/details.aspx?FamilyID=2c2b6caf-b46d-45eb-ac4d-deaaa48c3a2c&displaylang=en

     

    MOSS seulement: The 2007 Microsoft Office Servers Language Pack Service Pack 2 (SP2)

    32 bits: http://www.microsoft.com/downloads/details.aspx?FamilyID=01c6a3e8-e110-4956-903a-ad16284bf223&displaylang=en

    64 bits: http://www.microsoft.com/downloads/details.aspx?FamilyID=66c5026f-9f47-4642-8378-2526918009fa&displaylang=en

More Posts Next page »
L'auteur du site ne peut être tenu responsable des dommages que les informations fournies pourraient entraîner. Tout est cependant mis en oeuvre pour éviter tout désagrément.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems