15 novembre 2010

SHAREPOINT 2010 : Comparaison fonctionnalités

Un outil fort sympathique est disponible sur le site du MSDN. Il permet de comparer les fonctionnalités offertes par SharePoint 2010 selon la version utilisée (SharePoint Foundation, SharePoint Services Standard, SharePoint Services Entreprise) : Comparateur de version

Cet outil est fort utile car nous sommes souvent amenés à nous questionner sur le niveau de licence obligatoire pour pouvoir utiliser une certaine fonctionnalité.
De plus le système de classement permet de trier selon la catégorie de feature souhaitée (Site, Communauté, Recherche, Composants,...).
Un bon outil graphique à garder sous les yeux.

13 novembre 2010

INFOPATH 2010 : Utiliser TFS

Il y a quelques temps, j'avais rédigé un post basé sur ma surprise concernant la suppression du template Visual Studio Office (VSTO) au nivrau des modèles de formulaires InfoPath.
Le template Visual Studio qui existait auparavant était très fonctionnel pour les raisons suivantes:
  • Modifications unitaires de fichiers du XSN (qui n'est autre qu'un fichier archive comprenant divers éléments : fichier manifest, vues, fichiers connexions de données), 
  • Archivage de la solution dans TFS (Team Foundation Server) simple et éfficace notamment grâce à l'intégration dans VS,
  • Intégration complète du formulaire dans Visual Studio (code et design du formulaire situés au même endroit).
Malheureusement dans la version 2010, le template InfoPath pour Visual Studio a été supprimé (sauvagement)... Il est à présent obligatoire de passer par VSTA si l'on souhaite utiliser du code managé.

Cela va s'en dire que cela change considérablement la méthode de travail qui était beaucoup plus permissive auparavant.
En cherchant quelques sources sur le web, je suis tombé sur le post suivant:

Ce tutoriel, très bien réalisé, indique les démarches à mettre en oeuvre afin de pouvoir utiliser un contrôleur de code de source sur un template InfoPath et par la même occasion de travailler sur chaque fichiers du formulaire InfoPath.
Ce qui peut-être très utiles pour certaines sociétés de développement...

8 novembre 2010

INFOPATH : ADOQueryConnection

Lors de l'utilisation d'InfoPath Form Services, vous pouvez être amené à vouloir soumettre des données dans une base SQL SERVER.
Malheureusement cela n'est pas possible nativement.
Pour cela, il est possible d'utiliser 2 méthodes pour l'insertion en BD:
  • Via un workflow SharePoint (utilisation de Worflow Foundation par exemple),
  • Dans le formulaire Form Services à l'aide de code personnalisé (C# ou VB.Net).
Si vous souhaitez réaliser ceci dans le code du formulaire, il est possible de se servir d'un fichier de connexion de données (UDCX).
Malheureusement les paramètres de la connexion de données ne sont pas tous supportés par une connexion SQL classique.
Par exemple le paramètre "Provider" précisé dans le fichier UDCX n'est pas toléré lors de la création du SQLConnection.
Il faut donc décomposer la chaine de connexion du fichier UDCX pour se récréer une chaine de connexion valide:

AdoQueryConnection ConnexionsSQL = (AdoQueryConnection)DataConnections["NomDataConnexionBD"];
string strConnexionString = GetConnectionString(ConnexionsSQL);
using (SqlConnection connexion = new SqlConnection(strConnexionString)
{
     ...
}

La fonction "GetConnectionString" est définie de la façon suivante:

private string GetConnectionString(AdoQueryConnection queryConnection)
{
    try
    {
            var password = GetConnectionStringParameter(queryConnection, "Password");
            var user = GetConnectionStringParameter(queryConnection, "User ID");
            var server = GetConnectionStringParameter(queryConnection, "Data Source");
            var db = GetConnectionStringParameter(queryConnection, "Initial Catalog");             
            return string.Format("Server={0};Database={1};User ID={2};Password={3};Trusted_Connection=True;", server, db, user, password);
    }
    catch (Exception ex)
    {
            throw new Exception("Erreur lors de la récupération de la chaine de connexion", ex);
    }
}

7 novembre 2010

INFOPATH : Connexion compte SQL

Lors de l'utilisation d'une connexion de données à une base de données SQL, vous devez utiliser un des modes d'authentification suivant:
  • Authentification intégrée (compte de domaine),
  • Un compte SQL SERVER en précisant un login sql et un mot de passe (tel le compte 'sa').
Si vous choisissez la deuxième option dans un formulaire InfoPath Form Services, vous obtiendrez le message d'erreur suivant lors de l'utilisation du formulaire:
"System.Net.WebException: Les paramètres de configuration actuels n'autorisent pas l'incorporation du nom d'utilisateur et du mot de passe dans la chaîne de connexion de base de données."

Il s'agit d'un problème de sécurité qui peut se contourner en allant modifier les paramètres de la configuration d'InfoPath Form Services (disponible via l'administration centrale de SharePoint).

Une fois positionné dans le panneau de la configuration, il faudra sélectionner "Autoriser l'authentification SQLincorporée" et cocher "Oui".
Ainsi votre formulaire fonctionnera à merveille avec une connexion à une base de données via un compte SQL SERVER.


21 octobre 2010

SHAREPOINT : Migrer sous site en collection de sites

Nouveau post au sujet d'une demande formulée par un client récemment : "Comment migrer un sous-site SharePoint en une collection de sites?".

A première vue, chose compliquée, mais en ayant la bonne méthode, cela se fait sans soucis majeurs.
La méthode à employer est la suivante:


1. Exportation du contenu du site à l'aide d'une commande SharePoint dans un cmd:
stsadm.exe -o export -url "http://serveur/collectiondesite/soussite" -filename "c:\temp\Migration_SousSite_Date.bak" -includeusersecurity

2. Création dans l'administration centrale SP de la nouvelle collection de site qui va accueillir le site à migrer (avec le bon modèle de site obligatoirement).

3. Exportation du contenu du site à l'aide d'une commande SharePoint dans un cmd:
2. Création dans l'administration centrale SP de la nouvelle collection de site qui va accueillir le site à migrer (avec le bon modèle de site obligatoirement).
stsadm.exe -o import -url "http://serveur/NouvelleCollectionSite" -filename "c:\temp\Migration_SousSite_Date.bak" -includeusersecurity

La méthode est simple, encore faut-il y penser!

Les opérations d'importation et d'exportation sont tracées dans un fichier de log (placé à l'endroit où est déposé le backup du sous-site).
Il est nécessaire de les consulter afin de vérifier que toute la migration a été réalisée sans soucis.