Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

The Mit's Blog

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

Actualités


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

    Contactez-nous :

Archives

[SPC12] Securing SP Apps using S2S high trust on Premise farms

SPC-2012_thumb1_thumb_thumb_thumb_thumb

Enfin une session avec le fameux Ted Pattison mais surtout sur un sujet peu voir pas couvert sur la SPC …
>>> le développement d’apps en Provider Host sur Premise

Ou si vous préférez : “comment coder en ASP.Net C# une app sur mes serveurs Premise”

En effet, SPhost vise SharePoint et AutoHost la version 365/Azure Cloud.

Question : Comment profitez du App model dans le cas de SharePoint On Premise ?

Une seule réponse le Provider Host et pour sa sécurité : le S2S High Trust
>>> Cette session étant la seule à l’évoquer, j’y suis présent Sourire et au premier rang

Go : la session est présenté comme Hardcore par le speaker

Peu d’It présent à la session mais surtout des Devs ayant bien pratiqué la beta
>>> soit les seules pouvant comprendre le titre et le sujet de la session

Problèmes de sécurité sous SP2010

Code in farms solution need to be full trust, code run

  • as current user
  • as God account : SharePoint/System

Code in Sandbox : code use the current user permissions / no way to elevate permissions

>>> Microsoft need to found a new model to allow App Model developement

So bad : l’alarme de l’hotel vient de se déclencher …. 10 minutes de flash light et d’alarme plus tard, nous reprenons

P1040662

Authentification & Authorisation

  • SP 2013 supporte
    • user authentification et app authentification
    • configuring permissions for user and apps

Désormais, les utilisateurs sont identifiés par Claims : plus de classic mode (sauf en PS )
>>> les apps ne marchent que sous Claims security

App authentication

il y a 3 types d’authentification des apps

  • internal
  • external using OAuth
  • External with S2S

Apps Architecture

  • SP Hosted Apps
    • App stored in a child site as app web
    • only client side code
  • Cloud Hosted
    • deployed as remote web
    • client and server code allowed

P1040667

S2S High Trust 

Trust connection between app and SharePoint

  • eliminate the need for ACS
  • trust use SSL certificates
  • App use the private key to require access
  • requires Security Token Service on SP Server(s)

OAuth is only working with O365

P1040669P1040669

Ce mode a été proposé en certification à la certification OAuth mais ce n’est pas encore finalisé à priori, il faut cependant définir un mode de trust secure pour des serveurs On Premise a la différence d’O365

Architecture

P1040670

Configuration

  • PS of course + admin configuration
  • Developper need to use TokenHelper class to access S2S token
  • each SP server has to be configured
  • S2S App need also a App Principal

P1040671

P1040672

La configuration reste assez complexe vu qu’il faut une certaine maitrise des problématiques de certificats et des tokens

La seule bonne nouvelle est que VS 2012 gère au moins la partie enregistrement de vos Apps S2S

En ce qui concerne le TokenHelper, il y a un piège : il ne gère que le NTFS, vous devez en implémenter vous même si vous utiliser du FBA ….

P1040673

la solution VS pour du S2S demande de bien configurer l’ensemble des token id et client id dans le web.config afin de permettre l’authentification

Conclusion

hum hum difficile d’être optimiste en ce qui concerne un développement d’App on Premise. la plomberie de configuration demande un vrai investissement de paramétrage et de compréhension

Souhaitons tous que Microsoft finisse une documentation ainsi qu’une suite de PS clé en main ou la seule solution de faire des Apps sur du Premise sera en JS et SharePoint Host

Si vous êtes curieux, la session et le code est sur le site Critical Path section member : petit conseil, lisez le bien et faites vous votre avis

Renaud Comte [MVP]
live from Vegas

Mots clés Technorati : ,,
[SPC12] Step by Step Search Driven application

SPC-2012_thumb1_thumb_thumb_thumb

Continuons sur la dynamique de recherche surtout avec Scott Hillier Sourire 

Soit les briques pour construire tout type d’application sur le search SP aue ce soit Premise ou Online

Search = Data Access Technologies

P1040637

  • meilleur outil pour aggréger l’ensemble des données d’un utilisateur
    • comme toutes les taches ou schedule par exemple
    • plus puissant aussi
  • soit le tools 2013
    • CAML and CSOM
    • REST
    • Search
  • au revoir SiteDataQuery et Linq for SP (les modes passent décidemment)

Managed properties

  • mapped toc rawled properties
  • Site columns sont automatiquement déclarés comme Managed properties
    • Publishing : ows_r_ 4 lettres
    • metadata : ows_taxid
    • all the other : ows_q_4 lettres

Keyword syntax

  • Fast syntax is not more a good advice, it’s become uncool … Sourire
  • learn some keyword tips like
    • FileExtension:docx
    • lastname:c*
    • apps near SharePoint
    • ContentClass:STS_List_Item_Events

Demo

P1040651

  • revue de sample de recherche utilisant des urls de query language
    • No code !
    • just a links list !
  • Xrank to boost some result
    • like Docx but without ignore PPT
  • WORDS()
    • permet de définir des équivalences comme REST et sa definition

Building Blocks

  • Result sources
    • like scope
  • Query Rules
    • alters query under given conditions
  • Result Types
    • determines result render
  • Search Navigation
    • tabs for navigation

Nous pouvons enfin exporter et importer l’ensemble des la configuration du search
>>> enfin la gestion de dev/recette/Prod est facilité …

No code search solution

P1040654

  • CSWP : gérer les “upcoming event”
    • query : fixed query rules
    • display : list & detail in 4 lines
  • search tabs
    • My events : reuse the query rules and the display
    • My Tasks
    • My teams
    • My documents
    • My portals

Microsoft a vraiment fait un lourd investissement dans la boite à outil de recherche

  • Result source
    • are reused in navigation tab or the CSWP
  • Result types
    • define some conditions
    • define the display template url
    • just some html, js, css and some token
      • bye bye ugly XSLT
  • Query rules
    • change dynamically the query of the user based on condition
    • like
      • training : force sur le path d’une liste dédié au training

REST and CSOM

N’oublions pas nos amis les développeurs : quand même Clignement d'œil

Restful is the best investment : _api/search/query?querytext=’   ’

P1040656

N’oublions pas les couples JS/CSOM ou CS/CSOM aussi au besoin ou CS/REST (un peu moins consistant)

P1040659

Demo

  • A to Z People directory
    • REST for small letter search
    • just surface the my site
    • Permissions
      • you have to trust
      • some specific permission about user context or not

P1040658

  • SharePoint App : document app
    • the app page reuse the WP from the classical search interface
    • or use a dedicated look like A to Z list

Conclusion

Jamais la boite à outils du moteur e recherche n’a été si remplie : il ne reste plus qu’à en profiter et ce depuis tout types de périphériques ou interface, SP or not !

Renaud Comte [MVP]
live from Vegas

Mots clés Technorati : ,,
[SPC12] : Overview of Search Driven Web Sites and Cross Site Publishing in Detp

SPC-2012_thumb1_thumb_thumb

Session dans la mouvance actuel du Content Search et le WCM.
Petite originalité, une session  indepth & overview, nous verrons bien

Avantage du nouveau modèle

  • l’actuel est bien, pas de soucis avec le publishing tel que l’on connait et qui fonctionne
  • le nouveau permet de s’affranchir de certaines limites connues du WCM actuel
    • séparation des Site Collections
    • élimine les problèmes de goulot d’étranglement des listes
    • Publishing flexible et dynamique
    • Séparation présentation & storage

P1040626

  • Ce n’est pas une question de recherche de contenu mais savoir si le contenu est prêt a être chercher et remis en page ou en avant
    • en pratique
      • le crawler indexe le SP content et les datas externes
      • la recherche travaille directement avec la couche de publishing
        • votre site devient l’interprétation d’une storyboard de contenu basé sur des query rules contextuel
        • WCM devient SP Story Telling

P1040627

  • Component
    • Content Search WP
    • Display Templat
    • Query rules & Builder
    • Content Catalog
    • Managed Navigation

Soit donner un skin à des résultats précis comme un diaporama pour des images ou une grid pour des documents

niveau performance, les pages SP ne sont appelés qu’une seule fois … lors de l’indexation. Lors de la  partie Web, il ne s’agit que du cache du moteur de recherche

Content Search Webpart

Ces avantages et qualités sont contre balancés par le seach index lag … Mais les ajouts de Fast au moteur SP l’ont largement amélioré : performance, live crawl, ….

le soucis peut provenir si le créneau de mise en ligne de contenu est < 2 secondes.
PS : même dans ce cas, vous aurez bien d’autre soucis à gérer pour une telle disponibilités non ?

Demo

  • utilisation de la content search WP
    • Query Builder
    • Refiner tab

Display templates

Des gabarits HTML de rendu des résultats réutilisables

P1040630

Vous pouvez laisser les query rules aux gestionnaires de contenu et déléguer les display templates aux équipes de communications, tout simplement.

A noter que vous pouver définir des rules globales reutilisables dans les Content Search WP (et les personnaliser…)

Content Catalog

Nouveauté :

  1. activer & créer du contenu dans une liste
  2. indexer
  3. connecter et présenter son contenu comme catalogue/source

P1040631

  • disponible cross farm !
  • juste un param de liste ou de library
  • linked to the Metadata Navigation

Managed Metadata Nevigation

Enfin une navigation indépendante de la structure et de la hiérarchie de SharePoint. Elle s’appuie sur le plan de classement défini pour le site

  • plus flexible
  • contextuel
  • global
  • et au cas ou, plus de “pages” dans les URLS !!!!

Chaque point de la navigation peut exploiter un catalogue de contenu

P1040632

Cross Site Publishing

What is it ? un peu tout a la fois
>>> un mixte de toutes les nouveautés de WCM 2013

P1040633

Create content in a authoring site and use it in any SP publishing environment

  • require
    • Publishing feature
    • Catalog
    • same index service for every SP site
  • do not replace content deployment

P1040635

P1040634

Est utilisé aussi pour distribuer le contenu en multi langue !!!

Conclusion

Enfin un panorama de l’envergure complet de l’implémentation du publishing sous SP2013

Que de bons changements, maintenant, il faut rentrer dans les détails

Renaud Comte [MVP]
live from Vegas

Mots clés Technorati : ,,
[SPC12] JS Best Practices for coding Apps

une session de Scot Hillier, un pur MVP codeur et surtout un JS Fan de longue date

SPC 2012_thumb[1]_thumb

