SharePoint 2010 et inconsistences de recherche : Phonetic Search

No Comments

J’a eu un problème très intéressant ave la recherche de SharePoint 2010, qui peut être assez difficile à cerner.

J’ai donc un crawl content source pointant sur mon MySiteHost, tous les profils utilisateurs bien indexés.

Pour un étrange raison, J’avis certaines fois des résultats différents en entrant partiellement un nom ou prénom, ou parfois même pas de résultat du tout… More

Custom Timer Job pour SharePoint 2010 avec un scope Farm : « Cannot change a recurring schedule to a one-time schedule (and vice versa) for a job definition »

No Comments

Durant un exercice de de style pour coder un Timer Job activable au scope « Farm », j’ai écrit ce code asez standard pour aciver mon Timer Job:

public override void FeatureActivated(SPFeatureReceiverProperties properties) {  foreach (var s in SPFarm.Local.Services)
{
    if (s.DisplayName.Contains("WSS_Administration"))
    {
        DeleteJob(s.JobDefinitions);
        CustomTimerJob job1 = new CustomTimerJob(s);

        SPMinuteSchedule schedule = new SPMinuteSchedule();
        schedule.BeginSecond = 0;
        schedule.EndSecond = 59;
        schedule.Interval = 1;
        s.JobDefinitions.Add(job1);
        job1.Schedule = schedule;
        job1.Update(true);
    }
}

Lors du déploiement, j’obtenai cette erreur :

« Cannot change a recurring schedule to a one-time schedule (and vice versa) for a job definition. »

More

SharePoint 2010 – Custom Service Application : « Starter project » avec base de données

No Comments

Durant cette dernière semaine, j’ai  pu travailler sur l’utilisation des Service Applications au sein de SharePoint 2010.

Alors qu’est-ce qu’une Service Application ?

More

Access Control Service : créer et utiliser son propre STS dans Azure – Part 2

No Comments

Dans cette série d’article, nous allons voir comment créer votre Security Token Service (STS) custom pour authentifier vos utilisateurs en utilisant des Claims, en passant au travers d’ACS,

Cette série d’articles est composée de:

  1. Créer votre STS en tant que Web Application (et non un Website!)
  2. Créer et configurer vos certificats dans votre STS  ← Vous êtes ici!
  3. Comprendre la syntaxe du fameux fichier FederationMetadata.xml
  4. Mettre en place votre solution utilisant votre STS au travers d’ACS
  5. Installez votre solution (WebApp + STS) dans Windows Azure

2. Créer et configurer vos certificats dans votre STS

Nous allons voir ici ensemble comment créer, puis utiliser les certificats pour votre STS, ceci inclut :

  • la génération d’un certificat de test pour que votre STS communique avec vos clients en HTTPS et signe le contenu de ses tokens,
  • la génération d’un certificat pour encrypter vos tokens envoyés depuis votre STS vers ACS.

More

Access Control Service : créer et utiliser son propre STS dans Azure – Part 1

No Comments

Dans cette série d’article, nous allons voir comment créer votre Security Token Service (STS) custom pour authentifier vos utilisateurs en utilisant des Claims, en passant au travers d’ACS,

Cette série d’articles est composée de:

  1. Créer votre STS en tant que Web Application (et non un Website!) ← Vous êtes ici!
  2. Créer et configurer vos certificats dans votre STS
  3. Comprendre la syntaxe du fameux fichier FederationMetadata.xml
  4. Mettre en place votre solution utilisant votre STS au travers d’ACS
  5. Installez votre solution (WebApp + STS) dans Windows Azure

1. Créer votre STS en tant que Web Application (et non un Website!)

Par défaut, les templates WIF dans Visual Studio 2010 de vous proposerons de créer un Security Token Service site que sous forme d’un Website.

Nous voudrions utiliser ce « Website » en tant que site dans un projet Azure, mais là est le hic : Azure ne supporte d’importer que des project « Web Application »…

Aucun problème, il n’y a rien de compliqué là-dessous : nous allons créer un STS manuellement depuis une nouvelle Web Application. More

Mes sessions Techdays 2011 à Berne sont en ligne

No Comments

Vous pouvez aller jeter un œil sur le site de Channel9 pour accéder à toutes les vidéos sur des évènements Techdays, TechEd et PDC et BUILD.

Pour ce qui est des 2 sessions que j’ai joué cette année, retrouvez leur contenu :

Bonne lecture !

Sessions en folies

No Comments

Le mois d’octobre a été pour moi un mois très fructueux avec pas moins de 6 présentations :

  • le 3 et 4 octobre, 3 présentations pour le SoftShake à Genève (Windows 8, .NET 4.5 & Windows Azure),
  • le 13 octobre, évènement ISACA sur le Cloud,
  • le 21 octobre, 2 présentations pour les Techdays 2011 à Berne (toutes 2 sur Windows Azure).

J’ai aussi pu beaucoup travailler sur les problématiques d’authentification avec Windows Azure et ADFS, ainsi qu’avec des moyens custom (un article suivra :) )

