Manage Office 365 Group Creation… the right way

If you have an Office 365 subscription in your organization, you probably know by now that your users can create what is called an Office 365 Group. Don’t get me wrong, it’s an awesome feature with so many possibilities BUT, you need to manage it correctly. Even in a business with less than 50 employees, it can quickly become a mess if not managed.

Why? First, the feature is activated by default meaning that any user can create an Office 365 Group which in turn creates a security group in your AzureAD, a distribution list in your Exchange, a site collection in SharePoint, a plan in Planner and a few other things.

The second point is that management tools associated with O365 Groups are almost non-existent beside using PowerShell which is not an optimal tool for an SMB where there might not be an IT guy. This may only seem a minor annoyance but if you have 50 users who decide to create a O365 Group from the SharePoint Home, Microsoft Teams, Outlook or even Yammer as a test or even for a real use, it doesn’t take very long before you have a several of site collections that are duplicated, unmanaged or unused in your tenant.

So why am I doing a blog post about this? Number 1, if you want to allow the Office 365 group creation capability but only by limited group of users, Microsoft offer you a super handy guide but it doesn’t work because it’s not up to date. Number 2, to remind you that SharePoint and Office 365 is a thing, a very important thing!

How do you manage that pesky Office 365 Group creation?

Note: If you want to completely disable the Office 365 groups in your tenant you can do it from here: https://portal.office.com/adminportal/home#/Settings/ServicesAndAddIns but you will miss out on a very powerful feature of O365.

The official Microsoft guide to do it is available here https://goo.gl/V0Kx9N . The main problem is that the correct version of one of the requirements is not available anymore.

UPDATE as of 2017/04/11: The Microsoft guide has been updated to reflect the changes to the PowerShell modules.

The note mention that you need the version 1.1.130.0 Preview version but the link points to the 1.1.166.0 GA version. A normal human being would say it’s not a problem since surely the 1.1.166.0 version is a later version than 1.1.130.0 thus it contains everything from the previous one. NO that’s not how it works! I won’t do it but if you want to go into details about that read https://goo.gl/TRljUj .

