Slide 1: Présenté par Pierre Lagarde pierlag@microsoft.com Relation Développeurs Microsoft France
« Les Mercredis du développement »
Les WebParts
Level 300
Slide 2: Les Web Parts en ASP.NET v2
Framework de construction de portal
Moteur de rendu de Windows SharePoint Service System.Web.UI.WebControls.WebParts
Interface utilisateur très riche
Construction du portail en drag-and-drop Édition des propriétés
Intégration de la personnalisation Connexion entre WebPart
Slide 3: demo
1: Première page de WebPart
Slide 4: WebParts Object-Model
WebPartManager
WebZone
WebPartZoneBase WebPartZone
WebPart
ToolZone CatalogZone
GenericWebPart EditorZone CustomWebPart ConnectionsZone
UserControl.Parent
Slide 5: Personnalisation API
WebPartManager.Personalization
Tache disponible
Effacer la personnalisation Vérifier la configuration
Slide 6: Personnalisation API
WebPart Provider
Dans le fichier web.config dans la section <webParts> Brancher son propre provider
<webParts> <personalization defaultProvider="MyProvider"> <authorization> <allow roles="BUILTIN\Administrators"/> <deny roles="BUILTIN\Guests" /> </authorization> <providers> <add name="MyProvider" type="System.Web.UI.WebControls.WebParts.SqlPersonalizationProvider" connectionStringName="CustomSqlConnection" /> </providers> </personalization> </webParts>
Slide 7: WebParts de l’ « Editor Zone »
<asp:EditorZone ID="EditorZone1" Runat="server"> <ZoneTemplate> <asp:AppearanceEditorPart ID=“AppearEdit" Runat="server" /> <asp:BehaviorEditorPart ID=“BehaveEdit" Runat="server" /> <asp:LayoutEditorPart ID=“LayoutEdit" Runat="server" /> </ZoneTemplate> </asp:EditorZone>
Slide 8: Customisation des WebParts
Propriété disponible par l’éditeur de propriété standard (Sauvegardé dans le moteur de personnalisation)
[WebBrowsable(true)] [Personalizable(PersonalizationScope.User)]
Accès au propriétés standard d’une WebPart
IWebPart
Customiser un éditeur de propriété
IWebEditable
Customiser sont menucontextuel
IWebActionable
Slide 9: Customisation des WebParts (suite)
Connexion entre WebPart
public interface IWebPartConnector { string Name{get;} } public partial class MyUc : UserControl, IWebPartConnector {… [ConnectionProvider(“Server WebConnector", "MyProviderID")] public IWebPartConnector GetWebPartForConnection() { return this; } } public partial class MyUc2 : UserControl {… [ConnectionConsumer("Client WebConnector", "MyConsumerID")] public void InitProvider(IWebPartConnector provider) { _webPartConnector = provider; } }
Slide 10: demo
2 : Un UserControl
Personnalisable Paramétrable Extension de son menu contextuel Ajout d’un éditeur de propriétés personnalisé Connecté