Mais combien de fois, je me suis demandé pourquoi Microsoft ne l’avait pas fait
Quoi ? Oh 3 fois rien
>>> un simple test d’existence d’une liste dans l’API!!!
Et désormais sous SP2010, ça existe enfin
SPListCollection::TryGetList Method
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistcollection.trygetlist(office.14).aspx
Si votre nom de liste ne correspond à rien, la méthode renvoi null, tout simplement
>>> Que ca fait plaisir de voir qu’avec SP2010 tout a évolué en mieux en phase avec les attentes des utilisateurs, administrateurs et de nos sacrés copains les développeurs (si souvent oublié, rappelez vous les tools VS2005 :) )
Des petites trouvailles de ce genre réchauffe ma petite journée genevoise sous la neige à se “balader” dans les API 2010 : http://msdn.microsoft.com/en-us/library/microsoft.sharepoint(office.14).aspx
…
Oh, dernier point, j’allais oublié
>>> j’ai été renouvelé MVP pour 2010 :)
Allez hop, comme l’année dernière, je change rien et je continue de plus belle !
Mais plus prêt des montagnes désormais ;)
Renaud Comte aka TheMit (Je code un peu, beaucoup, SPassionnément )
Member of WygTeam
http://www.wygwam.com
Une des nouveautés orienté IT des plus marquantes de SP2010 est certainement la possibilité conjointe avec SQL2008 de stocker nativement les binaires en dehors de ses bases de contenu : le RBS
SQL Server Remote BLOB Store and FILESTREAM feature comparison
Pour l’installation, il suffit de bien suivre les instructions de paramétrage : soit quelques lignes de SQL et un patch pour SP2010
- Install and configure Remote BLOB Storage
- Enable a content database to use Remote Blob Storage (RBS)
Voici une configuration qui vas réjouir plus d’un admin DBA :
- finit
- les BKs SQL et les DB de plus de 500GB
- les créneaux de maintenance chiffrés en jours
- les sizing limités par la problématique SQL
- vive
- la réutilisation des outils de gestion de partage de fichier
- la gestion de la volumétrie de disque bien classique et bien moins cher
- les scénarii d’archivage de lonnnnnngue date
Envie de le tester ?
>>> Todd Klindt résume bien cette expérience dans son post : http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?List=56f96349%2D3bb6%2D4087%2D94f4%2D7f95ff4ca81f&ID=174
Bonne lecture
Renaud Comte aka TheMit (DBAITGOV, pourquoi pas)
Member of WygTeam
http://www.wygwam.com
Un des avantages du social networking dans SharePoint est de pouvoir proposer aussi un véritable annuaire de la société. Associé au moteur de recherche, la solution est complète.

