18 mai 2014

INFOPATH : Saisir plusieurs éléments de listes

Aujourd'hui un article sur une fonctionnalité souvent méconnue de SharePoint.
Lors de l'utilisation de listes SharePoint, il est possible de réaliser un formulaire permettant de saisir plusieurs éléments en une seule fois. Cela peut être réalisé simplement via InfoPath.
En revanche, il n'est pas possible d'utiliser cette fonctionnalité en cliquant sur "Modifier le formulaire" depuis une liste SharePoint. Pour se faire, il faudra créer le formulaire directement depuis InfoPath en sélectionnant le modèle "Liste SharePoint":
 
 
 
Ensuite, lors de la création de la connexion à la liste, il faudra sélectionner "Gérer plusieurs éléments de liste avec ce formulaire":
 
 

Ainsi, vous pourrez vérifier que les éléments sont incorporés dans une section extensible:


Il sera ainsi possible de saisir plusieurs éléments en une seule fois.

 

17 mai 2014

SHAREPOINT 2013 : Workflow dans sous-site

Lors de l'utilisation de SharePoint 2013 et des workflow, vous pouvez être amené à rencontrer quelques difficultés : pour certains sites, les Workflow SharePoint de type 2013 ne sont pas disponibles sur les sous-sites (O365 et On-Premise).
 
Cela provient de la fonctionnalité "WorkflowServiceStore" qui est masquée et non activée.
Pour l'activer sur un serveur on premise, une simple commande PowerShell suffira:
Enable-SPFeature -Identity WorkflowServiceStore –Url $yourUrl

Pour l'activer sur un O365, on peut choisir plusieurs méthodes. Afin de changer un peu, aujourd'hui on va utiliser de l'ECMAScript.
Pour se faire, créer une page sur votre sous-site. Ensuite, sélectionner « Insérer » puis « Code incorporé ». Ensuite copier le texte suivant dans une balise script de type "text/ecmascript":
clientContext = SP.ClientContext.get_current();
currentweb = clientContext.get_web();
//Guid du feature WorkflowServiceStore 
guid = new SP.Guid("{2c63df2b-ceab-42c6-aeff-b3968162d4b1}");  
featDef = currentweb.get_features().add(guid, false, SP.FeatureDefinitionScope.none);
// Résultat de l'exécution
clientContext.executeQueryAsync(Function.createDelegate(this, this.OnSuccess), Function.createDelegate(this, this.OnFail));
function OnSuccess(sender, args) {  alert("La fonctionnalité WorkflowServiceStore est activée!");  }
function OnFail(sender, args) {  alert("Erreur: " + args.get_message() + "\n" + args.get_stackTrace());  }
 
Si vous utilisez des définitions de sites personnalisées, le plus simple reste d'activer les fonctionnalités "Workflow task et workflow service store dans la déclaration de votre fichier "ONET". 

5 mai 2014

SHAREPOINT 2013 : Limitation texte multiligne

Nativement, SharePoint limite la saisie des champs "Plusieurs lignes de texte" à 255 caractères. Cela peut parfois faire grincer des dents vos utilisateurs lorsqu'un tel champ est utilisé pour saisir des textes assez long (articles, descriptions,...).
 
Pour outrepasser cette limitation, il suffit de changer le paramètre de la colonne de site (via "Paramètres du site" puis "Colonnes de sites"). Sur la colonne concernée, il faudra modifier le paramètre "Autoriser une longueur illimitées dans les bibliothèques de documents":
 
 
 
Lors de la sélection de la valeur "Oui", une pop-up apparaît pour nous alerter sur les conséquence de la modification.
 
Pour information : Cette technique fonctionne aussi pour SharePoint 2010.