Ouf un mois bien rempli, tout va bien :)

A bientôt pour la suite !

Windows et WinRT, la nouvelle fondation pour le développement Windows ?

No Comments

Après ces jours de sessions pour la BUILD de Microsoft qui sont assez chargés, je suis arrivé à poser mes idées sur ma compréhension sur cette nouvelle interface WinRT.

J’ai donc passé pas mal de temps sur les stands des équipes qui ont développé cette plateforme, et je vais essayer d’expliquer ce que j’en ai compris.

En général :

  • WinRT est un set d’objets accessibles pour construire des applications Metro
  • WinRT est accessible depuis C++, .NET (C# & VB), ainsi que Javascript lorsque l’on développe une application Metro
  • WinRT se base, pour ce qui est de la projection des objets natifs, sur un format nommé Windows Metadata (.Winmd); certains objets venant de Win32 ou COM possédant ces métadonnées sont alors exposés pour fournir des services aux applications Métro (voir image)
  • Selon le Runtime qui l’appelle, WinRT donnera l’objet (le même pour tous les runtimes) en l’entourant d’un wrapper permettant l’utilisation de cet objet par ce runtime
  • Cet objet natif venant de WinRT reste un objet Win32 ou COM, seule sa facade permet au runtime qui l’instancier et de l’utiliser

Pour ce qui est des languages :

  • Les parties C++ et Javascript ne voient que les objets WinRT venant du runtime au travers de ces objets exposés depuis leurs Metadatas,
  • Seule la partie C#/VB.NET peut à la fois accéder aux objets natifs exposés par WinRT et à certains objets .NET,
  • .NET accédé dans e cadre de Metro utilise un « Metro Profile » limitant les objets .NET accessibles et certaines de leur utilisation dans le cadre d’une application Metro (ex: charger dynamiquement une assembly venant d’internet),
  • Les objets natifs et managés venant du Framework 4.5 passent par WinRT avant d’être donnés à votre application,
  • Certains objets accessibles depuis .NET dans une application Metro ont été changé pour d’autres, mais de manière complètement transparente (System.String vient maintenant d’un type natif HSTRING, avec toutes les méthodes que vous lui connaissez),
  • Ces deux types d’objets sont « Garbage Collectés » par WinRT lui-même, ce qui fait que même un objet natif n’a pas besoin d’être disposé :) ,
  • Le XAML écrit dans une application Metro utilise un moteur de rendu XAML entièrement écrit en C++ (nom de code Jupiter), ce qui explique la rapidité et la fluidité de l’interface (GREAT STUFF!),
  • Ces contrôles sont disponibles sous d’autre namespaces que ceux de SL et WPF pour montrer la différence de contrôle,
  • WPF et Silverlight existent toujours sous Windows 8, mais n’utilisent pas Jupiter pour leur rendu, uniquement le framework .NET standard, et seront rendu sur le desktop,
  • Le profile Metro de .NET 4.5 empêche l’utilisation d’objets XAML .NET comme ceux venant des namespaces WPF,
  • Le moteur XAML Jupiter fonctionnant à l’identique et incluant tous les contrôles venant de WPF et Silverlight, il est possible de changer leur style (ex. appliquer le style d’un bouton SL sur un bouton Metro),
  • Seul C++ parmi les langages utilisés solicite moins WinRT pour la partie Metadonnées car ces objets natifs sont plus proches de C++ que des autres runtimes,
  • Il est possible d’écrire son propre code C++ utilisant le SDK de WinRT et ensuite de l’utiliser dans du code .NET ou JavaScript,
  • Les contrôles XAML pour Metro supportent tous deux les évènement souris et touch (plus de doublons d’évènement entre ces deux types).

Une fois vu tous ces points, je ne peux m’empêcher de me demander…
WinRT exposant certaines APIs de manière transparent pour un code .NET compilé en « Any CPU » ou un code JavaScript, un portage de WinRT serait tout à fait possible pour Windows Phone, permettant alors à une application de tourner sur tous les devices ave un seul package… Je pense que l’on pourra reparler de toute cela dans pas trop longtemps :)

En bonus, voici l’image du booth des DEVs de la BUILD, avec un schéma intéressant de ce à quoi ressemble la version un peu plus « détaillée » de l’intégration de WinRT avec tout le reste :)

Bon code !!!

Windows 8 est arrivé, et « ça change tout »

