Application console sharepoint et membership provider (FBA)

Après mise à jour de leurs propriétés perso les SPuser de mes utilisateurs FBA  perdent leur courriel.

perte courriel
Afin de corriger ce problème j’ai décidé de créer une application console qui récupère le courriel du MembershipUser de l’utilisateur pour le réaffecter à son SPUser.

Après avoir créer mon projet console Visual Studio (x64) un problème se pose, je n’arrive pas à initialiser mon membership provider qui reste désespérément null, impossible donc de récupérer l’email perdu.

Après recherche sur le web une première solution ressort, lorsqu’un code fonctionnant en mode web ne fonctionne pas en mode console le problème vient généralement de la perte des informations du Context. L’ajout du code snippet suivant en début de code permet de résoudre ce problème

Dans mon cas le problème persiste après l’ajout de ce code. Il me faut donc continuer de chercher.

En fait le problème est assez simple (après coup). L’initialisation de mon membership provider nécessite des informations se trouvant dans le web.config de mon site. Mon application console n’y a pas accès, il me faut donc lui donner ces informations.

Pour ce faire je vais modifier le fichier app.config de mon application console. J’y ajoute les informations nécessaires à l’utilisation de mon membership provider en mode console.

Et voilà, tout mon code fonctionne maintenant.

A noter les deux paramètres de l’application console :

  • URL_SITE : L’url du SPsite
  • FBAPROVIDER : Nom du provider personnalisé au cas où le code ne puisse le récupérer automatiquement.

Le code complet de mon application console sharepoint 2010 avec accès au membership provider.

 

 

 

 

 

 

Propriétés utilisateur sharepoint 2010 et google analytics

Mon but, utiliser des dimensions personnalisées Google  liées à des propriétés utilisateurs sharepoint 2010 (SPS-JobTitle, ARF-Fonction,…), le tout avec le nouveau code Google Universal Analytics.

Pour ce faire j’ai modifié le composant SPGoogleAnalitics trouvé sur codeplex.

L’utilisation reste simple :

  • Je créée mon code de suivi google (UA-…) et défini mes dimension dans googleAnalytics,
  • j’installe mon webpart modifié
  • Je le configure avec mon code suivi, mon domaine et des paires (dimension google=Id de propriété sharepoint utilisateur) séparées par des point virgules

GoogleUniversalAnalytics1

Le résultat dans mes pages sharepoint sera :

Je pourrais utiliser ces données dans mes statistiques GoogleAnalytics!

Update d’une colonne via une table liée

Imaginons que je dispose d’une table [VOLETS] et d’une table [REF_COULEUR]

tables_volet_couleur

 

Le contenu de ma table [REF_Couleur] :

id Libelle_couleur
1 Bleu
2 Rouge
3 Vert

Le contenu de ma table [VOLETS] :

id Libelle Id_Couleur
15 Volet 1 1
17 Volet 3 3
18 Volet 2 2

Et voici ce que je veux obtenir en une requête de mise à jour (update) de ma table [VOLETS]:

id Libelle Id_Couleur
15 Volet Bleu 1
17 Volet Vert 3
18 Volet Rouge 2

Voici la requête :

 

SHP 2010 – Personnalisation de l’affichage avec paramètre du Webpart et querystring

J’aimerais personnaliser mon webpart de liste/Bibliothèque afin d’afficher des données provenant des paramètres du webpart et de l’url (querystring).

Affichage classique de ma bibliothèque :
PersoAffichage1png

J’aimerais afficher le titre et la description du composant dans une balise définition de liste, avec en plus une information provenant d’un querystring. Ma page se nomme « boite-a-outils.aspx »
Voici les données de mon Webpart  visibles dans « modifier les propriétés du composant »

PersoAffichage2png PersoAffichage3png

 

La méthode est simple.

Dans SharePoint designer 2010, accédez à la page contenant le Webpart à modifier.

PersoAffichage4png

 

Une fois la page ouverte dans le menu ruban, sélectionnez l’onglet [Conception] [Personnaliser XSLT] [Personnaliser l’affichage entier] afin de pouvoir modifier le XSLT d’affichage des données du composant.

PersoAffichage5png

Afin de pouvoir être utilisé dans le xslt de transformation il est nécessaire de déclarer les liaisons de paramètres (balise  <ParameterBindings> du composant)

PersoAffichage6png

Nous déclarons maintenant dans les XSLT les paramètres (xsl :param) utilisant les parameterbinding définis plus haut. Nous pouvons donc les utiliser

PersoAffichage7png

Voici le résultat :

PersoAffichage8png

SHP 2010 – Formulaire personnalisé et fichiers joints

Si l’on utilise SharePoint designer afin de créer un formulaire personnalisé d’affichage d’une liste, on se rends compte qu’il n’y à pas d’accès aux fichiers joints de l’item en cours.
Pour remédier à cela il suffit d’ajouter ce code dans le code de personnalisation :

Pour n’afficher le block  que s’il y a au moins un fichier  joint :
Le composant crée un tableau avec pour identifiant idAttachmentsTable, j’encapsule le tout dans un block ayant pour identifiant BlockFichiersJoints et je le cache si le tableau n’existe pas ou n’a pas de lignes.

 

Bienvenue sur mon blog

Si tout va bien vous trouverez ici des bouts de codes et idées.
En fait tout dépendra du temps que je veux bien accorder à ce blog, donc d’avance ce n’est pas gagné !

A bientôt j’espère

Top