Now what is the solution:

  1. Install the listed prerequisites (use the 1.1.166.0 version for the second one).
  2. Also, install the Azure Active Directory V2 PowerShell module (https://goo.gl/my1zQg) using the PowerShell command: Install-Module -Name AzureADPreview
  3. Proceed with the steps 1 and 2 of the Microsoft guide.
  4. At steps 3, things get a bit different as the powershell commands changed in the V2 of the PowerShell module. To create a new Group settings objects, use the following commands:

Connect-AzureAD
Get-AzureADGroup -SearchString "NAME_OF_YOUR_SECURITY_GROUP"
$template = Get-AzureADDirectorySettingTemplate | where-object {$_.displayname -eq "Group.Unified"}
$setting = $template.CreateDirectorySetting()
$setting["EnableGroupCreation"] = "false"
$setting["GroupCreationAllowedGroupId"] = "ID_OF_YOUR_SECURITY_GROUP"
New-AzureADDirectorySetting -DirectorySetting $setting

If you want to edit a Group settings object instead of creating a new one, the easiest way I found is to use the following script:

Connect-AzureAD
Get-AzureADDirectorySetting
Remove-AzureADDirectorySetting -Id "ID_OF_YOUR_AZUREAD_SETTING"

After this you can simply recreate the AzureADDirectorySetting using the previous procedure. I used this approach because the $setting.GetSettingsValue() method from the Microsoft procedure doesn’t seem to exist anymore in the AzureADPreview module and I haven’t found a replacement.

Now you can now test that only the Admin Office 365 Group can create groups using either graph of try create one with a non admin account.

More to come on the governance part in my next post!

Advertisements

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!

Vers une centralisation des services d’hébergement de projets de développement?

Je change la routine. Mes billets habituels sont informatifs, avec celui d’aujourd’hui j’espère créer une discussion afin de connaître de savoir ce que mes lecteurs en pensent.

website-647013_640Si vous êtes à l’affut des blogs techno, vous avez possiblement vu, la semaine dernière, l’annonce de Google qui a décidé de fermer son service Google Code à partir de janvier 2016. Si vous n’êtes pas au courant, voici un petit topo : il n’est déjà plus possible de créer de nouveaux projets, à partir du mois d’aout 2015, l’ensemble du site et des dépôts de code seront en lecture seule et, le 25 janvier 2016, le site sera complétement fermé.

La raison avancée par Google est honnête. En 2006, au moment de la mise en ligne de Google Code, il n’existait pas, sur le marché, de service de qualité pour l’hébergement de projet de développement. Aujourd’hui, le portrait est bien différent, il existe deux géants qui héberge la grande majorité des projets de développement sur le web : GitHub et Bitbucket. Ces deux services sont solides, abordables et extrêmement conviviaux donc pourquoi s’entêter à offrir un produit avec moins de fonctionnalités? Je crois que la décision de Google est la bonne.

Quelle est la suite des choses sur le marché? On remarque une tendance similaire chez Microsoft. Au cours des derniers mois, Microsoft a diffusé sous licence open source plusieurs éléments majeurs de son stack technologique : .NET Core 5, ASP.Net 5, Roslyn, EF, etc. Tous ces produits et biens d’autres projets importants pour Microsoft (Pattern and practices pour SharePoint par exemple) ont été publiés CodePlex (le site d’hébergement de projets de Microsoft)? Non, la compagnie de Redmond a plutôt optée pour utiliser GitHub. Dans cette optique, je crois sincèrement que les jours de CodePlex sont comptés et qu’une annonce de Microsoft à ce sujet viendra dans les prochains mois.

Qu’en est-il pour le futur de Team Foundation Server? Il serait nettement exagéré de croire que TFS sera abandonné par Microsoft et que le produit sera remplacé par GitHub. Le produit est trop important et offre un éventail de fonctionnalités trop large pour qu’une solution aussi drastique soit envisagée. On note cependant une intégration de plus en plus forte entre Visual Studio et les «repository» Git depuis la version 2012. Est-ce que, sans faire disparaître TFS, on pourrait voir un rapprochement avec la technologie Git au cours des prochaines années? Je n’ai pas la réponse mais n’hésitez pas à laisser vos commentaires ou vos prédictions sur le sujet.

SharePoint 2016 : un investissement vers les solutions hybrides

Au début février, Julia White (gestionnaire principale du Office Product Management team de Microsoft) a annoncé officiellement la venue de la prochaine version de SharePoint qui portera le nom, dans une suite convenue d’appellations, de SharePoint 2016. Cette annonce met fin à beaucoup de spéculations (non fondées, vous pouvez lire mon billet à ce sujet) sur la fin de l’édition On premise de la plateforme SharePoint.

En effet, Microsoft sait très bien que plusieurs clients utilisant déjà la plateforme SharePoint ne sont pas prêts ou ne peuvent tout simplement pas migrer vers l’infonuagique pour tous les scénarios d’utilisation du produit. À travers SharePoint 2016, Microsoft vise à offrir la version la plus sécurisée, stable et fiable en tirant profit des innovations qui étaient jusqu’à maintenant limitées à la version en infonuagique, soit Office 365. Ces innovations seront soit intégrées directement au produit SharePoint On premise, soit accessibles à travers une implémentation hybride entre la version en infonuagique et la version On premise.

Quelques nouveautés sont annoncées (certaines d’entre elles sont déjà disponibles pour les clients d’Office 365). Parmi celles-ci:

  • Delve, une nouvelle façon d’exploiter les capacités de recherche de SharePoint afin de présenter l’information pertinente et d’établir des relations entre les divers contenus utiles pour un usager.
  • Une nouvelle génération de portails ready-to-go permettant aux usagers d’avoir accès à des sites riches et dynamiques qui auraient traditionnellement nécessités des efforts considérables de développement. Un exemple de ces portails est la venue des Office 365 Video qui permettent l’échange de vidéos (similaire à Youtube) dans un contexte d’entreprise.
  • L’intégration d’applications et d’outils tels que Yammer et PowerBI qui rendent l’application beaucoup plus conviviale, tant pour les usagers que pour les administrateurs.

Du côté du développement, Microsoft réaffirme son engagement envers la plateforme des Apps SharePoint, comme étant la façon de faire pour personnaliser et étendre SharePoint. Ceci rejoint l’information qui circule depuis quelque temps au niveau des Patterns and practices de Microsoft pour SharePoint.

Malgré le peu d’information disponible pour le moment, il est très intéressant – rassurant diront certains – de voir que la version 2016 de SharePoint s’en vient et d’avoir une idée de l’orientation prise par Microsoft pour son développement.

La conférence Microsoft Ignite, qui aura lieu du 4 au 8 mai 2015 à Chicago, devrait nous permettre d’en apprendre davantage sur SharePoint 2016. Comptez sur l’équipe de Metalogique pour suivre attentivement cet événement et vous en partagez les faits saillants à travers nos prochains billets.

Le retour de zombie InfoPath!

Si vous avez lu mon dernier billet sur ce blog, vous savez qu’InfoPath est en fin de vie et que la technologie sera remplacée dans la prochaine version de SharePoint. C’est faux! Microsoft a changé son fusil d’épaule et bien que l’application client InfoPath 2013 ne soit pas mise à jour, toutes les fonctionnalités d’InfoPath form services seront reconduites dans SharePoint 2016.

De plus, une composante majeure destinée à remplacer InfoPath (Forms on SharePoint Lists (FoSL)) autant dans le cloud que sur la version On premise ne figure plus sur le roadmap de Microsoft pour Office 365. Celle-ci est passée de l’état «En développement» à «Annulé» sur le site de Microsoft au cours de la dernière semaine.

Pour plus de détails sur le sujet, je vous invite à consulter le blog de Vlad Catrinescu qui fait un tour complet de l’information transmise par Microsoft.

 

La fin d’InfoPath, on fait quoi maintenant?

Si vous travaillez régulièrement avec SharePoint et que vous n’avez pas vécu sous une roche pendant les deux dernières années, vous savez probablement qu’InfoPath 2013 sera la dernière version du produit. Cela signifie que son intégration à la plateforme SharePoint tire à sa fin (bien qu’elle sera supportée jusqu’en 2023).

infopathInfoPath n’est pas un produit parfait, mais il permet de répondre à un besoin de personnalisation des formulaires dans SharePoint, sans avoir à mettre en place une infrastructure complète de développement incluant plusieurs environnements, des cycles de tests et beaucoup de temps. Je reçois plusieurs questions du genre: si la version 2013 est la dernière, dois-je continuer à l’utiliser? Dois-je attendre la prochaine version ou bien dois-je faire un investissement coûteux en développement pour un besoin qui n’est peut-être pas une priorité?

Et la réponse… il n’y aura pas un seul produit qui permettra de remplacer InfoPath et le découpage des fonctionnalités n’est pas encore final, mais voici l’information qui a été publiée par Microsoft sur le sujet à date:

Le but du changement (délestage d’InfoPath) est de permettre de mieux répondre aux besoins changeants des usagers en leur permettant de concevoir et de déployer facilement des formulaires qui seront accessibles aux navigateurs, clients Office et divers appareils mobile.

Plusieurs outils (principalement les technologies SharePoint, Excel, Access et Word) permettront de remplacer InfoPath. Chacun de ceux-ci permettra d’aborder des scénarios utilisateurs différents.

excel-survey-featured

Image de corypeters.net

Voici quelques exemples de solutions pour le remplacement d’InfoPath sur lesquels Microsoft travaille :

  • Formulaires de liste (FoSL)
    • Modifiable dans le navigateur
    • Basé sur les design package Access
    • Pas de SQL backend ou de code
    • Support pour les cascading combobox
    • Possibilité d’intégrer de la logique d’affaire simple
  • Excel surveys (FoSS)
    • Il s’agit de formulaire dans un classeur Excel
    • La technologie existe déjà dans Office 2013 mais sera intégrée à SP vNext
  • Documents structurés
    • Basé sur la technologie Word
    • Remplace les Infopath form library
    • Permet de générer facilement des formulaires imprimables et archivables
  • App forms
    • Basé sur la technologie Access Services
    • Permet de faire le pont avec les sources de données SQL
    • Ne nécessite pas de liste SharePoint liée
    • Déjà disponible sur Office365

Pour plus d’informations sur le sujet, vous pouvez consulter les excellents blogs de Nik Patel ou de Tobias Zimmergren.

Microsoft est aussi à l’écoute de vos commentaires sur le futur de la technologie. Vous pouvez proposer de nouvelles fonctionnalités et voter sur celles proposées par les autres ici : http://officeforms.uservoice.com/

How to: manage SharePoint 2013 navigation settings in c#

I recently needed to manage SharePoint 2013’s navigation settings from code (c#) because we were deploying a custom web template.

Believe me, there are a bunch of different objects you need to use depending on which setting you are trying to edit.

  • web.Navigation (Namespace: Microsoft.SharePoint)
  • publishingWeb.Navigation (Namespace: Microsoft.SharePoint.Publishing)
  • WebNavigationSettings (Namespace: Microsoft.SharePoint.Publishing.Navigation)

After a lot of search, I found an incredible article by Johannes Milling on the subject. Check it out here:

http://discoveringsharepoint.wordpress.com/2013/03/19/programmatically-set-navigation-settings-in-sharepoint-2013/

Once again, I hope it saves someone some time!