Shareman

Share to progress

Accéder à des données du host web depuis l’add-in web en JSOM

Salut, comme on l’a vu dans mon article sur la structure des add-ins SharePoint, un add-in SharePoint est composé d’un host web et d’un add-in web. Dans le cas d’un SharePoint Hosted add-in, on est obligé d’accéder aux données de SharePoint en JSOM.
Ci dessous, un exemple de code permettant d’accéder aux sous-sites (s’il en existe) du host web.

Ensuite, on peut récupérer des informations sur ces sous-sites par exemple leur titre, les listes qu’ils hébergent, etc, dans la fonction « onGetSubwebsSuccess ».

A+, Bastien.

Migration des dossiers publics d’Exchange 2003 vers Exchange Online sans outil tiers

Bonjour, aujourd’hui je vais vous montrer comment migrer les dossiers publics d’un serveur Exchange 2003 vers Exchange online sans outil tiers.
Cette méthode n’est bien sûr pas supportée par Microsoft et ne s’adapte pas à tous les contextes. En effet, dans les règles de l’art, il aurait fallu effectuer une migration d’abord vers Exchange 2007 avant de migrer vers Exchange online.

Allez, c’est parti, au programme 6 étapes que je vais vous présenter ci-dessous :

1) Exporter les droits des dossiers publics du serveur Exchange 2003

Pour se faire, nous allons utiliser un outils Microsoft, PFDAVADMIN, disponible ici.
Une fois l’outil exécuté, il faut se connecter au serveur Exchange (dans mon cas, j’ai exécuté l’outil en local sur le serveur Exchange 2003).

Exportation des droits des dossiers publics

Dans l’onglet « Tools », on clique sur « Export Permissions ». On choisit alors le « scope » et le « format » pour l’export.

Exportation des droits des dossiers publics

Un fichier texte est alors créé dans le répertoire ou est exécuté l’outil. Il faut traiter ce fichier avec Excel pour en faire un .csv « comestible » pour la future importation des droits dans Exchange Online.

On ouvre un classeur vide dans Excel puis dans l’onglet « Données », on sélectionne « Fichier texte ».

Exportation des droits des dossiers publics

On importe alors notre fichier précédemment produit.

Exportation des droits des dossiers publics

Une fois l’importation effectué, je supprime les éléments inutiles, typiquement ici, la première colonne, les huit premières lignes… Voilà un aperçu de mon fichier après traitement.

Exportation des droits des dossiers publics

Il nous reste juste à enregistrer le fichier en .csv et si besoin (problème d’accent), le convertir en UTF-8.

2) Exporter les dossiers publics avec le client Outlook

Bon ok ce n’est pas très académique mais ça fait le boulot ;). Petite précision, il faut avoir les droits sur les dossiers publics pour les exporter.
Dans Outlook, on va dans « Fichiers » puis on sélectionne « Ouvrir et exporter » puis « Exporter ».
L’assistant importation et exportation s’ouvre. On va choisir d’exporter des données vers un fichier de données Outlook (.pst).

Export des dossiers publics      Export des dossiers publics

3) Créer la boite aux lettres de dossiers public dans Exchange Online

Dans l’administration d’Exchane Online, ou en PowerShell, on va créer la boite aux lettres de dossiers publics.
Attention, petite précision pour cette étape, si les données à importer dépasse les 50 Go, il faudra créer plusieurs boites de dossiers publics. En effet, passé les 50 Go sur une boite, Microsoft utilise une fonction d’auto-split qui peut s’avérer très longue (jusqu’à deux semaines). Les dossiers publics ne seront alors potentiellement pas accessibles durant cette période.

Création boite aux lettres de dossiers publics

4) Créer le dossier public racine

Encore une fois, rien de très complexe via PowerShell ou via l’interface d’administration Exchange Online. Il faut tout de même penser à ajouter les droits de contrôle total sur le dossier public afin par la suite d’effectuer l’importation.

Création du dossier public racine

5) Importer les dossiers publics avec le client Outlook

