Rendre le ruban « Format text » disponible dans une page d’application SharePoint

En travaillant sur l’intranet d’un client dans SharePoint, j’ai eu besoin de permettre d’éditer du texte avec le ruban de SharePoint dans une page d’application. J’ai pensé que ça pourrait être utile à d’autres personnes alors j’ai décidé de partager la solution.

Premièrement, il est important de noter que le comportement désiré s’applique sur un div et non une boîte de texte. Donc, une fois la page d’application créée, il faut ajouter un div à l’endroit où on veut le champ pour éditer le texte. Ce div doit avoir les classes suivantes : « ms-rtestate-field ms-rtestate-write ms-inputuserfield ms-long ».  Il faut aussi lui assigner « this.contentEditable=’true’; » pour l’événement onclick.

Div éditable - html du div

Lors d’un postback, le div perd le texte saisi. Il faut donc implémenter une façon de conserver le contenu. Il faut donc ajouter un contrôle hidden dans la page et l’utiliser pour conserver le texte. J’ai donc ajouté les fonctions JavaScript suivantes :

Code js pour conserver le contenu du div au reload

La fonction « TransfererHtmlDansControleCache » est appelée par l’événement onclick du bouton « Enregistrer » dans ma page d’application. Dans mon cas, j’ai besoin de conserver le contenu dans le property bag afin que l’utilisateur puisse l’éditer à nouveau quand il retourne dans la page d’application et afin de pouvoir y accéder de partout.

Il est important aussi de rendre le ruban visible dans la page en ajoutant le code suivant dans la fonction « Page_Load » :

Code c# pour afficher le ruban

Et voilà, c’est maintenant prêt à être utilisé !

Div éditable - Pas le focus

Afin que l’utilisateur puisse rapidement repérer la zone d’édition, j’ai ajouté un contour au div. Comme vous pouvez le constater, le ruban n’est pas disponible au départ. Il faut cliquer dans le div pour que celui-ci apparaisse. L’onglet pour insérer certains contrôles est également disponible.

Div éditable - Onglet Format textDiv éditable - Onglet Insert

Le bouton « Aperçu » permet d’afficher le contenu qui a été enregistré dans le property bag. Comme vous pouvez le constater, les styles s’appliquent bien lorsque le texte est affiché dans une autre page.

Exemple du popup

Bon développement !

Référence

http://blog.bonzai-intranet.com/analysthq/2014/09/cross-browser-richtext-editor-solution-for-sharepoint/

Les paradoxes de la société du savoir

Il ne fait plus aucun doute maintenant que nous sommes entrés dans l’ère de la société du savoir. En l’espace d’à peine 20 ans, Internet a bouleversé de manière profonde l’humanité toute entière et nous commençons à peine à en comprendre les différents impacts.

À mon avis, il reste encore un pas important à accomplir dans cette nouvelle ère. En effet, si nous bénéficions à chaque jour des bienfaits de cet accès facile à l’information, nous avons encore beaucoup de difficulté à en reconnaître la vraie valeur.

Bien que nous soyons enclins à dépenser pour le matériel donnant accès à Internet (téléphone, tablette, connexion Internet, etc.), nous sommes encore très réticents à mettre le même montant sur le contenu que l’on consomme. Pourtant, à quoi servent ces appareils sans contenus

Internet, en démocratisant la diffusion de contenu, a offert au monde le moyen de partager son savoir sur une base volontaire. Cette notion de partage est au coeur de la révolution d’Internet, avec des initiatives comme Wikipédia, la culture du logiciel libre ou encore l’engouement pour les médias sociaux.

La valeur des contenus est incomprise

Cette culture a cependant créé des effets pervers. Tout d’abord, elle laisse croire que toutes les informations ont la même valeur.

Par exemple, n’importe quel blogueur peut colporter des rumeurs sans fondement, avec sensiblement la même crédibilité d’un journaliste établi qui prend un soin jaloux de valider ses sources.