Petit soucis, l’ergonomie de recherche n’est pas des plus aisée. Je m’explique
Par défaut, la recherche par mot clé “k=” utilise des règles bien précises que Julien a rappelé efficacement :
http://blogs.developpeur.org/neodante/archive/2009/10/13/la-recherche-sharepoint-moss-synth-se-sur-la-syntaxe-des-requ-tes-par-mots-cl-s.aspx
Si vous êtes curieux,
En résumé, pour rechercher une personne
- soit vous tapez le nom plus ou moins dans la textbox de recherche. Avec des résultats …
- soit vous précisez les propriétés genre Lastname:Gud Firstname:Phil
- avec la propriété, la recherche gère comme Gud*
- si il y a plusieurs propriétés différentes, le moteur cherche avec un AND
- si il y a plusieurs propriétés identiques, le moteur cherche avec un OR
Donc tout est bien au final. Mais allez donc expliquer ceci à des centaines d’utilisateurs avide de mode d’emploi … (très peu de chance)
>>> Le succès d’un intranet ne tient pas qu’à sa richesse ou son graphisme mais surtout de l’utilisation qu’en font ses utilisateurs !
Soit un maximum d’adhésion et de compréhension.
Quelle solution alors pour pouvoir chercher facilement des utilisateurs ?
Réflexe de développeur
Pourquoi pas, il suffit de préciser les fameuses propriétés des contrôles de recherche à posteriori.
Soit modifier le composant de recherche de la Master via les delegate control tout en lui injectant le comportement par Jquery
… un peu lourd …
Soit refondre le composant de résultat et les onglets du search center mais lePeopleCoreResultsWebPart est sealed
… un peu bloquant …
Soit tout réécrire comme on le veut !
>>> autant acheter un tier produit genre Ontolica
Réflexe de SharePointeur
Soit rechercher une alternative en phase avec le besoin utilisant les “tips and tricks” de l’outil
:)
En pratique, la recherche people communique avec le Search Center via des urls de Querystring. En modifiant l’url transmis à la page PeopleSearchResult, on peut obtenir le résultat désiré
Plusieurs options se présente
- modifier le search.js dans Layout\1033 et implémenter le comportement dans la fonction GOSearch
http://geekswithblogs.net/mattjgilbert/archive/2009/12/11/moss-2007-people-search---wildcard-searching.aspx
>>> en scrutant le scope ou la page people, vous pouvez faire une modification très “localisé” mais attention, vous touchez un fichier du 12 !!!
- créer votre propre WP de recherche
>>> Et la plus de soucis : votre WP concatène tout ce qu’il faut et transmet à la page de recherche*
- Mieux que cela, la WP ne demande pas un développement lourd, comprenez Feature et DLL, il suffit de tout faire coté client, le tout fait dans un CQWP :)
(Content Editor Web Part = un simple formulaire en HTML avec un peu de JS si vous préférez)
Il ne reste plus qu’à l’importer dans la gallerie des WebParts ou directement dans la page !
En voici quelques unes que vous pouvez modifier au besoin voir passer en XSL/XML pour les rendre dynamique avec la XSLPart par exemple ou rajouter du JQUERY (genre http://weblogs.asp.net/jan/archive/2009/07/02/sharepoint-search-as-you-type-with-jquery.aspx)
Et voila, tout simplement
Renaud Comte aka TheMit (si je cherche, je te trouve)
Member of WygTeam
http://www.wygwam.com
Venant de changer de portable pour travailler plus efficacement avec SP2010, j’ai découvert avec malheur que Dell avait retiré la touche “application” des claviers des M4400.
“Damn it”, surtout que je l’aimais bien cette touche.
>>> bien pratique pour accéder au menu contextuel lorsque que l’on travaille au clavier sur un portable loin de sa souris…
Pas de soucis, il suffit de faire … Shift + F10
J’ai cherché un peu sur le Web pour trouver le raccourci adéquate donc histoire de rafraichir la mémoire à tout le monde (et me resservir au besoin) voici quelques liens bien pratiques :
- Raccourcis clavier pour Windows
- Computer keyboard shortcut keys :
A bientôt
Renaud Comte aka TheMit (heureux avec son clavier)
Member of WygTeam
http://www.wygwam.com
Comme vous le savez tous désormais, la beta Publique de SharePoint 2010 comme celle d’Office est disponible :
http://blogs.msdn.com/sharepoint/archive/2009/11/18/sharepoint-2010-public-beta-is-now-available-for-download.aspx
Mais maintenant, une fois téléchargé, il s’agit de l’évaluer au mieux.
 | Pour cela , rien ne vaut les documentations officiels tels que : A vous le plaisir de défricher les sentiers tout vierge d’une beta mais rappelez vous toujours que : - Le produit n’est pas encore fini complètement
- Certaines fonctionnalités sont en cours de finalisation
- Tout n’est pas 100% opérationnel
- Elle n’est pas encore optimisé
|
En résumé, à manipuler avec précaution et beaucoup de patience (si si) mais la beta est une vrai belle surprise pas un piège à loup, je vous rassure.
Mais rentrons désormais dans le vif du sujet. J’ai rencontré pas mal de monde ces dernières semaines qui se pose beaucoup de question sur le matériel et sur conditions de test de SP 2010. Ayant un peu tout testé avec mes collègues et des Amis MVPs des 2 cotés de l’atlantique, je vais partager un peu de cet expérience avec vous.
Mais avant quelques pré requis indispensables :
- pour fonctionner sous Windows 7 et 2008 R2, vous devez absolument installer ce patch avant !
- pour faire fonctionner idéalement SharePoint 2010, un AD est un plus (scénario de social Networking)
- Voici quelques notices d’installation plein de bon feedbacks que je vous conseille :
Voila, désormais vous êtes “ready to go”
Donc parlons un peu machine et hardware.
Ne nous voilons pas la face, SharePoint 2010 est un vrai système pour entreprise par un simple outil de lecture de tweet. Ils possèdent des services de très haut niveau pouvant être consommateur.
Il vous faut donc faire des choix judicieux, n’espérait pas tout monter en une fois dans une sorte de machine générique à tout faire, c’est possible mais extrêmement lourd: une vrai ferme de production si vous préférez.
Bien sur si vous êtes un profil IT avec une ferme de qualification virtuelle genre 36 GB de RAM, 12 processeurs, cette discussion n’est pas pour vous, je m’adresse plus à mes amis plus avec des configurations plus “autonomes” .
- OS
- vous pouvez idéalement choisir entre Windows 7, 2008 serveur et 2008 R2
- A noter cependant que sous Win 7, vous n’avez accès qu’au développement sous Sandboxed
- J’ai toujours eu une préférence pour travailler sur une configuration server mais ce n’est pas obligatoire
- plus proche de la réalité de production
- plus ouverte pour les installations et les paramétrages
- Puissance & matériel
- SP foundation (ex WSS) est plus léger que SharePoint Server (ex MOSS)
- Pour des configurations développeur, 2GB avec Win 7, SP foundation et VS2010 marche relativement
- Pour une configuration SP Serveur, 4GB est un minimum réel
- avec VS 2010, évitez de compilez de gros projet :)
- Pour une configuration complète avec SQL Serveur, AD, idem, 4GB est utilisable, 6GB est plus réel…
- pensez à limiter la RAM a 800MB/1GB à votre serveur SQL
- ajoutez les adresses de DNS de votre AD dans le Host !
- >>> Pensez bien à n’activer que les services nécessaires à votre besoin
- attention, si l’installation Basis déploie une configuration tout en 1 bien pratique, elle est très lourde en mémoire
Dés lors, en pratique, comment tester SP2010 sur votre simple PC ? Plusieurs solutions qui ont tous le même dénominateur commun :
==>>> La plateforme SharePoint 2010 est uniquement 64 bits
Si votre machine n’est pas 64 bits point de salut mais désormais bien des configurations processeurs le sont, à vous de vérifier.
Comme nous parlons de Beta, donc de configurations temporaires un poil instables, beaucoup vont se tourner vers de la virtualisation
Soit pour tourner en 64 bits sur un client Workstation, pas de solution Microsoft sous Windows Seven ou Vista, il faut vous orienter vers la concurrence soit VMWare, Virtual Box, …
Sinon l’alternative Serveur : Windows 2008 R2 Hyper V ou VMWare ESX
>>> pas vraiment la joie en terme d’ergonomie mais c’est jouable.
(pour les curieux, je vous conseille Windows Server 2008 Workstation Converter
)
Maintenant, il faut avouer que les solutions de virtualisations ne me plait guère …
Certes, j’en utilise régulièrement depuis des années avec SharePoint mais voila, cela se paye en terme de puissance …
- Windows 2008 tourne toujours derrière
- Plus le soft de virtualisation
Moralité, avec 4GB de Ram, pour peu que vous avez quelques applis qui tournent derrière, il est difficile de monter une VPC avec plus de 2.8 GB de RAM, soit une beta SharePoint 2010 des plus lentes…
On arrive à la conclusion qu’il est nécessaire de passer à une machine de 6/8GB de RAM s'il on veut exploiter SP2010
…
OUI et NON
>>> certes, je vais changer ma machine pour une version 8GB/320GB 7200tr (voir un SSD) mais je vais devoir faire tourner régulièrement des machines différentes et ceux souvent en déplacement. Il me faut donc une ferme plus “mobile”
Cependant, actuellement, je travaille avec une configuration 4GB de RAM et je fais régulièrement des Démos et des test comme les dernières réunions du club SharePoint. Et ca tourne vraiment bien, demandez donc le feedback des salles ! Normal, ma machine utilise pleinement ses 4GB de RAM !
Ma configuration : Boot VHD sous Windows Seven !!!

