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

Petit sample de binding avec les Web Services de SharePoint

En lisant, codant de petits bouts de code et validant quelques fonctionnalités avec les Web Services, je me suis rappellé le bonheur du XML de retour de ces chers ASMX : http://www.developer.com/tech/article.php/3104621

A vrai dire, il existe différentes écoles :

1) les Pro XML
>>> genre :  puriste de XPath
N'oubliez pas de rajouter les namespace SharePoint pour pouvoir faire vos requêtes

private XmlNodeList RunXPathQuery(XmlNode XmlNodeToQuery, string 
XPathQuery)
{
    // load the complete XML node and all its child nodes into a XML document
    XmlDocument Document = new XmlDocument();
    Document.LoadXml(XmlNodeToQuery.OuterXml);

    // all the possible namespaces used by SharePoint and a randomly choosen 
prefix
    const string SharePointNamespacePrefix = "sp";
    const string SharePointNamespaceURI = 
"http://schemas.microsoft.com/sharepoint/soap/";
    const string ListItemsNamespacePrefix = "z";
    const string ListItemsNamespaceURI = "#RowsetSchema";
    const string PictureLibrariesNamespacePrefix = "y";
    const string PictureLibrariesNamespaceURI = 
"http://schemas.microsoft.com/sharepoint/soap/ois/";
    const string WebPartsNamespacePrefix = "w";
    const string WebPartsNamespaceURI = 
"http://schemas.microsoft.com/WebPart/v2";
    const string DirectoryNamespacePrefix = "d";
    const string DirectoryNamespaceURI = 
"http://schemas.microsoft.com/sharepoint/soap/directory/";

    // now associate with the xmlns namespaces (part of all XML nodes returned
    // from SharePoint) a namespace prefix which we can then use in the queries
    XmlNamespaceManager NamespaceMngr = new 
XmlNamespaceManager(Document.NameTable);
    NamespaceMngr.AddNamespace(SharePointNamespacePrefix, 
SharePointNamespaceURI);
    NamespaceMngr.AddNamespace(ListItemsNamespacePrefix, 
ListItemsNamespaceURI);
    NamespaceMngr.AddNamespace(PictureLibrariesNamespacePrefix, 
PictureLibrariesNamespaceURI);
    NamespaceMngr.AddNamespace(WebPartsNamespacePrefix, WebPartsNamespaceURI);
    NamespaceMngr.AddNamespace(DirectoryNamespacePrefix, 
DirectoryNamespaceURI);

    // run the XPath query and return the result nodes
    return Document.SelectNodes(XPathQuery, NamespaceMngr);
}

http://www.csharphelp.com/archives4/archive602.html

 

2) Les PRO objet
>>> genre  : une classe typé por favor

Merci le XDS.exe et l'XMLSerialiser
http://blogs.developpeur.org/themit/archive/2005/04/15/6012.aspx

http://www.peterverster.co.uk/blog/2007/02/07/Programming+MOSS+WSS+V3+Web+Service+API+Part+1.aspx

 

3) les PRO .Net advance
>>> genre : les generics ou rien

   ListItems<MACLASSEListItem> results = null;
   XmlNode resultItems = listSvc.GetListItems(listGuid, string.Empty, null, null, string.Empty, null);
   Console.WriteLine(resultItems.OuterXml);
     
   results = ListItems<MACLASSEListItem>.FromXml(resultItems.OuterXml);
   foreach MACLASSEListItem MAC in results.RowData.ListItems)
   {...}