De la même façon qu’on a exporté les dossiers publics, on va importer les dossiers publics dans Exchange Online grâce à l’assistant importation et exportation d’Outlook. Il suffit juste de sélectionner le dossier cible avant de lancer l’importation à partir du fichiers .pst précédemment créé.

6) Modifier les droits sur les dossiers publics fraichement importés dans Exchange Online

Pour se faire, on va utiliser un script PowerShell que je vais vous présenter ci-dessous. Il prend en paramètre le fichier contenant les droits sur les dossiers publics créé à l’étape 1, un fichier .csv où est indiqué la correspondance entre un utilisateur on-premises et ce même utilisateur dans Office 365 et pour finir, un ductionnaire ($rightsList) permettant de faire correspondre un niveau d’accès entre la source et la cible.

Bien sûr, ce script peut grandement être amélioré, toujours est il qu’il fait bien le job.

Voilà, j’espère que cet article vous a été utile et je vous dit à bientôt.

Structure des add-ins SharePoint, plus d’explications

Salut les amis, quand on commence avec le développement SharePoint, on peut très vite être dérouté avec la structure des add-ins. Dans cet article, je vais tenter de vous expliquer la structure des add-ins pour les différents types d’add-ins et j’espère qu’ à la fin de la lecture, vous aurez les idées plus claires.

Tout d’abord, on distingue deux types d’hébergement dans le développement d’add-ins, l’hébergement SharePoint et l’hébergement par le fournisseur. Dans les deux cas, le code s’exécute en dehors du serveur SharePoint. Pour accéder aux éléments, données de SharePoint depuis notre add-in, on utilisera alors du JSOM (langage coté client), du CSOM (coté serveur) ou du REST (web service) .

Pour être plus précis, rapidement, ci-dessous une explication rapide sur les différences entre les deux types d’add-ins :

  • SharePoint Hosted Add-in (hébergement SharePoint) : Le code tourne sur le navigateur du poste client (HTML, CSS, JavaScript, JQuery, …)
  • Provider Hosted Add-in (hébergement par le fournisseur) : Ici, le code tourne sur un serveur applicatif tiers. Il peut s’agir d’un serveur IIS, local ou dans le cloud, d’un serveur Apache pour faire tourner du code PHP…

Ce n’est pas le sujet même de cet article donc si vous voulez plus de précisions, je vous invite à vous rendre sur le site de Microsoft : par ici.

Les SharePoint Hosted Add-ins

Schéma d'un SharePoint Hosted Add-ins

Les SharePoint Hosted add-ins sont composés d’un host web et d’un add-in web. Le host web est le site SharePoint qui va héberger notre application. Le add-in web est un sous site isolé (caché) qui héberge les éléments SharePoint (listes) et les pages de notre add-in.

On utilisera alors du JSOM pour accéder aux éléments du add-in web. Le code s’exécute dans le navigateur du poste client.

Les Provider Hosted Add-ins

Schéma d'un Provider Hosted Add-ins

On retrouve la même structure que pour les SharePoint add-ins sauf qu’il est maintenant possible d’exécuter du code serveur dans une application web tierce.

Regardons la structure d’un provider hosted add-in dans Visual Studio :

Provider Hosted Add-ins dans Visual Studio

On retrouve la partie web qui, si on a l’habitude du développement ASP.Net, devrait vous être familière. C’est une application web form (on peut aussi faire une application ASP.Net MVC). C’est cette partie qui va héberger nos pages.

Puis il y a la partie SharePoint (add-in web) dans lequel on peut mettre des éléments SharePoint (ici, une liste). Comme pour un SharePoint Hosted add-in, on retrouve l’host web qui va héberger notre application.

Voilà, j’espère avoir été le plus clair possible. Si ce n’est pas le cas, n’hésitez pas à me solliciter.

Je vous laisse sur un petit exemple de code CSOM que l’on pourrait écrire dans un provider hosted add-in (dans la partie web app) pour accéder à l’add-in web et au host web.