image en upload …

SP2013 demande clairement de bien connaitre et comprendre le javascript. Cette session veut nous donner les clés pour bien démarrer

L’ensemble des démos est dispo sur http://hillier.codeplex.com : Merci Scott !

trips and tricks

  • Always use “strict mode”
    • “use strict”;
    • impose plein de contrainte
    • durcit votre code et evite les fautes d’inattention du a la flexibilité de JS
  • Avoid coercitiv operator
    • like == et ===
  • Use pattern to structure your code
    • Singleton
    • Module
      • méthode interne / externe
    • Prototype
      • permet de définir des objets et d’utiliser le NEW

P1040618

  • Deferred object : Promises
    • Simplify asynchronous operations
    • SP demande plus d’une opération async , soit des nested calls …
      • tout devient complexe : spaghetti code ….
    • utilise l’objet Deferred object de JQuery
      • encapsulation de la complexite des nested calls
      • cache des call
    • incontournable si vous voulez survivre dans les apps JS

P1040619

Demo de Deferred

  • Soit une grid avec text et image
    • double call sur l’artiste et ses jaquettes de musiques
  • Création d’une app
    • attention, les apps ont des droits comme un user ! Ne pas le negliger, ex : cross domain …
    • définition des endpoints nécessaires
  • on utilise SP.WebRequestInfo
    • utilise les définition EndPoints
  • l’utilisation du deffered se fait dans la classe de rendu via la fonction de resolve
  • A noter : KnockOut pour le render

P1040620

Using libraries

  • segregate your code into libraries
  • minify libraries
    • soit MS AJAX Minifier
  • consider the use of a CDN
    • pointing an external url in the source element
    • utiliser MS ou Google pour récupérer les libraies JQuery
  • load SP libraries dynamically
    • permet à vos apps d’être contextuel
    • $.getScript

Demo

  • Spinner en html 5 et non un gif animé
  • sous VS
    • en debug : version lisible
    • en release : crucnh version
    • utilisation de ///reference pour l’autocomplete mais sur les fichiers debug
    • reference de script dans le code sur la release

App Practices

  • REST
  • MVVM Pattern
  • App UI guidelines

P1040621

Comprendre REST

    • REST : use URI to specify an operation
    • ODATA : maps CRUD to http verbs GET/POST/PUT/DELETE/PATCH
    • Please use REST
      • vous pouvez utiliser plus facilement toutes les libraries dsiponibles comme KO plein d’autre
      • Plus simple de faire du JS et être 365 ready avec un SP Host App que de faire du Provider Host App juste pour écrire du CS
    • Pour info
      • le CSOM et les ODATA call ne sont que des call sur le REST SVC de SP2013, soit _api

Bref, la voie est tracé, il faut la suivre, tout simplement

  • utiliser le $.getJson
    • vous permet d’utiliser data.d.title directement sans parser le XML Sourire
    • plus efficace que de le faire en JS pur via $.ajax
      • profitez tous de JSON !

P1040622

MVVM

  • Ce pattern permet de séparer litteralement les données de sa presentation et de les synchroniser sur MAJ
  • Le ViewModel sert de bus de communication.
  • La librarie de référence : Knockout.js
    • Arrêtez de concaténer et d’injecter votre html : binder le tout simplement !!!

P1040624P1040625

AppUI guidelines

  • permet de recuperer le charting de votre site SP dans votre App
    • WebTemplate pour ASPX
    • Chrome contol en JS pour les pages HTML

Demo

  • Utilisation de
    • chrome control pour la navigation : var json pour déclarer l’ensemble des pages de l’apps
    • KO
      • KO monitor un tableau
      • tout le code charge des objets JS et les ajoute à la fin au tableau
      • KO s’occupe de binder lui meme la grid

Conclusion

Session de haut niveau si jamais vous n’avez pas toujours plongé dans la puissance du JS et de ses “codes”

Scott donne de vrais bonnes clés pour bien démarrer dans le développements d’application business réelles sans tomber dans les pièges de débutant

