Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

The Mit's Blog

En plus d'intégrer et skier, il sait même écrire !
(Blog de Renaud Comte)

Actualités

[Office 365] : Mais ou se cache la Content Search WebPart ?

Si il y a une WebPart bien attendue dans la communauté SharePoint 365, c’est bien la Content Search WebPart.

Au passage de ce premier post de 2014, j’en profite pour vous souhaiter tous mes vœux de succès, santé et de bonheur dans vos plans de déploiements, de carrières, de gouvernance et familiaux bien sur Sourire.
(Etant en plein déménagement, santé et scotch solide me suffiront encore pour quelque temps !)

Eh oui, comme annoncé depuis 2,3 mois, l’évolution naturelle de la “Content Query”, la WP couteau suisse de SP2013 est officiellement disponible sur Office 365 (Merci Christian H. du rappel)

http://www.scoop.it/t/sharepoint-by-christian-hougardy/p/4013345576/2013/12/28/content-search-web-part-is-now-available-in-office-365-microsoft-trends?hash=99310c7e-c158-424a-bfad-fb3c2d77283b

http://blogs.office.com/b/office365tech/archive/2013/10/29/search-innovations-for-site-and-portal-design-in-sharepoint-online.aspx

Cette WebPart dit “CSWP” est simplement formidable car elle répond enfin à une demande historique du monde SharePoint

Agréger facilement tout type de contenu de tout place de SharePoint

Soit :

  • du contenu multi collection et multi niveau
  • un modèle de requête puissant et accessible à un utilisateur aussi
  • un outil de template riche et simple : au revoir le CAML Rendering, bonjour JS

Vous trouverez nombre de TRES bon article sur sa configuration ainsi que les trucs & astuces associés sur le web, n’hésitez pas à la tester.

Comme :

Bref, c’est une WebPart presque incontournable, dommage de s’en passer quand votre site 365 ne vous la propose pas …

Certes, elle n’est disponible que pour entreprise E3, Education A3 & A4, Government G3, G4 et non profit E3. Mais voila, des fois, sur de vieux abonnements E3 de 365 … point de salue, cette WP n’est pas la

Certes, le temps que les déploiements se fassent globalement, vous pouvez être dans un tenant “old school” mais passé les fêtes, ce n’est plus vraiment hilarant.

C’est un peu le constat que je faisais sur notre abonnement E3, d’origine BPOS.
>>> Mais pourquoi la CSWP n’est pas encore arrivée …

Pourtant, je l’utilise sans soucis sur de nouveaux abonnement trial ou chez certains de mes clients …

Ne trouvant pas d’aide ni de réponse dans les forums ou les blogs, ayant perdu le reste de patience pour attendre un retour du forum 365, j’ai creusé et testé un peu.

A première vu la Content Search est bien la sur ma collection 365, la galerie de WebPart me permet de bien trouver la DLL : Microsoft.Office.Server.Search.WebControls.ContentBySearchWebPart.dll

image

Donc le tenant est à jour !
Mon esprit taquin de SharePointeur me dit que le soucis doit forcement venir d’un problème de déploiement ou de mise à jour de Feature. (un vieux classique non ? )

Je fait un dernier test : est ce que la CSWP est disponible sur différentes collections de mon tenant ?

  • Site collection d’origine BPOS, mis à jour 2013 : Non disponible
  • Site collection créée courant 2013 au format 2013 : Non disponible
  • Site collection fraichement créée : disponible !!!

Ma déduction semble juste. Seules les nouvelles collections ont la Content Search WebPart.

Je compare rapidement les features niveau collection de mes 2 sites, elles sont identiques.

Je touche au but. Il a suffit de desactiver / reactiver la feature de niveau Site Collection dite “Fonctionnalités de la collection de sites SharePoint Server Enterprise”  et miracle, la CSWP est enfin disponible !!! Rire

image

Plus de soucis désormais, mes sites collections sont “à jour”, il m’a suffit de 2,3 clics ou d’un peu de powershell + CSOM si vous avez plusieurs collections (Feature id : 8581a8a7-cf16-4770-ac54-260265ddb0b2 )

Ca y est l’année 2014 + SharePoint est bien démarrée.

Renaud Comte aka TheMit : Le déploiement … toujours le déploiement
Wygwam

Mots clés Technorati : ,,,,,
IE 11 & SharePoint 2013 : merci la retro compatibilité …

Que le temps passe depuis mon dernier post : toutes mes excuses mais je vais revenir ! Bientôt !

Sinon, comme beaucoup, après avoir vécu les joies de win 8.1 preview sur ma Surface RT (que j’aime bien), j’ai profité de mon WE pour mettre à jour tablette et Laptop Pro vers la release de l’update 1.1

Tout s’est passé comme un charme à 2 détails prés

  • Refaire la config réseau d’hyper-V : le pont réseau semblait cassé…
  • Découvrir que IE11 avait des soucis avec SharePoint 2013 et O365

image

Oui oui, j’ai même du finir une démo de POC chez un client sous Firefox. Pas vraiment grave mais intérieurement je bouillais/pleurais.

Constat simple : le JS et l’injection Html des menu SharePoint 2013 n’est pas vraiment sympathique avec la nouvelle mouture de IE sous win8.1..

Bon IE 11 a l’air sympathique avec une nouvelle “debug tool” barre dans le style metro mais quand même, en bon SharePointeur, j’ai besoin d’avoir un SharePoint fonctionnel pas moitié / moitié.

Exemple :

  • Impossible d’éditer les pages à WebPart…
  • impossible de paramétrer un WebPart en mode édition, l’entête de WP a disparu au profit du simple menu plier déplier….

 Triste

image

Au lieu de

image

“Oui ca m’énerve” comme dirait Helmut

Heureusement, il y a un workaround : la retrocompatibilité de IE

  • Sous IE, Alt + T sur votre page SharePoint
  • Choisissez le menu de retrocompatibilité

image

  • Rajoutez votre extension de domaine (sharepoint.com pour O365 par exemple)

image

  • vous pouvez fermer et rafraichir votre navigateur

Alternative … utilisez Firefox aussi Sourire

Bien à vous et pensez à vos pneus neige

Renaud Comte aka TheMit : Heureusement il y a FF pour SP Sourire
Wygwam

 

Office 365 : mise à jour discrète des Office Web Apps … Attention

Une des promesses de Office 365 est en train d’arriver : soit une mise à jour continue de vos tenants pour être le plus en phase avec la dernière version des technologies Microsoft.

J’ai constaté, un peu par hasard, lors de ces dernières semaines que la migration des sites SharePoint online devenaient une question de jours.

Preuve en est ces nouveaux menus dans les Site Collections.

image image

