Visual Studio 2010

TechDays 2012 – Ask The Expert

Posted on

C’est avec une grande joie que je serai présent aux TechDays 2012 en tant qu’ATE (Ask-The-Expert) dans le pôle Efficacité Collective et Individuelle .

De plus je serai aussi sur le stand Communautaire ExiaMS (http://www.exiams.fr/).

@bientôt

Conférence Windows Phone 7

Posted on

Bonjour à tous,

Vous trouverez dans ce billet les slides propres à la conférence Windows Phone 7 organisée et animée par moi-même.

 

Windows phone 7

Et la vidéo :

[tube]http://www.youtube.com/watch?v=nCFP2SEXLwY[/tube]

Sharepoint 2010 – Debug Overview

Posted on

Dans ce billet j’ai eu envie de partager un aperçu de l’ensemble des outils qui existent sous Visual Studio 2010 et Sharepoint 2010.

Pour ce faire nous allons expliquer les différents outils disponible sur Sharepoint puis ceux sur Visual en tant qu’add-on qui nous permettra d’automatiser nos tâches.

 

Developer Dashboard

Réel tableau de bord destiné à récupérer des informations relatives à l’exécution des pages celui-ci s’active de plusieurs façon :

    • STSADM
      • Activation: stsadm -o setproperty -pn developer-dashboard –pv on
      • Désactivation: stsadm -o setproperty -pn developer-dashboard –pv off
      • A la demande: stsadm -o setproperty -pn developer-dashboard –pv ondemand
    • PowerShell

$srv = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$setting =$srv.DeveloperDashboardSettings
$setting.DisplayLevel = [Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::OnDemand
$setting.Update()

 

  • .Net Code

using Microsoft.SharePoint.Administration; SPDeveloperDashboardSettings mydashboard = SPWebService.ContentService.DeveloperDashboardSettings; mydashboard.DisplayLevel = SPDeveloperDashboardLevel.OnDemand; mydashboard.Update();

Depuis General Application Settings > Developer Settings 

Ainsi vous aurez des options disponibles :

    • Display mode (On, Off, On Demand)
    • Auto Launch du Developer Dashboard quand il y a détection d’évènement critique
    • Autoriser ASP.NET  à sortir le tracing des opérations
    • Configurer la quantité maximum des requêtes SQL tracées
    • Configurer la quantité maximum des évènement critiques tracées
    • Permissions sur  la vue du Developer Dashboard (Full, None or Custom)

 

  • Dashboard Visualizer  ( téléchargeable ici : Dashboard Visualizer)
    • Cet outil vous permettra d’avoir une visibilité graphique de vos activités

 

SPMonitoredScope

 

Cette classe permet aux développeurs de désigner ( d’encapsuler) des portions de leur code en vue de surveiller les statistiques d’utilisation dans les journaux du service ULS et dans le tableau de bord du développeur. Cependant il n’est pas disponible dans les solutions Sandboxed.

using (SPMonitoredScope scope = new SPMonitoredScope (“My Monitored Scope”))

{

// Code pour monitoring

}

Vous avez aussi la possibilité de créer plusieurs Scope dans un Scope principal.

using (new SPMonitoredScope(“My Monitored Scope”))

{

Controls.Add(new Literal { Text = “When the awesomeness is flying… ” });

using (new SPMonitoredScope(“My Sub-Monitored Scope”))

{

Controls.Add(new Literal { Text = “there’s no stopping it! ” });

using (new SPMonitoredScope(“My Sub-Sub-Monitored Scope”))

{

Controls.Add(new Literal { Text = “<br/>I’m three levels deep!” });

}

using (new SPMonitoredScope(“Another deep scope”))

{

Controls.Add(new Literal { Text = “Rock and rumble, rock and rumble” });

}

}

}

Cela aura pour effet d’être automatiquement repris pas le Developper Dashboard comme ci-dessous :

image

 

Web.Config

 

Le fichier Web.Config peut lui aussi s’avérer utile afin de d’avoir plus d’informations que ne donne Sharepoint. Cela permet en outre d’avoir une visibilité par exemple sur l’existence d’une page ou non et de savoir si nous nommes confrontés à une erreur 404 ou non.

  • Localisation des fichiers
    • Root Folder : Local_Drive:InetpubwwwrootwssVirtualDirectoriesxxx
    • Pour les Web Parts : Local_Drive:Program FilesCommon FilesMicrosoft SharedWeb Server Extensionswpresources
    • Servers Virtuels étendus : Local_Drive:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14CONFIG
    • Pour le /_vti_bin : Local_Drive:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14ISAPI
    • Pour le /_layouts : Local_Drive:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14TEMPLATELAYOUTS
    • Administration Centrale : Local_Drive:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14TEMPLATEADMINLocale_ID

 

  • Options à modifier
    • Callstack
      • <system.web><customErrors mode=”On” />  à changé pour  <system.web><customErrors mode=”Off” />
    • CustomError
      • <SharePoint><SafeMode … CallStack=”false” … >  à changé pour <SharePoint><SafeMode … CallStack=”true” … >
    • Debug
      • <compilation batch=”false” debug=”false“> à changé pour <compilation batch=”true” debug=”true“>
    • Asp.net tracing feature
      • <system.web> <trace enabled=”true” pageOutput=”true“/>

Vous avez aussi la possibilité de passer le code en utilisant la classe SPWebConfigModification.

 

Unified Logging Service

Service de journalisation unifiée , ce mécanisme permet d’écrire les évènements de SharePoint Foundation dans le journal de suivi de SharePoint et les stocke dans le système de fichiers.

Localisation des LOGS : C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14LOGS

Exécutable téléchargeable ici : ULSViewer

Ce logiciel vous permettra d’utiliser le correlation id des erreurs générés par Sharepoint et d’avoir une meilleure lisibilités des erreurs.

 

image

 

Sharepoint met aussi à disposition une configuration de ses logs dans Administration Central > Monitoring > Configure diagnostic logging

Notons également qu’il vous est possible d’écrire du code ULS custom en héritant de la classe SPDiagnosticsServiceBase

 

Processus liés

 

Manipulation qui va de pair avec Sharepoint quand nous déboguons, vous pouvez attacher les processus avec Visual studio de plusieurs façons :

  • Farms Solutions:
    • W3WP.exe (IIS worker processes )
    • OWSTimer.exe ( Office Web Server Timer) [ Timer job, email event receiver]
  • Sandboxed Solutions
    • SPUCWorkerProcess.exe
  • Client
    • Silverlight et Javascript sur iexplorer.exe
  • Les breakpoints

Il existe d’autres façons de régler des problèmes de débogage en utilisant l’outil DebugViewer.exe (http://technet.microsoft.com/fr-fr/sysinternals/bb896647%28en-us%29.aspx) qui vous permettra en cas d’un breakpoint non fonctionnel d’avoir une analyse plus fine de la situation.

Voici quelques liens relatif à son utilisation avec Sharepoint :

Enfin vous avez aussi la possibilité d’ajouter une extension  VSIX à Visual Studio 2010 qui vous permettra de bénéficier des attaches pour votre solution . Téléchargeable ici : http://spvsext.codeplex.com/

image

 

En conclusion nous pouvons dire que nous avons beaucoup d’outils et techniques permettant aux développeurs et aux administrateurs d’avoir de la visibilité dans la résolution de problèmes sous Sharepoint 2010.

SharePoint Online – Architecture de Déploiement

Posted on

Faisant suite à l’article SharePoint Online – Tour d’Horizon il serait important de notifier l’architecture de déploiement d’une solution online qui se veut simplement différente d’une version On-Premises.

 

Développer pour le Online

Lorsque nous développons une solution pour le online nous sommes assez limités en termes d’accès physiques, c’est pourquoi afin de publier un package .WSP, vous serez obligé de passer

par la galerie de solutions de Sharepoint. Ajoutons de ce fait que compte tenu des limitations vous n’aurez accès qu’a la partie “Collection de Sites”. Ce qui amène à deux type de développement :

  • Solution en Bac a sable
  • Solution Client Object Model

 

Voici dans ce schéma l’architecture des deux types de développements autorisés

 

image

 

Outre le fait que vous trouverez des limites natives aux solutions sandbox et à l’incapacité de déployer ses paquets sur des sites distants, dans une architecture online il vous sera demandé de créer en premier lieu votre solution packagée en local puis de la déployer depuis l’interface proposée. Vous ne pourrez déboguer votre solution en mode Online. Une fois soumis il vous sera demandée de l’activée en veillant à la portée de celle-ci ( Manage Features)

 

image

 

Il vous sera aussi demandé de vérifier les espaces de noms appelés dans vos solutions sandbox sinon votre solution ne sera prise en charge.

  • Microsoft.SqlServer
  • Microsoft.Win32
  • System.Data.Sql
  • System.Data.SqlClient
  • System.Data.SqlTypes
  • System.IO.Pipes
  • System.IO.Ports
  • System.Reflection (certains membres)
  • System.Runtime.InteropServices (certains membres)
  • System.Runtime.Remoting
  • System.Threading (certains membres)
  • System.Array.CreateInstance
  • System.Delegate
  • System.Type.GetType(System.String)
  • System.Type.InvokeMember
  • SharePoint Online – Tour d’horizon

    Posted on

    Dans ce billet nous voyons un petit tour d’horizon de Sharepoint Online. Dans un premier temps nous rappellerons les limites logicielles fixées, puis une partie dédiée à la comparaison des features entre la version On-Premises et Online, nous nous pencherons ensuite sur une liste des Services Web existant sur la plateforme Online et une partie sur les dernières upgrade du systèmes.

     

    Grilles tarifaires

    Voici deux grilles récapitulatives des limites relatives à Sharepoint Online.

    Cette première grille est adaptée au petites entreprises:

     

    Fonctionnalité
    Description
    Stockage (au total) Base de stockage de 10 gigaoctets (Go) plus 500 mégaoctets (Mo) par utilisateur (50 maximum), ce qui donne un total de 35 gigaoctets (Go)
    Nombre maximal d’utilisateurs licenciés par client 50
    Nombre de collections de sites par client Une collection de sites par client
    Total du stockage par client Jusqu’à 35 gigaoctets (Go) par client
    Limite de téléchargement de fichier 250 mégaoctets (Mo) par fichier

     

    Cette deuxième grille concerne les moyennes et grandes entreprises :

    Fonctionnalité
    Description
    Stockage (au total) Base de stockage de 10 gigaoctets (Go) plus 500 mégaoctets (Mo) par utilisateur de l’entreprise
    Stockage par travailleur Kiosk Zéro (0). Pas d’allocation de stockage supplémentaire pour les travailleurs Kiosk sous licence
    Nombre maximal d’utilisateurs sous licence 20 000 par client
    Espace de stockage supplémentaire (par Go par mois) ; aucun achat minimum requis 2,50 $ par Go par mois
    Quotas de stockage par collection de sites Jusqu’à 100 gigaoctets (Go) par collection de sites
    Allocation d’espace de stockage pour Mon site (ne compte pas dans l’espace de stockage total du client) 500 mégaoctets (Mo) de stockage personnel pour Mon site (une fois configuré)
    Nombre de collections de sites par client Jusqu’à 300 (collections de sites autres que Mon site)
    Total du stockage par client Jusqu’à 5 téraoctets (To) par client
    Limite de téléchargement de fichier 250 mégaoctets (Mo) par fichier

     

    Features Online et On-Premises


    Maintenant que nous sommes au fait des différences tarifaire du produit Online, penchons nous un peu plus sur les différences des “Features” entre la version On-Premises et Online :

     

    Features Online On-Premises
    Configuration du Navigateur Disponible Disponible
    Modification avec le Sharepoint Designer Création d’interfaces de données riches

    Configuration des processus métiers à travers les workflow

    Connexion au données interne et externe de Sharepoint

    Design et Branding (Options)

    Création d’interfaces de données riches

    Configuration des processus métiers à travers les workflow

    Connexion au données interne et externe de Sharepoint

    Design et Branding (Options)

    Business Connectivity Services

    Solutions Sharepoint Solutions bac à sable

    Solutions de Fermes

    Solutions bac à sable

    Client Object Models

    Silverlight

    .NET Framework

    JavaScript

    Silverlight

    .NET Framework

    JavaScript

    Web Part Silverlight Disponible Disponible
    Web Services

    Limitations des Web Services Sharepoint

    REST API

    Excel Services REST API

    Ensemble des Web Services Sharepoint

    REST API

    Excel Services REST API

    Formulaires InfoPath

    Formulaire de solutions bac à sable

    Formulaire de solutions bac à sable

    Formulaire Administratif

    Workflow

    Déclaratif

    Flux d’activités de solutions bac à sable

    Déclaratif

    Flux d’activités de solutions bac à sable

     

    Web Services disponibles

    Après avoir émis un point de comparaison sur plusieurs points essentiels de la plateforme Sharepoint 2010, il apparait évident qu’il est nécessaire de mettre en évidence les Web Services disponibles dans Sharepoint Online. Si vous souhaitez avoir des informations sur les Web Services autre que ceux onlines : http://msdn.microsoft.com/fr-fr/library/ee705814.aspx

     

    Service Web Path Description
    Alertes /_vti_bin/alerts.asmx Fournit des méthodes permettant d’utiliser des alertes pour des éléments de liste dans un site SharePoint Online.
    Copie /_vti_bin/Copy.asmx

    Fournit des méthodes pour :

    1. la copie d’éléments entre des emplacements dans l’environnement SharePoint ;
    2. l’ajout de fichiers à une liste de distribution ;
    3. la copie de fichiers depuis une liste de distribution vers une autre ;
    4. le téléchargement de fichiers à partir d’une liste de distribution.
    Espace de travail du document /_vti_bin/DWS.asmx Fournit des méthodes permettant de gérer les sites d’espace de travail du document et les données qu’ils contiennent.
    Remarque : La méthode FindDwsDoc du service Espace de travail du document n’est pas disponible dans SharePoint Online.
    Imagerie /_vti_bin/Imaging.asmx Fournit des méthodes qui vous permettent de créer et de gérer des bibliothèques d’image.
    Listes /_vti_bin/Lists.asmx Fournit des méthodes permettant d’utiliser les listes et les données de liste.
    Remarque : La méthode AddDiscussionBoardItem du service Web Listes n’est pas disponible dans SharePoint Online.
    Réunions /_vti_bin/Meetings.asmx Fournit des méthodes qui vous permettent de créer et de gérer des sites d’espace de travail de réunion.
    Personnes /_vti_bin/People.asmx Fournit des méthodes permettant d’utiliser les groupes de sécurité.
    Autorisations /_vti_bin/Permissions.asmx Fournit des méthodes permettant d’utiliser les autorisations associées à un site ou à une liste.
    Données du site /_vti_bin/SiteData.asmx Fournit des méthodes qui renvoient des métadonnées ou des données de liste à partir de sites ou de listes.
    Sites /_vti_bin/sites.asmx Fournit des méthodes qui permettent de retourner des informations sur les modèles de sites associés à une collection de sites.
    Recherche /_vti_bin/spsearch.asmx Fournit des méthodes qui permettent d’effectuer des recherches à distance au sein d’un déploiement SharePoint Online.
    Utilisateurs et groupes /_vti_bin/UserGroup.asmx Fournit des méthodes qui permettent de travailler avec les utilisateurs, les groupes de sites et les groupes intersites.
    Versions /_vti_bin/versions.asmx Fournit des méthodes permettant d’utiliser les versions de fichier.
    Affichages /_vti_bin/Views.asmx Fournit des méthodes permettant d’utiliser des affichages de listes.
    Pages de composants WebPart /_vti_bin/webpartpages.asmx

    Fournit des méthodes permettant d’utiliser les composants WebPart.
    Remarque : Les méthodes suivantes d’un service Web de pages de composants WebPart ne sont pas disponibles sur SharePoint Online :

    1. AssociateWorkflowMarkup
    2. ExecuteProxyUpdates
    3. GetAssemblyMetaData
    4. GetDataFromDataSourceControl
    5. GetFormCapabilityFromDataSourceControl
    6. RemoveWorkflowAssociation
    7. ValidateWorkflowMarkupAndCreateSupportObjects
    Sites Web /_vti_bin/Webs.asmx Fournit des méthodes permettant d’utiliser les sites et les sous-sites.
    Remarque : La méthode CustomizeCss du service Web Sites Web n’est pas disponible dans SharePoint Online.
    Service de publication /_vti_bin/PublishingService.asmx

    Fournit des méthodes permettant d’utiliser à distance le service de publication.
    Remarque : Les méthodes suivantes du service de publication ne sont pas disponibles sur SharePoint Online :

    1. ExportObjects
    2. GetObjectStatusCollection
    3. GetObjectStatusCollectionWithExclusions
    4. ImportObjects

     

    Online Upgrade

    Ces derniers jours un upgrade des fonctionnalités à été publié et sera implémenté dans la version Online :

     

    Feature Description
    Business Connectivity Services (BCS) <WCF Connector> Mise en place de connexion externes via les web services
    Partage Externe : Windows LiveID support Permet aux administrateurs d’Office 365 d’inviter des utilisateurs extérieurs. Authentification via le LiveID
    Windows Phone 7 "Mango" Support des WP7 pour l’accès à Sharepoint Online pour les Listes et des Bibliothèques de Documents
    Corbeille Capacité de restauration des collections de sites depuis la corbeille
    Navigateurs IE 9 et Chrome

    SlideShare Visual Studio 2010

    Posted on

    Slide sur Visual Studio 2010 :

    Visual Studio 2010

    ATE Microsoft TechDays 2011

    Posted on

    Salut à tous,

    J’ai été retenu par Microsoft pour être ATE ( Ask the Expert ) sur le stand Visual Studio 2010, pour les TechDays 2011.

    Rappel : un ATE est un expert reconnu sur un produit ou une techno, dans mon cas , VS 2010, reconnaissable avec un T-shirt spécifique.

    Si vous avez des questions n’hésitez pas! Vous savez où me trouver.

    A bientôt !