Développer sur et avec Microsoft Office Sharepoint Server 2007Asp.Net et SharePoint 2007
Votre speakerRenaud COMTE MVP SharePoint Technologies
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
CollaborationBusinessIntelligence
PortalBusinessProcesses
SearchContentManagement
SharePointPlatformServices
Next generation e-mail, project
management, workflow, blog and
wiki support
Enhanced SharePoint Portal
aggregation and personalization
Great relevancewith rich people and
business data search
Server-based spreadsheets plus BI portals built on SQL Server Analysis Services
Server-based forms and workflow with smart client and browser interfaces
Integrated document, records and Web content management
SharePoint Products and Technologies 2007
Technologie SharePoint 2007
Une seule et unique technologie (ASP.Net)WSS en est la couche la plus proche du cœur technique
Suite de service de haut niveau
Operating System Services
Database Search Workflow
ASP.NET (Web Parts, Personalization, Master Pages, Provider Model for navigation, security, etc.)
Core Workspace ServicesStorage
RepositoryMetadataVersioningBackup
Security
Rights/RolesPluggable AuthPer ItemRights Trimming
Management
Admin UXDelegationProvisioningMonitoring
Topology
Config MgmtFarm ServicesFeature PolicyExtranet
Site Model
RenderingTemplatesNavigationVisual Blueprint
APIs
Fields/Forms OM and SOAPEventsDeployment
Office 12 Solutions Built On WSS V3Collaboration
Portal Search ECM BPM BI Project
Concevoir que WSS est une plateforme
Aussi bien outil collaboratif que Framework de développement
Data InfrastructureObject Model, Web Services, EventsDocument Management, WorkflowProvisioning SystemPage and Rendering Model
Web
Platform
Collaboration
Store
Agenda
Intégration avec ASP.NET : Objectifs & BénéficesWeb PartsMaster PagesForms et Field TypesVisual Studio 2005
ASP.NET IntégrationWindows SharePoint Services “v2”
WindowsSharePointServices“Version 2”
WindowsSharePointServices“Version 3”
ASP.NET 1.1
ASP.NET 2.0
Windows SharePoint Services “v3”
HTTP
WebDav
FP RPC
SOAP
InternetExplorer
WindowExplorer
Office
Content DB
ASPX Parser
File SystemFrontPage
SharePoint
ASPX Rendering
IIS
ASP.NET
File Provider
Page Filter
Personalization
HTTP
WebDav
FP RPC
SOAP
InternetExplorer
WindowExplorer
Office ASPX Parser
PersonalizationContent DB
ASPX Parser
File System
FrontPage
SharePoint
ASPX Rendering
IIS
SharePointISAPI Filter
SharePointPage Handler
ASP.NET
ASP.NETISAPI Filter
Basé sur des applications WEB IIS/ASP.NET
WSS ne crée pas sa propre applicationIl n’y a pas “écrasement ” de l’application par défaut
Plus d’“exclusions” de gestionUnification du domaine applicatif (pool)Un modèle centralisé de gestion
ASP.NET Composants mis en avant
Support des controles .ascx dans les pages
Rendu assuré par les Master Pages
Gestion des ressource pour les pages _layouts , etc.
Menu de navigation dérivant des ASP Menu/treeview
Control de la compilation et safe codeLes pages métiers peuvent avoir du code inlineLes pages métiers peuvent être compilé pour plus de performance
Intégration ASP.NET & SharePoint 2007
ObjectifsConstruit directement à base d’ASP.NetTransférer les couches fondamentales à ASP.Net
BénéficeOptimisez les compétence ASP.NET pour le développement WSS
Plus .Net cohérent, moins «SharePoint»Utilisez plus les fonctionnalités d’ ASP.NETFournir & consommez les interfaces ASP.Net
Web Parts, Membership, Site Map Providers, etc.
ASP.NET 2.0 pagesDEMO
Agenda
Intégration avec ASP.NET : Objectifs & BénéficesWeb PartsMaster PagesForms et Field TypesVisual Studio 2005
Amélioration des WebParts
Web Parts sont maintenant dans ASP.NET 2.0 !Support direct des ASP.NET 2.0 Web Parts
Compatibilité complète des WSS “v2” Web Parts
Les classes Web Part WSS “v2” sont basés sur .NET 2.0 web parts
Microsoft.SharePoint.WebPartPages.WebPartMicrosoft.Web.UI.WebControls.WebParts.WebPart
ASP.NET 2.0 WebPart
DEMO
ASP.NET Web Part Connections
Types de connection similaireICell -> IField, IList -> Itable
Traduction automatique des types WSS v2
ASP.NET 2.0 vient faciliter l’opération:Interfaces de connexion personnalisétransformers personnalisé Déclaration des méthodes de connexion par attributs (« Décoration »)
[ConnectionConsumer("The Content")] [ConnectionProvider("The Content")]
Limite de l’Intégration
On ne peut utiliser les ASP.NET 2.0 Web Part Pages; non compatibles
Les Pages doivent inclure des SPWebPartZones et SPWebPartManager
Ces contrôles permettent de gérer automatiquement les soucis de compatibilité
Pas de support des user controls (ASCX) comme WebPartsLes .ASCX peuvent être
utiliser directement dans les pagesVia les SharePoint Delegates Control
Des Wrappers pour .ASCXs peuvent être utilisésLoadcontrol(‘’’~/myCtrl.asx’’) par exemple
WSS / ASP.net WP dans des SharePoint Sites ?
DEMO
“Return of SmartPart”SmartPart version 2, a.k.a. “Son of SmartPart”
Outils communautaire géré par Jan Tielens [MVP] de U2UPermet de « hoster» des User Controls comme WebPartLa version originale SmartPart le faisait pour les user controls ASP.NET 1.1 dans WSS/SPS Web Parts
Fonctionnalités :Connection inter Web Parts / user controlsSupport des propriétésSupport des Custom Tool PartGestion de la compilation JIT d’ASP.net 2.0
Pour plus d’information :Technology Preview : www.smartpart.info
ASCX dans des sites SharePoint?
DEMO
Agenda
Intégration avec ASP.NET : Objectifs & BénéficesWeb PartsMaster PagesForms et Field TypesVisual Studio 2005
Master Pages
Chaque page de WSS pointe vers une “Master Page”Chaque site WSS a une « Master Page Gallery » (MPG)
Les propriétés du Site indique ou WSS vas rechercher ses « master page »
Content pages (e.g., default.aspx) MPG du siteForm pages (e.g., allitems.aspx) MPG du siteApplication pages MP default du _layouts
MOSS a une gestion plus avancé en pilotant directement les référence vers une Master Page Gallery partagé !
Master Page TokensLes références des Master Page vers les propriétés du site peuvent utiliser des “Token”
One dynamic token:~masterurl/default.master
Map vers Spweb.MasterUrlStatic Tokens
~sitecollection/default.master~site/default.master
Exemple : <%@ Page Language="C#"
MasterPageFile=“~sitecollection/default.master“ …
Master Pages in SharePoint Sites
DEMO
Agenda
Intégration avec ASP.NET : Objectifs & BénéficesWeb PartsMaster PagesForms et Field TypesVisual Studio 2005
Formulaire dans SharePoint Services “v3”
Les formulaires sont construit en ASP.NET controlsGestion des controles basés sur des User ControlsCréation de nouveau “Field Types” basé directement sur les types de base.Mais aussi:
Formulaires XSLTDataForms
SPDataSource et Navigation Provider fonctionnement et intégration classique de tous les
controles ASP.NET
LimitationsLes Vues sont toujours basées sur du CAMLLes Query idem
CAML?
“Collaboration Application Markup Language”Langage XML pour
Listes SharePoint Views, fields, queries, etc.
Extrêmement performantExemple :
Des alternatives plus simple (dans le style ASP.net) seront ajoutés à chaque version majeur de WSS
Custom Field TypesOn peut désormais étendre les Fields Type d’origine!
Field type XML definition (fldtypes*.xml) & Base ClassDéfinir des propriétés
Example: “Min/Max”Auto generation de l’interface de ces propriétés
Définir des règles de validationUtiliser une classe métier ainsi qu’un User control pour l’interface
Forms & Fields : Extensibilité
ViewsElle ne peuvent utiliser que du CAML pour le rendu !Mais le type de base ne sont la que par défautLes vues partage le rendu des Fields
FormsUtilise le langage CAML des Listes et FeaturesPartage le rendu des vues CAML Ce n’est qu’une page aspx, elle peut être remplacé et customisé
Form ControlIteratorsField Controls
Agenda
Intégration avec ASP.NET : Objectifs & BénéficesWeb PartsMaster PagesForms et Field TypesVisual Studio 2005
Visual Studio 2005WebPart == Contrôle composite
Projet type classe ou control+ problématique de déploiement
xml de description, de sécuritéSignature …
Mais une suite d’outil vient faciliter cette tache :
VSeWSS : Visual Studio 2005 Extension pour Windows SharePoint Services
Des modéles pour Liste, Field, Module, Content type, WebPartGénérateur de solution Déploiement automatique + DebugSolution Generator (par réflection des sites)
http://www.microsoft.com/downloads/details.aspx?familyid=19f21e5e-b715-4f0c-b959-8c6dcbdc1057&displaylang=en
VSeWSS en pratique
DEMO
ConclusionMeilleur intégration avec ASP.NETLes Web Parts ASP.NET marchent dans WSS “v3”User Control, CSS et Master page pour le designExtensibilités :
Des formulairesDes Fields types …
La question : « Vaut-il mieux utiliser ASP.NET ou des sites SharePoint ? »
>>> Ce serait plutôt « Dois je utiliser ASP.NET depuis rien ou simplement étendre un site SharePoint ? »
Resources
SharePoint Products and Technologies on MSDNhttp://msdn.microsoft.com/sharepoint
SharePoint Products and Technologies Community http://msdn2.microsoft.com/en-us/sharepoint/aa905689.aspx
Des blogs ForumsArticles
Codeplex pour SharePoint (23 project bientôt 24 ;) )http://www.codeplex.com/Project/ProjectDirectory.aspx?TagName=Sharepoint