Désormais les Best Practices de SP incluent celles du monde Client Side
(Aurelien Verla, si tu lis ce post, je sais que tu savoures ce moment Clignement d'œil )

Pensez à vite downloader ces samples Sourire et ensuite à bien les décortiquer

Ce sera vite une question de qualité et ou de survie

Renaud Comte [MVP]
Live from Vegas

Mots clés Technorati : ,,
[SPC12] : Customizing the search experience

[Une session orienté sur la customisation du content search, a priori, la nouvelle brique fondamental du moteur de SP2013

SPC-2012_thumb1_thumb_thumb

Le content search permet de s’affranchir de toutes les limitations connues de la CQWP : bienvenue à la CSWP

Ce composant profite du moteur d’indexation de SP largement remanié avec l’aide de FAST.

P1040604P1040605

la CSWP utilise un query builder Web vous permettant de prévisualiser vos résultats.

Bonne nouvelle : au revoir le XSL lourd et imposant de la recherche SP, la CSWP utilise désormais des Display Templates.

Soit du HTML, du CSS et du JS Sourire

Demo

  • Content Search in Action
    • just a WP in Content Roll Up category
    • by default : result show 3 last Modified items
  • build the quey
    • select the base query like document
    • restrict with custom prop
    • add filter and so on
  • change the display template
    • combo of template with live preview

P1040608

Aussi flexible si ce n’est plus que notre cher CQWP

il existe aussi un jeu de WP Search Drivent pour les types les plus important comme par exemple un carrousel JS d’image. ce ne sont que des CSWP personnalisé et re personnalisable évidemment

  • Advance Query
    • toolbar donne accès a une zone de recherche plus avancé
      • ajout de propertie dynamique
      • sql search en text modifiable
    • idem pour l’order et les autres propriétés de la query
  • Test Tab
    • permet de simuler un peu les résultats de recherche avec un minimum de template et de refiner

la CSWP permet donc

  • roll up document from another site collections
  • change their look
  • put a slideshow
  • get the last updated web site

Les display templates

ils existent dans la MP gellery, just copy and update to change
Vous pouvez utiliser n’importe quel éditeur pour les mettre à jour

Demo

  • open the MP with explorer
    • folder : dsiplay Template
    • 3 kinds : control item display
  • there is 2 files : html and JS
    • you modified the html
    • SP generate the js automatically
      • JS is the real display use by the engine !!!
  • Edition live avec Notepad ++
    • simple HTML avec du prop mapping
    • prop:alias1,alias2
    • on compose en JS l’utilisation des propriétés
    • on met en page en html
      • via des tokens de remplacements ou du JS
      • _# value #_
    • cela revient a mixer de la logique en js et du mapping
      • un peu comme composer une page aspx en design avec du inline code
      • simple et assez intuitif
      • extrêmement puissant !
    • vous sauvez depuis notepad ++ 
      • le js est généré live
      • F5 sur votre WP Page
      • la modification est visible LIVE
        • exemple en demo : gérer un “NEW” conditionnel

P1040606

P1040609

Bonnes nouvelles les WP de recherche ont toute été revus pour faciliter l’intégration et la personnalisation

Result types

  • plumb properties
  • create the look you want
  • hook the template to result type

permet de relier un type de résultat dans un jeu de résultat : mieux identifier un type dans un ensemble
>>> soit des résultats bien plus lisibles ! Fini le melting pot visuel

P1040610

Si vous utilisez des Site Columns dans vos Content Types, le crawl/search engine crée directement les managed properties : ENFIN !!!!

Il n’y a plus qu’à composer Sourire

  • Préparer une query définissant le result type (via un builder)
  • on associe un display template
  • en action
    • désormais les marketing campaigns ressortent
    • leur panel est personnaliser avec les meta data
      • Waoh !
  • bien sur les templates utilisent le même système de token et js/html
    • pour l’affichage d’une carte Bing Map
      • utilisation mixte de JQuery event et de CSOM like

Avant : ppt classique

P1040612

Après : Ppt campagne marketing

P1040613

Demo : que faire en cas de problème ? ou comment coder debugger ces templates ????

  • en cas d’erreur, le résultat en recherche contient une message de debug complet pour vous aider
    • fini le XSL error global Sourire
  • vous pouvez aussi utiliser un debugger JS
    • le JS code est similaire au code du template
    • ctx.CurrentItem : cette variable contient toute les datas de recherche en retour

P1040616P1040617

Conclusion

la CQWP est morte, au revoir mon bon ami

Bienvenue à la CSWP : plus puissante, plus ergonomique, plus tout …

A se demander comment on n’a pu s’en passer depuis 10 dans SharePoint, et je ne vous rappelle pas la puissance du search engine FAST optimized Clignement d'œil

Un hit ä suivre et a maitriser au plus tôt

Renaud Comte [MVP]
Live from Vegas

Mots clés Technorati : ,,
[SPC12] building an app for SharePoint with Azure and Win 8

Une session plus technique pour changer (et faire plaisir à mon petit cœur de développeur)

SPC 2012_thumb[1]

image en upload …

Comme dirait le speaker Technical Evangelist : “it’s a great day to be a developper”

Scenario overview

  • business : a mobile toolset for sales
  • technical : best use of cloud technologies
    • soit 8 à 9 layer techniques de Word en passant par win8 et azure, o365 …

L’application fonctionne sur Win8

  • tiles dynamiques
  • alertes
  • app de présentation de data avec charts
  • chart provenant de Excel Web App sur 365
  • génération de document word avec données d’Azure

Le processus complet est présenté entre les 9 couches logiciels simplement et logiquement (avec en fond un rire global de la salle un poil apeurée vu la relative richesse et complexité de l’appli en demo)

image

Pour info, la vue web de l’appli sur 365 se fait directement depuis un IPAD (merci SP2013, JQuery mobile et Html5)

la demo enchaine avec des demandes de validation sous 365 de devis sous Word. les tqsks de vqlidqtion sont relqyé par les events de win8

Le devis une fois validé crée live un espace projet pour traiter la commande

Bref, une appli de demo mais basé sur un scénario crédible mais volontairement riche en options et technologie : entre petit bijou d’artisanat et l’usine à gaz

P1040596P1040597P1040598

P1040599

Mais en  pratique :comment ca marche ?

Hosting : Azure + 365

api : The new _api aka REST

  • client symmetrical
  • OAuth
  • + 2000 classes
  • Odata
  • Jquery compatible

En résumé, l’api de choix pour les apps (qui enterre un peu le CSOM classique)

On enregistre l’App pour obtenir un App Principal qui sera utilisé pour l’ensemble des connections avec OAuth
Mais vous devez faire un TRUST de votre App ensuite pour valider le tout.

L‘authentification est transparente en apparence mais complexe en réalité. Merci OAuth et le framework App de tout bien gérer

  • soit user credentials
  • soit App token + User Token
  • Soit App token avec full trus de l’utilisateur
  • soit anonyme aussi, ne sait on jamais

P1040600 

Submit & request for quote forms

  • it uses the Provider hosted app model
  • MVC4 application on Azure
  • SQLAzure too

le projet VS est présenté avec ses couches techniques

la page d’index de la solution Provider gère l’intégration dans 365

  • on récupère l’url du site 365 cible
  • getscript de la biblio JS SP.UI.Controls.js de la cible
  • un callback JS charge la navigation avec les paramètres spécifiques de l’appli

les calls serveur se font via $.ajax sur les SVC du provider tout simplement

Windows Push Notification Services WNS

Ce service est piloté par le site 365. l’application cliente appelle aussi ce service pour alerter l’ensemble des acteurs connectés si évolution des devis

Techniquement, les calls reposent sur

  • event receiver : remote/external/local
  • custom code also
    • on event or process
    • depuis le JS des formulaires de saisie : tout est possible
  • de simple flux XML :Toast

“it’s a component oriented development” 

intégration WIN8

  • Toast, tile, raw notification
  • tiles, charts, …
  • everything you want

api

  • Win8 of couse
    • win RT
    • Win js
  • SP
    • Rest
    • ASMX
    • Wopiframe
  • Win Azzure if needed

App SharePoint

Tout repose sur du JS et du JQuery, tout simplement

  • _api
  • Azure Svc

Merci OAuth

Cette technologie est la clé de voute : C’est elle qui permet d’uploader, de valider, de connecter, …

Elle est incontournable pour tout type de Développement impliquant Azure et 365

Sans elle, aucune solution pour avoir une communication cohérente et transparente des permissions

Conclusion

L’application présenté est un véritable showroom complet de l’univers Microsoft.

Monstrueuse : oui mais facilement compréhensible étonnamment

  • le pattern est toujours le même
    • SVC
    • Component
    • OAuth
  • le modèle de développement des Apps est vraiment consistant que ce soit
    • les 3 modes de SP
    • cloud or not
    • même pour les applications Offices

C’est vraiment une belle journée d’être développeur mais, mon dieu, elle vas être bien longue Clignement d'œil

PS : après une petite discussion avec Todd Baginski, attention, le déploiement Autohost ne fonctionne que sur Azure, Pour utiliser le App cloud Model on Premise, et faire fonctionner OAuth, vous devez configurer vos serveurs avec S2S

Renaud Comte [MVP]
Live from Vegas

Mots clés Technorati : ,,
[SPC12] retour d’expérience : Jones Lang Internet Site

Pouvant partage mon agenda avec mon collègue, je peux profiter de certaines sessions orienté Business et retour d’expérience.

SPC 2012

Comme celle ci sur le site internet de Jones Lang Lasalle, leader dans sur le content provider en Real estate

image

Jones Lang LaSalle is a financial and professional services firm specializing in commercial real estate services and investment management. Our more than 40,000 people in 1,000 locations in 70 countries serve the local, regional and global real estate needs of those clients

http://www.us.am.joneslanglasalle.com/UnitedStates/EN-US/Pages/Home.aspx 

(oui c’est bien du SP)

Ce client historique Microsoft et surtout SharePoint, a travaillé des le début de la beta sur SP2013.

Actuellement, SharePoint est utilisé pour le site Web, l’intranet ainsi que la collaboration

P1040585

Leur problématique est de bien gérer les agrégateurs de contenu que ce soit mobile, tablet ou tous nouveaux système sortant du néant mais vite incontournable.

Le besoin de mobilité pousse leur marketing team a être extrêmement agile

forte influence du traffic mobile sur le site : 182% d’augmentation en 1 an

P1040586

Certes IE reste majoritaire , mais les autres navigateurs sont réellement présent comme les tablettes. A noter que Google pèse toujours 88% des search engines en tant qu’apporteur de trafic

stratégie:

  • Cloud and independence
  • focus on digital channel
  • productivity apps : data driven
  • social collaboration to drive people on objectivs

P1040587

Conclusion de leur analyse :

  • “We must think differently”
  • no longer one size fit all

Leur implémentation de SP2013 repose sur l’ensemble des nouveautés… purement et simplement

P1040588

Demo

  • Market Presence on the web
    • minimize the unvestment
    • build their mobile footprint
    • content shaping
    • technical :
      • generic search WP / custom Mobile support
      • product catalog
      • responsive design
      • performance

P1040589

  • leur solution repose beaucoup sur l’intégration des résultats de recherche
    • dans la navigation
    • dans les carrousel de contenu
    • dans la restitution de contenu
  • mobilité
    • la demo utilise un retro projecteur et un iphone : du live
    • repose sur le multi channel de SP2013 et html5
    • content segmentation & caching
    • technical
      • switch to a mobile Master Page
      • channel aware webpart
        • adapte elle même le contenu

P1040590P1040591P1040592

Personnalisation : audience segmentation

soit capturer le comportement de l’utilisateur et adapter la “story” de navigation : content shapping

Content by Search

composant fondamental de leur implémentation

  • séparation contenu présentation
  • driven by
    • scale and performance
    • full metadata integration
  • display use dedicated and by channell template

 

Device channel

P1040593

enables taregeted display of content like Mobile Sourire

  • contain user agent strings
  • assigned Master Page

Easy to use and control

Sum up : in a perfect world

  • SP sites would be mobile friendly
  • configuration vs customization
    • get back to out of the box
  • search would drive a transition from apush to pull marketing
  • audience segmentation would fully drive user experience
  • metrics and behavior would be fully baked in
  • social fully integrated
  • capitalize on other MS technologies and integrate emerging technologies

P1040594

leur conclusion : si ils ne s’oriente pas sur cette voix et que MS pousse l’évolution de leur technologie dans ce sens, la prochaine SPC ne se fera pas à Vegas mais bien dans le désert …

Conclusion

SP2013 semble avoir apporte les briques des gestion qui manquait cruellement au développement WCM et a la gestion des mobiles et de leur contenu

Rien qu’a la vue des solutions et des résultats obtenus, la migration vers SP2013 des sites et serveurs WCM peut devenir une nécessité voir une urgence pour bien des sites SP de publishing

Mais attention, la réflexion devient plus riche et complexe que le simple besoin de publier du contenu bien formaté. il faut le pondérer et le mesurer aue ce soit avec les team techniques et marketing

PS du client speaker : population technique, pensez bien a travailler avec les équipes marketing car ils vont avoir besoin de vous, et ce sont eux qui ont les dollars pour faire le changement Sourire

Renaud Comte [MVP]

Mots clés Technorati : ,,
[SPC12] Nouveautés dans le coding SP et Office 2013

Après un keynote bien dynamique, commençons le cycle de session avec le coding 2013

P1040574

La vision : Modernize the platform

  • plus de 700 000 SP coders
  • 75% des dev utilisent HTML5

P1040575

les fondamentaux

  • Cloud designed
  • Consistent Platform
  • give choice to developper (why not use JS or PHP)

Soit le App Cloud Model

Demo

  • A content App : intégrer Bing Map dans un Excel
  • ajout d’une barre outlook pour linkedin ou map directement intégré au contenu du mail
  • Access SharePoint
  • App Part dans un team site : carrousel
    • une app avec une intégration Webpart

P1040577

P1040578

P1040579

Les apps peuvent venir d’un catalogue interne de son entreprise voir de la galerie ou le shop online

Le store permet de présenter et de consommer des apps

L’achat de Apps peut se faire directement pour l’organisation ou un nombre précis de users

Le développement Office et SP pour tous

  • Access 2013
  • Napa  : online browser development
  • VS2012 pour toutes les grandes customisations

P1040580

Demo de Napa

Napa est un app SharePoint permettant de coder dans les navigateur des apps SharePoints sans aucune Install

il suffit de déployer l’app Napa dans un site SSP online par exemple, le modèle Developer site étant particulièrement pratique

  • code online de l’app
  • déploiement et Debug live

Un bouton permet de tout exporter ensuite sous VS 2012 et de l’étendre sous VS si besoin

P1040581

Le tout sans absolument AUCUN paramétrage : tester et validé par votre serviteur sur un Eeepc sous win8

>>> il est loin de le temps des attach process sous VS 2003\5

vive les apps Clignement d'œil

Renaud Comte [MVP]
Live from Vegas

Mots clés Technorati : ,,
[SPC12] : Keynote !!!

Le show commence et a l'Américaine SVP : show light, musique de film, speaker a la voix grave et 10 000 personnes dans une seule salle …

SPC 2012

P1040538P1040543

Le Keynote commence par un grand “Merci” a sa grande communauté de UG, MVP, MCM qui grandit d’année en année

“SharePoint is a way of life”

la SPC en chiffre

  • 10000 personnes de 85 pays
  • 200 partenaires
  • 120 Mvps

Le team SharePoint livre les bases de leur réflexion sur les nouvelles versions

“Que chacune puisse partager et créer son site web”

  • cloud
  • mobile
  • social

Pour cela, SP se doit de permettre d’être plus agile, flexible et rapide et ceux de tous les acces possible

il faut pouvoir permettre aux utilisateurs et aux entreprises de mieux partager et de gagner en agilité

Définir a “ New way to work together”

3 concepts : experience, innovation et ecosystem

Next release : leur plus investissement depuis le lancement de SP
>>> le team SP a été divisé en 2

  • O365 : datacenter + soft + continuous updating
  • le new SharePoint

Jeff Steper insiste sur l’investissement de MS sur les 3 nouveaux concepts

le team User interface a été doublé  : clean UI de OWA a SP15

Longue Demo du nouveau O365

P1040546

  • interface 100% web
    • multiplateforme
    • AJAX, zero AX
  • intégration du stockage personnel avec Skydrive
  • seach everywhere live
  • nouveau system de “Share”
    • on partage a des gens, pas de permissions complexe
  • Drag and drop directement dans les interfaces de liste (Big Applause)
  • Partage interne et externe de l’entreprise via la messagerie
  • synchronisation Skydrive Pro depuis Ipad, Surface, Mobile, …
  • theming de SP
    • drop live des logosm et choix des couleurs, fond, ….
  • Team Site
    • intégration des conversation directement dans le site : Newsfeed
      • vue pleine ecran des WP
      • gestion media in screen
      • reprise par le Mysite
    • tracking et gestion des projets
    • manage everything in one place
      • les tasks se sync entre site et votre propre compte Exchange
      • en bidirectionnel
    • appli SP
      • dispo win phone 7 et 8
      • bientot iphone et android debut 2013

P1040549

Cloud : toutes les demos sont faites via un Datacenter Europe :)

intégration Yammer : une évidence pour les 2 entreprises
le meilleur du collaboratif et du social entreprise

  • number 1
  • rapid innovation via cloud updating
  • Voluntary adoption
  • Grande complicité des équipes

Lol : Yammer et SharePoint en Ganman Style

P1040551

On ne peut plus renier les impacts du social networking : élection US, facebook et autre reseaux, …

  • 200000 enterprises ont Yammer
  • Estimation : 6,5 Billions USD

Social : :

  • connect for communication and made enterprise change and evolve
  • Transform the business
  • be more organise
  • be more involved in his enterprise and its goals

Yammer souhaite connecter les gens de leur outils principal en enteprise : Office bien sur

Demo

  • boutton Socialize this
    • creer un thread yammer depuis un simple doc depuis une doc lib
  • depuis Yammer
    • collaborer
    • synchroniser via Skydrive
    • commenter versionner et éditer les documents
  • appli Win8 de Yammer sur surface

P1040554P1040553P1040556P1040557

Roadmap : Yammer intègre le pack Office 365 gratuitement !

Enterprise Feature

Soit les nouvelles features du SP15

  • Search everything everywhere
    • vignettes et prévisualisation en task pane
    • ouvre les documents en office Web app a la bonne page !
  • Publishing
    • SharePoint  transforme lui meme un html en Master page
    • Snippet : permet de générer des  samples de SP
      • les copier dans un tools comme dreamweaver
      • le recoller dans SP
      • End it’s done
  • ECM
    • Content Search WP
      • au revoir la CQWP
      • instant result instant index (merci Fast framework)
    • ediscovery
      • espace de recherche et de decouverte des bonnes informations
  • Site Mailbox
    • With Exchange
    • SharePoint is in Outlook and vice & versa
    • work closely and sync together

P1040558P1040559P1040560

Innovation dans

  • Sharing ans social
  • Search
  • BI
  • ECM
  • Task mngt
  • Web Publishing

P1040564

Investissement lourd dans le  Cloud : Build from the Cloud up
>>> Ouragan Sandy a pousse plein de société de la cote est a migrer pour avoir rapidement un “recovery plan”

IT integration

  • Upgrade d’une ferme SP2010 : zero impact meme visuel sur vos collections de site
  • demo live

Performance

  • 40% optimisation bandwith
  • 50% faster server side
  • SQL IO faster by binary management

P1040565

Development

  • we are not forget them, we focused on you !
  • bien trop a dire et a montrer : allez voir les sessions

SharePoint 15 fonctionne a merveille on Premise mais tire son maximum avec le Cloud

Cloud App Model

  • consistant entre Premise et Cloud
  • loosely coupled to SP

Demo par Scott Gutthie himself

(Symbole fort pour ceux qui se rappelle les outils vsewss ...)

P1040567

  • from O365
  • développement d’une WP depuis VS2012
  • utilise un déploiement mixte Azzure
    • permet de profiter de toutes les innovations de .net : MVC, SVC
  • Local debug sur 365 sans SP local
    • tout tourne en localhost mais avec les datas en trust de SP Online
    • Merci Client contex et OAuth
    • Jquery et Data Html 5
  • Présentation des 3 modes de dev
    • SP host
      • JS Heaven Hell au choix
    • Auto host (O365 + Azure)
      • tout est automatisé et sécurisé
    • Provider
      • Manifest in SP
      • Web App on Azure ou ailleurs !
  • Workflows
    • ils peuvent tourner sur le long terme sur le Cloud

P1040571

P1040572P1040573

Conclusion

Mais quel effet WAOH !

Steve Balmer avait dit pour SP2010 que MS faisait un ALL IN avec le Cloud

SP 2013 en est une preuve impressionnante voir bluffante, et ca ne fait que commencer …

Renaud Comte [MVP]
Live from Vegas

Mots clés Technorati : ,,
SPC 2012 : Here we are

Après la SPC 2009 in Las Vegas, le retour tant attendu en 2012  avec en guest : SharePoint 2013

image

Ah Vegas :

Certes, il y a la folie purement locale

P1040502P1040506P1040507P1040515
P1040520

Mais bon si la visite du “strip” reste un incontournable, surtout après 11 h de vol depuis Frankfurt, la SPC c’est la première conférence pour et pur SharePoint , et version 2013 SVP !

  • des sessions , trop de bonnes sessions
    • certains créneaux sont de vrais crève cœurs vu les sujets
  • un immense village partenaire pour croiser et échanger avec utilisateurs, client, CP, Experts et MSFTs
  • du réseautage : 10 000 personnes uniquement sur les technologies SP
    • un 50 aine de Français/Suisse, un douzaine de partenaire et votre Wygwam serviteur dévoué
    • des expats comme notre canadien de Nicolas Georgeault

P1040523

(d’ailleurs je ne suis pas seul, Laurent du bureau suisse m’accompagne pour mieux couvrir tout le contenu )

Biensûr le village partenaire et son coin communautaire et sa cohorte de MVP : 120 présents d’ailleurs  avec un Wall of Fame Sourire

 

P1040525

P1040526

j’y suis aussi Sourire

P1040527

 

le programme va être riche de contenu, je vais tenter de vous en “ramener” une petite partie via mon blog

Mais en attendant le keynote, il faut récupérer du décalage horaire …

A demain

Renaud Comte [MVP]

PS : vous saviez qu’il y avait un Microsoft Store temporaire à Las Vegas ?

Vive le dollar Clignement d'œil

P1040529

Onetastic : Oh le sympathique plugin pour Onenote !

Jeu de mot facile mais Onetastic c’est Fantastique Sourire

http://omeratay.com/onetastic/?r=download

   

C’est de la dynamite Sourire

Bon ok, la blague est faite mais plus sérieusement, si vous êtes un utilisateur assidu et forcené de Onenote, ce plug in vas bien vous aider.

>>> Ce plugin a été développé par un des membres du Team Onenote, donc qualité assurée (si si)

Voici un petit détail rapide :

Soit :

  • des raccourcis directes depuis le bureau
  • une gestion de style personnalisable
  • une gestion plus fine des images (enfin) avec
    • le crop !
    • le flip
  • et surtout la vue calendar !

 

Une vue tout simplement génial pour votre suivi de note multi saisie …

Bref, à télécharger en urgence en attendant Onenote 2013 bien sur

Renaud Comte aka TheMit (Onenote Fan 4ever)
Member of WygTeam
http://www.wygwam.com
Mots clés Technorati : ,,
SharePoint 2010 & Variations : Comment connaitre les variations de mes pages ?

/

Certes, le moteur de variation de SharePoint 2010 est riche de nouvelle fonctionnalité avec ses nouveaux timers jobs, son mode manuel et semi auto, il fait presque tout

La navigation multilingue ne concerne pas juste la navigation entre différentes langue d’un site mais aussi la navigation entre les différentes variations de la même page.

Pratique, pour finaliser une navigation contextualisée, des pieds de pages paramétrables ou autres sujets très sensible en multilingue ! Surtout avec le nouveau mode manuel et non automatique, ou certaines pages n’ont que certaines variations …

Soit trouver la version FR de http://monsite/US/Team/pages/welcome.aspx qui devrait être http://monsite/fr/equipe/pages/bienvenue.aspx

A noté, pour rappel !

Donc pour continuer sur le sujet, Comment retrouver sa navigation entre page  (voir en créer une “sur mesure”)

Plusieurs approches

  • Roots de chez roots
    • vous pouvez naviguer et chercher directement dans la liste de management des urls, la fameuse liste cachée : /Relationships%20List/ se trouvant en racine
    • la vous pouvez requêter sur les id de pages et faire la corrélation avec les ID de vos page
  • Utiliser l’OM de Microsoft.SharePoint.Publishing (+1)
if (PublishingPage.IsPublishingPage(SPContext.Current.ListItem)) 
            { 
                PublishingPage page = PublishingPage.GetPublishingPage(SPContext.Current.ListItem); 
                StringCollection peerUrls = page.VariationPageUrls; 
                foreach (var peerUrl in peerUrls) 
                { 
 
                } 
            } 
}
      • Pour retrouver la variantes dans une langue précise : PublishingPage.GetVariation
        • il vous suffit de passer en paramètre le label qui vous intéresse
      • “Pages” en anglais, c’est “Pages” mais en Allemand, c’est “SeitenSourire