Un autre exemple est la culture du piratage de contenu, que ce soit des photos, de la musique, des films ou des logiciels. On oublie que les créateurs de ces contenus ont mis du temps, des efforts pour produire ces contenus et qu’ils les partagent sur le Web pour se faire connaître, pas nécessairement pour donner le fruit de leurs créations.

Certains diront (surtout dans le cas de la musique ou des films) que les studios sont déjà assis sur des fortunes et qu’ils n’ont pas besoin de notre argent. C’est paradoxal d’affirmer cela tout en donnant des centaines de dollars à Apple, à Samsung et aux autres Bell de ce monde, non ?

Reconnaître la valeur des contenus que nous consommons.

Premièrement, pouvoir faire la différence entre un contenu donné et un contenu partagé. Par exemple, si je publie une vidéo qui explique comment faire la tarte au sucre de ma mère, vous êtes libre d’essayer la recette à la maison, je n’attends pas de royauté de votre part. Par contre, lorsque je publie une photo sur Flick’r ou 500px, je la partage. Vous pouvez admirer la photo, mais vous n’avez pas la permission de copier ma photo pour décorer votre salon ou votre présentation PowerPoint.

Pour faire face au piratage, le milieu de la musique est en train de passer du contenu partagé au contenu donné. Alors que dans les années 80 et 90, les artistes tiraient l’essentiel de leurs revenus sur la vente d’albums, les chansons servent maintenant à mousser les concerts, dont le prix des billets a explosé dans les dernières années.

La location par abonnement est également de plus en plus populaire, que ce soit NetFlix pour les films, Spotify pour la musique ou Adobe Creative Cloud et Office365 pour les logiciels. La facture, plus modeste, rend ces produits plus attirants pour plusieurs utilisateurs.

Deuxièmement, il faut trouver normal de payer pour un contenu de qualité. À mon avis, pour chaque dollar dépensé en équipement, nous devrions être prêts à payer deux dollars pour du contenu. Par contenu, j’inclus une licence pour un logiciel, l’achat ou l’abonnement à un service d’accès à de la musique, aux films, aux photos, aux livres et bien d’autres.

En encourageant les producteurs de contenus, on s’assure de créer un écosystème en santé en motivant les créateurs à poursuivre leur mission.

 

 

 

Les qualités d’un bon chargé de projets TI.

Récemment, j’avais une discussion sur les qualités que devait avoir un bon chargé de projet TI, ou de manière plus large, qu’est-ce qu’un bon leader? Nous avons parlé de l’importance d’avoir une vision et des objectifs clairs, d’inspirer les membres de l’équipe à atteindre ces objectifs et de trouver le juste équilibre dans l’autonomie à donner dans l’exécution des tâches.
J’ai continué ma réflexion après coup pour essayer de trouver une image forte qui résumait notre pensée. Cette réflexion m’a amené du côté des jeux vidéos. Qu’est-ce qu’un jeu vidéo au fond?

  • Un petit groupe de tâches à exécuter en vue d’un objectif précis.
  • Une gratification immédiate une fois l’objectif atteint, soit une valorisation accompagnée d’une amélioration des habiletés.
  • L’accumulation de ces objectifs doit mener à la réussite d’une mission plus globale.
  • Et surtout, la réalisation de tout cela doit se faire dans un esprit de compétition à caractère ludique.

Donc, à mon avis, le défi d’un chargé de projet se résume à convertir son projet, à un niveau conceptuel, à un jeu vidéo.

  1. Bien transmettre à l’équipe comment compléter le jeu.
  2. Découper son projet en « tableaux ».
  3. Trouver le bon niveau de difficulté pour chaque tableau afin que l’employé puisse se dépasser.
  4. Le gratifier à la fin de chaque étape réussie et lui montrer les compétences acquises par ce tableau.
  5. Amener l’équipe à s’unir lorsqu’un tableau est trop complexe à compléter seul.
  6. S’assurer de garder une atmosphère de franche camaraderie tout au long du projet.

