ActiveDirectory.Show et son code source sont disponibles !

Hello,

                Suite à mon article sur ce sujet, certains d’entre vous m’avait demandé si le code source était disponible. J’ai donc finalement pris le temps de travailler dessus pour en faire un « sample » relativement propre. Vous pouvez télécharger le code source et les binaires ici : https://code.msdn.com/activedirectoryshow

                Par rapport à la version de l’article MSDN, j’ai légèrement changé le code pour maintenant aller chercher les photos dans l’Active Directory plutôt que dans https://my . Le code est donc strictement identique à celui utilisé dans l’add-in Outlook pour CRM.

                Par rapport au code source de Family.Show, l’ajout principal de logique est fait dans la classe TeamLogic. Les opérations y sont effectuées sur un thread séparé et la partie graphique est mise à jour via l’objet Dispatcher de WPF. Si ce sujet vous intéresse, je vous invite fortement à regarder le WebCast de mon collègue Eric Vernié dont vous trouverez les références ici : https://blogs.msdn.com/devpara/archive/2008/10/01/garantir-une-interface-r-active-avec-wpf.aspx

                Si vous souhaitez utiliser directement telle quelle l’application déjà compilée, voici les étapes à suivre :

                1 – Téléchargez les binaires
2 – Modifiez le fichier XML ActiveDirectoryShow.exe.config pour y préciser les propriétés suivantes :

<userSettings>

<Microsoft.ActiveDirectoryShow.Properties.Settings>

<setting name="Skin" serializeAs="String">

                <value>Silver</value>

            </setting>

            <setting name="DecodeBase64" serializeAs="String">

                <value>False</value>

            </setting>

        </Microsoft.ActiveDirectoryShow.Properties.Settings>

    </userSettings>

    <applicationSettings>

        <Microsoft.ActiveDirectoryShow.Properties.Settings>

            <setting name="GCLdapPath" serializeAs="String">

                <value>LDAP://dcdavrous2k8</value>

            </setting>

        </Microsoft.ActiveDirectoryShow.Properties.Settings>

    </applicationSettings>

                DecodeBase64 est un booléen : True ou False donc. Il indique si les photos de votre Active Directory dans le champ thumbnailphoto sont stockées en base64 ou non. Par défaut, en général, c’est non.

                GCLdapPath est le chemin LDAP complet vers votre DC ou GC. Si c’est un DC, retenez plutôt une syntaxe de type LDAP://nomdevotreDC. Si c’est plutôt un GC, la syntaxe GC://nomdevotredomaine.com

                3 – Lancez l’application ActiveDirectoryShow.exe

Ce « splash screen » vous sera présenté pendant que le code s’occupe de tenter d’établir une connexion vers l’Active Directory et de créer sur votre disque des fichiers de tests sous %userprofile% \Documents\ActiveDirectory.Show :

                Si GCLdapPath pointe vers un Active Directory qui ne répond pas, vous utiliserez alors l’application en mode « offline » uniquement : vous ne pourrez qu’ouvrir des fichiers « .team » déjà enregistrés et générés. Il y en a par défaut que vous pouvez tester : « Eric Mittelette.team » où vous retrouverez l’ensemble de mon équipe avec des fausses informations téléphoniques. Par contre Eric est vraiment notre chef ! J

                Vous verrez également écrit en rouge en haut à droite: « No network detected » comme sur cette copie d’écran :

               

                Par contre, si vous avez un Active Directory sous la main qui répond, vous aurez la possibilité de créer un nouvel organigramme en cliquant sur « New » dans le menu d’accueil. Vous aurez alors la fenêtre suivante qui s’offre à vous :

                Vous pouvez alors rentrer soit l’alias d’une personne de votre entreprise/Active Directory soit son « display name ». Si c’est un chef, on affichera alors la hierarchie n-1, n-2 ou n-3 en fonction de la valeur retenue pour « Recursion Depth ». Si ce n’est pas un chef (une feuille de l’arbre donc), le code remontera automatiquement d’un niveau pour charger en mémoire le chef et son équipe. Par exemple, en partant de moi, on obtient cela :

               

                Ensuite, on peut changer le thème en noir en via le menu… Skins !

                Pour terminer, vous pouvez filtrer les membres pour en retrouver un plus facilement ou cliquez sur « Expand » pour avoir plus de détails sur les membres présents dans l’organigramme en cours :

                Vous pourrez alors également y effectuer des recherches, tri sur les colonnes, etc.

                Petit tip : si vous n'avez pas de photos stockées dans votre AD, copiez/collez simplement les photos que vous voulez dans le répertoire %userprofile%\Documents\ActiveDirectory.Show\Images dans le format samaccountname.jpg . C'est le cache photo de l'application. Donc si vous mettez une photo avec le bon nom de fichier, elle sera automatiquement utilisée par l'application avec les données de votre AD.

Enjoy !

David