Superviser Office 365 grâce au module PowerShell O365ServiceCommunications

Salut, aujourd’hui, je vais vous présenter un petit module PowerShell sympa pour superviser votre tenant Office 365.

Le module s’appelle O365ServiceCommunications. Le module s’appuie sur l’API Rest « Office 365 Service Communications » de Microsoft.
Pour l’installer c’est assez simple, avec PowerShell 5.0 ou un PowerShell 4.0 à jour, il suffit d’entrer la ligne de commande suivante :

Sinon, rendez-vous sur le site GitHub de son créateur : par ici.

Une fois le module installé, voici un petit exemple d’utilisation :

Et ce que ça donne :

Utilisation module PowerShell O365ServiceCommunications pour superviser Office 365

A+,
Bastien

Modifier l’URL de débogage d’une application SharePoint dans Visual Studio

Ça peut paraitre tout bête, ça l’est d’ailleurs mais la première fois que le besoin se présente, on peut perdre quelques minutes à chercher comment modifier l’URL de débogage de l’application SharePoint que vous êtes en train de développer.

Pour ce faire, c’est très simple, sélectionnez votre projet dans l’Explorateur de solutions. Puis dans l’onglet « Affichage », cliquez sur « Fenêtre propriétés » (vous pouvez aussi presser F4 pour aller plus vite) :

Affichage propriétés                       Sélection de l'app

Vous pouvez alors modifier la propriété « URL du site » :

Propriété URL du site

A+,

Bastien

 

Signification d’une revendication SharePoint (Claims encoding)

Une revendication SharePoint (claim) se décompose de la manière suivante :

i:0#.w|contoso\chris

On identifie facilement ici, le domaine, « contoso », et le nom d’utilisateur « chris » mais on se demande ce que signifie les caractères « i:0#.w ».

Le schéma ci-dessous va vous aider à comprendre la signification d’une revendication. J’ai laissé le texte en anglais pour une meilleure compréhension.

Revendication SharePoint (Claims encoding)

 

A+,

Bastien

Configurer l’autogrowth sur les bases de données de contenu SharePoint

Bonjour à tous,

Petite astuce pour optimiser la partie SQL de votre infra SharePoint. En effet, afin d’optimiser les performances des bases de données de contenu, il est nécessaire de configurer l’autogrowth correctement sur celles-ci.

Par défaut, l’autogrowth est configuré en pourcentage. Il faut plutôt lui affecter une valeur fixe. En effet, si la base de données fait 1Go et que l’autogrowth est à 1% (soit 10Mo), si un utilisateur pose un fichier de 50Mo, il y aura alors 5 éxécution du processus d’autogrowth. Inversement, si la base fait 100Go et que l’autogrowth est à 10% (soit 10Go), le processus d’autogrowth sera très long et cela diminuera sensiblement les performances du serveur SQL.

Cela peut dépendre des cas mais je vous recommanderai d’initialiser la taille allouée à la taille cible prévisionnelle, par exemple 100 Go puis mettre l’autogrowth à 1Go en valeur fixe.

Bien sur l’initialisation ne doit pas se faire durant les horaires ouvrées car celle-ci peut s’avérer longue et assez gourmande en ressources.

Bonne journée,

Bastien

Bonjour tout le monde !

Bienvenue sur mon blog.

Travaillant sur les technologies Microsoft et plus particulièrement sur SharePoint et Office 365 depuis quelques années, j’ai décidé de vous faire partager mon expérience à travers ce blog.

Vous l’aurez compris, pour moi, le partage est le meilleur moyen de progresser et c’est donc avec plein d’enthousiasme que je me lance dans l’aventure du « blogging ». C’est aussi dans cet esprit que je vous demanderai de ne pas hésiter à me transmettre vos remarques et vos critiques. Qu’elles soient négatives ou positives, elles seront toujours constructives.

J’espère que vous prendrez plaisir à me lire et surtout que ça vous sera utile.

Merci et à très bientôt,

Bastien

© 2017 Shareman

Theme by Anders NorenUp ↑