Qu’en pensez-vous?

 

SP2016 , Référentiel Unique pour les documents

Il va s’en dire, SharePoint est une plateforme de gestion documentaire de référence dans le domaine de la documentation « Active ». Toutefois, depuis la version 2001 (Ça ne me rajeunit guère!), une grande lacune l’accablait ; le référentiel du document était son nom qui était contenu directement dans l’Hyperlien  plutôt qu’un GUID unique permettant d’identifier le document.

Voila chose possible !! Crions au Miracle !!🙂 Bien que par défaut, SharePoint demeure identique a ses versions antérieures, il est maintenant possible d’activer une fonctionnalité de collection de Site « Document Id Service » qui assignera un guid Unique pour chaque document.

FonctDocID.png

En effet, la faiblesse de voir le nom du document dans l’hyperlien générait une problématique importante pour toutes les références vers ce document lorsque celui-ci était soit déplacé ou simplement renommé … Les références devenaient toutes invalides ..

Exemple problématique :
https://urlDeVotreSite/documents/NomDuFichier.pptx   est renommé  https://urlDeVotreSite/documents/NomDuFichier12345.pptx  –> Les liens vers le documents sont tous brisés

Grâce à l’activation de cette fonctionnalité, le document précédent est référencé de la façon suivante :

https://urlDeVotreSite/_layouts/15/docIdRedir?ID=GUIDDUDOCUMENT

Le fait de renommer le fichier ou de le déplacer à l’intérieur de la collection de sites n’aura aucune incidence quand à ses référencement.

Bravo Microsoft ! Bravo SharePoint 2016 !

 

 

 

 

SharePoint 2016 et la synchronisation des profils

La synchronisation des profils

Mon collègue Charles Gagnon vous présentait récemment les fonctionnalités disparues dans SharePoint 2016. Celles-ci  sont, pour la plupart, des éléments de SharePoint difficiles à configurer et problématiques que la communauté sera très heureuse de voir disparaître.

Rendu artistique des émotions d'un administrateur SharePoint par rapport à FIM

Rendu artistique des émotions d’un administrateur SharePoint par rapport à FIM Crédits photo: http://goo.gl/DzNff7

Une composante ayant certainement causé des maux de tête (voire des cauchemars) à la quasi-totalité des administrateurs SharePoint dans les versions 2010 et 2013 du produit est le «User profile synchronization service» basé sur l’outil Forefront Identity Manager (FIM) avec l’infâme message d’erreur «stuck at starting». Vous pouvez maintenant arrêter la thérapie; cette fonctionnalité est éliminée dans SharePoint 2016 et est remplacée par deux outils distincts interchangeables selon vos besoins et la complexité de votre installation.

Le mécanisme de synchronisation natif pour les profils usagers se nomme maintenant «Active Directory Import». Comme son nom l’indique, l’outil permet de synchroniser les données d’une source Active Directory et de rendre celles-ci disponibles dans les profils usagers (la couche sous-jacente au «My Site») SharePoint. Ce mécanisme est intégré à SharePoint et ne nécessite aucune configuration particulière mais il comporte plusieurs limitations décrites plus bas.

Le deuxième outil à votre disposition vous permet de mettre en place des scénarios de synchronisation beaucoup plus complexes. Celui-ci est basé sur le produit Microsoft Identity Manager (MIM) et est indépendant de SharePoint c’est à dire qu’il nécessite la mise en place et l’installation d’un serveur séparé de la ferme SharePoint (pas 100% obligatoire mais fortement recommandé). Un point avantageux de cette architecture est qu’elle permet à plusieurs batteries de serveurs d’utiliser la même installation de MIM dans une même organisation.

Le déploiement de MIM nécessite des efforts supplémentaires mais cette option permet de supporter des scénarios plus complexes, de se connecter à des sources de données autres que AD et de faire circuler l’information de façon bidirectionnelle entre SharePoint et les sources de données.