C’est une alternative que j’ai découvert et validé depuis quelques temps (David et Ben, merci encore ;) )
Une des nouveautés de Windows Seven et 2008 R2 et de pouvoir monter des partitions virtuelles en les basant sur des VHDs. Mieux encore, vous pouvez booter directement dessus (avec seulement 3/5 % de perte)!
>>> Et la vous êtes “Bare Metal” comme dirait nos IT :). Pas de soft sous-jacent ni d’os, un véritable double, triple boot sur un VHD. J’exploite réellement la puissance de ma machine !
Ainsi, en faisant un peu de place sur votre disque, vous pouvez monter un disque virtuel ou vous installez tout ce qui est nécessaire (puis le sauvegarder, ce n’est qu’un VHD ). Perso, je me suis monter 2 disques propres avec 2008 R2 et un autre en HyperV
- le R2 me sert a faire des doubles boot de test de tout genre
- le HV me permet de lancer des machines virtuelles
>>> ca j’adore, je lance un serveur depuis un disque virtuel pour lancer des machines virtuelles : énorme
Ainsi, même avec une machine avec 4GB de ram, vous pouvez expérimentez SharePoint dans des conditions agréables !
(Et si vous avez plus, bien c’est encore MIEUX)
Attention cependant, c’est un véritable boot :
- vous ne pouvez plus accéder à vos applis clientes, il faut réinstaller Office par exemple. Cependant votre disque physique devient un disque D donc vous avez toujours accès à vos documents donc ce n’est pas trop grave.
- Windows 2008 R2 gère pas du tout le Bluetooth, donc attention au souris/clavier (au revoir la MS Presenter …)
- Idem pour la gestion d’énergie et les snapshots virtuels
Soit en résumé
| | Pour | Contre |
| Double boot | Votre OS tourne à 100% | il faut des partitions dédiés. Soit un réorganisation de son disque préalable. Les machines ne sont pas transportables |
| Virtual machine | Chaque OS tourne simultanément et ne s’impacte pas. Elle partage les ressources du système. Elles sont déplaçables et gère le Undo et le save state | Tout est virtualisé même si les dernières évolutions d’hyperV ont bien amélioré le tout. |
| Boot to vhd | Votre OS tourne directement sur le hardware sauf que son disque est virtualisé. soit une perte estimé de 3/5% C’est GENIAL | Pas vraiment … Ne fonctionne que sur le disque local ou esata, pas de disque usb. Ne supporte pas les disques UNDO |
Franchement, je ne saurais trop vous conseiller d’essayer cette solution qu’est le boot vhd pour tester SP 2010, perso je l’ai adopté définitivement !!!
D’ailleurs, je me pose même la question pour mon prochain portable d’utiliser Hyper V face au boot vhd tellement les perfs sont agréables
>>> pour l’instant, je dirais
- Boot Seven en classique
- Boot VHD 2008 R2 de travail avec VS
- Boot VHD Hyper V pour
- Demo
- test
- validation de solution
Oh, vous voulez savoir comment faire un boot VHD? Pas de soucis voici les basiques
- Libérer de la place sur votre disque physique (le boot vhd ne marche pas sur des disques externe usb !)
- Même s’il est possible de monter un disque à croissance dynamique, je préfère monter un VHD complet par simple recherche de performance ! La différence est REELLE
- Créer et déployer Windows 2008 R2 ou Seven dans un disque VHD via WIM2VHD
- Merci les outils d’imaging de MS et Wim2VHD : moins de 15 minutes pour créer un VHD avec 2008 prêt à l’emploie dessus !!!
- Windows Image to Virtual Hard Disk Converter (WIM2VHD).
- Soit la ligne de commande suivante pour créer un disque de 35 GB avec windows 2008 R2 Standard
cscript WIM2VHD.wsf /WIM:J:\sources\install.wim /SKU:SERVERSTANDARD /VHD:C:\vhdboot\Standard_2008R2_US_Srv.vhd /disktype:Fixed /size:35840
- Monter le disque dans le Boot Loader de votre seven : BCDEdit.exe (soit 4 opérations)
- copier la configuration et créer une entrée de boot. Ce script renvoie le GUID identifiant de celle ci, il faut le conserver !!!
bcdedit /copy {current} /d “Win 2008 SP 2010 CTP”
>>> renvoit {0f4f2c9c-4c7e-11de-9211-8072c8cb3cbe}
- déclarer le disque virtuel
bcdedit /set {LE_GUID} device vhd=[c:]\vhdboot\Win_2008_SP2010_CTP.vhd
- Déclarer la partition de l’OS
bcdedit /set {LE_GUID} osdevice vhd=[c:]\vhdboot\Win_2008_SP2010_CTP.vhd
- forcer la détection HAL (Hardware Abstraction Layer)
bcdedit /set {LE_GUIDE} detecthal on
Vous redémarrez et c’est tout ! il n’y a plus qu’à installer le reste des bits :)

