Archives mensuelles : mars 2015

Cheat sheet pour les développeurs SharePoint

Introduction

Règle générale, je vous propose des billets sur des problèmes rencontrés lors de mes expériences avec SharePoint. Cette fois-ci, je vous propose quelque chose de différent avec une Cheat Sheet spécifique pour les développeurs SharePoint. Le concept de Cheat Sheet existe depuis longtemps et présente généralement de la façon la plus concise possible, les grandes lignes d’un logiciel ou d’un langage informatique.

Pourquoi une Cheat Sheet ?

Lorsqu’on forme des développeurs SharePoint, on a beau leurs donner plusieurs trucs, il y a tellement de chose à savoir que souvent ils ont de la difficulté à retrouver toute l’information qu’ils recherchent.

C’est alors qu’on se fait poser plusieurs questions du genre :

  • Quel est le Token pour avoir le URL de la collection de site dans un Custom Action?
  • Comment je peux éviter d’hardcoder le URL absolue de mon site SharePoint?
  • Comment je peux récupérer le GUID de ma liste?
  • Comment je peux supprimer une WebPart qui a brisé ma page?
  • Comment je peux afficher un formulaire dans une boite de dialogue?
  • etc…

Si vous vous posez souvent ce genre de question, je vous inviter a télécharger et imprimer ma cheat Sheet.

telecharger-bouton

Voici un bref aperçu :

cheetSheetPreviewEffect

N’hésiter pas à commenter si vous avez des suggestions!

Advertisements

Message d’erreur lors de la publication d’un flux de travail SharePoint 2010 contenant plus de 5 processus d’approbation

Introduction

Dernièrement, nous avons réalisé un flux de travail assez complexe en terme de logique pour un de nos client. Il contient 7 formulaires Infopath et il utilise plusieurs processus d’approbation. Le diagramme Visio entre difficilement dans dans une page 8½ x 11 !

Malheureusement, nous avons rencontré un problème majeur lors de la publication de ce flux de travail.

Voici le contexte de l’environnement :

  • Flux de travail de liste
  • Flux de travail SharePoint 2010
  • Créé à partir de SharePoint Designer 2013
  • Ferme SharePoint 2013

Lors de nos tentatives de publication on obtient toujours ce message d’erreur :

« Erreur lors de la compilation du flux de travail »

« Erreur inattendue sur le serveur associant le flux de travail »

wf

Investigations et problématique

On a alors investigué plusieurs pistes sans succès :

  • Augmenter les « timeout » dans les fichiers web.config et dans les pool applicatifs
  • Investiguer les fichiers de Logs ULS / Obsérvateur d’événements
  • Essayer sur d’autres postes
  • Vider la cache de SharePoint Designer 2013
  • Vider la cache du serveur
  • Redémarrer le serveur

Puis on est tombé sur cette article à propos du même message d’erreur lorsqu’on a plusieurs processus d’approbation. On a donc réalisé que notre flux de travail complexe contenait trop d’étape d’approbation (8) ! On en a alors enlevé (3) et suite à cela on a été en mesure de le publier sans problème.

Solutions possibles

  • Rendre le flux de travail moins complexe en retirant des processus d’approbation
  • Séparer le flux de travail en plusieurs flux de travail
  • Remplacer quelque processus d’approbation par des processus de tâche personnalisée qui sont moins complexe

Reproduire le problème

Pour reproduire le problème, suivre les étapes suivantes :

1. Créer un flux de travail de liste sur une liste de votre choix :

wf_step1

2. Donner un nom à votre flux et sélectionner « Flux de travail SharePoint 2010 » :

wf_step2

3. Ajouter 5 processus d’approbation avec le menu « Action -> Démarrer le processus d’approbation » :

wf_processus

4. Choisir au moins un utilisateur dans le champ « Utilisateur » :

wf_5processus

5. Publier le flux de travail

wf_step5

6. La publication se déroulera alors sans problème.

7. Ajouter un autre processus d’approbation :

wf_6processus

On obtient alors le message d’erreur.

Conclusion

Ce problème ne semble pas être documenté auprès de Microsoft et à mon avis, il s’agit d’une limitation au niveau de la complexité des flux de travail. Je vous suggère donc de faire plusieurs flux de travail simple au lieu d’un seul gros flux de travail complexe qui est susceptible de se déployer difficilement.