Certes, nous n’avons pas de date précise. Seuls les nouveaux client O365 sont sous SP2013. Les autres devant attendre … (n’est ce pas Arnault Clignement d'œil)

Mais ce n’est pas forcement le cas de l’ensemble des services

Depuis 3-4 semaines, nous avons l’opportunité d’utiliser les nouvelles Office Web Apps avec leur nouveau moteur de rendu et son interface plus proche de Word

image 

idem sous Excel et PPT

Sympathique non ?

>>> Pas forcement, car ca peut être avec douleur …

Je m’explique.

En me connectant sur un tenant d’un de mes clients, j’ai remarqué que les nouvelles Office Web apps ne sont pas encore “globalement” déployés. Pas vraiment une surprise, c’est une sacrée tache mine de rien

Donc nous avons accès aux anciennes :

image

Certes, la fonctionnalité est toujours la mais il y a un vrai impact au niveau SharePoint

>>> avec les nouvelles Offices Web Apps, il n’existe plus de Feature au niveau Site Collection, vu que c’est devenue un service partagé …

Au revoir

image

Eh oui la Feature n’existe plus sur les tenants 2010 avec la maj

image

En quoi est ce un problème ?

Oh presque rien Clignement d'œil. Si jamais vous avez créez ou installez des templates de site, ceux ci vont simplement ne plus fonctionner !!!

Preuve par l’image …

image

Eh oui et la fameuse Feature {e995e28b-9ba8-4668-9933-cf5c146d7a9f} c’est MobileExcelWebAccess qui fait partie des Office Web App …

donc plus moyen d’utiliser feu vos modèles.

Les solutions ?

Disons les “workarounds”. Le soucis vient du fait que le template de site WSP intègre aussi les features de niveau collections au moment de sa génération.

  • solution 1

Il suffit d’avoir des instances “vierges” de ces modèles, idéalement dans une banche de votre collection réservé Administrateur. Ainsi vous pouvez régénèrerez les templates puis remplacer les anciens par les nouveaux

Easy Sourire mais il vous faut des instances vierges, ce qui est rarement le cas vu que les templates existent … Donc  pensez y !!!

  • solution 2

Vous importez depuis Visual Studio les WSP pour modifier leur fichiers onet.xml

Soit recherchez le GUID : e995e28b-9ba8-4668-9933-cf5c146d7a9f et vous trouverez le dit fichier

Vous supprimez toutes les références aux Offices Web apps

<!--MobileExcelWebAccess Feature-->
<Feature ID="{e995e28b-9ba8-4668-9933-cf5c146d7a9f}" Name="FeatureDefinition/e995e28b-9ba8-4668-9933-cf5c146d7a9f" />
<!--MobilePowerPointViewer Feature-->
<Feature ID="{893627d9-b5ef-482d-a3bf-2a605175ac36}" Name="FeatureDefinition/893627d9-b5ef-482d-a3bf-2a605175ac36" />
<!--MobileWordViewer Feature-->
<Feature ID="{8dfaf93d-e23c-4471-9347-07368668ddaf}" Name="FeatureDefinition/8dfaf93d-e23c-4471-9347-07368668ddaf" />
<!--PowerPointServer Feature-->
<Feature ID="{5709298b-1876-4686-b257-f101a923f58d}" Name="FeatureDefinition/5709298b-1876-4686-b257-f101a923f58d" />
<!--PowerPointEditServer Feature-->
<Feature ID="{738250ba-9327-4dc0-813a-a76928ba1842}" Name="FeatureDefinition/738250ba-9327-4dc0-813a-a76928ba1842" />
<!--WordViewer Feature-->
<Feature ID="{1663ee19-e6ab-4d47-be1b-adeb27cfd9d2}" Name="FeatureDefinition/1663ee19-e6ab-4d47-be1b-adeb27cfd9d2" />
<!--OneNote Feature-->
<Feature ID="{3d433d02-cf49-4975-81b4-aede31e16edf}" Name="FeatureDefinition/3d433d02-cf49-4975-81b4-aede31e16edf">

    </Properties>
</Feature>
<!--ExcelServerSite Feature-->
<Feature ID="{3cb475e7-4e87-45eb-a1f3-db96ad7cf313}" Name="FeatureDefinition/3cb475e7-4e87-45eb-a1f3-db96ad7cf313" />
<!--ExcelServerEdit Feature-->
<Feature ID="{b3da33d0-5e51-4694-99ce-705a3ac80dc5}" Name="FeatureDefinition/b3da33d0-5e51-4694-99ce-705a3ac80dc5" />
<!--OfficeWebApps Feature-->
<Feature ID="{0c504a5c-bcea-4376-b05e-cbca5ced7b4f}" Name="FeatureDefinition/0c504a5c-bcea-4376-b05e-cbca5ced7b4f">
    <Properties>
        <Property Key="CANARYSITEKEY" Value="DnIwjLLiIqbmuK/Sv/oEVdNGWIStYTvOMkhTSPbqMQc=" />
    </Properties>
</Feature>

Et ensuite vous repackagez le tout sous un autre nom.

Vous reuploadez dans O365, créer un nouveau site et si tout est bon, vous pouvez supprimez l’ancien template désormais obsolète

Attention cette méthode n’est pas sur à 100%, j’ai eu quelques échecs …

Conclusion

Comme dirait un de mes collègues belges : “Mais pourquoi tout est toujours compliqué?”

Disons qu’il faut bien trouver des sujets pour poster des articles dans un blog Sourire

Mais en tout cas, un joli piège à loup, bien dissimulé dans les arcanes de O365 !

Bon courage avec vos tenants

Renaud Comte aka TheMit : Ahhhh 2013, version de tous les espoirs
Wygwam

[VS2012 & O365] Déployer une App sur 365 : Access denied …

Tout d’abord, mes meilleurs vœux pour cette nouvelle année 2013 avec SharePoint 2013 bien entendu.

Ce premier post de l’année est le résultat d’une recherche d’un comportement assez bloquant (et énervant) de Visual Studio 2012 lors du déploiement d’apps sur SharePoint.

En train de tester un peu de code et évaluant quelques bonnes idées trouvées sur Codeplex, je me suis retrouvé face à un mur : impossible de déployer mon projet sous 365 Preview : Access Denied

image Capture1

Petite remarque, si vous voulez tester et évaluer SP 2013 (ainsi que sa plateforme de dev NAPA/VS 2012) et que vous n’avez pas forcement temps et matériel, je ne saurais trop vous conseiller de vous créer un accès sur O365 Preview

Developer Site home page

http://msdn.microsoft.com/en-us/library/fp179924.aspx

Une fois l’accès ouvert, à vous les joies de coder en ligne votre apps via NAPA ou même de la récupérer / créer directement depuis VS 2012 (+ son tool ).

En plus tout se connecte, debug et se déploie comme par magie et facilement : les joies de la fédération d’identité

Ô rage, Ô désespoir ca ne marche plus !%?!
>>> et je ne plaisante pas. Impossible de retrouver la connexion vers SharePoint Online alors qu’elle marchait sans soucis depuis la beta.

Capture1

J’ai retourné forum et moteur de recherche, cherché en anglais, allemand et français, technet, msdn ou connect, rien de rien. mon VS ne veut plus “communiquer”.

Bon je peux toujours publier mon app en local puis l’uploader manuellement via l’interface du Site Developper mais bon … quid de la connectique et le build de VS 2012

Si jamais vous arrivez dans cette situation, vous allez vous sentir seul (du moins, nous serons 2).

Le problème : malgré avoir fermé mes navigateurs et purgé un peu tout, la fenêtre de connexion de VS vers SharePoint insiste à utiliser mon identifiant SP Online entreprise … (bien que je suis sur une session Win8 ouverte avec mon compte live)

Forcément, l’accès vers mon compte O365 Preview lui utilise un compte différent

En résumé : ma machine utilise 3 identités onlines MS : SP Online pour ma société, Live pour mon identité personnel et un dernier pour 365 preview. le tout se mélange

Le pire comme vous le constatez sur la fenêtre en capture, aucun moyen de vous “deloguer” ou de vous signer sous une autre identité … Juste Access Denied

Rien dans le event viewer ni aucune erreur en log. Aucun paramètre dans VS pour forcer une identité ni rien dans les fichier de config ou csproj pour influencer le tout …

Coincé de chez coincé (et bien sur, mes navigateurs sont fermés, toutes les sessions Web déconnectés …)

Puis une idée, simple qui m’a permis de revenir en mode normal. Mais quelle est l’adresse de cette fameuse page de connexion en erreur ? Du moins à l’appel !

Soit la solution

image

Lorsque vous lancer un “deploy” et que VS 2012 cherche à se connecter, une fenêtre modal apparait


>>> faites rapidement un clic droit dessus et grâce aux propriétés, vous allez pouvoir obtenir le chemin de la page de connexion

soit  : https://login.microsoftonline.com/login.srf?wa=wsignin1%2E0&rpsnv=2&ct=1357827682&rver=6%2E1%2E6206%2E0&wp=MBI&wreply=https%3A%2F%2FXXXXX%2Esharepoint%2Ecom%2F%5Fforms%2Fdefault%2Easpx&lc=4108&id=500046&popupui=1&cbcxt=mai&wlidp=1&guests=1

>>> cette page sous VS retourne directement vers la page en Access Denied ou vous restez bloqué

Capture1

>>> la même url depuis IE vous permet de vous signer autrement !!!!!

Capture2

Vous devinez la suite Sourire. Un fois bien identifié (avec l’option de maintenir la connexion),vous retournez sous VS, relancez  le déploiement sous VS2012 et tout remarche normalement

image

Tout simplement et sans stress, pas besoin de formater son VS ou son VHD

Bref, une fin digne d’un conte de Noël ou de l’agence Tout Risque (oui je suis un trentenaire assumé)

image

Renaud Comte aka TheMit : SharePoint m’aura bien un jour mais pas aujourd’hui Sourire
Wygwam

Mots clés Technorati : ,,,,,
[SPC12] How to develop Social Application with SharePoint

SPC-2012_thumb1_thumb_thumb_thumb2_t

Composants du moteur social

  • User profiles
  • Feeds
  • Following /follower
  • Search

P1040837

A user can follow a :

  • user
  • tags
  • documents
  • site
    • discussions

>>> tout reste lié à l’écosystème des utilisateurs.

P1040838

Le second step reste l’exploitation du reporting de cet écosystème : quel est le hashtag le plus suivi, le nombre de follower, …

Techniquement, c’est du classique 2013 Clignement d'œil : CSOM/REST vers notre cher _api

Attention : tout n’est pas autorisé par CSOM/REST

  • existence d’un user
  • créer / change / delete un user profile
  • poster au nom d’un tiers

P1040839

Demo du feed REST Api

  • utilisation d’un display template de recherche
    • soit un hover panel présentant le feed social
      • en pratique un appel CSOM sur le feed en async
      • petit truc : bien attendre le chargement du chrome du panel pour lancer la requête
  • développement d’un page html en layout : SP Post O Mati
    • first call : get the token
    • second  : get the feed
      • via _api/contextinfo
      • récupère le token de session user
    • permet de poster
      • les messages
      • les reponses
      • dans les infos locales ou globales

P1040840

P1040841

Demo du User Profiles REST Api

  • utilisation du profile pour récupérer l’id twitter
  • utilisation de JSONP et un fonction de transfert
    • affichage des twitts

Demo finale : Mix everything

  • App dans le Site SP
  • utilisation d’une libraire spéciale SP : Request Executor
    • appel externe avec gestion d’une identification spéciale
    • permet les cross domain queries Clignement d'œil
  • Principe de la cloche des ventes : a chaque vente dans le CRM, on le “sonne” à tous le monde via le newsfeed
    • on commence avec une simple page HTML
    • on l’intègre dans le CRM
      • soucis : CRM bloque les appels cross d …
      • en jouant avec les plugin de CRM + un compte Robot CRM dans les userprofiles.
      • A chaque win, mentions et feed sont alimentés !

Remarques du speaker

  • faites déjà marcher l’application avant de rentrer dans les détails
  • attention d’ou vous vous connecter au service
  • le choix de l’API et attention au mix
  • Apps reste le meilleur point d’entrée : bien sur

P1040843

Conclusion

l’intégration du social peut transfigurer ou humaniser vos applications. Le newsfeed de SharePoint sait le supporter et ses api REST rendent le tout vraiment faisable !

Au revoir à tous, il est temps de prendre l’avion Sourire et de retrouver mon petit motard à la maison et ma Za Clignement d'œil

Renaud Comte [MVP]
Live from Vegas

Mots clés Technorati : ,,
[SPC12] Migrating a WCM site

SPC-2012_thumb1_thumb_thumb_thumb2_t_thumb

Soit un site WCM classique avec gabarits, MP, search, sécurité et …

Une des sessions au rythme le plus élevé, j’ai vraiment du mal a suivre et prendre des notes mais le sujet est fort bien présenté,… juste un peu trop vite Sourire

Attention aux changements

  • Claim Based: move to windows claims
  • Search : everything change
  • pas d’in place upgrade

P1040829

Pourquoi migrer ?

  • consolidation avec SP2013
  • dépasser les limites de 2010
    • performance
    • nouvelle fonctionnalités

Migrer demande du temps et de la préparation !
>>> tout dépend de comment vous voulez migrer : avec ou sans historique et son reclasssment

Faire l’inventaire

  • code et WSP
  • wireframe et design
  • content and SPECS
  • Migration goals and objectivs

P1040830

P1040831

P1040832

P1040833

Scenario de demo

  • Phase 1 : just move
  • Phqse 2 : new feature
  • Phase 3 : evolve

Phase 1

  • script de migration de la DB
    • site 2010 toujours en ligne mais sans 15 expérience
      • le 14 et 15 “hive“ sont toujours en ligne !
    • Upgrade 15 by Site Settings
      • Attention , il faut avoir préparer la nouvelle Master Page 15 ready
  • préparer un MP next gen
    • intégrer les nouveaux composants : merci SPDesigner Manager
    • nouvelle navigation : metadata Nav
    • conversion automatique du html en .master
  • Navigation MMS
    • update the MMS Service by PS
    • activer les features de taxonomie et Metadata
    • site settings : preciser la navigation par Metadata plutot que structurel
      • pointer le Term Set dédié à la nav
  • Publishing Cache
    • ajouter le portalsuperuseraccount et le portalsurperreaderaccount en full control dans les Web policies
    • sinon soucis en event viewer Sourire

P1040834

Au besoin, la référence

http://technet.microsoft.com/en-us/library/ff607742.aspx

Conclusion

It works ! Mais comme le rappelle le speaker : prenez du temps pour évaluer et préparer, une migration est et restera toujours une opération traumatisante Clignement d'œil

Renaud Comte [MVP]
Live from Vegas

Mots clés Technorati : ,,
[SPC12] How to build a real Helpdesk Solution with SP2013

SPC-2012_thumb1_thumb_thumb_thumb2_t_thumb

Une session de feu même par le SP Cowboy : Eric Schupps

P1040801P1040807

Prenant le scénario type d’une solution trans entreprise : le helpdesk, cette session veut présenter le cycle de production complète d’une vrai application d’entreprise à base de SP2013

  • Spécification
  • Design
  • coding
  • Packaging
  • Security Premise/Cloud 

P1040806P1040811P1040812

le message de la session : You must unlearn what you have learned !

SP2013 avec le App cloud model impose une nouvelle réflexion dans la conception

techniquement :

  • UI (JS)
  • Auth
  • WCF
  • REST
  • Office (si si)
  • Phone

En terme de donnée :

  • Azure SQL DB
  • WCF Services
    • remote to call Azure SQL
  • Entity Framework
    • ce discute mais permet de s’affranchir de bien de code de “plomberie” SQL
  • JSON
    • votre nouveau meilleur ami
  • Asynchronous

P1040808P1040809

P1040814

P1040816P1040819

Développement Web : tout un problème de contexte

il faut déjà déployer : soit 365 : simple ou On Premise : plus lourd, il faut configurer le S2S High Trust

En mode remote sur Azure , on voit bien passer les token via fiddler : SPAppToken si on

L’application est riche en fonctionnalité : interactif, chargement de KB, carrousel GEO des intervenantm drag and drop, …

L’inscription de votre App demande toujours de générer un App Principal

Truc & astuce

  • Au niveau de vos appels, pensez bien à profiter des tokens spécifiques d’url pour trouver les url de contexte en REST
  • Attention, les scopes sont deprecated
    • en REST, une recherche doit utiliser le source ID et non le source Name de votre indexation
    • d’ou le GUID pour l’appel de People search

Le developpement d’Office App devient aisé !

  • toujours le même principe d’app avec manifest, remote et JS pour l’implémentation
  • attnetionm il faut faire une conversion du JSON en Array Office pour manipuler les données plus aisément 

Mobilité

  • dev mobile classique à base de MVVM
  • les appels REST sont les mêmes
    • mais conversion du JSON en array pour la manipulation des datas ….

Packaging aka Manifest mon ami

Testing

  • it’s a challenge !
  • lot of effort for JS
    • fiddler estmon ami
    • Typescript

On Premise

  • Complexe, vraiment et lourd
  • Mais incontournable
    • Assez difficile to make ACS et OAuth on Premise
    • oblige MS à proposer un mode différent : S2S
      • Ou sinon, configurez un private cloud : encore plus complexe si cous en avez pas les besoins
  • La config des certificats touche les serveurs SP ainsi que les config des app
    • beaucoup de PS
  • vos applications sous S2S impose NTLM
    • il faut une identité Windows : pas le choix

P1040823

P1040825P1040826P1040827

O365

  • Dev / MarketPlace / Catalog
  • Developper Site
  • SSL
  • Registration
  • Parameter
  • Permission

Azure

  • Database
    • Preparation
  • Web
    • Web Site
    • Web Role
    • VM
  • Autohosted
    • some limitations
    • pas vraiment le modèle a conseiller si vous avez besoin de montée en charge
      • Préférez le host Provider avec un package Azure classique

Petit truc (voir enorme):

  • en testant la présence du ClientToken dans le host URL, vous pouvez savoir si il est vide aue vous êtes on premise ou cloud  Clignement d'œil
  • Ainsi votre App fonctionne Premise et Azure et vous ne travaillez que sur une seule version de l’application

Conclusion

Un immense bravo au travail préparatoire de cette demo, un véritable showroom de comment penser et déployer une app SP2013 complète de A à Z

Clairement un changement de philosophie à faire pour le futur

Renaud Comte [MVP]
Live from Vegas

Mots clés Technorati : ,,
[SPC12] SharePoint et le Multilingual

SPC-2012_thumb1_thumb_thumb_thumb2

image en upload

Ahhh enfin une session que j’attend avec impatience et hargne à chaque SPC : la gestion Multilingue

De tout temps un sujet polémique sous SP, voyons ce que propose la nouvelle version Sourire.

Petit rappel sur le principe des variations
>>> maintenant elles sont focus uniquement sur le multilingue

What’s new

  • Translation
  • increased breadth scale and speed
  • More control overs sync
  • integration with search driven

Performance

  • 50% de temps en moins si ajout d’une langue
  • si erreur, la variation ne recommence plus du début¨
  • labels max :
    • 209 Premises
    • 50 sur Online

Get your content where you need it

  • contrôle centralisé
    • content avaliable everywhere
    • update to content appear automatically
  • Distributed
    • select the target

Demo

  • translation option
  • Variation settings
    • update behavior

P1040772

P1040773

P1040774

Désormais (enfin), les variations gèrent :

  • Document libraries
  • Annoucement list
  • Generics list

Demo de traduction live d’une news ainsi qu’un document word

Managed Navigation

Chaque Target posséde un Nav Term Set associé
>>> il supporte

  • traduction
  • url friendly
  • SEO properties
  • plus besoin de pack de langue (traduction à la volée ?)

P1040777

P1040778

P1040781

Translation

  • Secure connection to MS translator via SSL
  • Fidelity
  • Extensibiliy
    • OM /  CSOM
    • custom libraries via le MS Translator Hub peut se connecter sur la SP Translation Machine

A noté que tout est traduit dans l’interface d’un site FR contenu, nav et url mais pas l’interface de gestion ??? Il faut ne pas oublier le MUI Sourire

La traduction humaine est aussi possible heureusement via le support des normes XLIFF (package de traduction en norme Oasis et supporté par de nombreux outils de traduction)

  • le ruban permet d’exporter le package ou de l’uploader

P1040784

P1040786

Recap

  • perf ++
  • better control on synx
  • list support
  • managed navigation
  • translation integration
  • human translation via XLIFF

Content where you want

Forcement lié au moteur de recherche du WCM sous SP2013

P1040787

>>> Create once use often

P1040789

Vous pouvez distribuer le contenu et les reutiliser. Par exemple, partager l’historique de la société en US mais avec les contacts canadiens locaux.

Demo

  • elle repose sur la distribution du contenu via les catalogues de contenu
  • une alternative serait d’utiliser la CSWP pour aspirer le contenu

En ce qui concerne les menu de Switch de langue, il n’existe pas de contrôle dédié mais un OM/CSOM existe pour l’implémenter au besoin

Conclusion

Enfin, un système de traduction a été rajouté gérant le SSL ou l’export XLIFF.

Beaucoup de soucis sont effectivement comblés via l’aide des nouveautés de SP2013 via le Search et la Metadata Navigation. Sans parler bien sur des gains en performance !

Comme le cross site publishing, le multilinguisme dépend d’un savant agencement des options du WCM de SP2013

Renaud Comte [MVP]
Live from Vegas

Mots clés Technorati : ,,
[SPC12] Deep Dive in SharePoint ECM Dev

SPC-2012_thumb1_thumb_thumb_thumb2_t[1]

image en upload

Après tant de session orienté WCM, JS, Search, je ressens le besoin de revenir à mes racines ECM, voyons donc

Soit :

  • Document Management App
  • Opportunities from the cloud
  • Different Host and Trust scenario

Soit une simple liste documentaire “Spec Library” avec des Document Set “Product Backlog”

P1040769

Scénario 1

  • APP
    • Event Receiver to populat fields
    • Client Web Part to display data from TFS
  • will be hosted in Azure
    • or anywhere else if you want

La demo vas reposer sur un Remote Event Receiver (avec OAuth sur Azure ACS )

P1040770

Event Receiver

Soucis : on ne peut utiliser le WSP elements.xml pour le déployer
>>> on utiliseras les receivers et le CSOM pour l’enregistrer

On put profiter de l’ensemble des nouveautés du CSOM via le ClientContext mais surtout sur les nouveaux objets couvrant aussi bien la taxonomy que les config de fiedls
>>> pour rappel, le CSOM SP2010 n couvrait que les listes et la config de SPF, rien de ce qui concernais SPS (ECM, WCM, … dommage)

Client WP

Petit rappel : il ne s’agit d’une simple Iframe vers une host page

Pour connaitre l’item en cours de traitement, il faut requêter la parent page via JS pour obtenir l’ID

la suite de la session est du code de haut vol entre REST sur SP et TFS

Difficile de suivre surtout vu le rythme imposé pour tenir le délai

Le speaker insiste sur l’ensemble des possibilités d’extension qu’offre le App model avec le cloud et ou le corporate store

P1040771

Difficile de dire le contraire mais le message est complexe vu le High Level du code fait en moins d’une heure

Un peu dommage mais le résultat : un document Set interagissant avec TFS via un endpoint Azure laisse imaginer bien des solutions.

Renaud Comte [MVP]
Live from Vegas

Mots clés Technorati : ,,
[SPC12] JS Client Side Rendering

SPC-2012_thumb1_thumb_thumb_thumb2_t[1]

Restons sur la thématique du développement Javascript. Client Rendering ou comment remplacer le rendu des champs de liste via JS

Une session ne comportant qu’un seul slide à priori : du Client Side, MDS, Odata

La session commence par une revue du _api et de l’affichage de retour via json et odata

P1040751

  • Démonstration avec fiddler de la feature MDS : Minimum Download Stategy
    • la navigation dans le site montre une diminution énorme du trafic
      • tout fonctionne par delta
      • plus de full reload de la page
  • Utilisation du JS Link des listviewWP
    • ajout d’un template remplaçant le current item rendering
      • ajout d’un site bold sur le title
      • advance : call REST sur une liste d’image et injection d’une vignette dans le rendu de la liste
        • simple et terriblement efficace
        • clin d’oeil Old School : concaténation et XmlHttp

P1040754

P1040755

P1040757

Avec cet ajout de js, on peut overrider n’importe quel rendu de liste sans aucun hack particulier !!!
>>> sans forcement devoir passer par la XSL et ou SPD Sourire

Ce fameux paramètre JSLink existe aussi dans la définition d’un Content type dans la déclaration du Field

Exemple venant de CKSScript.codeplex.com

il suffit d’ajouter le CT à la liste de demo et un simple champs texte devient un drop down avec un control de saisie en edit ainsi qu’un render particulier

P1040758

http://blog.aptillon.com/2012/10/12/custom-field-types-in-sharepoint-2013-apps/

La même technique du JSLink peut être utiliser dans un custom field type par simple changement dynamique du param : soit un control complet du render via du JS en edit et en render

>>> aka MicroRendering

P1040762

Demo

  • Ajout d’une MAP view
    • JSlink pointant un autre render template
    • Server Render : la compo html se fait coté serveur désormais

SP2013 permet de Controller finement via JS le rendu de ces valeurs avec ou sans le MDS

Dernière demo bonus

  • les display template de recherche
    • utilise un html avec des tokens _# #_
    • on peut aussi utilise le js sur le current context comme pour les JSLink et interagir sur le rendu du template
    • conversion dynamique du html en template JS

P1040766

Conclusion

Enfin un contrôle fin sur les champs avec toute la puissance du JS et Rest sans les problèmes de déclaration de custom field types : Merci

Surtout ca ouvre de sacrée possibilité comme injecter un player video dans un liste de lien , non ? Sourire 

Renaud Comte [MVP]
Live from Vegas

Mots clés Technorati : ,,
[SPC12] TypeScript & SP2013

SPC-2012_thumb1_thumb_thumb_thumb2_thumb_thumb

une session animée par un MVP et un PM : ca promet …

la session est orienté développement javascript mais pas de centaine de lignes de JS mais de centaines de millier de JS et comment survivre voir performent dans de tel développementP1040744

 

JS devenant un pilier du dév SP 2013, cette reflexion n’est pas inutile non ?

TypeScript est un projet open source de Microsoft servant de compilateur JS pour résumer rapidement

>>> Vous écrivez un code JS plus structuré : typé, module, héritage,classe qvec constructeur, structure, … et Typescript vous génère le code Js équivalent tout simplement (en appliquant au passage les patterns Js les plus recommandés )

P1040745

Et il indique les erreurs d’exécution/compilation en live comme sous VS en C# si vous préférez

D’ailleurs Typescript existe en éditeur Web ou en plugin VS2012 : à vous de choisir Sourire.

Voila pour les grandes lignes : prometteur non ? De quoi vous faire aimer le Js si vous êtes un codeur C# stricte non ?

En pratique

Typescript repose sur 90% sur le langage JavaScript, les différences viennent juste des rajouts de Typescript
>>> vous n’êtes pas perdu, loin de la. vous pouvez même réutiliser rapidement votre code existant

Nouvelle options de Dev de SP2013

Le App cloud Model pousse clairement à l’utilisation massive de JS que ce soit pour le traitement via CSOM ou le client side pur et dur

P1040746

le modèle de dev SP2013 tient particulièrement compte des soucis de Cross Scripting : soit toute la problématique d’authentificaion et d’autorisation des Apps avec OAuth et S2S

Demo

  • SPREST est une librairie TS pour VS2012 et SP2013
  • une Target de build permet la conversion TS/JS à la compilation (heureusement Sourire)
  • SPRest est basé sur le pattern Promises (JQuery Deferred Object)
    • les cascades longues de call async deviennent quasiment lisible et gérable

P1040748 

  • Exemple : commentaires des videos dans un liste SP
    • soit un App SP Menu (custom action)
    • Ajout du SPREST.JS et du Default.js (resultant de la compilation TS)
      • ne pas oubliez les références au fichier TS pour l'IntelliSense
    • en ce qui concerne le vrai code TS
      • il est largement simplifié par
        • la structure de TS
        • la gestion de SPREST des appels
  • Typescript in your project

    il suffit de laoder le projet dans VS et de préciser la target du TSCompiler : done

    P1040747

    Ces techniques de dev sont aussi disponibles pour les Office Apps (JS + Office JSOM + XML manifest)  

    Demo

    • réutiliser les commentaires des videos dans un task pane d’Excel

    Conclusion

    L’utilisation de TypeScript face à JS dans le cas de dev advance d’app full JS CSOM a une vrai plus value

    Effet Waoh pour mon coeur de développeur C# dans un monde plein de JS

    Clairement, un de mes prochains projets d’investigation : au même niveau de KnockOut

    >>> si KO et le MVVM me rend le JS sympathique, Typescript peut, je pense, me rassurer face à mes habitudes cartésiennes de dev C#  sous VS 2012 (et gagner en productivité et qualité non ?)

    Dixit Robert Bogue : Why JavaScript Makes Bad Developers

    I need to end with a call to continue to learn and grow. Whether JavaScript is the right answer for you – or not – exploring new techniques, tools, and approaches are a good thing. In another old article, "The Great Divide", I talk about how people get stuck by not seeking out new and better ways of doing things. I'm not suggesting that you don't do JavaScript development or you ignore the changes that are happening in our marketplace. Instead, I'm advocating that you go in eyes wide open – and that you look for ways to minimize the pain. Right now, as it comes to JavaScript the way I'm looking at this is through TypeScript.

    Renaud Comte [MVP]
    Live from Vegas

    Mots clés Technorati : ,,
    [SPC12] Branding On Premise and Online SharePoint Site

    SPC-2012_thumb1_thumb_thumb_thumb2_thumb

    Enfin, une petite session sur le Branding SP2013 avec Randy Drisgill : le papa de la starter master page 2010
    Nous dirons une personne digne de confiance Sourire
    P1040727

    La session vas évoquer 3 niveaux de branding : low / medium / high / effort

    Branding :

    • symbole de qualité
    • concerne l’esthétique du site
      • Master, page, layout, css, image

    Rappel : même le plan de base sous 365 possède un site publique

    SP2013 introduit un niveau intermédiaire de design en terme d’effort
    >>> vous n’êtes plus obligé de forcement reprendre toute la Master grâce au design Manager

    P1040729

    Page editing est similaire à SP2010 : peu de surprise

    Le moteur de theming est proche de celui de Wordpress : simple et très visuel

    P1040730

    • vous pouvez changer les thèmes  de couleurs rapidement en ligne
    • drag and drop le logo ainsi que l’image de fond : nice

    P1040731

    Design Manager

    la nouveauté : ease of branding & design
    >>> permettre au designer classique de charter un SP

    Disponible pour SP Server for sites avec Publishing

    Le Snippet Manager permet de générer des samples SP prêt a l’emploie pour préparer votre propre Master
    >>> comme un schéma prêt a coller

    P1040733

    • il peut aussi générer les packages en autonome
      • MP, Css, image, …
    • peut être importer facilement
    • simple sandbox solution

    Demo

    Petit truc : mapper votre MPGallery à un drive

    P1040734

    • Upload une charte HTML complete avec image et css
      • Changement de classement face à SP2010
    • Lancement de Design Manager depuis le site action (outil web si si)
      • sélection de la Page html en draft
      • conversion live en MP
        • attention, votre charte doit être xhtml !
      • il faut ensuite placer les PlaceHolder
        • avant, ne pas oublier de publier la charte !
    • menu Snippets
      • sélection des composants SP basiques
      • toutes ls propriétés sont accéssibles
      • génère le code html du composant
        • il ne vous reste plus qu’à l’injecter dans votre Master généré via le share drive
        • Sauvegardez
          • vos modifs de master sont en ligne !
          • WAOH
          • il ne reste plus qu’à retoucher si besoin

    P1040736

    P1040737

    CSS

    • Corev15 a encore grandit
    • FF Firebug / IE Tool sont vos meilleurs amis
      • il suffit ensuite de modifier votre CSS dans le drive et rafraichir

    SharePoint can really look like what you want now 

    Full branding

    Ne jamais oubliez un véritable Test & QA

    P1040738

    • Attention,
      • sous SPF ou sans Publishing : pas de Design Manager
      • si MDS activé : il vous faut une Custom Master
        • Minimal Download Strategy

    le Design Manager ne remplace pas la refonte complète d’une master vierge mais dans 80% des cas, il peut être une vraie alternative a considérer

    P1040739

    Dans le cas d’une refonte profonde et complexe : il y a toujours
    >>> la démarche est quasi la même : à vous de manipuler les contrôles

    WCM

    la nouveauté :  la Content Search WebPart

    O365

    Chaque plan proposé possède un site public

    Une toolbar permet d’accéder aux principaux composant graphique et de les éditer online comme une page de publishing

    P1040741

    Si publishing activé, le design manager est aussi disponible !

    Conclusion

    L’arrivée du Design Manager change le donne et rend enfin accessible le charting SharePoint

    Imaginer donc qu Notepad ++ et autre éditeur Adobee sont enfin possible et recommandé !

    Mais attention un charting avancé demandera toujours une bonne connaissance de SP2013 et de ces contrôles : à vous de pondérer le besoin réel

    Renaud Comte [MVP]
    Live from Vegas

    Mots clés Technorati : ,,
    [SPC12] Securing SP Apps using S2S high trust on Premise farms

    SPC-2012_thumb1_thumb_thumb_thumb_thumb

    Enfin une session avec le fameux Ted Pattison mais surtout sur un sujet peu voir pas couvert sur la SPC …
    >>> le développement d’apps en Provider Host sur Premise

    Ou si vous préférez : “comment coder en ASP.Net C# une app sur mes serveurs Premise”

    En effet, SPhost vise SharePoint et AutoHost la version 365/Azure Cloud.

    Question : Comment profitez du App model dans le cas de SharePoint On Premise ?

    Une seule réponse le Provider Host et pour sa sécurité : le S2S High Trust
    >>> Cette session étant la seule à l’évoquer, j’y suis présent Sourire et au premier rang

    Go : la session est présenté comme Hardcore par le speaker

    Peu d’It présent à la session mais surtout des Devs ayant bien pratiqué la beta
    >>> soit les seules pouvant comprendre le titre et le sujet de la session

    Problèmes de sécurité sous SP2010

    Code in farms solution need to be full trust, code run

    • as current user
    • as God account : SharePoint/System

    Code in Sandbox : code use the current user permissions / no way to elevate permissions

    >>> Microsoft need to found a new model to allow App Model developement

    So bad : l’alarme de l’hotel vient de se déclencher …. 10 minutes de flash light et d’alarme plus tard, nous reprenons

    P1040662

    Authentification & Authorisation

    • SP 2013 supporte
      • user authentification et app authentification
      • configuring permissions for user and apps

    Désormais, les utilisateurs sont identifiés par Claims : plus de classic mode (sauf en PS )
    >>> les apps ne marchent que sous Claims security

    App authentication

    il y a 3 types d’authentification des apps

    • internal
    • external using OAuth
    • External with S2S

    Apps Architecture

    • SP Hosted Apps
      • App stored in a child site as app web
      • only client side code
    • Cloud Hosted
      • deployed as remote web
      • client and server code allowed

    P1040667

    S2S High Trust 

    Trust connection between app and SharePoint

    • eliminate the need for ACS
    • trust use SSL certificates
    • App use the private key to require access
    • requires Security Token Service on SP Server(s)

    OAuth is only working with O365

    P1040669P1040669

    Ce mode a été proposé en certification à la certification OAuth mais ce n’est pas encore finalisé à priori, il faut cependant définir un mode de trust secure pour des serveurs On Premise a la différence d’O365

    Architecture

    P1040670

    Configuration

    • PS of course + admin configuration
    • Developper need to use TokenHelper class to access S2S token
    • each SP server has to be configured
    • S2S App need also a App Principal

    P1040671

    P1040672

    La configuration reste assez complexe vu qu’il faut une certaine maitrise des problématiques de certificats et des tokens

    La seule bonne nouvelle est que VS 2012 gère au moins la partie enregistrement de vos Apps S2S

    En ce qui concerne le TokenHelper, il y a un piège : il ne gère que le NTFS, vous devez en implémenter vous même si vous utiliser du FBA ….

    P1040673

    la solution VS pour du S2S demande de bien configurer l’ensemble des token id et client id dans le web.config afin de permettre l’authentification

    Conclusion

    hum hum difficile d’être optimiste en ce qui concerne un développement d’App on Premise. la plomberie de configuration demande un vrai investissement de paramétrage et de compréhension

    Souhaitons tous que Microsoft finisse une documentation ainsi qu’une suite de PS clé en main ou la seule solution de faire des Apps sur du Premise sera en JS et SharePoint Host

    Si vous êtes curieux, la session et le code est sur le site Critical Path section member : petit conseil, lisez le bien et faites vous votre avis

    Renaud Comte [MVP]
    live from Vegas

    Mots clés Technorati : ,,
    [SPC12] Step by Step Search Driven application

    SPC-2012_thumb1_thumb_thumb_thumb

    Continuons sur la dynamique de recherche surtout avec Scott Hillier Sourire 

    Soit les briques pour construire tout type d’application sur le search SP aue ce soit Premise ou Online

    Search = Data Access Technologies

    P1040637

    • meilleur outil pour aggréger l’ensemble des données d’un utilisateur
      • comme toutes les taches ou schedule par exemple
      • plus puissant aussi
    • soit le tools 2013
      • CAML and CSOM
      • REST
      • Search
    • au revoir SiteDataQuery et Linq for SP (les modes passent décidemment)

    Managed properties

    • mapped toc rawled properties
    • Site columns sont automatiquement déclarés comme Managed properties
      • Publishing : ows_r_ 4 lettres
      • metadata : ows_taxid
      • all the other : ows_q_4 lettres

    Keyword syntax

    • Fast syntax is not more a good advice, it’s become uncool … Sourire
    • learn some keyword tips like
      • FileExtension:docx
      • lastname:c*
      • apps near SharePoint
      • ContentClass:STS_List_Item_Events

    Demo

    P1040651

    • revue de sample de recherche utilisant des urls de query language
      • No code !
      • just a links list !
    • Xrank to boost some result
      • like Docx but without ignore PPT
    • WORDS()
      • permet de définir des équivalences comme REST et sa definition

    Building Blocks

    • Result sources
      • like scope
    • Query Rules
      • alters query under given conditions
    • Result Types
      • determines result render
    • Search Navigation
      • tabs for navigation

    Nous pouvons enfin exporter et importer l’ensemble des la configuration du search
    >>> enfin la gestion de dev/recette/Prod est facilité …

    No code search solution

    P1040654

    • CSWP : gérer les “upcoming event”
      • query : fixed query rules
      • display : list & detail in 4 lines
    • search tabs
      • My events : reuse the query rules and the display
      • My Tasks
      • My teams
      • My documents
      • My portals

    Microsoft a vraiment fait un lourd investissement dans la boite à outil de recherche

    • Result source
      • are reused in navigation tab or the CSWP
    • Result types
      • define some conditions
      • define the display template url
      • just some html, js, css and some token
        • bye bye ugly XSLT
    • Query rules
      • change dynamically the query of the user based on condition
      • like
        • training : force sur le path d’une liste dédié au training

    REST and CSOM

    N’oublions pas nos amis les développeurs : quand même Clignement d'œil

    Restful is the best investment : _api/search/query?querytext=’   ’

    P1040656

    N’oublions pas les couples JS/CSOM ou CS/CSOM aussi au besoin ou CS/REST (un peu moins consistant)

    P1040659

    Demo

    • A to Z People directory
      • REST for small letter search
      • just surface the my site
      • Permissions
        • you have to trust
        • some specific permission about user context or not

    P1040658

    • SharePoint App : document app
      • the app page reuse the WP from the classical search interface
      • or use a dedicated look like A to Z list

    Conclusion

    Jamais la boite à outils du moteur e recherche n’a été si remplie : il ne reste plus qu’à en profiter et ce depuis tout types de périphériques ou interface, SP or not !

    Renaud Comte [MVP]
    live from Vegas

    Mots clés Technorati : ,,
    [SPC12] : Overview of Search Driven Web Sites and Cross Site Publishing in Detp

    SPC-2012_thumb1_thumb_thumb

    Session dans la mouvance actuel du Content Search et le WCM.
    Petite originalité, une session  indepth & overview, nous verrons bien

    Avantage du nouveau modèle

    • l’actuel est bien, pas de soucis avec le publishing tel que l’on connait et qui fonctionne
    • le nouveau permet de s’affranchir de certaines limites connues du WCM actuel
      • séparation des Site Collections
      • élimine les problèmes de goulot d’étranglement des listes
      • Publishing flexible et dynamique
      • Séparation présentation & storage

    P1040626

    • Ce n’est pas une question de recherche de contenu mais savoir si le contenu est prêt a être chercher et remis en page ou en avant
      • en pratique
        • le crawler indexe le SP content et les datas externes
        • la recherche travaille directement avec la couche de publishing
          • votre site devient l’interprétation d’une storyboard de contenu basé sur des query rules contextuel
          • WCM devient SP Story Telling

    P1040627

    • Component
      • Content Search WP
      • Display Templat
      • Query rules & Builder
      • Content Catalog
      • Managed Navigation

    Soit donner un skin à des résultats précis comme un diaporama pour des images ou une grid pour des documents

    niveau performance, les pages SP ne sont appelés qu’une seule fois … lors de l’indexation. Lors de la  partie Web, il ne s’agit que du cache du moteur de recherche

    Content Search Webpart

    Ces avantages et qualités sont contre balancés par le seach index lag … Mais les ajouts de Fast au moteur SP l’ont largement amélioré : performance, live crawl, ….

    le soucis peut provenir si le créneau de mise en ligne de contenu est < 2 secondes.
    PS : même dans ce cas, vous aurez bien d’autre soucis à gérer pour une telle disponibilités non ?

    Demo

    • utilisation de la content search WP
      • Query Builder
      • Refiner tab

    Display templates

    Des gabarits HTML de rendu des résultats réutilisables

    P1040630

    Vous pouvez laisser les query rules aux gestionnaires de contenu et déléguer les display templates aux équipes de communications, tout simplement.

    A noter que vous pouver définir des rules globales reutilisables dans les Content Search WP (et les personnaliser…)

    Content Catalog

    Nouveauté :

    1. activer & créer du contenu dans une liste
    2. indexer
    3. connecter et présenter son contenu comme catalogue/source

    P1040631

    • disponible cross farm !
    • juste un param de liste ou de library
    • linked to the Metadata Navigation

    Managed Metadata Nevigation

    Enfin une navigation indépendante de la structure et de la hiérarchie de SharePoint. Elle s’appuie sur le plan de classement défini pour le site

    • plus flexible
    • contextuel
    • global
    • et au cas ou, plus de “pages” dans les URLS !!!!

    Chaque point de la navigation peut exploiter un catalogue de contenu

    P1040632

    Cross Site Publishing

    What is it ? un peu tout a la fois
    >>> un mixte de toutes les nouveautés de WCM 2013

    P1040633

    Create content in a authoring site and use it in any SP publishing environment

    • require
      • Publishing feature
      • Catalog
      • same index service for every SP site
    • do not replace content deployment

    P1040635

    P1040634

    Est utilisé aussi pour distribuer le contenu en multi langue !!!

    Conclusion

    Enfin un panorama de l’envergure complet de l’implémentation du publishing sous SP2013

    Que de bons changements, maintenant, il faut rentrer dans les détails

    Renaud Comte [MVP]
    live from Vegas

    Mots clés Technorati : ,,
    [SPC12] JS Best Practices for coding Apps

    une session de Scot Hillier, un pur MVP codeur et surtout un JS Fan de longue date

    SPC 2012_thumb[1]_thumb

    image en upload …

    SP2013 demande clairement de bien connaitre et comprendre le javascript. Cette session veut nous donner les clés pour bien démarrer

    L’ensemble des démos est dispo sur http://hillier.codeplex.com : Merci Scott !

    trips and tricks

    • Always use “strict mode”
      • “use strict”;
      • impose plein de contrainte
      • durcit votre code et evite les fautes d’inattention du a la flexibilité de JS
    • Avoid coercitiv operator
      • like == et ===
    • Use pattern to structure your code
      • Singleton
      • Module
        • méthode interne / externe
      • Prototype
        • permet de définir des objets et d’utiliser le NEW

    P1040618

    • Deferred object : Promises
      • Simplify asynchronous operations
      • SP demande plus d’une opération async , soit des nested calls …
        • tout devient complexe : spaghetti code ….
      • utilise l’objet Deferred object de JQuery
        • encapsulation de la complexite des nested calls
        • cache des call
      • incontournable si vous voulez survivre dans les apps JS

    P1040619

    Demo de Deferred

    • Soit une grid avec text et image
      • double call sur l’artiste et ses jaquettes de musiques
    • Création d’une app
      • attention, les apps ont des droits comme un user ! Ne pas le negliger, ex : cross domain …
      • définition des endpoints nécessaires
    • on utilise SP.WebRequestInfo
      • utilise les définition EndPoints
    • l’utilisation du deffered se fait dans la classe de rendu via la fonction de resolve
    • A noter : KnockOut pour le render

    P1040620

    Using libraries

    • segregate your code into libraries
    • minify libraries
      • soit MS AJAX Minifier
    • consider the use of a CDN
      • pointing an external url in the source element
      • utiliser MS ou Google pour récupérer les libraies JQuery
    • load SP libraries dynamically
      • permet à vos apps d’être contextuel
      • $.getScript

    Demo

    • Spinner en html 5 et non un gif animé
    • sous VS
      • en debug : version lisible
      • en release : crucnh version
      • utilisation de ///reference pour l’autocomplete mais sur les fichiers debug
      • reference de script dans le code sur la release

    App Practices

    • REST
    • MVVM Pattern
    • App UI guidelines

    P1040621

    Comprendre REST

      • REST : use URI to specify an operation
      • ODATA : maps CRUD to http verbs GET/POST/PUT/DELETE/PATCH
      • Please use REST
        • vous pouvez utiliser plus facilement toutes les libraries dsiponibles comme KO plein d’autre
        • Plus simple de faire du JS et être 365 ready avec un SP Host App que de faire du Provider Host App juste pour écrire du CS
      • Pour info
        • le CSOM et les ODATA call ne sont que des call sur le REST SVC de SP2013, soit _api

    Bref, la voie est tracé, il faut la suivre, tout simplement

    • utiliser le $.getJson
      • vous permet d’utiliser data.d.title directement sans parser le XML Sourire
      • plus efficace que de le faire en JS pur via $.ajax
        • profitez tous de JSON !

    P1040622

    MVVM

    • Ce pattern permet de séparer litteralement les données de sa presentation et de les synchroniser sur MAJ
    • Le ViewModel sert de bus de communication.
    • La librarie de référence : Knockout.js
      • Arrêtez de concaténer et d’injecter votre html : binder le tout simplement !!!

    P1040624P1040625

    AppUI guidelines

    • permet de recuperer le charting de votre site SP dans votre App
      • WebTemplate pour ASPX
      • Chrome contol en JS pour les pages HTML

    Demo

    • Utilisation de
      • chrome control pour la navigation : var json pour déclarer l’ensemble des pages de l’apps
      • KO
        • KO monitor un tableau
        • tout le code charge des objets JS et les ajoute à la fin au tableau
        • KO s’occupe de binder lui meme la grid

    Conclusion

    Session de haut niveau si jamais vous n’avez pas toujours plongé dans la puissance du JS et de ses “codes”

    Scott donne de vrais bonnes clés pour bien démarrer dans le développements d’application business réelles sans tomber dans les pièges de débutant

    Désormais les Best Practices de SP incluent celles du monde Client Side
    (Aurelien Verla, si tu lis ce post, je sais que tu savoures ce moment Clignement d'œil )

    Pensez à vite downloader ces samples Sourire et ensuite à bien les décortiquer

    Ce sera vite une question de qualité et ou de survie

    Renaud Comte [MVP]
    Live from Vegas

    Mots clés Technorati : ,,
    [SPC12] : Customizing the search experience

    [Une session orienté sur la customisation du content search, a priori, la nouvelle brique fondamental du moteur de SP2013

    SPC-2012_thumb1_thumb_thumb

    Le content search permet de s’affranchir de toutes les limitations connues de la CQWP : bienvenue à la CSWP

    Ce composant profite du moteur d’indexation de SP largement remanié avec l’aide de FAST.

    P1040604P1040605

    la CSWP utilise un query builder Web vous permettant de prévisualiser vos résultats.

    Bonne nouvelle : au revoir le XSL lourd et imposant de la recherche SP, la CSWP utilise désormais des Display Templates.

    Soit du HTML, du CSS et du JS Sourire

    Demo

    • Content Search in Action
      • just a WP in Content Roll Up category
      • by default : result show 3 last Modified items
    • build the quey
      • select the base query like document
      • restrict with custom prop
      • add filter and so on
    • change the display template
      • combo of template with live preview

    P1040608

    Aussi flexible si ce n’est plus que notre cher CQWP

    il existe aussi un jeu de WP Search Drivent pour les types les plus important comme par exemple un carrousel JS d’image. ce ne sont que des CSWP personnalisé et re personnalisable évidemment

    • Advance Query
      • toolbar donne accès a une zone de recherche plus avancé
        • ajout de propertie dynamique
        • sql search en text modifiable
      • idem pour l’order et les autres propriétés de la query
    • Test Tab
      • permet de simuler un peu les résultats de recherche avec un minimum de template et de refiner

    la CSWP permet donc

    • roll up document from another site collections
    • change their look
    • put a slideshow
    • get the last updated web site

    Les display templates

    ils existent dans la MP gellery, just copy and update to change
    Vous pouvez utiliser n’importe quel éditeur pour les mettre à jour

    Demo

    • open the MP with explorer
      • folder : dsiplay Template
      • 3 kinds : control item display
    • there is 2 files : html and JS
      • you modified the html
      • SP generate the js automatically
        • JS is the real display use by the engine !!!
    • Edition live avec Notepad ++
      • simple HTML avec du prop mapping
      • prop:alias1,alias2
      • on compose en JS l’utilisation des propriétés
      • on met en page en html
        • via des tokens de remplacements ou du JS
        • _# value #_
      • cela revient a mixer de la logique en js et du mapping
        • un peu comme composer une page aspx en design avec du inline code
        • simple et assez intuitif
        • extrêmement puissant !
      • vous sauvez depuis notepad ++ 
        • le js est généré live
        • F5 sur votre WP Page
        • la modification est visible LIVE
          • exemple en demo : gérer un “NEW” conditionnel

    P1040606

    P1040609

    Bonnes nouvelles les WP de recherche ont toute été revus pour faciliter l’intégration et la personnalisation

    Result types

    • plumb properties
    • create the look you want
    • hook the template to result type

    permet de relier un type de résultat dans un jeu de résultat : mieux identifier un type dans un ensemble
    >>> soit des résultats bien plus lisibles ! Fini le melting pot visuel

    P1040610

    Si vous utilisez des Site Columns dans vos Content Types, le crawl/search engine crée directement les managed properties : ENFIN !!!!

    Il n’y a plus qu’à composer Sourire

    • Préparer une query définissant le result type (via un builder)
    • on associe un display template
    • en action
      • désormais les marketing campaigns ressortent
      • leur panel est personnaliser avec les meta data
        • Waoh !
    • bien sur les templates utilisent le même système de token et js/html
      • pour l’affichage d’une carte Bing Map
        • utilisation mixte de JQuery event et de CSOM like

    Avant : ppt classique

    P1040612

    Après : Ppt campagne marketing

    P1040613

    Demo : que faire en cas de problème ? ou comment coder debugger ces templates ????

    • en cas d’erreur, le résultat en recherche contient une message de debug complet pour vous aider
      • fini le XSL error global Sourire
    • vous pouvez aussi utiliser un debugger JS
      • le JS code est similaire au code du template
      • ctx.CurrentItem : cette variable contient toute les datas de recherche en retour

    P1040616P1040617

    Conclusion

    la CQWP est morte, au revoir mon bon ami

    Bienvenue à la CSWP : plus puissante, plus ergonomique, plus tout …

    A se demander comment on n’a pu s’en passer depuis 10 dans SharePoint, et je ne vous rappelle pas la puissance du search engine FAST optimized Clignement d'œil

    Un hit ä suivre et a maitriser au plus tôt

    Renaud Comte [MVP]
    Live from Vegas

    Mots clés Technorati : ,,
    [SPC12] building an app for SharePoint with Azure and Win 8

    Une session plus technique pour changer (et faire plaisir à mon petit cœur de développeur)

    SPC 2012_thumb[1]

    image en upload …

    Comme dirait le speaker Technical Evangelist : “it’s a great day to be a developper”

    Scenario overview

    • business : a mobile toolset for sales
    • technical : best use of cloud technologies
      • soit 8 à 9 layer techniques de Word en passant par win8 et azure, o365 …

    L’application fonctionne sur Win8

    • tiles dynamiques
    • alertes
    • app de présentation de data avec charts
    • chart provenant de Excel Web App sur 365
    • génération de document word avec données d’Azure

    Le processus complet est présenté entre les 9 couches logiciels simplement et logiquement (avec en fond un rire global de la salle un poil apeurée vu la relative richesse et complexité de l’appli en demo)

    image

    Pour info, la vue web de l’appli sur 365 se fait directement depuis un IPAD (merci SP2013, JQuery mobile et Html5)

    la demo enchaine avec des demandes de validation sous 365 de devis sous Word. les tqsks de vqlidqtion sont relqyé par les events de win8

    Le devis une fois validé crée live un espace projet pour traiter la commande

    Bref, une appli de demo mais basé sur un scénario crédible mais volontairement riche en options et technologie : entre petit bijou d’artisanat et l’usine à gaz

    P1040596P1040597P1040598

    P1040599

    Mais en  pratique :comment ca marche ?

    Hosting : Azure + 365

    api : The new _api aka REST

    • client symmetrical
    • OAuth
    • + 2000 classes
    • Odata
    • Jquery compatible

    En résumé, l’api de choix pour les apps (qui enterre un peu le CSOM classique)

    On enregistre l’App pour obtenir un App Principal qui sera utilisé pour l’ensemble des connections avec OAuth
    Mais vous devez faire un TRUST de votre App ensuite pour valider le tout.

    L‘authentification est transparente en apparence mais complexe en réalité. Merci OAuth et le framework App de tout bien gérer

    • soit user credentials
    • soit App token + User Token
    • Soit App token avec full trus de l’utilisateur
    • soit anonyme aussi, ne sait on jamais

    P1040600 

    Submit & request for quote forms

    • it uses the Provider hosted app model
    • MVC4 application on Azure
    • SQLAzure too

    le projet VS est présenté avec ses couches techniques

    la page d’index de la solution Provider gère l’intégration dans 365

    • on récupère l’url du site 365 cible
    • getscript de la biblio JS SP.UI.Controls.js de la cible
    • un callback JS charge la navigation avec les paramètres spécifiques de l’appli

    les calls serveur se font via $.ajax sur les SVC du provider tout simplement

    Windows Push Notification Services WNS

    Ce service est piloté par le site 365. l’application cliente appelle aussi ce service pour alerter l’ensemble des acteurs connectés si évolution des devis

    Techniquement, les calls reposent sur

    • event receiver : remote/external/local
    • custom code also
      • on event or process
      • depuis le JS des formulaires de saisie : tout est possible
    • de simple flux XML :Toast

    “it’s a component oriented development” 

    intégration WIN8

    • Toast, tile, raw notification
    • tiles, charts, …
    • everything you want

    api

    • Win8 of couse
      • win RT
      • Win js
    • SP
      • Rest
      • ASMX
      • Wopiframe
    • Win Azzure if needed

    App SharePoint

    Tout repose sur du JS et du JQuery, tout simplement

    • _api
    • Azure Svc

    Merci OAuth

    Cette technologie est la clé de voute : C’est elle qui permet d’uploader, de valider, de connecter, …

    Elle est incontournable pour tout type de Développement impliquant Azure et 365

    Sans elle, aucune solution pour avoir une communication cohérente et transparente des permissions

    Conclusion

    L’application présenté est un véritable showroom complet de l’univers Microsoft.

    Monstrueuse : oui mais facilement compréhensible étonnamment

    • le pattern est toujours le même
      • SVC
      • Component
      • OAuth
    • le modèle de développement des Apps est vraiment consistant que ce soit
      • les 3 modes de SP
      • cloud or not
      • même pour les applications Offices

    C’est vraiment une belle journée d’être développeur mais, mon dieu, elle vas être bien longue Clignement d'œil

    PS : après une petite discussion avec Todd Baginski, attention, le déploiement Autohost ne fonctionne que sur Azure, Pour utiliser le App cloud Model on Premise, et faire fonctionner OAuth, vous devez configurer vos serveurs avec S2S

    Renaud Comte [MVP]
    Live from Vegas

    Mots clés Technorati : ,,
    [SPC12] retour d’expérience : Jones Lang Internet Site

    Pouvant partage mon agenda avec mon collègue, je peux profiter de certaines sessions orienté Business et retour d’expérience.

    SPC 2012

    Comme celle ci sur le site internet de Jones Lang Lasalle, leader dans sur le content provider en Real estate

    image

    Jones Lang LaSalle is a financial and professional services firm specializing in commercial real estate services and investment management. Our more than 40,000 people in 1,000 locations in 70 countries serve the local, regional and global real estate needs of those clients

    http://www.us.am.joneslanglasalle.com/UnitedStates/EN-US/Pages/Home.aspx 

    (oui c’est bien du SP)

    Ce client historique Microsoft et surtout SharePoint, a travaillé des le début de la beta sur SP2013.

    Actuellement, SharePoint est utilisé pour le site Web, l’intranet ainsi que la collaboration

    P1040585

    Leur problématique est de bien gérer les agrégateurs de contenu que ce soit mobile, tablet ou tous nouveaux système sortant du néant mais vite incontournable.

    Le besoin de mobilité pousse leur marketing team a être extrêmement agile

    forte influence du traffic mobile sur le site : 182% d’augmentation en 1 an

    P1040586

    Certes IE reste majoritaire , mais les autres navigateurs sont réellement présent comme les tablettes. A noter que Google pèse toujours 88% des search engines en tant qu’apporteur de trafic

    stratégie:

    • Cloud and independence
    • focus on digital channel
    • productivity apps : data driven
    • social collaboration to drive people on objectivs

    P1040587

    Conclusion de leur analyse :

    • “We must think differently”
    • no longer one size fit all

    Leur implémentation de SP2013 repose sur l’ensemble des nouveautés… purement et simplement

    P1040588

    Demo

    • Market Presence on the web
      • minimize the unvestment
      • build their mobile footprint
      • content shaping
      • technical :
        • generic search WP / custom Mobile support
        • product catalog
        • responsive design
        • performance

    P1040589

    • leur solution repose beaucoup sur l’intégration des résultats de recherche
      • dans la navigation
      • dans les carrousel de contenu
      • dans la restitution de contenu
    • mobilité
      • la demo utilise un retro projecteur et un iphone : du live
      • repose sur le multi channel de SP2013 et html5
      • content segmentation & caching
      • technical
        • switch to a mobile Master Page
        • channel aware webpart
          • adapte elle même le contenu

    P1040590P1040591P1040592

    Personnalisation : audience segmentation

    soit capturer le comportement de l’utilisateur et adapter la “story” de navigation : content shapping

    Content by Search

    composant fondamental de leur implémentation

    • séparation contenu présentation
    • driven by
      • scale and performance
      • full metadata integration
    • display use dedicated and by channell template

     

    Device channel

    P1040593

    enables taregeted display of content like Mobile Sourire

    • contain user agent strings
    • assigned Master Page

    Easy to use and control

    Sum up : in a perfect world

    • SP sites would be mobile friendly
    • configuration vs customization
      • get back to out of the box
    • search would drive a transition from apush to pull marketing
    • audience segmentation would fully drive user experience
    • metrics and behavior would be fully baked in
    • social fully integrated
    • capitalize on other MS technologies and integrate emerging technologies

    P1040594

    leur conclusion : si ils ne s’oriente pas sur cette voix et que MS pousse l’évolution de leur technologie dans ce sens, la prochaine SPC ne se fera pas à Vegas mais bien dans le désert …

    Conclusion

    SP2013 semble avoir apporte les briques des gestion qui manquait cruellement au développement WCM et a la gestion des mobiles et de leur contenu

    Rien qu’a la vue des solutions et des résultats obtenus, la migration vers SP2013 des sites et serveurs WCM peut devenir une nécessité voir une urgence pour bien des sites SP de publishing

    Mais attention, la réflexion devient plus riche et complexe que le simple besoin de publier du contenu bien formaté. il faut le pondérer et le mesurer aue ce soit avec les team techniques et marketing

    PS du client speaker : population technique, pensez bien a travailler avec les équipes marketing car ils vont avoir besoin de vous, et ce sont eux qui ont les dollars pour faire le changement Sourire

    Renaud Comte [MVP]

    Mots clés Technorati : ,,
    [SPC12] Nouveautés dans le coding SP et Office 2013

    Après un keynote bien dynamique, commençons le cycle de session avec le coding 2013

    P1040574

    La vision : Modernize the platform

    • plus de 700 000 SP coders
    • 75% des dev utilisent HTML5

    P1040575

    les fondamentaux

    • Cloud designed
    • Consistent Platform
    • give choice to developper (why not use JS or PHP)

    Soit le App Cloud Model

    Demo

    • A content App : intégrer Bing Map dans un Excel
    • ajout d’une barre outlook pour linkedin ou map directement intégré au contenu du mail
    • Access SharePoint
    • App Part dans un team site : carrousel
      • une app avec une intégration Webpart

    P1040577

    P1040578

    P1040579

    Les apps peuvent venir d’un catalogue interne de son entreprise voir de la galerie ou le shop online

    Le store permet de présenter et de consommer des apps

    L’achat de Apps peut se faire directement pour l’organisation ou un nombre précis de users

    Le développement Office et SP pour tous

    • Access 2013
    • Napa  : online browser development
    • VS2012 pour toutes les grandes customisations

    P1040580

    Demo de Napa

    Napa est un app SharePoint permettant de coder dans les navigateur des apps SharePoints sans aucune Install

    il suffit de déployer l’app Napa dans un site SSP online par exemple, le modèle Developer site étant particulièrement pratique

    • code online de l’app
    • déploiement et Debug live

    Un bouton permet de tout exporter ensuite sous VS 2012 et de l’étendre sous VS si besoin

    P1040581

    Le tout sans absolument AUCUN paramétrage : tester et validé par votre serviteur sur un Eeepc sous win8

    >>> il est loin de le temps des attach process sous VS 2003\5

    vive les apps Clignement d'œil

    Renaud Comte [MVP]
    Live from Vegas

    Mots clés Technorati : ,,
    Plus de Messages Page suivante »


    Les 10 derniers blogs postés

    - « Naviguer vers le haut » dans une librairie SharePoint par Blog de Jérémy Jeanson le 10-07-2014, 13:21

    - PowerShell: Comment mixer NAGIOS et PowerShell pour le monitoring applicatif par Blog Technique de Romelard Fabrice le 10-07-2014, 11:43

    - ReBUILD 2014 : les présentations par Le blog de Patrick [MVP Office 365] le 10-06-2014, 09:15

    - II6 Management Compatibility présente dans Windows Server Technical Preview avec IIS8 par Blog de Jérémy Jeanson le 10-05-2014, 17:37

    - Soft Restart sur Windows Server Technical Preview par Blog de Jérémy Jeanson le 10-03-2014, 19:43

    - Non, le certificat public du CA n’est pas un certificat client !!! par Blog de Jérémy Jeanson le 10-03-2014, 00:08

    - Windows Server Technical Preview disponible via MSDN par Blog de Jérémy Jeanson le 10-02-2014, 19:05

    - Focus Sauvegardes SharePoint par Le blog de Patrick [MVP Office 365] le 10-02-2014, 13:11

    - Technofolies, votre évènement numérique de l'année par Le Blog (Vert) d'Arnaud JUND le 09-26-2014, 18:40

    - Xamarin : From Zero to Hero par Fathi Bellahcene le 09-24-2014, 17:35