MIM server AD Import
Avantages 1.       Configuration flexible permet de personnaliser les importations.
2.       Permet de supporter les flux bidirectionnels.
3.       Permet d’importer les photos des usagers automatiquement.
4.       Support des sources de données autres qu’Active Directory LDAP.
5.       Supporte les scénarios «multi-forest».
1.       Très rapide et performant.
2.       Mécanisme fiable utilisé par Office 365.
3.       Complexité réduite et administration directement dans l’administration centrale de SharePoint.
Inconvénients 1.       Un serveur séparé pour MIM est recommandé pour l’utilisation avec une ferme SharePoint.
2.       L’architecture, la configuration et le déploiement sont plus complexes.
1.       Importation unidirectionnelle.
2.       Supporte uniquement les scénarios avec une seule forêt AD.
3.       Ne permet pas d’importer les photos des usagers.
4.       La seule source de données supportée est AD LDAP.

Pour plus d’informations sur la configuration et le déploiement de MIM, consultez l’article technet suivant : https://technet.microsoft.com/en-us/library/mt627723(v=office.16).aspx (l’article technet est en pre-release au moment d’écrire ce billet, son contenu est donc sujet à changer.)

Question ouverte: Croyez-vous que la capacité de MIM d’être utilisée par plusieurs fermes SharePoint est compatible avec des environnements autres que la production? Serait-il possible de configurer un seul MIM pour l’organisation (dans le cas d’un flux unidirectionnel des données) en production et de consommer celui-ci dans les environnement de DEV qui, la plupart du temps, se connectent déjà vers des AD en production? J’attends vos réponses dans la section commentaires ou sur linkedin!

SharePoint 2016 ! Les fonctionnalités disparues

SharePoint 16 RC est maintenant disponible pour le grand public ! HouuRRA!

9cfc1fc6-5a27-4608-9e6f-5b6cab5f7132.png

Mais qu’en est-il ? Offre t-il une valeur ajoutée immédiate justifiant le remplacement de SharePoint 2013 ?!

Au cours des prochains jours je vais publier une série de billets présentant mes différents essais et les constats que j’en aurai fait.

En premier lieu, les départs … voici un sommaire des éléments retirés de cette nouvelle version

  • Version StandAlone sur une instance SQL Express.  En effet, la version complète de SQL doit être maintenant installé  .
  • SharePoint Foundation n’existe plus.
  • Forefront Identity Manager (FIM) n’est plus utilisé pour la synchronisation de l’active Directory . Le processus par défaut est l’imporation de l’Active Directory (Unidirectionnel). Microsoft Identity Manager 2016 peut être configurer pour gérer la synchronisation entre SharePoint et AD .
  • Excel Services ne fait plus parti de SharePoint. Il a été migré vers Excel Services Online et les usagers de SharePoint pourront consommer le service depuis cet endroit.
  • SharePoint Designer 2016 ne verra jamais le jour ! Designer 2013 continuera d’être supporté.
  • InfoPath 2013 sera la dernière version de Microsoft, mais sera supportée jusqu’en 2026! InfoPath Forms Services sera supporté.

Je vous laisse le temps de faire votre deuil de ces fonctionnalités disparues, dès le prochain billet nous prenons un nouveau départ avec les innovations de la version 2016 !

 

 

Gens des TI, soulevez-vous! (2e partie) : rêvons un peu

Ce billet est la suite de Gens des TI, soulevez-vous!. Suite à mon constat sur le manque d’évolution des outils bureautiques, je me suis demandé quel serait mon environnement de travail idéal, en terme d’outils technologiques.

Voici ma liste de souhaits pour les prochaines années :

Plus de pixels!

Homme devant un schéma d'idées

Je dois souvent traiter des volumes importants de contenus. Ce n’est pas rare d’avoir à travailler avec un « mindmap » (pensez à un organigramme dans Visio) de plus de 1000 éléments!