Conclusion

2 leçons à retenir :

  1. SharePoint est toujours aussi riche : il faut vraiment explorer l’OM pour trouver les bonnes méthodes mais souvent, elles sont logiques …
  2. SharePoint s’utilise lui même pour sa propre gestion : PropertieBag, Reference list, …

Cependant, même si l’utilisation de l’OM, la version “roots” par exploration de sa propre liste de référence n’est pas à négliger !!!

Pourquoi ?

hum hum, disons que de temps à autre, elle peut être la seule alternative à des soucis de contexte non prévus par Microsoft

Genre : développez des Event Receivers sur vos bibliothèques de publishing
>>> http://www.akshaykoul.com/blog/Home/tabid/40/EntryId/17/Variation-Labels-for-a-site-collection.aspx

Soit la leçon 3 : toujours comprendre comme SharePoint fonctionne en interne !

Bon courage / Good luck / Viel Glück

Renaud Comte aka TheMit ( pas de soucis, juste trop de solution)
Member of WygTeam
http://www.wygwam.com
Mots clés Technorati : ,,,
SharePoint 2013 : installation, soucis et solutions

En rentrant de congés (fini en dépanneuse d’ailleurs), j’ai eu la joie de découvrir 2 choses

  • l’arrivée de mon nouveau monster laptop
  • la sortie publique de Office 2013 et SharePoint Preview

image

Ah ah, les affaires sérieuses vont enfin commencer. Après des semaines à jouer sur du JS, Jquery et le CSOM, on vas pouvoir évaluer tout cela sur une plateforme plus “stable”.