No Comments

Me voila enfin rentre de cette première journée de BUILD, et je dois dire que OUCH j’en ai pris plein les mirettes.

Windows 8 est là et bien là, et il n’y va pas dans la demi mesure pour ce qui est des nouveautés !!

Tout d’abord WinRT (Windows Runtime) : c’est cette interface qui va venir faire la frontière entre le kernel et les langages utilisés. un set complet d’APIs est à disposition et accessible en C++, C#, VB.NET et Javascript!

Voici deux des projections montrant l’utilisation de WinRT dans l’écosystème Windows et les APIs que celui-coi offre :

 
Ce que montre cette dernière photo est que les appels aux APIs exposées pour les Application de type « Metro » se feront à travers WinRT.

Pour le reste, on fera comme à l’habitude avec des accès à des objets Javascript pour la partie HTML5 et aux objets .NET standards pour la partie .NET.

Ensuite, ces applications « Immersives » (ou autrement appelés « Metro Style ») vont avoir 3 façons de s’intégrer aux autres applications (chose inédite et n’existant sur aucun OS) ; Microsoft appelle cela les « Charms »:

  • Rendre son application capable de répondre à une recherche globale (on obtient alors une facette de recherche supplémentaire pour son app),
  • Donner à son app la possibilité d’exposer ses données pour être partagées dans une autre app (pas seulement du texte !!),
  • Et enfin donner la possibilité à une app d’être destinataire de recevoir ses données partagées pour en faire quelque chose (réseau social par exemple).

Pour ce qui est de la partie C++, il sera possible de créer des modules entièrement en C++ et ensuite d’exposer celui-ci dans son app comme un module WinRT alors interrogeable directement en Javascript par exemple ; si vous voules voir cela marcher je vous conseille de regarder la Keynote de la BUILD :) .

Enfin plus sur la partie design, un gros effort a été fait pour accélérer l’OS pour la partie tactile (le jour et la nuit comparé à Windows 7 avec le touch), et on a entendu que les performance ont été un des points les plus travaillés.

Un effort aussi fait sur de nombreux autres points en vrac :

l’Utilisation d’un ‘UEFI (remplaçant du BIOS) pour un boot de l’OS en moins d’une seconde,

Windows 8 Developer Preview est livré avec Visual Studio 11 (qui s’appuie sur .NET 4.5, et qui inclut le designer de Blend pour le XAML) ainsi que BLend 5 (qui prend en charge HTML5),

Roaming complet du profil utilisateur (settings des apps, wallpaper, lock screen pattern…),

Utilisation du stylet (un offert avec la tablette) pour pouvoir signer réellement sur le device (chose impossible sur les devices iOS),

Intégration de nombreux sensors (gyroscopique, mais aussi un capteur NFC),

Restent de noooooooomdreuses questions en suspens :

  • Pourra-t’on compiler un binaire C++ et le porter sur ARM ou y aura-t’il un principe similaire aux Universal Binaries de chez Apple ?
  • Le moteur de rendu XAML correspondant an Windows 8 semble être descendu d’un étage, directement dans le kernel ; ce runtime pourra-t’il être aussi utilisé pour les apps Silverlight qui tournent dans le browser par exemple ?
  • Existera-t’îl un Market Place interne pour les entreprises qui souhaitent publier seulement leurs applications sur les devices d’entreprise ?
  • Mais où ai-je mis mes chewing gums ??

Plus de nouvelles demain avec le début de sessions !!

Qu’attendre de la BUILD?

No Comments

Me voilà enfin sur place pour l’évènement tqnt attendu sur lequel Microsoft n’a rien laissé filtré. Demain 9am Pacific Time nous devrions enfin savoir ce de quoi il retourne.

Il y a bien des pistes qui existent par-ci par-là (un bon résumé de celles-ci chez Clubic), mais en ce qui me concerne plus particulièrement, j’aimerai en savoir plus sur :

cette nouvelle plateforme de développement basé sur HTML5 et Javascript (qui je pense ne vaut que pour la nouvelle interface Metro),

de l’unité ou pas de cette nouvelle plateforme avec l’existant (.NET),

Quid de XAML em général ? Une équipe WPF semble bien présente dans les CORE teams travaillant sur Windows, cela signifie-t’il que la pile WPF sera redescendu plus bas au niveau du noyau pour être plus performante ? Et Silverlight dans tout ça après la « bourde » de Bob Muglia ?

Et enfin : Windows 8 ne vaudra-t’il pas pour une annonce de Windows Phone 8, ce qui équivaudrait à une plateforme HTML5 commune pour Windows 8 sur desktop + tablettes et aussi sur mobile…

plus d’infos dès demain !!!

Older Entries