Renaud COMTE MVP SharePoint Technologies [email protected] MVP SharePoint Technologies...

31
Développement avancé : Feature et Solution Développer sur et avec Microsoft Office Sharepoint Server 2007

Transcript of Renaud COMTE MVP SharePoint Technologies [email protected] MVP SharePoint Technologies...

Page 1: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Développement avancé : Feature et Solution

Développer sur et avec Microsoft Office Sharepoint Server 2007

Page 2: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Votre speaker

Renaud COMTE MVP SharePoint Technologies

[email protected]

Consultant Technique : .Net SharePoint Technologies

WebMaster ClubSPS.org / ClubSPS.CH Actif sur

Asp-Php CodeS-SourceS Blogs :

http://blog.spsclerics.com/ http://blog.developpeur.org/TheMit

Page 3: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Agenda

Un peu de présentationBeaucoup de démosEncore des démosAnalyse des démos

Retour d’experience d’un alpha testeurMonter votre solution de dev

SharePoint

Page 4: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Terminalogie

Web ApplicationSiteSite CollectionList DefinitionList (instance)FieldsList ColumnsSite ColumnsContent Types

Physical Server

Web Application(s)

Top Level Site(s)

Site(s)

Site(s)

Site Collection

Page 5: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Le répertoire 12

Le référentiel physique de SharePoint 2007

ContientLes modèlesLes pages applicativesWeb ServicesConfigurationsLes composants !….

Chemin incontournable :C:\Program Files\Common Files\Microsoft Shared\web server

extensions\12

Page 6: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Le « 12 »

Démo

Page 7: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Site Provisioning

Composant central de la plateforme SharePoint 2007

Les utilisateurs choisissent leur Site Definition Le Site Definition définit leur site web

Site Definition

Web SiteInstances

Provisioning

Team Site, Meetings Workspace, Help Desk

Instance de Team Site avec features, lists, web parts, views, …

Page 8: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Site Definition

ONET.XML forme la definition de base d’un site..\12\Template\1033\XML\WebTemp*.Xmlnavigation bars

list templates

document templates

configurations

features

modules

En detail :Dossier de definition (dans “Site Templates”)Collection de flux XMLDes pages ASPX pagesUn Core modèle «  Global »

Page 9: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Custom Site Definition

Démo

Page 10: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Feature

Composant élémentaire de personnalisationEtendre les sites existants ou à créerSimple à installer / déployer (UI ou command line)Visible ou Invisible

La fonctionnalité CLE

Page 11: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Composition d’une Feature

Feature NameIDDescriptionScopeReceiver assemblyActivation DependenciesElement Manifests

Custom ActionsControlContent Type DefinitionsLayouts PagesModules (files)List InstancesList TemplatesEvent ReceiversDelegate ControlsWorkflow Bindings

Page 12: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Feature Scope

Site Settings LinksWeb Part DefinitionsWorkflow DefinitionsSite Content TypesLayout FilesList InstancesList Definition

List FormsList ViewsList InstancesList Item EventsItem Custom ActionsWeb Admin Custom ActionsLayout Files

Farm Elements

Web ApplicationElements

Site CollectionElements

Web Elements

Item Custom ActionsSite Settings LinksAdmin Custom Actions

Item Custom ActionsSite Settings LinksAdmin Custom Actions

Page 13: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

SiteCollectionFeatures

FarmFeatures

WebFeatures

Team Collaboration

Contacts

Hidden FeaturesVisible Features

DocumentLibraries

PictureLibraries

Events

Basic List Links

Announce-ments

Tasks

SurveyDiscussionBoard

WSSCore Links

CoreContent Types

ContentLight Up

Core ColumnTemplates

WSS Out-Of-The-Box Features

BasicWeb Parts

Page 14: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Solution

Package CAB hiérarchisé : WSP permet d’assurer le déploiement des Features et autres composant

Se composeManifest.xmlEnsemble des fichiers (aspx, Xml, images, resx)

Utiliser MakeCab.exe + descriptif DDF Assure synchronisation et la mise à jour des fermes SharePointFront endBack end

Page 15: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Feature : Master Picker

Démo

Page 16: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

L’ Assemblée Microsoft.SharePoint

Les Assemblées contiennent le cœur du Modèle Objet de WSS

Page 17: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Mais où utiliser l’OM de WSS?

Il y a bien des endroits pour l’exploiterWeb PartsASP.NET Custom Controls et User ControlsApplication pagesFeature activation event handlersEvent handlers for lists, doc libs, sites & site collectionsASP.NET applications and Web servicesWindows Forms et Console applications