Pour une fois, j’ai décidé de vérifier plusieurs types d’installation, le tout sous Hyper V . Et histoire de revivre la folle aventure de SP2010 et 2007, je monte tout en beta : Win 2012 SRV et SQL 2012 SP1 CTP3 sur Win 8 CP Sourire (courageux ET téméraire )

En résumé, je vais tester sur Hyper V

  • AD + SPF 15 Stand Alone
  • AD + SQL + SPS 15
  • AD + SPS 15 Stand Alone
  • AD + SPS 15 (SQL dessus)

Soit une “simili” prod de dev

Merci le SSD pour les temps d’install et de reboot d’ailleurs

A priori pas de grand soucis mais quelques messages d’erreur bien énervant qu’il faut traiter

Si vous voulez éviter bien des crises, je ne saurais trop vous conseiller les lectures des posts suivants:

SharePoint George

  1. Configuring Active Directory (AD DS) in Windows Server 2012

  2. Installing SharePoint 2013 Preview on Windows 2012 Server with SQL 2012-Part 1

  3. Installing SharePoint 2013 Preview on Windows 2012 Server with SQL 2012-Part 2
  4. Create a Web Application and Site Collection in SharePoint 2013 Preview

Pour la partie réseau :

TechEd 2011 demo install step-by-step (Hyper-V, AD, DNS, iSCSI Target, File Server Cluster, SQL Server over SMB2)

Malgré tout, j’ai vécu quelques soucis bien embêtants et avec des solutions bien souvent

  • AD, AD, AD : cette version preview vit très mal sans AD !
    • créer un AD, utilisez la “dynamic memory”, il ne pèsera jamais plus que 512 meg en mémoire et plus de soucis
    • certes des posts vous conseillent de désactiver certains services comme AppFactory mais vous perdrez aussi des fonctionnalités

  • Pensez en plusieurs comptes de services

Attention, même pour une machine de Dev, Microsoft a durci son install : http://msdn.microsoft.com/en-us/library/ee554869(v=office.15)

The installation wizard will ask for a SQL Server admin account and password. This account will become the Farm Account and services such as the Timer Service will run under that identity. This account must be different from the account that you will use for developing and installing apps on your SharePoint 2013 Preview installation. The SQL Server account can be a local account if the database is installed locally. It must be a domain account if the database runs on other computers. SharePoint 2013 Preview will not allow your apps to install if the SQL Server admin account and the account that you use for installing apps for SharePoint are the same.

  • Configurer bien votre DNS et vérifier le ping sur votre AD
    • les joies du réseautage virtuel …
  • Installation d’une machine en SPF Standalone avec compte domaine autre que “domain\administrator” : OK
    • Impossible pour SPS en StandAlone : erreur en setup et aucun détail
    • le setup log renvoie une erreur qui ne renvoie rien sur google ou autre
    • Après 3 reboot, différent comptes domaines, je relance l’install avec un compte local admin et ca passe ….
      • mystère …
  • Certains conseils ne marchent pas pour tout … dans le cas d’une installation Standalone, votre compte d’install doit être celui de la ferme http://sharepointsolutions.blogspot.ch/2012/07/sharepoint-2013-preview-setup-and.html sinon error incompréhensible

    ErrorCode:ERRCAdmin024 SubStatus:ES0001 Failed to refresh all running servers in the cluster. You may need to restart the cluster for these changes to take effect.

  • Le pire de tous : n’installez jamais une machine en “dynamic memory” sur HyperV !!!
    • J’en ai cauchemardé c’est dire !!!
    • une erreur hallucinante vous déclare lors du déploiement SP qu’il vous manque de la mémoire genre 256 au lieu de 300 attendu
      >>> j’ai retourné ma config plusieurs fois et bien sur, peu de résultat sur le web puis une idée
      • J’ai modifié la mémoire de mes 3 machines SQL, AD ET SP en normal sous HV et l’installation c’est déroulé sans soucis
    • Moralité
      • installer en mémoire “fixe”
      • travailler en “dynamic memory” !!!

L’installation de VS 2012 RC n’est pas sans surprise : surtout pour obtenir les “compléments O2013”

soit bien pensez à votre accès Web virtuel pour obtenir le Web Platform Installer 4.0 RC

Mais sinon, tout vas Sourire

je complèterais ce post, fur à mesure de mes “trouvailles”, sinon

http://office.microsoft.com/en-us/help/sharepoint-server-2013-known-issues-HA102919021.aspx#_SharePoint_Server

Bon testing !

Renaud Comte aka TheMit (rah que j’aime une install qui rerereplante)
Member of WygTeam
http://www.wygwam.com

SharePoint : Mes alertes ne marchent pas … Que faire ? Comment réparer ou agir ?

Ces derniers temps, je vois une recrudescence des soucis d’alerte sous SharePoint.

Effet de mode ou autre ? Ce n’est pas la vrai question. Le technicien que je suis et resterais se demande déjà : comment ca marche et comment on répare ? (puis gouvernance oblige, comment le pérenniser une bonne fois pour toute)

Le fonctionnement des alertes, avouons le, est plus clair pour les utilisateurs que pour les administrateurs.

Mais que faire quand les alertes ne partent pas ?

  • Est ce un soucis de SMTP, load balancing, AD, … ?
  • Est un paramétrage SharePoint, Exchange, Firewall … ?
  • Est un soucis infra, sécurité, patch, … ?
  • Est ce le Timer Job, le compte de service, un mail externe … ?

Comme vous le voyez le cheminement de résolution est plus que complexe, riche voir rébarbatif.

Après bien des recherches et de vécu, voici la liste de mes favoris, ma boite à outil personnelle (des liens surtout basés sur de l’opérationnel )

Bref, de la gestion du “Troubleshooting” des alertes

Troubleshooting SharePoint Alerts
http://sharepointalert.info/troubleshooting-sharepoint-alerts/

Ce post explique simplement et graphiquement le cheminement de problème d’une alerte

Troubleshooting Flowchart

Et bien sur, les résolutions possibles !

Sachant qu’elle peuvent varier de la simple erreur d’adresse ou du soucis de mise à jour des url en cas de migration de votre contenu …

Cependant, je ne saurais trop vous conseiller de le compléter avec le feedback de Steve Chen [MSFT] Support Escalation Engineer

Clairement, cette personne connait son sujet et surtout le pratique vu qu’il assure le support des bugs bloquant à impossible sur SharePoint.