http://blogs.developpeur.org/themit/archive/2008/03/25/sharepoint-et-l-appel-des-web-service-pourquoi-pas-un-peu-de-generics-serialization.aspx

     

    4) Le developpeur landa
    >>> genre : je veux juster binder ma liste s i m p l e m e n t !!! (et je le comprends bien)

    Dites donc merci au DataSet et sa méthode ReadXml smile_wink

       sharepointservices.Lists sharepointLists = new sharepointservices.Lists();
       sharepointLists.Credentials = new System.Net.NetworkCredential(username, password);
    
       XmlNode node = sharepointLists.GetListItems(listname,string.Empty,null,null,string.Empty,null);
       XmlTextReader xmlTextReader = new XmlTextReader(node.OuterXml, XmlNodeType.Element, null);
    
       DataSet dataSet = new DataSet();
       dataSet.ReadXml (xmlTextReader);

    http://blogs.officezealot.com/mauro/archive/2008/05/17/21034.aspx

    5) le mix du tout
    >>> Eh oui, toutes les méthodes se valent après tout mais elles ont toutes des impactes en termes de complexité ou de charge. A vous de bien pondérer dans vos choix. (ce lien peut vous aiguiller : http://weblogs.asp.net/paulballard/archive/2005/05/08/406197.aspx)

     

    Renaud Comte aka TheMit (SPeut le plus, code le moins )
    Member of WygTeam
    http://www.wygwam.com

    Les VHDs SharePoint clés en main de Microsoft (avec VS 2005)

    Les gens les demandent souvent mais nous ne pouvons pas redistribuer nos VPCs de formation, démo ou de projet. Tel est le plan de licence de l'éditeur.

    Ce n'est pas bloquant mais un peu gênant, du moins si il y avait une alternative :

    La voici, depuis la semaine dernière, Microsoft a mis en ligne un VHD préconfiguré avec

    • Windows SharePoint Services 3.0 SP1
    • Visual Studio 2005
    • Visual Studio 2005 extensions for Windows SharePoint Services 3.0, v1.1

    Attention elles sont à durée limité : 30 September 2008

    Windows SharePoint Services 3.0 SP1 Developer Evaluation VPC Image

    Pour les curieux qui préfèrent plus s'initier à MOSS, voici sa version préconfiguré :

    Microsoft Office SharePoint Server 2007 VHD (attention, 4095.7 MB)

    Je ne saurais trop vous conseiller de rajouter aussi le SDK ainsi que le STSDEV et le WSPBuilder extensions

    De jolies machines à utiliser pour tester les nouveaux WebCast de Microsoft sur le Dev SharePoint :

    SharePoint Developer MSDN Web Cast Series

     

    Date

    Topic and Signup URL

    Presenter

    May 20th 9AM PST

    Web Parts

    Robert Bogue

    May 21st 9AM PST

    Data Lists

    Robert Bogue

    May 27th 9AM PST

    Silverlight

    Andrew Connell

    May 28th 9AM PST

    Event Handlers

    Andrew Connell

    June 3rd 9AM PST

    Page Branding

    Andrew Connell

    June 4th 9AM PST

    Workflow

    Robert Bogue

    June 10th 9AM PST

    Web Services

    Andrew Connell

    June 11th 9AM PST

    Page Navigation

    Andrew Connell

    June 17th 9AM PST

    User Management

    Robert Bogue

    June 18th 9AM PST

    Content Types

    Robert Bogue

    Bon download et bon dev

    Renaud Comte aka TheMit (SPCodeur mais sous VPC)
    Member of WygTeam
    http://www.wygwam.com

    CNN "Magic Board": Surface Like

    Lors de mon dernier voyage aux US, le Jet Lag m'a permis de profiter des News régulièrement tous les matins (plus précisément vers les 5H du matin).

    Et j'ai découvert le dernier gadget des journalistes de CNN : la Magic Board

    Surprise, ça ressemble bien à une utilisation de Microsoft Surface, non ?

    Et bien non ...

    En effet, CNN utilise la technologie de PerceptivePixel.

    Prenez donc 2 minutes et regardez un peu leur démo :

    http://link.brightcove.com/services/link/bcpid713271701/bctid709364416

    Vraiment sympathique non ?

    Renaud Comte aka TheMit (toujours aussi curieux)
    Member of WygTeam
    http://www.wygwam.com

    [Fun] : J'en ai toujours rêvé, mais il y en a UN qui l'a fait !!!

    Attention, ce post d'humour est particulièrement non politiquement correct mais tellement bon !

    Si bien souvent vous recevez des mails, des MSN, des twitters, des relances pour un coup de main sur une question de base, n'hésitez pas, renvoyer vers la meilleur URL du monde :

    http://www.justfuckinggoogleit.com/

    Bart at a blackboard with a pro-google message

    Rah lovely

    PS : cette page n'est pas un joke, il y a même une technique de renvoi vers Google smile_regular

    Genre  http://www.justfuckinggoogleit.com/search.pl?query=SharePoint+architecture+logique

    Que du bonheur

    Renaud Comte aka TheMit (SPrigolo à ces heures)
    Member of WygTeam
    http://www.wygwam.com

    GAC / Bin sous SharePoint : que faire si un dll ne charge pas ...

    Le genre de soucis vraiment pas sympathique quand vous déployez vos applications.

    Votre application sous SharePoint se met en erreur de manière épisodique car il ne trouve pas des types d'objet genre

    • "The type specified in the TypeName property of ObjectDataSource '*******' could not be found."
    • "Could not load type "******""

    Alors que 10 minutes / secondes avant, tout fonctionnait très bien

    Ou sinon, même si votre le fichier asmx de votre Web Service personnel est dans le GAC, l'appel du Web Service vous donne un beau "File not found"

    Une solution simple :

    Pensez à modifier votre Web.config afin d'ajouter vos DLL au processus de compilation de votre site

    http://msdn2.microsoft.com/fr-fr/library/bfyb45k1.aspx

    Genre

    (source http://www.sharepointblogs.com/nrdev/archive/2006/12/29/tip-dll-in-gac-but-cannot-be-accessed-through-sharepoint-site-quot-could-not-load-type-quot-try-this-fix.aspx)

    Tout simplement

    [Pour aller plus loin]

    >>> Et histoire d'avoir un Best Practice complet, pensez à rajoutez à votre solution une feature niveau WebApplication avec un receiver qui assurera la modification du Web.config (SPWebConfigModification) automatiquement. Ainsi vos installations ne seront que plus discrètes, directe et maintenable

    Genre  : How To Modify the web.config file in SharePoint using SPWebConfigModification - Mark Wagner

    Ps : Post écrit au début depuis un Airbus au dessus de l'Atlantique et fini dans un hotel de l'Aisne smile_regular

    Renaud Comte aka TheMit (SPDebug)
    Member of WygTeam
    http://www.wygwam.com

    De la maintenance de Base de données sous SharePoint

    Voici un sujet qui est vraiment d'actualité !

    En ces temps ou :

    • on annonce 100 millions de licence SharePoint vendus
    • que de plus en plus de ferme WSS et MOSS sont configurés
    • que le stockage documentaire augmente
    • que les chasseurs de têtes cherchent désormais du profil IT SharePoint

    il devient temps de parler de maintenance SQL.

    Évidemment, ce genre de post serait plus naturel si j'étais quelqu'un de plus IT/DBA comme Christian ou Fabrice, mais après quelque recherche, j'ai pu trouver un très bon document :

    Database Maintenance for Microsoft SharePoint Products and Technologies

    Je le poste car il s'agit d'un domaine que bien souvent, et malheureusement, que les intégrateurs/développeurs SharePoint ignorent ou minorent un peu trop.

    Tout le back-office de données est géré uniquement via ses bases de contenu (et sa base de config). Le Serveur SQL se doit être particulièrement suivi et optimisé.

    Ah les problèmes de place disque, d'index congestionné, de log gargantuesque, j'en passe et des meilleurs.

    Ce document la, est très bon car il provient vraiment de personne d' expérience ayant certainement vécu le pire et le meilleur sous SharePoint.

    Ainsi vous découvrirez lors de sa lecture :

    • les joies du contrôle d'intégrité avec le DBCC en ligne de commande
    • les problèmes de fragmentation des bases et sys.dm_db_index_physical_stats
      image
      • mesure de la fragmentation
      • réduction de celle ci (et le batch associé)
      • la différence entre la base et les index de celle ci
    • la différence entre la place utilisé et la place occupé : merci le Shrink
      image
    • La création d'un vrai plan de maintenance
      • Contrôle de l'intégrité des bases
      • réorganisation des indexes,
      • shrink des bases
      • et bien sur, tout nettoyer à la fin.
    • la gourmandise en performance des opérations de maintenance (n'attendez pas que votre DB fasse 500 GB pour réagir ...)
      • ne pas automatiser le Shrink : ne le faire que si besoin ! ou sous condition
      • surveiller les opérations de "mouvement" de données important sous SharePoint
        • genre déplacement/migration de collection
        • suppression de site ou de profile utilisateur

    Bonne lecture (si si vraiment, même si vous êtes un Dev, ce ne sera pas une perte de temps !!!!).

    PS : Cher IT SharePoint, n'hésitez pas à compléter avec vos liens et remarques

    Renaud Comte aka TheMit (promis je retourne au dev rapidemment !!!)
    Member of WygTeam
    http://www.wygwam.com

    Video : Office Developer Hero

    Il y a des développeurs qui recherche toute leur vie un minimum de reconnaissance.

    Mais des fois, il suffit juste d'utiliser la technologie la plus "love" heart 


    Video: ODC2008 Developer Guy

    Il faut bien sur prendre le tout au Second degrée mais si vous êtes un codeur, un pur et respectable, laissez vous allez et donnez donc une chance à la plateforme Office

    Vous risquez d'être agréablement surpris. smile_nerd

    Renaud Comte aka TheMit (critique micro cinéma)
    Member of WygTeam
    http://www.wygwam.com

    Fun & Migration : il faut savoir aller de l'avant

    -- Post semi ironique à prendre au second degrée (quoi que) --

    Rentrant du Compagny Store de Microsoft avec Fabrice Romelard (aspirant SharePoint confirmé smile_wink), nous discutions à bâton rompu de :

    • nos achats pro XBox comme
      • les jeux XBox
      • Les manettes
      • la télécommande
    • les accessoires du Zune V2
    • la problématique du changement et des migrations SharePoint

    Bien, en ouvrant le CD de la bande son original de HALO 3, je suis tombé sur une phrase d'un des terminaux Forerunner que consulte le fameux "Master Chief".

    Picture 3[1]

    Je trouve cette phrase tout simplement splendide:

    IMAGE_035

    "Living in the past is a luxury none of us can afford. We must learn from it, but we can not live there. It is impossible to plan for the now - the present is ever fleeting. The future is where we must live. The future is what we mus plan for."

    Excerpt from 24 terabyte data image extracted from Forerunner Terminal Network

    Rien à redire

    Parfait et à méditer quand vous ouvrez l'admin de votre intranet

    Renaud Comte aka TheMit (SPForerunner)
    Member of WygTeam
    http://www.wygwam.com

    [MVP summit] la seule session non NDA : SPaintball

    Ca y est on est arrivé avec toute la WygTeam après moultes connexions, détour, fouilles, rebooking, nous sommes à Seattle !

    Enfin un bon café

    IMAGE_015

    Désormais, nous allons enfin pouvoir profiter de l'événement comme il se doit mais malheureusement, comme tous les ans, ce sera sous couvert de NDA ...

    Donc pas d'information à relayer qu'il s'agisse de

    • Infopath 14
    • Visual Studio 10
    • SharePoint 14
    • ...
    • ..
    • .

    Je sais c'est frustrant et encore plus pour les nouveaux MVP fraîchement nommé qui découvre le monde du silence.

    Cependant, il y a une session qui elle n'est pas NDA mais restreinte à une population extrêmement ciblé (vraiment)

    Le SPaintBall

    Pendant que quelques MVPs se partage la journée du Lundi entre Keynotes, Open lab et Bose Sound System (et pas que Fabrice), d'autre luttent dans la boue et mettent leur intégrité physique en jeu !

    Eh oui, les MVPs SharePoint se retrouvent entre eux avec des membres du Team SharePoint dans un journée de Networking/Team Building de haut vol

     

    IMAGE_029

    Mes bon amis GAT et Philippe (Bob Fox official's Puppet smile_wink ) en ont largement profité et vous prépare un vrai reportage photo.

    Bref, un vrai moment de bonheur de 8h du mat à tard dans la nuit !

    Quelques chiffres ?

    Pas de soucis :

    • 48 personnes en 2 équipes
    • Certains MVPs US, sur-entrainés:
      • Casque radio
      • Tenu de Sniper
    • Casque et tenu de camouflage pour tous
    • 80 000 billes de peinture en une journée
    • un peu prés autant de contusion et bleues divers et variés !

    Le groupe des SP MVPs augmente et se resserre à chaque Summit : une vrai petite famille toujours en mouvement et le sourire au lèvres

    Preuve en est le repas des braves guerriers tout peinturlurés

    IMAGE_017

    IMAGE_017 

    IMAGE_026

    IMAGE_021 

    IMAGE_018

     IMAGE_024

    IMAGE_019

     IMAGE_022 

    Ah quel souvenirs comme :

    • Andrew Connell bloqué derrière un muret asservi par 5 shooters : il était terrifié
    • Philippe Sentenac pris en feu croisé : shoot dorsal et frontal
    • Double Head Shoot pris 2 fois de suite par votre serviteur
    • Shane Perran touche en plein vol au dessus d'un tas de tapis
    • Brad et Bob en pur militaire rempant sous les arbres
    • Lawrence pris par un tir ami dans le cou
    • Todd Bleeker parlant de Web Services SharePoint en train de recharger son Gun avant de prendre une bille en pleine tête !

    Ah la la

    Sinon les sessions sont géniales mais sous NDA

    A bientôt

    PS : je mettrais à jour le post avec les liens vers les photos en ligne des autres MVPS dés qu'elles sont en ligne

    Renaud Comte aka TheMit (SPJetLaggeur)
    Member of WygTeam
    http://www.wygwam.com

    Mots clés Technorati : ,,
    MVP Summit : Murphy law mais une vie a été sauvée !

    Eh oui, le MVP Summit est déjà une réalité pour certains, les blogs codes sources en sont déjà le reflet.

    Merci au Team Winwise pour les photos car le trajet pour nous, Chti.Net, est un peu plus compliqué ... et surtout pas encore fini ...

    Ah j'aimerais bien vous parler de quelques adresses sympathiques et des rencontres géniales mais voila : il a fallut sauver une vie !

    1. Départ Amsterdam 13h
    2. Au 1/3 du voyage, appel du commandant qui recherche un médecin
      >>> Crise cardiaque en live dans l'appareil
    3. La totale !!!
      • Massage cardiaque
      • Electro shock
      • Massage cardiaque
      • Tracheo
      • 2 Bonbonnes d'oxygène
        >>> Je ne vous raconte pas l'ambiance dans l'avion. PIRE, le streaming video de l'avion retransmettait des épisodes de DR House [MD] !
    4. Le coeur est semi stabilisé, reroutage d'urgence vers Shannon en Irelande dans un aéroport Ryan Air : 1H30 de vol
    5. Arrivé des secours
    6. Rechecking complet de l'appareil : 2h (mais toujours bloqué dans l'appareil sans nouvelle du patient ni de nos correspondances)
    7. On redecolle direction New York
    8. 5h30 plus tard arrivée à Newark
    9. Custom et Reconnection
      • annulation de vol
      • soucis de ticket
      • certains sont
        • en waiting liste
        • décolle à 7h pour Seattle
        • sur vol pour Denver !!! et hypothétiquement sur Seattle aprés
      • direction un hôtel de NY
      • quelques news : le patient a été sauvé à l'hopital, ca s'est joué de trés peu niveau temps pour son coeur
    10. Enfin après 26 heures de voyage, à l'hotel Hollyday In de l'aéroport, un vrai premier repas bien américain entre buns et oignons

    Hum hum ...

    Et encore, ce n'est pas fini car je vous écris depuis l'hôtel avec Gregory et Julien, croisant les doigts pour :

    • les correspondances de nos copains
    • notre correspondance à Denver puis Seattle si elle existe
    • que ce coup ci, tout le monde soit bien portant

    Allez, Haut les coeurs !

    Après tout :

    • Nous sommes au US
    • On a vu L'Irlande et New York ainsi que bientôt Denver 
    • L'ambiance Wygwam est à fond !!!
    • J'ai pu blogger et coder un poil dans l'avion
    • Une vie a été sauvée et ça vaut bien tout les désagréments que ce soit l'annulation du Paintball, les RV ratés et les soirées, elles ne seront que meilleurs par la suite smile_regular

    Let's Fly to Denver !!! 

    Renaud Comte aka TheMit (SPJetLaggeur)
    Member of WygTeam
    http://www.wygwam.com

    Mots clés Technorati : ,,
    MVP Summit : Check in OK, Parking OK, Laptop OK, Paintball Stratégies OK

    Le MVP Summit arrive à grand pas !!!

    image

    La WygTeam se déplace aussi en groupe (non pas colonie de vacance) et vas retrouver tous ses amis, contacts, MVPs, Microsofties pour bien des aventures :

    • Director meeting
    • Workshops
    • Advance & Beta
    • Networking
    • Party
    • Et si vous êtes un SharePointeur MVP : PAINT BALL

    Ah souvenir : http://blogs.developpeur.org/themit/archive/2007/03/19/mvp-summit-moss-valuable-paintball-day.aspx

    Pour les nouveaux MVPs SharePoint ainsi que les futurs, un conseil :

    Trêve de plaisanterie
    >>> Comme vous vous en doutez, je serais certainement encore en mode "PowerBlog", en quête de nouveautés, moments sympathiques et autres information non NDA

    Sous entendu, je ne parlerais pas, mais pas du tout de Office 14, SharePoint 14 et tuti quanti, ....

    Pour la petite histoire, tous les MVPs SharePoint seront à l'hotel Shareton, donc si vous êtes dans le coin, n'hésitez pas

    Renaud Comte aka TheMit ("Sleepless in Seattle 2")
    Member of WygTeam
    http://www.wygwam.com

    Oh souvenirs, souvenirs ... Regardez donc ce que j'ai retrouvé :)

     IMAGE_023

    Et mieux que tout : il est encore sous BLISTER !!!

    Un pur collector avec ses 3 famille de DVD pour Client/Exchange/SharePoint

    So sweet

    Renaud Comte aka TheMit (SPNostalgique mais pas trop)
    Member of WygTeam
    http://www.wygwam.com

    [AVIS] De la différence philosophique entre Lotus Notes et SharePoint 2007.

    Voici un billet d'un nouveau genre, entre le retour d'expérience et le recul critique, en résumé, Mon avis personnel sur une problématique technologique.


    Avis que je vais tenter de défendre, argumenter et commenter. A vous ensuite de vous faire votre propre avis sur la question

    Bonne lecture (et j'attends avec impatience vos commentaires constructifs, passionnés et passionnants)  

    Pour le premier de la série, j'ai choisie un sujet qui revient souvent ces temps ci.

    Et par tous les moyens de communication possibles !!!

    Par

    • mail
    • courrier
    • mobile
    • Skype
    • MSN
    • ET même mon voisin de compartiment dans le TGV !!!!

    Nous dirons donc un sujet bien "à la mode" : Migration de bases Lotus Notes vers SharePoint 2007

    Attention, il ne s'agit que de mon avis personnel et n'engage que moi et pas mon employeur ou tout éditeur partenaire.

    Il est vrai que bien des sociétés ont déployés moult serveurs et sites SharePoint, et souvent avec réussite.

    Le tout soutenu par des user-cases accréditant encore plus un marketing assez efficace de Microsoft sans pour autant être vraiment agressif (du moins sur ce sujet là).

    Un succès qui se confirme doucement mais sûrement et qui commencent même à convaincre bien des entreprises de franchir le pas.

    Et pas n'importe lequel : Migrer un environnement Lotus Notes à la technologie SharePoint...

    Il y a 6 ans, j'assurais déjà des projets où on évoquait la possibilité de remplacer bien des systèmes de gestion électronique de connaissance/knowledge sharing via une technologie naissante comme SharePoint 2001.

    Avec le temps, évolution oblige, SPS 2003 s'est mis en concurrence naturelle avec Lotus Notes.

    Clairement, la matrice avantage / inconvénient entre SPS 200X et Notes 4/5/6 n'était pas à l'avantage de SharePoint.

    Mais voila, les années passent, Microsoft apprend, les technologies évoluent et SharePoint 2007 arrive.

    Certains remarqueraient même que des hommes-clé ont changé de clan

    Genre, Ray McOzie

    Créateur de Lotus Notes qui quittera IBM pour créer Groove et qui se retrouve finalement Chief Technical Architect de ... Microsoft.

    Je n'ose même pas me projeter sur les prochaines versions de SharePoint mais restons contemporains et revenons sur notre version actuel qu'est SharePoint 2007.

    Maintenant, le rapport de force a tendance à s'inverser en la faveur de la SP plate-forme (SP = SharePoint).

    Attention, je ne dis pas que Lotus Notes est fini, loin de la, mais voici la tendance actuelle : les demandes de migration sont nombreuses et correspondent rarement à du "Proof Of Concept" !!!

    Cependant, ne vivant pas dans un monde merveilleux où tout est interopérable en 2 clicks, où tout le monde se met autour d'une table et arrive à se décider sur une norme, où il ne pleut jamais quand on tond la pelouse,... je dois me raccrocher au vrai monde.

    Celui de la vraie vie avec de vrais gens, avec des serveurs, des technologies propriétaires et surtout de nombreuses spécificités.

    Dans le petit monde du KM, mes (nos) chers amis consultants fonctionnels parleront toujours de :

    • Bases de connaissances
    • Expérience utilisateurs
    • Catégorisation et taxonomie de l'information
    • Référentiel d'entreprise
    • Espace de collaboration et de publication
    • Workflow d'entreprise
    • Dashboard et Scorecards
    • ...

     

    Tout un ensemble de sous-ensemble de la poupée russe qu'est l'Enterprise Content Management.

    Toute une famille de concepts fonctionnant à merveille sous Lotus Notes et/ou SharePoint 2007.

    Si les concepts les rapprochent, une migration d'un outil à un autre ne devrait pas être si problématique, non ?

    C'est le principe, en théorie, mais qui n'est pas si évident en pratique.

    Je m'explique : pour avoir côtoyé bien longtemps le monde Lotus et avoir vécu l'évolution de SharePoint 2007, j'ai pu remarquer quelques points fondamentalement différents entre ces 2 technologies. Points qu'il vaut mieux savoir pour arriver à migrer d'une technologie à une autre.

    Fonctionnellement, il est tout à fait légitime d'envisager et de concevoir de migrer ses bases Notes.

    Cependant, exiger une approche iso fonctionnelle, garder l'expérience et les réflexes utilisateurs sont un peu illusoire voire utopique.

    En effet, les concepts à la base de l'ECM sont fonctionnels et reposent souvent sur des normes ou des méthodologies de gestion de l'information.

    Leur implémentation concrète dépend cependant de l'architecture et de la conception de l'outil, je parlerai même de la philosophie propre de la technologie sous jacente.

    Sous entendu, pour nos amis développeurs, il ne s'agit pas forcement de Framework mais de couche produit : chaque produit forme une couche abstraite de son système d'information. Il faut savoir l'exploiter judicieusement et non pas chercher à redévelopper chaque partie.
    >>> Il faut plus favoriser l'approche native du produit et l'étendre au besoin des utilisateurs. Chercher à faire forcement correspondre un produit comme Notes ou SharePoint à un fonctionnement spécifique est très risqué. Dans le dernier cas, il faut plutôt s'orienter vers une approche "application spécifique" que chercher à "tordre" l'application pour en faire quelque chose d'autre.

    Essayer donc de transformer un serveur SharePoint en une forme d'Exchange pro documentaire ... Il faut mieux préférer :

    • un couple SharePoint / Exchange
    • une application tout .Net
    • autre chose de plus valable

    Cependant, Le risque d'effet "usine à gaz", si facile à maintenir dans le temps et à faire évoluer, est bien réel ... Et je ne parle même pas de la capacité des gens à adhérer et à s'approprier de telles applications ...

    Donc, il faut toujours respecter la logique propre d'un outil, sa philosophie pour mieux en profiter.

    C'est la que se trouve le "hic". Lotus et SharePoint 2007 ont 2 philosophies, 2 conceptions totalement opposés !

    Mais qui ne leur interdit en rien de pouvoir offrir au final, en partie, la même offre fonctionnelle autour du Knowledge Management par exemple.

    Dés lors, comment arriver à migrer aisément ?

    Bien sur, des bases Notes simples avec des workflows basiques se migrent rapidement via les outils/scripts de Microsoft :

    Mais dans notre joli monde, il existe très très peu de modèles simples.

    Des générations entières de développeurs, de concepteurs et de CP ont rajoutés modifications, composants, workflows et autres customisations pour arriver à répondre à des expressions du besoin de plus en plus exigeantes.

    Et plus ces populations utilisaient un outil en particulier, plus ils savaient l'appréhender et profiter de ces forces et éviter ces faiblesses.

    Lotus foisonne de Best Practices et de routine interne, comme tout produit, et associé à de bons scénarii fonctionnels, La réalisation d'applications de première qualité n'est pas si compliqué, bien au contraire.

    Hors voila, si il est envisageable de conserver ces scenarii fonctionnels comment, mais comment peut on arriver à migrer les Best Practices et autre modèles de conception d'une technologie quand les philosophies sont fondamentalement différentes ?

    De mon point de vue, il n'y a pas de miracle, il faut forcement passer par une phase de "concession".

    Pour migrer d'une technologie A vers une autre B (genre Lotus vers MOSS), il faut

    1. Définir les 3-4 fonctionnalités majeures ainsi que les 3-4 mineures de A
    2. Recenser les outils et solutions de B cadrant avec les fonctionnalités retenues de A
    3. Proposer des scénarii de modèles équivalents de B par rapport à A
    4. Transiger, négocier sur les fonctionnalités techniquement viables sous B existant sous A
    5. Mettre en avant au mieux la technologie B pour compenser et justifier la migration
      >>> garder bien à l'esprit la loi de Paretto, 20/80 : tout ne sera pas migrable ....
    6. Mettre en place le kit de migration sur des bases dits de référence sur les scénarii définies
    7. Planifier le développement des composants manquants
    8. Planifier la bascule finale
    9. Préparer les formations utilisateurs et la communication sur le nouvel outil B
    10. Exploitez et maintenir la nouvelle technologie (bien souvent on oublie que la maintenance EST différente)

    Rien de bien compliqué non ? Tout est question de négociation car effectivement, il ne me semble pas vraiment possible de migrer iso-fonctionnellement les 2 plateformes.

    Des documents restent des documents, et la notion d'espace collaboratif n'a rien de révolutionnaire mais dans le détail, l'ergonomie, le rendu, les méthodes de gestion et les outils propres à chaque produit sont souvent largement différent.

    Je sais, je semble un peu catégorique mais je vais rajouter quelques arguments plus "techniques" à propos de cette fameuse différence de philosophie, qui complexifie tant le processus de migration.

    Vous pourrez ainsi mieux vous faire un point de vue (je suis évidemment preneur de tout feedback, n'hésitez pas !)

    Soit dans le désordre :

    • La différence de technologie :
      • SharePoint fonctionne sous environnement Microsoft.
      • Notes aussi mais bien souvent sous environnement AS 400, Unix ou autre
    • La différence d'annuaire
      • SharePoint est PRO LDAP (plutôt AD mais rien de figé grâce aux différents provider)
      • Lotus Notes est PRO NAB : son propre annuaire interne
    • La différence d'origine
      • SharePoint a été pensé en respectant la notion de partage réseau, de hiérarchie du monde Office
      • Lotus Notes a été fondé sur la notion de messagerie, de workflow et stockage
        >>> C'est pourquoi une migration Notes inclue souvent le passage à Exchange ...
    • La différence des fonctionnalités de base
      • Je rappelle que Notes est une technologie déjà bien mature avec des processus et un fonctionnement bien reconnue, SharePoint est plus un outsider, mais quelle outsider !
      • La notion de workflow et de mailing est une des bases de Lotus alors que MOSS découvre doucement cette notion. Moralité, il est plus complexe de rentrer dans la notion de workflow que sous Notes. Actuellement, la création de WF, en dehors de SP Designer ou d'outil tiers reste bien plus compliquée sous SP que son homologue
      • SharePoint reposant sur SQL Serveur, il possède une gestion de la volumétrie largement supérieure à Notes, celui ci restant cependant multi plate forme
      • Exemple de fonctionnalité Notes only:
        • Chaque élément, information se gère un peu comme un mail avec la possibilité de lu/non lui. Assez complexe à réaliser sous MOSS non ?
        • Chaque champ de catégorisation peut gérer sa propre visibilité. Peut être disponible sous MOSS V-Next
        • Notes prône la notion de réplication et de synchronisation, SharePoint, lui, prône la notion d'online. Groove quand à lui change vraiment le mode de gestion mais l'approche global vaut vraiment l'analyse et le détour.
        • Un référentiel global des metadatas : un bon début avec les contents types mais pas forcement suffisant dans tous les scénarii surtout distribué
        • Multilinguisme : ... disons qu'il existe des solutions tierces comme IceFire et AlphaMosaik
        • ...
      • Exemple de fonctionnalités MOSS 2007 Only
        • Intégration du push/pull d'information entre les clients Office et les serveurs Office. Que dire aussi du bandeau customisable ?
        • Intégration fine avec la gamme Microsoft comme Reporting Services, Performance Point, Team System, ...
        • Sa pluridisciplinarité : MOSS est une plate forme pouvant gérer des problématiques du site institutionnel au site social en passant par l'application BI ou le moteur de recherche
        • Evolutivité à court et moyen terme : OBA !
        • ....
    • LA philosophie de base !!!
      • Sous SharePoint, la catégorisation, la sécurité, tout est centré autour de l'information elle même. Sous entendu, le document est maître. Les utilisateurs travaillent sur un document par exemple, et SharePoint vient l'enrichir de tout un environnement de sécurité, metadata et autre.
         
      • Sous Lotus Notes, c'est la notion de Fiche qui est maître. Chaque information est décrite dans une fiche de référence auquel se rajoute toutes les informations de catégorisation possibles. Une fois cette fiche finalisée, un utilisateur peut y accrocher plusieurs documents.

    Le dernier point est fondamental !!!

    En effet, si avec du temps et un peu de compétence (voir plus), la plupart des problématiques de Workflow peut être re codées (non migrées car l'original ne servira que de base d'écriture des spécifications), il est en autrement pour les applications documentaires.

    Le stockage documentaire entre Notes et SharePoint sont opposés, tout simplement.

    >>> Attention, je ne dis pas qu'il n'est pas possible de migrer d'une technologie à une autre MAIS qu'il sera TRES difficile d'arriver à un résultat identique ou cohérent.

    Cohérent dans le sens ou les utilisateurs retrouveront un maximum de leurs habitudes sous SharePoint s'il faut privilégier le modèle Notes.

    Actuellement, j'ai pu rencontrer quelques pistes pour se rapprocher de la philosophie Notes mais aucune n'a su vraiment me séduire

    Des lors, quelle est la conclusion possible ?

    Rien n'est vraiment évident comme dans tout projet de migration, et rien n'est gagné d'avance.

    Bien sur, tout un ensemble d'outil comme le Lotus Transporter Suite ou d'autre éditeurs comme Cashal facilite la vie, il ne simplifie pas tant que ça le problème.

    Le seul et vrai problème reste de bien comprendre les points suivants.

    Attention, il ne s'agit que de mon avis personnel et n'engage que moi et pas mon employeur ou tout éditeur partenaire.

    Soit

    • Une migration est purement technologique et non fonctionnel.
      • Ce ne sont pas des écrans que l'on migre mais des outils et/ou des méthodologies
    • En pratique, il s'agit surtout de transférer les contenus existants dans le nouveau modèle et les réinitialiser
    • Surtout analyser et préparer le terrain de la migration en
      • recensant les fonctionnalités majeures
      • ignorer les fonctionnalités mineures ou les pondérer
      • préparer la phase de formation/transfert de compétence
      • envisager l'impact du la nouvelle technologie sur la culture d'entreprise existante (pour pas mal de société, un mail est dit un notes !)
    • Éviter tous phénomènes de passion et de conservatisme technologiques
      • si une migration est programmée, il y a des raisons, pourquoi lutter contre ?
    • Privilégier toujours
      • la vérité
      • la négociation entre ergonomie et fonctionnalités
      • des workshops basés sur des exemples concrets que de jolis PowerPoint
      • le retour des utilisateurs, ils ont souvent un avis bien plus éclairé de leur outil que l'on croit !

    Limite, je conclurais avec 2 ironies simples (et un peu d'humour):

    • Si la migration est simple, c'est qu'il y a forcement un piège.
    • Si l'application d'origine est si exceptionnelle, pourquoi voulez vous tant migrer ?
      (et donc quels sont les vrais arguments et leurs poids dans le projet)

    Mais gardez espoir, j'ai rarement vu une migration ne pas aboutir, ce surtout plus un problème d'organisation que de simple technique, non ?

    A bientôt et au plaisir de lire vos commentaires,

    Renaud Comte aka TheMit (inspiration quand tu nous tiens)
    Member of WygTeam
    http://www.wygwam.com

    HyperV sur un Laptop ... No Sleep

    Profitant du 64 bits du processeur Centrino et littéralement charmé par les fonctionnalités de virtualisation de HyperV, Christian, Julien et moi même avons tenté l'aventure

    Bon je vous passe la période transitoire, bien connue du "Mais ou je vais trouver ce satané driver 64 bits pour cette bécane" pour arriver au résultat

    Ca marche et même relativement bien

    L'interface de Win 2008 est claire et pratique et je ne parle pas des possibilités d'HyperV
    >>> enfin les Snapshots et le 64 bits !!!!

    Seulement voila, Win 2008 srv et HyperV sont clairement pensé serveur de production. Normal me dirait vous et donc ne tiens pas vraiment compte de la notion de poste mobile ou de portable comme Vista

    La gestion de l'alimentation est des plus strictes ...

    http://blogs.msdn.com/virtual_pc_guy/archive/2008/02/27/hyper-v-and-power-management.aspx

    Sous entendu, pas de gestion de veille ou d'hibernation

    Dure dure, pour un itinérant vagabond de mon genre ...

    En résumé, retour case départ sous Vista et mon bon vieux VPC 2007. Le temps de voir arriver la RTM de Hyper V et/ouVPC 200X

    [UPDATE] J'ai trouvé un autre feedback de premier choix avec aides et astuces sur le sujet :

    http://guru-web.blogspot.com/2008/02/building-windows-2008-x64-laptop.html

    Bonne installation à tous

    Renaud Comte aka TheMit (Virtuellement votre)
    Member of WygTeam
    http://www.wygwam.com

    Quelques raccourcis bien pratiques sous Visual Studio pour SharePoint

    Comme l'avez posté Fabrice il y a quelques temps, on peut rajouter bien des appels de ligne de commande sous Visual Studio via ce fameux interface

     

    Les plus connus sont bien sur notre ami GuidGen pour obtenir de jolies GUID tout neuf

    Mais on peuT aller bien plus loin comme par exemple :

    • Lister les PIDs de IIS pour trouver le bon processus de debug
      %SystemRoot%\system32 Cscript.exe IISapp.vbs
    • Recycler votre pool applicatif
      %systemroot%\sytem32\IISAPP.vbs /a VotrePoolApp  /r 
      IISRESET
    • Appeler le STSADM
      • le déploiement de votre solution
        • -o addsolution -filename $(ItemPath)
        • -o deploysolution -name $(ItemFileName)$(ItemExt) -immediate -allowgacdeployment -force
        • -o upgradesolution -name $(ItemFileName)$(ItemExt) -filename $(ItemPath) -immediate -allowgacdeployment
        • -o retractsolution -name $(ItemFileName)$(ItemExt) -immediate
      • le lancement des timers
        -o execadmsvcjobs
    • Ouvrir des répertoires comme le 12, le WWWroot, le GAC
      • explorer.exe C:\Inetpub\wwwroot\wss\VirtualDirectories
      • explorer.exe C:\Program Files\Common Files\Microsoft Shared\web server extensions\12
      • explorer.exe C:\windows\assembly

    • Récupérer les PublicKey
      C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\sn.exe  -Tp "$(TargetPath)"

      http://www.andrewconnell.com/blog/archive/2006/09/15/4587.aspx
       
    • ...

    La liste peut être encore plus longue si vous ajouter en plus vos propres applications consoles ou d'extensions du STSADM genre

    Vous voyez mieux le principe ? Bien, dans ce cas la :
    >>>> N'hésitez pas à rajoutez en commentaires vos meilleurs "external tools" pour SharePoint en feedbacks

     

    Si vous voulez étendre facilement votre Visual Studio pour SharePoint, jetez donc un oeil sur le projet http://www.codeplex.com/SPDevMod de Scot Hillier

    A bientôt

    Renaud Comte aka TheMit (SPJetLaggeur)
    Member of WygTeam
    http://www.wygwam.com

    SPUtility : Retrouvez le chemin du 12

    Le SPUtility est une vraie mine d'or : il porte bien son nom tellement il est ... utile !

    Une véritable corne d'abondance de méthode pour vos développements :

    SPUtility Members (Microsoft.SharePoint.Utilities)

    Exemple, retrouvez le chemin du 12 pour parser un flux XML de paramétrage d'une de vos applications pages :

    Dim Path12 As String = Utilities.SPUtility.GetGenericSetupPath("template\layouts") + "/app/xml/conf.xml")

    C'est aussi simple que ça !

    Renaud Comte aka TheMit (SPJetLaggeur)
    Member of WygTeam
    http://www.wygwam.com

    TechDays 2008 Paris : les WebCasts sur le développement avec Office System (avec les miennes)

    Les WebCast du TechDays 2008 de Paris sont en ligne.

    En ce qui me concerne, j'ai une petite préférence pour les sections

    Mais ce n'est qu'une sélection personnel parmis les différents parcours qu'offre le site des WebCasts du TechDays 2008

    Si vous êtes un fan de session SharePoint, pensez donc au moteur de recherche, c'est plus simple

    http://www.microsoft.com/france/vision/mstechdays08/Recherche.aspx?Qry=sharepoint

    Pour finir, voici les liens directes de mes 3 sessions de speaker dont une avec mon collègue et ami ajaxisant Aurelien Verla