Tout code utilisant l’ object model WSS doit s’exécuter sur l’un des front end Web server

Page 18: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Custom Branding + Delegate

Démo

Page 19: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Ce qu’il faut retenir de la demo

Le déploiementLes répertoires dédiés du 12Les liens de gestionLe contrôle de recherche : SmallSearchInputBox les Delegate ControlsIncontournable dans la composition de MP

Page 20: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Custom Site Page

Démo

Page 21: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Ce qu’il faut retenir de la demo

Le déploiement de pages supplémentairesLes possibilités de conception de page

Inline/control/User ControlLes providers ASP.net et SharePoint

SPHierarchyDataSourceControlSPNavigationProvider

La mise en cache des pagesGhostable / GhostableInLibrary

Chargement des WebPartPageCAML / Code (SPLimitedWebPartManager)

Event de création/activation et inverse : SPFeatureReceiver

Page 22: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Custom Application Pages

Démo

Page 23: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Ce qu’il faut retenir de la demo

Le déploiement de pages applicatives (_layouts)

Étendre le rôle applicatif/gestion/métier

Navigation & Security trimming Impersonnation (élévation de sécurité) SPSecurity.RunWithElevatedPrivilegesExploitation des informations des listes

AssocieLayoutsCamlTokenOM

Page 24: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Allons plus loin …Document Manager & OPEN XML

Démo

Page 25: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Ce qu’il faut retenir de la demo

Le déploiement d’un site plus métierApplicatifGestionChargement de listes et de données + applicatifÉtendre le rôle applicatif/gestion/métier

Alimentation en CAMLInfopath & SPItemEventReceiver(+ Event Framework)Générateur Open XML ce n’est que de l’XML au finalExploitation des informations des listes

Page 26: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Agenda

Un peu de présentationBeaucoup de démosEncore des démosAnalyse des démos

Retour d’experience d’un alpha testeurMonter votre solution de dev

SharePoint en 10 points

Page 27: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

FeedBack de Beta testeur DEV1. Bien connaitre l’axe NATIF de SharePoint

Privilégiez le NATIF, éviter le full custom2. Ne pas confondre : • MOSS 2007 se configure et se personnalise• WSS est une plateforme de DEV

(MOSS n’est qu’une appli WSS mais très riche)

3. SharePoint est modulaire et hiérarchique• Apprenez module par module• Comprenez l’environnement d’un point de vue

ASP.Net• Assurez la partie déploiement

4. Dev front Web• Pondérez entre déploiement, occurrence et

applicatif WebPart / SmartPart / Layouts / Pages / UC

Page 28: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

FeedBack de Beta testeur DEV5. Privilégiez une machine de DEV full MOSS• XP + Serveur distant n’est pas idéal• Boot Win 2003 / VPC tout équipé (MOSS + VS)

Bien plus pratique et efficace6. Usez et abusez de la notion de Feature : • Réutilisable dans les Site Definition• Permet d’exécuter du code sur activation et autre

événement (SPItemEventReceiver) Changement de Master et css (code + fichier)

7. Visual Studio 2005• VSeWSS est à suivre (de très près)• Composez vos propres templates associés avec

des scripts (cmd,bat,vbs,…)• Complétion XSD des flux CAML

Page 29: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

FeedBack de Beta testeur DEV8. Composez vos architectures selon• Machine MOSS• Machine WSS Attention aux différences de fonctionnalités

9. Design et Layouts : • Composez avec SP Designer• Styles avec CSS et Layouts avec les Master Pages• Déployez le tout via Feature ou CAML (Site

Definition)10.Ne négligez pas les technos parallèles d’Office

System• Open XML• Excel / Forms Services• Workflow• WF / VSTO

Page 30: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Conclusion

Les seules limites sont finalement celle de …ASP.Net 2 et .Net 3

NEWS : Intégration future d’AJAX dans le SP1

Mais actuellement, le corps client et WS foinctionnentVoir le SP Ajax Toolkit de Daniel Larson

Page 31: Renaud COMTE MVP SharePoint Technologies rcomte@hotmail.com MVP SharePoint Technologies rcomte@hotmail.com rcomte@hotmail.com Consultant Technique : Consultant.

Toutes les Demos :

Merci Ted Pattison [MVP]http://www.tedpattison.net/downloads.aspx

Sinon sur CodePlex , catégorie SharePointStramit Master Picker / Caml Viewer / TabsSP Template Land

Et les nombreuses sources communautaires :

BlogsForumNewsgroup…