Croyez-moi, même les écrans HD présentement sur le marché sont bien trop petits pour mes besoins.

Récemment, j’ai également eu à produire un fichier Excel qui, une fois imprimé, faisait environs 1×2 mètres! Comment voulez-vous travailler efficacement un fichier de cette taille sur un moniteur de 55x35cm? Je ne voyais qu’environ 20% du fichier à la fois.

Il faut repenser la manière de travailler à l’écran. Avec une surface, disons de 1 mètre carré, le modèle clavier / souris devra être repensé, et le tactile doit être intégré selon de nouveaux paradigmes.

L’intranet mobile

Je ne devrais jamais recevoir une convocation par courriel. Tous les événements de l’entreprise, comme les comités, les formations et les 5 à 7 devraient être accessible à partir de l’application de calendrier de mon téléphone intelligent.

De plus, ma liste de contacts devrait être synchronisé avec la liste des employés automatiquement. Quand j’ai besoin de joindre un collègue rapidement, je ne devrais pas avoir à tenter d’accéder à l’intranet corporatif, l’accès doit être transparent.

Tant qu’à y être, les rappels de la direction pour les feuilles de temps devraient être envoyés via une notification ou un texto dans mon téléphone. Finis les courriels qui ont une durée de vie de 15 secondes et qui encombre ma boîte de réception!

« Bring your own profile »

Une tablette lance une série d'idéesJe fais du service conseil et j’ai souvent à travailler avec les équipes internes. Or à chaque nouveau mandat, le client me crée une adresse de courriel, m’assigne un téléphone et une boîte vocale. Je n’en veux plus! J’ai déjà une adresse de courriel et un téléphone portable, cela devrait être transparent pour moi.

Il n’y a qu’à intégrer mes coordonnés dans le bottin d’entreprise. Encore une fois, l’idée est que mon téléphone portable est mon point de contact principal. Que ce soit par courriel, texto ou téléphone, tout devrait être centré sur un seul appareil.

Des données mobiles

Quand vous avez une présentation à faire, c’est l’enfer! Il faut emprunter un ordinateur portable et un projecteur, brancher le tout, incluant le fil réseau, en priant que personne ne va trébucher là-dedans pendant la réunion. Ensuite il faut se connecter sur un poste qui ne possède pas les mêmes applications que votre poste de travail, sinon il faut se connecter à une VM. Quel bordel!

Il est grand temps que les organisations mettent en place :

  • Des réseaux WiFi fiable qui donnent accès aux systèmes internes.
  • Quelque chose qui ressemble aux tableaux interactifs dans les écoles, avec des résolutions d’écran minimalement HD.

Moins de puissance, plus de vitesse

Metalogique me permet déjà d’accéder à l’intranet à distance et le WiFi est disponible au bureau. Quand j’ai à travailler au bureau, je travaille habituellement avec mon « vieux » iPad de 2012, accompagné du clavier Bluetooth d’un iMac. Je ne ferais pas de grands dossiers d’architecture avec cela mais je suis surpris de l’autonomie que j’ai réussi à avoir avec une si « modeste » machine.

Ça m’a fait réalisé que j’ai rarement besoin d’un processeur dernier cri, ni d’une tonne de RAM, sauf pour des besoins très spécifique. Le maillon faible présentement de la plupart des ordinateurs de bureau, c’est les disques durs rotatifs. En 2015, l’OS et les applications ne devraient plus jamais être sur des disques durs conventionnels. On perd plusieurs minutes de productivité par jour à attendre que ces applications ouvrent, ça devrait être instantané, un peu à l’image des tablettes.

En attendant

Cette vidéo de Corning fut très inspirante dans ma réflexion.


Ultimement, j’avoue que je serais bien heureux de travailler avec l’interface Jarvis de Tony Stark!

Partagez-moi votre vision d’un environnement de travail idéal, je suis curieux de vous lire.