Pour supprimez une ancienne configuration, simple : bcdedit /delete {LE_GUID} /cleanup
Bon testing en VHD BOOT
Voici quelques liens sur le sujet pour vous convaincre, assister un peu plus :
Renaud Comte aka TheMit (SPBeta un peu mais pas trop)
Member of WygTeam
http://www.wygwam.com
Rentrant de Las Vegas, les yeux encore remplie de néon et de Beta 2, j’ai effectué une plongée en eau profonde dans le monde de l’ECM avec la Taxonomie et la folksonomie. Content du résultat, je vais en présenter les points importants le 10 Novembre à la prochaine session du Club Utilisateur Suisse.
Et il y aura bien d’autre sujet car cette session, sponsorisé par Microsoft Suisse, vous donnera une overview des plus complète de la version beta en attendant nos chers TechDays
Au plaisir de vous croiser en Romandie :)
http://clubsps.wordpress.com/2009/09/29/en-exclusivite-sur-suisse-presentation-de-microsoft-sharepoint-2010-schweizer-premiere-von-sharepoint-2010/
Renaud Comte aka TheMit (SPeakerSP)
Member of WygTeam
http://www.wygwam.com
****************************************************************************************************
| Le Swiss SharePoint Club et Microsoft ont le plaisir de vous convier à la découverte en avant-première romande de |
| Programme de la matinée Search Au-delà de la traditionnelle boîte de recherche, une nouvelle expérience visuelle et interactive. (Dan Wilson, Microsoft) Sites Réunir les utilisateurs, partager les informations, les données et les compétences à travers les organisations. (Fabrice Romelard, SGS) Communities Une plateforme de collaboration complète, efficace et flexible. L’accent sera mis sur les formulaires et les processus lors de cette présentation. (Pierre-Yves Rosat, Pragmantic) Content Une solution qui stimule la participation des utilisateurs et en même temps renforce la conformité des contenus. (Renaud Comte, Wygwam) Composites Créer rapidement des solutions collaboratives, exploiter efficacement les données d’entreprise et contrôler les ressources à disposition. Les nouveaux « Business Connectivity Services seront mis en vedette. (Malik Agody, Ilem) Insights Trouver les informations pertinentes dans un amalgame de données structurées et non-structurées, et les présenter de manière claire, compréhensible et convaincante. (Francis Incourt, Cross-Systems) | |  Date 10 novembre 2009 dès 8h30 Lieu Hôtel Ramada Encore Genève-La Praille (Carte) Inscription Les détails et l’inscription sont sur le site du club : www.club-sps.ch Important La participation est payante selon les conditions du Swiss SharePoint Club |
http://clubsps.wordpress.com/2009/09/29/en-exclusivite-sur-suisse-presentation-de-microsoft-sharepoint-2010-schweizer-premiere-von-sharepoint-2010/
La version beta2 de SP 2010 arrive à grand pas mais je me doute que bien d’entre vous trépigne de pouvoir mettre la main dessus ou de se faire une idée des nouveautés du, au hasard
- Linq for SharePoint aka SPLinq
- le client Model Object
- les Visual WebParts
- l’accès REST
- le Sandboxed
- …
- …
- et encore
Je sais, c’est alléchant mais disponible que pour les Beta testeurs, sauf que maintenant que la NDA est levée, et pour une rare et bien appréciable fois, Microsoft vient de mettre en ligne bien des documents et surtout des Hands On Lab de la Technical Preview
Attention, bien des éléments vont changer par rapport à la Beta2 publique mais le fond est déjà la.
Voici un florilège personnel de liens sur le MSDN donc publique
…
Et comme dans tout petit SharePointeur codeur, il existe toujours un petit ITPro en puissance, je rajoute :
Oh, puis n’oubliez pas non plus de plonger allégrement dans VS 2010 histoire de boucler la boucle
(oui bon ok, elle est facile :) )
Mais tout cela est un peu trop orienté technique, non ? Si quand même. Dans le cas d’un produit/framework comme SharePoint, il est bon d’avoir un peu de “consistence” sur ses fondamentaux, son historique et sa conception.
Soit les 3 derniers post du Billion Dollar Guy : Jeff Steper, pardon, Corporate Vice President, SharePoint Server, Microsoft, s’il vous plait (et l’un des concepteurs de SPS2001 d’ailleurs)
Bonne lecture à tous
Renaud Comte aka TheMit (SPMaitre Capello )
Member of WygTeam
http://www.wygwam.com
SharePoint VingtDix arrive à grand pas. Steve Ballmer, MS CEO, a annoncé d’ailleurs la beta Publique pour Novembre et la release pour la premier Semestre 2010
Soit 
ou si vous voulez mieux appréhender cette nouvelle “rose des services”
Voyez, que du bonheur :), non je plaisante mais la nouvelle architecture orienté “tout service” tient vraiment ses promesses et justifie désormais cette nouvelle présentation
- Sites : moteur de génération et de support de site web pour l’interne, l’externe ou l’internet
- Communties : système complet de support de l’activité communautaire qu’il s’agisse de partage, collaboration, communication et surtout de réseaux sociaux
- Content : Gestion de l’information d’entreprise :ECM. Taxonomie, Folksonomie associé au moteur de publication Web ou de gestion documentaire
- Search : vaste sujet qu’est la recherche mais il s’etend encore avec l’arrivé du Social Search et surtout de Fast
- Insights : tout ce qui concerne l’analyse de chiffre, du simple calcul avec Excel Services au reporting de mass avec le plugin Gemini
- Compositions : le retour de la notion d’application composite. Comment répondre rapidement à un besoin de site business en le construisant avec les différents services de SP comme Form, BCS, Content, Site, Visio, …. via SPD évidemment.
Et ce n’est que les prémisses. Si vous êtes curieux et/ou passionnés par le sujet, ne passez pas à coté des adresses officielles de MS sur le sujet
SharePoint 2010 Site : SharePoint 2010 Overview and Demos
Posters SP 2010
MSDN Developer SharePoint 2010 :
TechNet IT Pro SharePoint 2010
Bonne aventure dans SP2010
Renaud Comte aka TheMit (SPJetLaggeur)
Member of WygTeam
http://www.wygwam.com
Dernière session de la conférence et une super advance pour hard core coding
Andrew Connell prévient toute la salle : c’est encore plus complexe mais plus cool que les customs controls field type
>> pour lui, ce n’est pas du 400 mais du 750 !!!
SP2010 nouvelle architecture, plus de SSP
- trop limité
- tout ou rien
- not extensible
- liaison directe entre Web app et ssp
- lié à une seule ferme
>>> la nouvelle archi prône flexibilité and reuse
- Web App a la carte
- Framework de MSF (WSS = foundation)
- peut être single ou shared farm voir dédié une ferme à ce role
- supporte le load balancing
Model
- le service binaire est déployé sur les serveurs
- les instances tournent sur chaque serveurs
- Service application : configuration dans la ferme
- service proxy : référence à l’application
- service consumer
Soit le paradigme : Service -> Service Machine Instance -> Service App -> Service App Proxy -> Service Consumer
C’est un développement plutôt orienté GROS projet
>>> il s’agit vraiment de service complexe de backoffice
il ne faut pas oublier de coder aussi toute la partie administration de son service en Central Admin, ainsi que les accés en command line et le PS pour faciliter la gestion globale
C’est un processus de dev vraiment lourd mais qui permet de s’implémenter au plus fin du système de service de SP
A noter que le bqck up de ferme gérer aussi la sauvegarde de la config du servie :)
L’installation des bits
- doit être uniquement déployé sur les serveurs applicatifs
- mais les proxies et consumers doivent être sur les WFEs
DEMO avec le code (enfin)
- effectivement, ce n’est pas de la petite conception
- gestion même du déploiement du code SQL spécifique en DB
- beaucoup, beaucoup de code mais un demo vraiment complète !!!!
- 35 min de DEMO et ca marche !
Conclusion : le SSP est partie bienvenue à la nouvelle architecture de service mais attention HIGH level only
Renaud Comte aka TheMit ( ... )
Member of WygTeam
http://www.wygwam.com
enfin une session sur l’architecture applicative par ce cher MikeAm, pour une session choisie au hasardm je suis veinard
Objetifs :
- SP list or DB
- 1 Site or many
- No code, sandboxed or solution
Ne jamais oublier que SP reste une immense boite à outils pour les developpeurs
Service Application
- access to shared data outside of a sp site
- very specialized
- long running operation
- scale out strategy
- BAD
>>> service long et consommateur comme le search par ex
Site creation
- One or many
- one
- content site : ootb + admin manu
- big app site : layout + wp tout app
- many
- site extension : modify existing experience
- stapled, delegate, site definition
- new events help like listadd webadd
- reauire site and web feature
- site app : specific task and site like Fantastic 40, meeting wksp
- small low impact app
- cloned instance
- Specialty site
- aggregate functionnality form other site
- group content for deliver datas to other
- Fleet of site collections : my site par ex
- many cloned instances
- host header for better security
points importants
- spwebs : center of univers
- different site are differents
- web metadata always get prefetched
- site collections
- no cross site coll
- au mieux 1 site col = 1 DB
Attention aux updates
- feature versionning can help
- feature quey api permet de découvrir leur utilisation
- uninstallation could be tricky
Choix du tout code dnqs un receiver que le déclaratif XML
- easy upgrades and to the point
- cost provisionning perf
SP DATA
- lookup multiple
- joins
- delete restrict
- cascade delete
- store level enforcement
- unique fields
- compound indices
- in clause pour des reverses lookup
- formula based validation
mais ce qui reste bloquant
- pas d’aggregation queries
- pas de disctinct
- pas de full cross list views
- pas de transactionnal updates
Limits de perf
- 5000 est la limite par def
- 50000 unique perms ina query
- up to 6 lookup
- indexed columns or folder for more
DB possède un moteur plus fin et scalable mais ne permet pas la richesse user de SP a voir les external lists avec BCS
Data in one big list
- folder and indexed
- lookup and reverse lookup
- consider sync to and from a DB
- many list peuvent avoir des droits plus fin et des champs supp
Tips and tricks
- connaissez vos queries
- toujours specifier view fields and where
- cross query are expensive
Sync list
- demande du travail
- 2 routes
- events
- instant update
- simple to code
- not transac
- change log GetListItmsChnges
Bien considérer la boite à outils SP entre foundation et server
Building blocks
- no code
- xml
- client object model rend le scenario plus flexible
- xsltListViewWebpart
- Sandboxed solutions
- use all tips from “nocode”
- RIA approche
- NO
- timer jobs
- WS calls
- impersonnation
- peut être étendue
- Full code
- kernel level of SP
- full trust WSP
- use for
- WCM
- quick control on dev
- custom field types
- dedicated farm
- Big App site
UI performance
- is all about performance
- Exp
- time to load
- time after 1 rst visit
- overall
- inf a 600 k
- request inf a 30
- 1 or 2 sql queries pr wcf, inf 5
- Smart client application= caching !!!
RIA : considerer le client comme le vrai frontend
Conclusion : oh la la quel sprint cette session, la première depuis longtemps qui a ete aussi intense en contenu, en rythme et en intensité, moralité, je n’ai pu prendre que70% du contenu par note
>>> clairement une des sessions que je vais rerererevoir et re analyser patiemment pour vous en faire de mini post tellement le sujet est riche et passionnant, enfin pour un archiDev :)
Renaud Comte aka TheMit ( épuisé par la session …)
Member of WygTeam
http://www.wygwam.com
Session sur l’introduction au dev sous SP, j’ai toujours aimé ces sessions pour découvrir le discours étudié et souvent assez jovial sur les technos, donc je continue
Les différents scénarii de SP2010
- App types
- WP
- Business collaboration
- LOB data
- Workloads (les grands métiers principaux de SP)
- 2010 Workloads
- Sites génération
- Communities
- Composites
- Search
- Content
- Insights
- Dev tools
- VS2010
- SPD
- Team Foudation
- SDK
- Execution environnement
- deployed platform
- administrateurs
- sandbox
- hosted ou interne
Avantages du Dev SP
- platform fonctionnel
- gestion de donné maintenant semi relationnel
- DM, WCM, Collaboration
- Search, Social, BI
- Metadata management
- BCS
- Environnement
- secur
- scalability, avaibility
- Extensibility
- Perf
- Analytics
- Standarts
10 Hero type questions
- Webpart
- create a Visual WebPart : design
- TV sur les listes
- Grid avec filtre caml
- Deploy from VS
- Custom List Definition
- project types via VS
- List Définition et aussi from Content Type
- allowdeletion=false !!!!
- Create and use a site template
- Create external client (limite la charge du client wevb)
- use client OM
- cmd line de creation de site
- Create Site Actions
- lien vers la gestion des solutions
- Create custom Ribbon Button
- Create Dialogs control
- UC de changement de titre du site
- avec clientctx : client om JS
- Sp.ui.ModalDialog;ShowModalDialog
- Create SL video Player
- utiliser le ClientOM SL
- utilise un invoke event sur le c hargement des listes si SP est online
- load des images
and so on
Conclusion : plein de petite demo bien sympathique mais manquant de temps, on ne put couvrir WF,Admin pages, Search
Bref, plein de bonne idées qui confirme la richesse en dev de cette nouvelle plateforme !!
Renaud Comte aka TheMit ( ... )
Member of WygTeam
http://www.wygwam.com
session en connexion directe avec celle du designer par le SPCowBoy Eric Shupps : http://www.binarywave.com/blogs/eshupps/default.aspx
objectifs : fournir une suite de tool qui respecte le cycle de déploiement spécifique de SP
- Plus de Make cab, manifest, ….
- inspirer du feedback de VSeWSS, stsdev, wspbuilder
- introduit le paradigme dans le processus de dev de VS2010
Résultat : un simple F5 et tout est prêt testé, packagé, déployé
- un seule interface unifié
- auto discovery
- package explorer
- XML edit for manifest
- extensible !!!!
>>> et surtout plus besoin de DDF !!!
Génération automatique de features, manifests et tout les fichiers dépendants via les SP Items (SPI)
NEW : profil de déploiement
>>> on peut attacher à chaque projet un profil de packaging.
- ils sont personnalisables
- par défaut : deploy et deploy sans activation Start
La gestion des conflits permet de s’assurer de la cohérence du package
Ex : supprimer les références de module si on supprime un WP d’un gros projet
Les éditeurs gèrent l’édition de la plupart des manifests comme celle des Feature.xml comme les dépendances par ex
>>> Et si jamais, il est toujours possible de passer par le tout XML
Ajout d’un tab SharePoint dans les propriétés des projets VS : gestion du profil de package
REMARQUE : cette suite d’outils n’est pas destiné à déployer sur des fermes de production. Merci de ne pas demander pourquoi (pour la snaté de nos amis ITPro).
DEMO de VSIX
coder une nouvelle méthode de déploiement plus personnel
- nouvelle SPCommand : IsDeployed
- Ajout de code sur la commande OOTB SolutionExist
- Rajout d’une gestion d’erreur si jamais on update un wsp non déployé
- Coder une nouvelle étape de déploiement : CanExecute
- rajout d’un projet de déploiement
- handler sur l’event
- précise tout les steps de déploiement dont la nouvelle fraichement codé
- attention de bien rajouter la dll dans le projet SP et de le préciser comme VSIX
A la fin, on se retrouve avec un nouveau profil disponible dans l’onglet SP de son projet : simple et génial
Conclusion : vivement un codeplex ou une galerie VS.net dédié au VSIX SharePoint, je pense que je m’y abonnerais avec bonheur, pas vous? Clairement, MS a écouté les feedbacks et le pleurs des milliers de codeurs SP qui se sont cassés dos et dentier sur le processus de déploiement de SP
Attention, comme vous pouvez vous en doutez, ces outils ne fonctionnent que sous SP2010. Une raison de plus de migrer VS Set SP non
Renaud Comte aka TheMit ( ... )
Member of WygTeam
http://www.wygwam.com
Nouveau framework : MEF pour etendre les outils de VS
La session est joué par Ted Pattison, auteur du STSDEV donc forcement qqun de concerné par le sujet :)
Petit rappel sur les tools SP 2010 de Vs 10
- Template pour les projets et les items
- Designer
- Deploy tool
Si ils ne suffisent pas, ils vous suffit de rajouter les vôtres grâce à MEF
- Plus simple à faire
- Plus simple à déployer
>>> les VSIX files sont de simples CAB
DEMO de VSIX
le Team SP a rajouté des interfaces d’extensibilité dédié : project, projectitem, deployment, explorernodetype
>>> imaginer un peu les extensions possibles dans le futur, en ce qui me concerne, je vais jeter un oeil dans le WSP :) voir les RESX !!!
DEMO d’extension pro SP
(beaucoup de code donc dur a décrire mais pas vraiment compliqué)
- rajout de
- commandes
- menus
- formulaires WPF
- …
- …
Conclusion : très technique mais surtout prometteur pour WSPBuilder et STSDev. Il est enfin possible de s’intégrer au plus fin des outils SP de VS, cool non ?
Renaud Comte aka TheMit ( ... )
Member of WygTeam
http://www.wygwam.com
une session pro dev pour revenir a mes premiers amours avec les techno de query de 2010
le tout avec un sacré team de MVP dev SP en mode Pompom girl : les speakers sont les charismatiques et sur excités Todd Bleeker et Paul Schlaffen :)
Leeeeeeeet’s GO
Data technologies
Des modèles strong type et weak type au choix
Nouvelles propriétés des listes:
- lookup inter liste
- projection de colonnes supplémentaire en cas de lookup
- intégrité : cascade et restrit delete
- no duplicates
- validation par formule
- gestion automatique de la perf des large lists
- edition live des Form de list
Demo des nouvelles listes
- 6000 items manipulés par l’ajax ootb
- erreur de perf : limite à 5000 affichages simultané fixé par l’admin
Client Object Model
La même façon de coder pour SL, JS, CLR !!!
il fonctionne en asyc par xml et JSON le tout par batch
- JS utilise XmlHttpRequest
- SL utilise HttpWebRequest
Demo
- Treeview tout ajax utilisant les controles Yahoo
- methode riche
- objet Context JS prêt à l’emploie
- requête par caml, par id, ….
- CRUD
REST (Astoria)
travailler avec des données via REST genre
Exemple : listdata.svc/projects(4)/budgethours
>>> budget du projet du client a chicago
Paramètres Querystring
- $filter
- $expand
- $orderby
- $skip
- $top
- $metadata
DEMO basé sur le même treeview mais tout en REST
>>> la méthode extand a permis de rapatrier en un call les données d’un list item ainsi que les list items attachés par le lookup
Linq to SP
- limité uniquement au contexte serveur
- génère du CAML
- gère le join aussi
- SPmetal génère les classes de mappage des listes d’un site
DEMO treeview serveur mais avec LINQ
Ah cette facilité de requêter les données des listes et celle attaché tout en récupérant des classes typés de nos chers listes
En résumé
Conclusion que le développement 2007 vas nous paraitre OLD School une fois que nous aurions tous prit le virage 2010. rest, client model js et SL, linq,… quel changement par rapport a ce chr vieux CAML !!!!
Renaud Comte aka TheMit (il me faudrait du REST et un bon SPCaffé moi)
Member of WygTeam
http://www.wygwam.com
Des interfaces enfin multilingues du ruban au contenu : voyons de plus prêt
Amélioration notable du système de variations
- plus de process WEB, c’est un timer service
- gestion de changement de schema
- système de gestion et réparation
- gestion de perf
- pause & resume
- meilleur gestion de la memoire
- scriptable
DEMO de variation
- activation de la feature de variation
- creation de sous site de publishing dans un site foundation (ex wss)
Multi user interface
- possibilité de changer la langue de lecture du site
- sélection des langues disponibles pour chaque site
- choix dispo au niveau du menu de profile user
- switch a chaud des libellés des menus
- possible pour les WPs si elles implémentent des resx
- update manuel des libellés de navigation si besoin (adaptation)
- export/import des ressources via le site
Demo type des MAJ de libellés en live
- changement de titre du site
- changement de navigation
- modif de valeur de dropdown (purement locale)
- adaptation des keyword via les multilingues du term set
>>> ce qui n’est pas supporté par le MUI
- list item data
- permission level
- group name
- views name
- ootb WP
- ootb properties des WPs
- Custom properties
Tout le reste peut être multi lingue
Conclusion : les variations sont enfin plus accessibles et malléables, le MUI répond au besoin tant espéré d’interface localisé et merci au Term Store qui globalise la catégorisation en multilingues
A noter que le système ne couvre pas forcement tous les scenarii et laisse donc la porte ouverte aux outils tiers et aux dev custom dans ces cas la. Mais déjà la nouvelle mouture MUI attendu est bien la voir même plus
Renaud Comte aka TheMit ( ... )
Member of WygTeam
http://www.wygwam.com
Session très matinal mais au titre si passionnant : du moins si avez à coeur la notion de catégorisation
Core scenario : metadata & content type sont liés à la notion de gouvernance de contenu via la recherche, la navigation, relationnel, filtre, classification, …
Définition
- Content Type syndication : pousser le CT à travers les collections, les web app et même les fermes
- Taxonomie : hiérarchie, synonyme, description et translation
- Folksonomie : liste de mots clés à plat
- term : element de la taxonomie avec un id unique et un classement ainsi que plusieurs libellé
- Keyword : pas simplement un label de texte
- Tag : information caractérisant une info u point de vue user