Soit en pratique le TOC correspondant

  • Alerts in SharePoint 2007
  • The typical issue
  • Examples of common issues
  • Alerts are not working ...
  • General troubleshooting steps
  • Additional Links and related resources
  • Some technical details
  • Immediate Alerts
  • Scheduled Alerts
  • Database tables
  • How to troubleshoot alerts?
  • Troubleshooting steps
  • Le fonctionnement avec Timer Jobs des alertes entre 2007 et 2010 restant similaire, ses analyses sont toujours fiables et recommandés !!!

    Eh oui, l’investigation du problème des alertes peut être aussi simple que difficile vue que vous devez identifier en premier la “zone d’erreur”

    Est ce SharePoint ou le SMTP voir le serveur de messagerie … voir le SPAM de votre client de messagerie (si si j’ai eu le cas ou un utilisateur avait des règles vraiment trop exigeante )

    Mais des fois le soucis peut être vraiment caché, bien caché, vous risquez de devoir attaquer l’analyse avec des outils plus direct

    En résumé, pas de panique, mais rapprochez vous de votre équipe IT rapidement

    Bon courage

    Renaud Comte aka TheMit (après un tel post, vous arriverez sans peine à convaincre les gens d’utiliser le RSS !!!)
    Member of WygTeam
    http://www.wygwam.com

    Mots clés Technorati : ,,,,
    SharePoint 2010 & CAS : le GAC n’est pas l’unique solution de déploiement de vos composants

    Un sujet qui revient souvent dans le monde SharePoint mais bizarrement moins depuis la version 14 alors que très à la mode sous 2003 et 2007.

    Le Code Access Security : CAS et la problématique des stratégie de contrainte ..

     

    Référence MSDN (très bonne d’ailleurs)
    http://msdn.microsoft.com/en-us/library/cc768613.aspx ou http://msdn.microsoft.com/fr-fr/library/cc768613.aspx

    Introduction : “Comment gérer le modèle d’exécution de vos composants sous SharePoint 2010 ?“

    Il est vrai que sous SP14, il existe 3 modèles

    • Full trust : déploiement GAC ou Farm Global
      • avantage : pleine puissance
      • inconvénient : disponible de maniére transverse dans toutes les Web Apps de votre ferme
    • Bin/CAS : déploiement en Bin de vos sites IIS SharePoint
      • avantage : des droits dépendants de vos CAS et composants disponibles uniquement sur les Web App ciblés
      • inconvénient : rédiger les dites CAS
    • SandBox : déploiement dans la gallerie de solution de votre Site Collection
      • avantage : isolation assuré par le déploiement par collection avec CAS spéciale
      • inconvénient : aucune ouverture sauf si utilisation des sandbox proxy

    Rappel sur les modèles d’exécution:

    Certes, Microsoft encourage fortement le développement Sandbox, mais bien souvent, sur des problématiques plus complexes (avec des WS, des appels cross collections, …) le modèle Farm est nécessaire, et je ne vous parle pas de certaines problématiques de maintenance de sandbox

    Et la ce pose la question du déploiement Web App ou Global, pardon, ferme ou bin 
    >>> bien souvent, la plupart des développeurs utilise le développement global car simple et TRES efficace

    Le soucis, vos composants deviennent transverses à la ferme et si vous hébergez plusieurs intranets SharePoint, vous vous retrouvez avec une maelstrom de feature toute mélangé (genre l’intranet, le collaboratif, la gestion de projet les blogs) alors que les composants sont fonctionnellement différents …

    D’un point de vue Gouvernance (hello Christian), clairement, il faut mieux travailler en silo et isoler les composants au plus proche de leur application. Donc travailler avec des solutions avec CAS en BIN

    Et d’un point de vue sécurité …  vous évitez aussi d’avoir des dll en GAC qui ont … tout pouvoirs soit dit en passant …

    Mais comment déployer en Bin ?

    Les développeurs SP12 connaissent bien la méthode et surtout WSPBuilder mais sous VS 2010 c’est différent. Il suffit de modifier les propriétés de votre projet

    image

    Mais par contre, vous devez au préalable, préparez les références de CAS … C’est la que le problème devient épineux

    je vous renvoie dans un premier temps sur le MSDN pour que vous puissiez mieux comprendre, découvrir, approfondir le concept qui est pur .Net et non SharePoint, d’ailleurs

    http://msdn.microsoft.com/en-us/library/cc768613.aspx

    image

    Cet ancien article du MSDN sur une WebPart WSS 3 de feu Patrick Tisseghem est d’ailleurs toujours une référence, surtout le dernier chapitre sur Code Access Security and Web Part Solutions

    En pratique, vous devez recenser les permissions minimales pour l’exécution de votre code sous ce format

    <CodeAccessSecurity>
    <PolicyItem>
    <PermissionSet class="NamedPermissionSet" version="1">
    <IPermission class="SecurityPermission" version="1" Flags="Execution" />
    <IPermission class="AspNetHostingPermission" version="1" Level="Minimal" />
    <IPermission class="Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" version="1" ObjectModel="True" />
    </PermissionSet>
    <Assemblies>
    <Assembly Name="$SharePoint.Project.AssemblyName$"
    Version="$SharePoint.Project.AssemblyVersion$"
    PublicKeyBlob="$SharePoint.Project.AssemblyPublicKeyBlob$"/>
    </Assemblies>
    </PolicyItem>
    </CodeAccessSecurity>


    Par défaut SharePoint fonctionne avec la policy WSS_minimal qui ne vous laisse même pas utiliser le modèle objet, c’est dire … Il faut donc préciser les CAS (ou modifier le Trust du Web.config de SharePoint mais je ne préfère pas vous parler de cette option, pas vraiment à conseiller sous 2010)

    Si vous oubliez, SharePoint vous le rappellera sans politesse

    image

    Mais bien souvent, vos WebParts et autres développement se ressemblent souvent, vous pouvez donc partir du modèle précédent et le réutiliser à travers vos différents projets. Et surtout l’adaptez à vos besoins Sourire

    Merci à Waldek pour son template de base très utile

    Liens pratiques :

    Ainsi, dans Visual Studio, la démarche n’est pas si compliqué

    1. Modifier les propriétés de déploiement

      image
    2. Ajoutez le CAS dans le designer de package

      image
    3. Rajouter le tag [assembly: AllowPartiallyTrustedCallers()] dans AssemblyInfo.cs

    Et voila, enfin presque, il existe un bug bien embêtant qui bloque le déploiement depuis VS2010, à priori, un bug est passé à travers la matrice de test de la RTM … mais la KB donne un fix très efficace :

    http://social.msdn.microsoft.com/Forums/en-US/vssharepointdevelopment/thread/eaa2077a-b86b-42c0-9dfd-491c37a1b35e
    >>>  http://support.microsoft.com/kb/2022463

    Il reste cependant une dernière question : Mais comment identifier les bonnes IPermissions de votre CAS ?

    C’est effectivement le point le plus compliqué car il peut dépendre de votre connaissance pleine du fonctionnement de .Net …

    Et si vous en oubliez une, la sanction est sans appel

    image

    Vous remarquerez que l’erreur vous donne de bonne indications sur la permission manquante d’ailleurs Sourire

    A noter que vous pouvez les retrouver aussi via une petite introspection via Reflector

    Mais vous pouvez aussi le chercher via une simple gestion d’erreur et votre débuggeur VS2010. Il vous suffit de traquer une exception de type SecurityException et de cherchez ex.m_demanded

    Waldek (encore lui) a découvert cette astuce

    image

    Au final, rien de bien compliqué, non ?

    Mais bon courage quand même

    Avant de partir, je vous laisse avec un petit dilemme

    "Untrusted solutions – Deploying custom code in bin folders can cause slow server performance. Every time a page containing untrusted code is requested, SharePoint Server 2010 must perform security checks before the page can be loaded.Unless there is a specific reason to deploy untrusted code, you should install custom assemblies in the GAC to avoid unnecessary security checking."

    http://technet.microsoft.com/en-us/library/ff758647.aspx 

    Mais la sécurité n’a pas de prix, à moins de pouvoir l’évaluer dans votre contexte projet

    Renaud Comte aka TheMit (“Waldek fan 4 ever” comme beaucoup d’ailleurs)
    Member of WygTeam
    http://www.wygwam.com

    Mots clés Technorati : ,,,,,

    SharePoint WebControls : oubliez le Label/Literal, il y a le EncodedLiteral

    il faut savoir se méfier de ces vieux réflexes et souvent les mettre en doute pour justement progresser.

    C’est d’autant plus vrai avec des outils qui évoluent de version en version

    • de nouvelles fonctionnalités apparaissent
    • des corrections sont apportés
    • les développeurs et les clients sont écoutés (vraiment)

    Prenons le cas classique d’un libellé à insérer dans une page SharePoint, une visual WebPart ou un usercontrol utilisé en delegate, bref un grand classique

    Asp with text Welcome

    Déjà, partons du principe que vous allez (forcement) utilisé un fichier de resx !

    Pourquoi ? bien rapidement …

    • centraliser les libellés :
      • plus simple pour la maintenance que d’explorer du code C# ou ASP.Net
      • plus facile pour la correction orthographique
    • gérer du multilingues en ajoutant les resx supplémentaires
    • pas de besoin de refactoring

    Donc nous devrions arriver à ce résultat

    Asp with resources

    Bien bien bien, simple et efficace mais ne pourrions pas aller plus loin ?

    Cette réflexion a déjà été mené par le Team SharePoint et comme la plateforme est

    1. une vrai boite à outils de fonctionnalité et de contrôle
    2. assez ouvert pour être personnalisable

    Il serait dommage de ne pas en profiter non ?

    Soit le

    Microsoft.SharePoint.WebControls.EncodedLiteral
    (http://msdn.microsoft.com/en-us/library/ms432507.aspx)

    Ce sympathique contrôle de SharePoint est assez pratique car il peut gérer différents type d’encoding

    EncodedLiteral.EncodeMethod

    Member name Description
      NoEncode Specifies no encoding.
      HtmlEncode Specifies HTML encoding.
      HtmlEncodeAllowSimpleTextFormatting Specifies encoding the specified string for use as text between HTML tags, preserving spaces in the original string and allowing simple text formatting.
      EcmaScriptStringLiteralEncode Specifies ECMAScript encoding.

     http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.spencodemethod.aspx

    Ainsi vous pouvez plus facilement gérer les données de texte simple, de texte riche HTML ou de paramètres de texte pour des variables javascript … ne sait on jamais Clignement d'œil

    SharePoint:EncodedLiteralResources

    Eh oui, SharePoint est toujours plein de bonnes surprises, mais il faut les trouver (ou fouiller la blogosphère et le MSDN)

    A noter qu’on pourrait facilement le dériver pour ajouter encore bien de trucs pratiques non ? (hein Matthieu et JC Clignement d'œil)

    Grand merci à Andy Vansteenbergen pour son post que j’ai retraduis
    http://meligo.blog.com/2011/12/01/do-you-still-develop-old-skool-pre-mui-series/

    Renaud Comte aka TheMit (SharePoint, c’est le mix entre un oeuf kinder et un mikado …)
    Member of WygTeam
    http://www.wygwam.com
    CSOM : Client Object Model ou comment travailler à distance sur votre ferme (même en ADFS) ?

    Un sujet un peu riche mais je fait ce post en l’honneur d’un de mes collègues Laurent qui vient de vivre cette histoire. Donc je me permet de la partager, ne sait on jamais.

    Contexte : comment intervenir sur un site SharePoint en maintenance sans accès directe à la ferme ?

    Il y a bien des situations ou vous devez intervenir pour assister ou corriger un site SharePoint :

    • soucis de sécurité
    • nommage de fichier, de bibliothèques
    • correction de groupe de sécurité
    • création de site dynamique
    • changement de charte graphique
    • ajout de contenu

    Seulement, bien souvent, les fermes de production sont “protégées” des vilains doigts de développeur artistes. A tort ou à raison ? Ce n’est pas la question, la production n’est pas à manipuler de manière inconsidérée, il faut mieux prévenir.

    Certes vous pouvez intervenir avec un compte “admin” et faire vos opérations de maintenance … à la souris mais modifiez une centaine de site ou 240 groupes de sécurité voir renommez 512 fichiers n’est pas une sinécure. Ca peut prendre (beaucoup) de temps, d’énergie et de patience

    Il serait bon de pouvoir automatiser un peu au risque de dépression rapide de votre morale voir seppuku …

    Les possibilités

    Powershell vient souvent en tête et avec raison. Fabrice Romelard nous partage depuis longtemps bien des scripts de maintenance SP, pourquoi s’en priver

    image

    Soucis : il faut pouvoir accéder à un des serveurs de la ferme SharePoint, et c’est rarement le cas pour un développeur

    Certes, vous pouvez passer par une ferme de qualification et une fois le GO et un minimum de documentation, un IT autorisé peut l’exécuter
    >>> C’est un TRES BON processus !!! Je ne saurais trop insister sur l’importance d’un minimum de contrôle, de documentation et de validation

    Cependant, des fois, il faut être rapide et pragmatique. Si vous avez un compte “admin” SharePoint , vous en avez déjà les droits et les responsabilités non ? Mais pas forcement les droits sur les machines …

    Vous pouvez certes profiter du remoting Powershell et exécuter à distance vos batchs depuis votre poste sur la ferme mais rare sont les administrateurs IT téméraires qui l’autorisent. Ces liens sauront vous aidez à le configurer si jamais

    L’alternative

    Des fois, la solution est tellement évidente qu’on ne le voit pas ou qu’on y pense pas. CLOM bien sur Sourire

    image

    Avant Powershell, on codait rapidement de petites applications en ligne de commande mais le script est largement plus intéressant et flexible. Mais ca ne rend pas C# et VS pour autant obsolète et pour accéder à SP en distant il y a : 

    Le Client Objet Model de SharePoint pour .Net, aka Microsoft.SharePoint.Client

    MSDN : SharePoint 2010 Client Object Model

    Exemple basique : Creating a Basic SharePoint Foundation Client Application

    Cette nouveauté de SP2010 vous permet de travailler directement avec SharePoint depuis votre application cliente sans devoir vous exécuter sur le serveur. Et la vous pouvez bénéficier de toute l’assistance de VS 2010 & Linq sans pour autant devoir utiliser la couche des Web Services et leur épaisse documentation

    Soit dans notre cas, coder une petite application ligne de commande ou winform pour “intervenir” sur votre site SharePoint 

    Ce qui marche très bien pour des services back office ou des clients riches, marche tout aussi pour de simple petites applications, merci .Net

    CLOM de SharePoint est vraiment riche, du moins pour toute la partie admin/gestion de collection et de site SharePoint, pourquoi ne pas en profiter. Vous avez quasiment les mêmes objets qu’en OM local à la différence de la notion de contexte mais vraiment rien de compliqué

    Et fini les soucis de maintenance à distance sans accès à la machine !

    Sauf qu’il peut y avoir quelques problèmes mais jamais insurmontables, voyons

    • Je n’ai pas accès à un poste SharePoint de développement, et donc pas la dll cliente … Triste

    Sourire Il vous faut simplement télécharger la bibliothèque SPF 2010 client object model redistributable  : http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=b4579045-b183-4ed4-bf61-dc2f0deabe47

    • Je n’ai pas de poste avec Visual Studio Triste

    Sourire Il reste encore PowerShell qui lui peut instancier le CLOM voir les WS, donc un coup de notepad ++ ou PowerGui et votre script est opérationnel
    http://www.spjeff.com/2012/02/26/powershell-upload-csv-file-to-list-both-server-and-client-om/

    $clientContext = [Microsoft.SharePoint.Client.ClientContext,Microsoft.SharePoint.Client, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c] $context = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)

    certaines opérations peuvent demande du C# inline cependant … : http://blogs.technet.com/b/heyscriptingguy/archive/2011

    • Certainement le cas le plus rude : Mon site ne tourne pas sous contexte NT mais en ADFS … comment m’identifiez Triste ?

     Sourire tout est prévu !!! Merci Office 365 de nous fournir une documentation si riche d’ailleurs (eh oui O365 utilise ADFS donc les samples sont aussi bons pour votre réseau)

    Soit le ClaimClientContext.GetAuthenticatedContext qui simplement vous promptera pour vous identifier avant de continuer

    string targetSite = "https://sharepointOnlineURLRoot/sites/siteName";
    using (ClientContext ctx = ClaimClientContext.GetAuthenticatedContext(targetSite))
    {
       if (ctx != null)
      {
         ctx.Load(ctx.Web); // Query for Web
         ctx.ExecuteQuery(); // Execute
         Console.WriteLine(ctx.Web.Title);
       }  
    }

    Ci joins, le sample officiel de la galerie de Code MSDN : http://code.msdn.microsoft.com/Remote-Authentication-in-b7b6f43c

    Conclusion

    Il y a toujours une solution et elle ne passe pas forcement par du code sur le serveur SharePoint ! Et vive la richesse des clients SharePoint d’ailleurs

    Bonne SPjournée à tous et spécialement à Laurent et Arnaud Clignement d'œil

    Renaud Comte aka TheMit (SPCLOM, ca c’est de l’acronyme non ?)
    Member of WygTeam
    http://www.wygwam.com

    101 Samples pour SharePoint 2010 (SPF/SPS et Online s’il vous plait)

    J’ai toujours insisté sur la qualité grandissante du MSDN.

    Avec le temps, je trouve plus souvent de vrais pépites d’information dedans que dans la blogosphére (ce qui semble logique après tout)

    Voici la dernière

    SharePoint 2010 101 Code Samples

    Each code sample is part of the SharePoint 2010 101 code samples project. These samples are provided so that you can incorporate them directly in your code. Each code sample consists of a standalone project created in Microsoft Visual Studio 2010

    http://code.msdn.microsoft.com/SharePoint-2010-101-Code-da251182/view/SamplePack/11?sortBy=Popularity

    Et en VB et C#, pas de jaloux

    On trouve dedans un véritable panorama du développement SP2010 qu’il s’agisse de webpart, silverlight, azure, online et excel service et j’en passe

    bref, à posséder au cas ou Sourire

    Voici un petite liste exhaustive si vous êtes curieux

    • SharePoint 2010 Leveraging HTML5 Objects in SharePoint
    • SharePoint 2010 Developing JQuery-Enabled Web Parts
    • SharePoint 2010 Creating Document Sets Programmatically
    • SharePoint 2010 Developing List Definitions
    • SharePoint 2010 Hosting Silverlight Applications that Call Azure Services
    • SharePoint 2010 Developing AJAX-Enabled Web Parts
    • SharePoint 2010 Developing Styled Master Pages
    • SharePoint 2010 Programmatically Finding Tagged Items
    • SharePoint 2010 Creating Content Types Programmatically
    • SharePoint 2010 Using JavaScript to Enable Notifications
    • SharePoint 2010 Performing Cross-List Queries
    • SharePoint 2010 Using JavaScript and CAML to Query Lists
    • SharePoint 2010 Developing Delegate Controls
    • SharePoint 2010 Developing Connected Silverlight Web Parts
    • SharePoint 2010 Developing Starter Master Pages
    • SharePoint 2010 Developing Application Pages
    • SharePoint 2010 Developing Custom Navigation Providers
    • SharePoint 2010 Working with Disposable Objects
    • SharePoint 2010 Using JavaScript to Show Dialog Boxes
    • SharePoint 2010 Calling RESTful SharePoint Services From Desktop Applications
    • SharePoint 2010 Using REST to Obtain Excel Charts
    • SharePoint 2010 Developing Connected Web Parts
    • SharePoint 2010 Creating List Items from Silverlight
    • SharePoint 2010 Retrieving Single List Items in REST Requests
    • SharePoint 2010 Using REST to Discover the Contents of Excel Worksheets
    • SharePoint 2010 Logging Site Events Programmatically
    • SharePoint 2010 Programmatically Reading User Profile Properties
    • SharePoint 2010 Displaying User Profile Pictures Programmatically
    • SharePoint 2010 Creating Taxonomies Programmatically
    • SharePoint 2010 Using JavaScript to Edit and Save Values in Items
    • SharePoint 2010 Managing Document Sets Programmatically
    • SharePoint 2010 Developing Web Templates
    • SharePoint Online Authenticating Using the Client-Side Object Model
    • SharePoint 2010 Using JavaScript to Create Lists
    • SharePoint 2010 Developing Workflow Activities
    • SharePoint 2010 Creating Custom Timer Jobs
    • SharePoint Online Accessing Web Services
    • SharePoint 2010 Displaying Video Files Stored in Azure
    • SharePoint 2010 Performing Cached Cross-Site Queries
    • SharePoint 2010 Declaring Records Programmatically
    • SharePoint 2010 Developing Custom Expiration Actions
    • SharePoint 2010 Accessing SharePoint Lists from External WCF Services
    • SharePoint 2010 Developing Custom Expiration Formulae
    • SharePoint 2010 Developing Event Receivers
    • SharePoint 2010 Performing Searches from Silverlight
    • SharePoint 2010 Using JQuery to Retrieve List Contents in JSON
    • SharePoint 2010 Using REST to Query Data Ranges in Excel Worksheets
    • SharePoint 2010 Developing Feature Receivers
    • SharePoint 2010 Canceling Synchronous Events
    • SharePoint 2010 Creating Custom SharePoint Service Applications
    • SharePoint 2010 Developing Custom Field Controls
    • SharePoint 2010 Developing Sequential Workflows
    • SharePoint 2010 Creating Custom Field Types
    • SharePoint 2010 Using JavaScript to Get Details About Sites
    • SharePoint 2010 Calling WCF Services from Timer Jobs
    • SharePoint 2010 Developing State Machine Workflows
    • SharePoint 2010 Logging Data to the Developer Dashboard
    • SharePoint Online Deploying Sandboxed Content Types and List Definitions
    • SharePoint Online Creating and Deploying Sandboxed Web Parts
    • SharePoint 2010 Using JavaScript to Retrieve and Interrogate Items in Lists
    • SharePoint 2010 Using JavaScript to Get Details About Site Collections
    • SharePoint 2010 Developing Page Layouts
    • SharePoint Online Accessing Current User Information in Sandboxed Solutions
    • SharePoint 2010 Calling WCF Services from Web Parts
    • SharePoint 2010 Retrieving List Contents and Parsing Atom Responses
    • SharePoint 2010 Developing Editor Web Parts
    • SharePoint 2010 Developing Branded Media Controls
    • SharePoint 2010 Using JavaScript to Delete Items from Lists
    • SharePoint 2010 Using LINQ in REST Requests
    • SharePoint 2010 Uploading SharePoint Library Content to Azure Storage
    • SharePoint 2010 Using JavaScript to Update Site Properties
    • SharePoint 2010 Calling WCF Services Hosted in SharePoint
    • SharePoint 2010 Creating Items in Lists from External WCF Services
    • SharePoint Online Creating Excel Worksheets by Using Excel Web App
    • SharePoint 2010 Developing Sandboxed Web Parts
    • SharePoint 2010 Creating Content Organizer Rules Programmatically
    • SharePoint 2010 Using REST to Create a SharePoint and Bing Maps Mashup
    • SharePoint 2010 Developing Site Definitions
    • SharePoint 2010 Developing Ribbon Drop Down Controls
    • SharePoint 2010 Calling WCF Services from Event Receivers
    • SharePoint 2010 Accessing List Items from Silverlight
    • SharePoint Online Creating and Deploying Sandboxed Event Receivers
    • SharePoint 2010 Performing Searches from Web Parts
    • SharePoint 2010 Deleting Items in Lists from External WCF Services
    • SharePoint 2010 Developing Solution Validators
    • SharePoint 2010 Updating SQL Azure Records from Web Parts
    • SharePoint 2010 Calling Azure Services from Timer Jobs
    • SharePoint 2010 Importing Content by Using the Content Deployment API
    • SharePoint 2010 Calling WCF Services from Custom Workflow Activities
    • SharePoint Online Creating and Deploying Sandboxed Workflow Activities
    • SharePoint Online Creating Documents Using Word, PowerPoint, or OneNote Web App
    • SharePoint 2010 Calling Azure Services from Web Parts
    • SharePoint 2010 Creating SQL Azure Records from Web Parts
    • SharePoint Online Creating and Deploying Sandboxed Feature Receivers
    • SharePoint 2010 Developing Ribbon Actions
    • SharePoint 2010 Querying SQL Azure Data from Web Parts
    • SharePoint 2010 Retrieving List Contents in JSON Format and Parsing Responses
    • SharePoint 2010 Exporting Content by Using the Content Deployment API
    • SharePoint 2010 Calling Azure Services from Custom Workflow Activities
    • SharePoint 2010 Deleting SQL Azure Records from Web Parts
    • SharePoint 2010 Calling Azure Services from Event Receivers

    Bon download

    Renaud Comte aka TheMit (miam encore du sample à tester modifier, bonifier)
    Member of WygTeam
    http://www.wygwam.com
    Rappel sur les licences SharePoint 2010 (on premise) : interne / externe

    Bien que SharePoint 2010 fasse partie intégrante de bien de nos projets, il y a toujours des zones d’ombre qu’il est bon de savoir éclairer … comme le sujet des licences.

    image image 

    Ce post n’a pas pour but de détailler le système de licence de SharePoint 2010 (qui est devenue plus clair je trouve) mais de mettre en avant certains détails qui peuvent surprendre ou restent encore un peu floues …

    Les bases

    Je ne saurais trop vous conseiller de prendre le temps de lire les sites Microsoft dédiés au sujet du Licensing SharePoint

    Tout y est expliqué ainsi que la matrice de fonctionnalité entre SharePoint Foundation / Standard et Entreprise : http://sharepoint.microsoft.com/en-us/buy/Pages/Editions-Comparison.aspx

    Rappel sur les fonctionnalités & les licences

    • SPF : offre gratuite sur Windows qui remplace WSS
       
    • SP Standard :
      • Collaboration,
      • Enterprise Search,
      • Document & Content Management,
      • Social Computing (Wikis, My Sites)
      • Digital Asset Management 
      • Records Management.
         
    • SP Enterprise :
      • Excel Services
      • Performance Point Services
      • Advanced Charting
      • Visio Services
      • Access Services
      • InfoPath Form Services
      • Client line of business integration and web parts
      • Custom Reports

    Sinon, voici un slide de résumé pour les plus “nouveaux” sur le sujet des licenses

    image

    La problématique Interne / Externe

    C’est un grand classique du monde SharePoint : Comment gérer des utilisateurs externes ?

    Il y a plusieurs lectures possibles

    Lecture simple

    Tout dépend de votre payroll : un utilisateur interne est un collaborateur engagé, payé donc salarié de votre entreprise. Un utilisateur externe ne fait pas partie de votre entreprise

    Donc, en interne, vous devez avoir les licences Serveur (entreprise ou standard) avec les CALs correspondantes.

    Attention, les CALs sont cumulatives, ce qui signifie que vous sur un serveur SP Enterprise avec un site possédant de l’infopath service par exemple, vos utilisateurs doivent posséder la CAL Standard + la CAL Entreprise. Eh oui, cependant, si votre serveur SP Enterprise héberge aussi des sites de publishing (Standard), seul la CAL Standard est nécessaire.
    ==> à vous de bien identifier et comptabiliser vos besoins et vos utilisateurs

    Par contre pour les externes, vous devez avoir les licences SharePoint for Internet Site (entreprise ou standard)

    Lecture en détail

    Il y a quelques cas prévu entre le tout interne et tout externe : la notion de partenaires Sourire

    Un partenaire étant quelqu'un qui bien qu’externe à votre société intervient régulièrement auprès de celle ci et travaille ainsi sur vos données avec votre accord : il n’est pas salarié de votre entreprise, j’insiste

    Dans des scénarios mêlant interne et externe, vous pouvez éviter d’acquérir la licence “SharePoint for Interne Site” et conserver votre licence Serveur + CAL uniquement si

    • il s’agit d’utilisateur individuels (et nommés)
      • pas de personnes morales ou sociétés
      • pas de compte générique
    • vous pouvez les comptabilisé réellement
    • vous achetez le nombre de CAL correspondant à vos externes

    Soit en pratique : vous devez définir le nombre de contact identifiable de chacun de vos clients et partenaires qui devront se connecter et vous pouvez les ajouter à votre gestionnaire d’identité reliée à SharePoint. Comme s’il s’agissait d’autre utilisateur interne quelque part.

    Vous ne pouvez pas utiliser de comptes passe partout comme “partner A/B/C” “compta client 1”, il s’agit de compte nommé et individuel pas partagé : de vrais utilisateurs

    Bien sur, en cas de changement/démission/retraite ou autre d’un de vos externes, il suffit de remplacer le compte pas de soucis.

    L’économie est intéressante mais nécessite de faire attention : si vous avez 5 contacts dans 200 entreprises partenaires, vous devez acquérir 1000 CAL supplémentaires donc il s’agit de bien faire attention au solde.

    Idem en ce qui concerne la licence “SharePoint for Internet Site” :

    • si les données du sites sont aussi bien accessibles à des externes qu’à vos internes, vous n’avez pas besoin de CAL pour les internes. Cependant, si une partie de l’extranet est clairement réservée et limitée à vos internes pour diverses raisons, vous devez acquérir les CALs pour eux.  
    • Pas besoin de CAL pour un interne s’il doit créer ou publier du contenu dans le site externe

    (Comme dirait un ami qui se reconnaitra, rien ne précise encore si l’utilisateur interne doit être devant ou derrière le firewall Sourire, faisons comme si de rien …)

    La problématique SQL

    Bien, il ne faut pas l’oublier !!! SP est indissociable de SQL mais ses licences ne les couvrent pas pour autant !!!

    A vous de bien faire le calcul entre :

    1. La licence serveur simple associée au volume de CAL adapté au nombre de comptes identifiés
    2. La licence serveur par processeur physique (un serveur QuadriCoeur est considéré comme un seul processeur)

    Le second choix devient plus avantageux dès qu'on dépasse quelques dizaines de CAL. De plus, ce calcul par processeur permet de pouvoir rapidement mutualiser le moteur SQL Server avec d'autres applications.

    (source : Fabrice Romelard)

    Et encore, je ne vous parle pas de la problématique de SQL Server Denali qui arrive à grand pas

    • changement du plan de license par socket : par coeur désormais
    • le plan illimité en virtuel
    • la license BI

    Ces lectures sauront vous guider :

    (source : Christian Robert)

    J’insiste pour SQL Denali car certaines nouvelles fonctionnalités sont réellement intéressante dans une infra SharePoint dense
    http://www.slideshare.net/Patricg/sql-server-et-sharepoint-le-couple-de-lanne-2012-10601095

    • Groupe de disponibilité Always On
    • De lourdes nouveautés BI
    • Reporting Services devient un service partagé

    La problématique Windows

    Petit détail comme d’habitude, mais si vos serveurs WEB SharePoint ou SQL gèrent un site SP sur internet, vous devez avoir les connecteurs Windows externes pour tous. En plus bien sur, des licences serveurs Windows.

    Même problématique pour AD si vous l’utilisez pour gérer les comptes externes de vos partenaires  sur internet. Ce qui explique que l’on conseille souvent d’utiliser un annuaire tiers pour vos externes comme AD LDS ou autre (il y a d’autre raison plus “sécurité” évidemment mais il y a aussi une raison économique, il ne faut pas le cacher)

    FAST, Office Web Apps, les Webparts, …

    C’est un sujet un peu différent dans le sens que ce sont des licences séparés de SharePoint, comme SQL si vous préférez

    • pour FAST, il vous faut cependant les CALS et le serveur SP Enterprise et/ou SP for Internet Sites Enterprise
      • Idem pour Project (avec les CAL Project)
      • Idem pour PowerPivot qui demande aussi SQL Enterprise Edition
         
    • les Office Web Apps dépendent d’un serveur SPF minimum et leurs licences utilisateurs correspondent à celle de leur Microsoft Office 2010 Volume License
       
    • SharePoint Workspace et Visio demande Office 2010 PRO +

    N’oubliez pas aussi que certaines WP bien connus ne font pas partie de la licence Standard ou SPF comme la Chart WebPart ou la CQWP !!! Donc attention à vos maquettes et vos estimations selon les plans de licence retenus par la DSI

    La pre prod, staging, … ?

    Faisons complet voulez vous Sourire

    Attention, les licences MSDN ne couvent que le DEV / Test pas les serveurs utilisés pour monter une preprod ou un serveur de staging pour le site web. Ces serveurs respectent le même plan de licences que ceux de la production avec la même notion d’interne et externe.

    Certes, on peut jouer sur les mots entre test et pre-prod mais je ne saurais vous encourager de ne pas trop fleureter avec la limite. Un serveur de test avec 10 millions d’entrée, des accès récurrents et qu’on ne peut pas arrêter sans raison ressemble pas vraiment à un simple serveur de test utilisateur … Quoi que…

    En conclusion

    Le sujet n’est pas si facile mais pas pour autant étrange ou complexe, il faut juste bien calculer

    • vos vrais besoins (choix Standard ou Enterprise)
    • vos contacts externes
    • vos niveaux de services (soit le nombre de serveur SP et SQL)

    Et simuler le tout selon vos plans de licence négociés avec Microsoft ou votre revendeur, il arrive encore d’avoir de belle surprise aussi bien positive que négative

    Ce petit simulateur peut vous aider : http://community.bamboosolutions.com/blogs/sharepoint-2010-price-calculator/default.aspx

    Annexes  :

    A bientôt et bonne estimation

    Renaud Comte aka TheMit (je devais me trouver un plan de licence original : au mot ou au poid)
    Member of WygTeam
    http://www.wygwam.com

    Meilleurs Vœux et Plus pour 2012

    Ne sacrifions rien sur l’autel du changement : Bonne année 2012 et tous mes vœux de bonheur et de réussite que ce soit professionnel ou personnel à tous mes chers lecteurs !

    2011 fut une belle année (comme toutes les autres, il faut savoir rester positif)

    • Mon petit garçon grandit ! Un an déjà
    • SharePoint 2010 commence à dépasser MOSS dans bien des esprits
    • Les projets complexes et/ou critiques sous SP deviennent de plus en plus courants
    • Wygwam, son bureau suisse se développent bien et s’ouvre sur le Canada
    • Je me suis fiancé Sourire

    Donc il faut attendre 2012 pour voir de nouvelles choses

    • les prémices d’un beta/alpha de SP2010
    • l’organisation du mariage
    • les interactions BI/SP avec SQL 2012
    • une prochaine SP conférence plus beta ?
    • plein de belles autres innovations (mais que dirait Nestor Clignement d'œil )

    Et pour ceux qui n’avait pas vu le “private joke” dans le titre du post, je suis (encore) renouvelé MVP SharePoint pour 2012… Dire que ça a commencé en 2004 … ah la la que le temps et les versions passent

    A très bientôt sur le SPNuage

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

    PS : oui, je sais, il y a eu aussi la crise, les chutes de dictateurs, le japon et le nucléaire, … et Mango pour windows phone Sourire



    Les 10 derniers blogs postés

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

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

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

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

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

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

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

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

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

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