Gestion de la syndication de CT : un HUB, source principal des CT
- publish
- unpublish
- republish
- rollup error
les utilisateurs peuvent :
- extend
- derive
- view import error
- refresh CT
Tagging : il s’agit d’appliquer des metadata
- champ d’autocompletion sur le terms set
- suggestion avec micro définition en cas d’homonyme (ballon mais de foot, de rugby, de volley ….)
- gestion d’ambiguïté : choix obligatoire
- contrôles multiples
- super liste de mot : keyword
- super choice field : single ou mutiple value, tag

Las sélection des terms pour une nouvelle colonne peut se faire par exploration ou par recherche de valeur : tres pratique pour découvrir de nouveaux terms ou d’autre set
Term Store management permet de gérer tous les terms stores disponibles ainsi que les accès et l’édition de ceux ci
1 Term store par service app, des groupes de gestion 1 millier de term set qui peuvent avoir des milliers de term à gérer
>>> possibilité de fusionner des term sets et éviter de republier l’ensemble des éléments tagués
Chaque hiérarchie de term peut être traduit : gestion multi lingues des mots clés avec gestion unifi, enfin !
Gestion d’import / export via un simple csv :)
Shared Service Application
- service qui supporte toute la publication et la gestion de metadata
- local ou distribué : multi farm term store
- utilisation de proxy de metadata : un CT utilisant des données de plusieurs term set de différents stores externes
la gestion multilingue s’implémente aussi dans la gestion de langue du site, les items changent de libellés de meta mais pas de valeur. Cependant, les utilisateurs peuvent tagger au plus fin de leur compréhension tout en partageant cette nuance avec les autres utilisateurs de langue différente : superbe et incontournable
conclusion : la gestion des mots clés prend vraiment une autre dimension avec SharePoint 2010. De nouvelles notions, de nouveaux moyen de classer et publier même le contenu de taxonomie. Bref, un bien joli univers de gestion de données s’ouvre à nous. Remarque : si techniquement le système est complet mais simple à implémenter, la démarche fonctionnelle, l’analyse ne seras certainement pas à négliger !!!
Renaud Comte aka TheMit ( je tag tu tags, …)
Member of WygTeam
http://www.wygwam.com
Agenda
- Packaging
- Developement environnement
- Testing
- Defensive coding
Ah ah ah, enfin une session de feedback et de bonne pratique
>>> A noter aue MS considére aue la maitrise du packaging SP restera toujours une priorité : je ne saurais pas être plus en phase avec eux :)
Packaging
WSP est un simple cab hiérarchique contenant tous les éléments de son projet à déployer sur sa ferme. Avec la possibilité de retractation !
il faut maitriser ce processus, le nouveau VS 2010 permet de personnaliser ce processus, il faut savoir en profiter
Pour les afficionados de 2007, une bonne matrice de comparaison des outils pro WSP
http://www.sharepointdevwiki.com/display/public/Solution+package+development+tool+comparisons
Dev Machine
il est impératif d’avoir son propre serveur local
>>> Bonne nouvelle : SP foundation & server vont fonctionner sur windows Seven et Vista SP1
- install Metal
- sur l’os client en direct
- sur un 2008 serveur R2
- Virtualization
- 2008 HyperV : pas vraiment user friendly …
- Boot to vhd
- Seven boot sur vhd
- 2008 boot aussi sur vhd
Lifecycle
- Dev PC + Team foundation
- faites des TESTS et encore plus de TEST : pas de smoke testing (si ca fume, c’est aue ca brule = compil et on observe en résumé)
- quality by validation
- chaque test permet de définir le rôle réel de son code
- la manière la plus rapide d’avoir un code qui fonctionne
Principe du test unitaire : se substituer à la plateforme de production pour simuler une activité unique et atomique
Utilisation du pattern MVP pour faciliter l’isolation et de la le test + TypeMock pour émuler un objet SP
Load Testing
il faut valider l’impact de son code sur la performance de sa ferme.
- identifier les gouffre de perf
- ainsi que les memory leaks/pressure
Defensive coding
Une certaine logique de protection
- ne pas altérer le schema SQL
- utiliser les outils natifs comme ULS logging plutôt que de monter le sien
- limiter la somme de job dans un event receiver
- idem dans un httpmodule
- eviter d’evaluer des items dans une boucle
- …
- …
- et ainsi de suite
>>> profiter des forums et des Wikis d’internet pour vérifier si vous ne partez pas dans un “dead trap”
Bien contrôler que tout les objets sont bien libérés
- SPDisposecheck
- Règle générale : si l’objet vient du contexte, vous ne devez pas le fermer et vice et versa
Conclusion : le message est clair, pour un code de qualité sous SP 2010, faites des TESTs
Kangoo ! Phil ! ou êtes vous ? :)
Renaud Comte aka TheMit ( ... )
Member of WygTeam
http://www.wygwam.com
Session un peu plus ITPro pour changer :)
My Site= 3 pages ootb
- My network or What’s New
- Twitter like
- gere les update de wall, de profil, de tag ….
- My Content
- My Profile
- Facebook like
- statut
- wall
- Graph de parcours de parcours des profiles comme un rubicube deplié
C’est le portal personnel par définition avec une dimension social imposante !!!
- My network, my profile : gestion centralisé
- My Site , my content et les autres My XXX : gestion personnel
Activity status
- compilation et aggregation des données perso du profil, des aggregations externes (custom !)
- enchiri avec la base de profil
- consolider / publier et renvoyer via WP ou Atom
Profile picture
- Picture library central
- resize 3 ways : for SP, for AD and for Profile
Planning Privacy
- plan for privacy
- top issue: corp policy
- activity feed : custom to do
- who follow mecni
- 2 way consent
>>> le social est plus qu’une problématique technique, il faut tenir compte de lois et règles interne , RH et légales (CNIL). il ne faut activer que ce qui a été approuvé !
Social DEMO
- Social feedback : tag and notes board
- exemple :url tagging
- note (small forum link to profile)
- user tag
- facilite la catégorisation etla promotion de liens de contenu
- génial si on mixe liens Web et unique id de la GED
- indépendant des droits d’écriture
- Tagging Bookmarlet
Problématique
- créer un plan de communication sur l’avantage du social tagging et le faire approuve
- Clairement, un changement de culture difficile pour les société
- définir de nouvelles policies internes
- que faire en cas de départ ?
- security trimming ?
- Best practices
- commencer avec un petit comité
- alimenter le corpus de tag
- s’associer avec le HR, le Legal et un Sponsor dans la Direction
- éviter la notion de totale liberté : facebook effect
- éducation des utilisateurs par l’exemple
Attention: le systéme est simple à installer mais son déploiement, son évangélisation et sa maintenance vont être un vrai défi de tout les jours !!!!
Conclusion : Clairement, Microsoft n’est pas passé à cote de la notion de réseaux sociaux. Ils n’ont pas que vampiriser Twitter, facebook et delicious, ils ont poussé la notion de partage ECM, de profile professionnel et règles métier pour créer un vrai outil de réseau social pour entreprise !
Le My Site devient bien plus qu’un simple portail personnel, c’est carrément votre futur identité , avatar interne dans votre société
>>> Soit la grande régle diu KM : ne négligez aucun savoir JAMAIS
Renaud Comte aka TheMit ( ... )
Member of WygTeam
http://www.wygwam.com
je reviens à mes premiers amours très SPS 2001 : la gestion documentaire. Associé aux premières demo du keynotes, je suis assez impatient de voir la session 300 DM Deep Dive
Changement du paradigme de l’ECM :
- User eXperience : laptop, phone
- Social content
- Classical content
Nous sommes passé du stockage en volume à la notion de document métier : compliance !
ECM : *e’s
- Easy to use
- Everyone participates
- Enterprise ready
Quelques scenarii
Documents sets
- super folder / corporate repository
- permet d’unfier un jeu de document relié fonctionnellement
- replication des tags et des WFs sur tous les contenus
Document ID
- permet de définir une clé unique
- accès direct par le search dédié
- modèle customisable !!!
- lien unique : redirection par clé
Tag document
- tag social
- suggestion de tag et/ou tag suggéré
Records management
- peut s’appliquer à n’importe quel document quelque soit son site, sa liste
- lié a l’unique id pour le suivi
- plusieurs politiques de rétention sur différents dossier de la même liste
Catégorisation
- taxonomie : mots clés
- folksonomie : tags utilisateur
- term set : annuaire de mots clés trans collection et trans ferme : service de synchro
- navigation par metadata!
- Bien sur toujours des Content types mais relié aux terms set
Content Type syndication
- pour diffuser les mises à jour de CT entre ferme et collection avec validation
- vas de pair avec le term center
Intégration Office des terms set
- filtre et navigation par term dans les form open et save
montée en chage
- auto optimisation des indexes
- gestion de millions de fichier possible dans une liste
Distributed archive
- plan de routage
- suggestion de routage
- trans collection
Remote blob storage RBS
- avec sql 2008 r2
- configurable par db de contenu
- permet de répartir son contenu en cas de scenario WAN
INTEROP Services !!!
- nouveau standart de partage de CMS repository
- proposer à la certification OASIS
- soit des futurs provider de contenu + taxonomie avec notes ou tout autre systéme
Conclusion : quelle évolution ! SP 2010 semble bien parti pour jouer dans la cours des grands outils de ged
Renaud Comte aka TheMit ( ... )
Member of WygTeam
http://www.wygwam.com
Les 10 derniers blogs postés
-
[MIX10] Keynote deuxième journée – Internet Explorer 9, Html5, Visual Studio 2010, OData par
Atteint de JavaScriptite Aiguë [Cyril Durand] le il y a 14 heures et 58 minutes
-
Certifications beta .NET 4 par
Kévin Gosse le il y a 15 heures et 4 minutes
-
[Mix 2010] – Microsoft Translator Technology Preview V2 par
RedoBlog - The .NET Gentleman !!! le il y a 15 heures et 45 minutes
-
Lancement en Preview de Cyclone lors des TechDays 2010! par
Blog de Frédéric Queudret le il y a 18 heures et 8 minutes
-
[WP7] Je ne veux pas d’un nouvel iPhone par
Le blog de FremyCompany le il y a 21 heures et 27 minutes
-
[WF4] Pourquoi utiliser le ContentPresenter dans l’ActivityDesigner? par
Blog de Jérémy Jeanson le 03-17-2010, 07:54
-
[Mix 2010] – Telechargez Internet Explorer 9 en Preview ! par
RedoBlog - The .NET Gentleman !!! le 03-17-2010, 00:58
-
[MIX 2010] – Keynote Day 2 online : Windows Internet Explorer 9, jQuery, OData et Dallas CTP2 ! par
RedoBlog - The .NET Gentleman !!! le 03-17-2010, 00:18
-
[Mix 2010] – Retour d’expérience développement Seesmic sur Windows Phone 7 par
RedoBlog - The .NET Gentleman !!! le 03-16-2010, 23:44
-
[Mix 2010] – Le Keynote Day 1 disponible online ! par
RedoBlog - The .NET Gentleman !!! le 03-16-2010, 23:21