1http://www.icuadrado.com
Jorge Oblitas
Consultor Independiente
Microsoft Regional Director
Peru – Región Andina
El WebPart FrameworkParte 1
2http://www.icuadrado.com
Jorge Oblitas
• Consultor en tecnología asociada a la gestión del Conocimiento
• Ha sido miembro de los programas– Microsoft Regional Director (desde el 2000)– Microsoft Partner Advisory Council (2002)
• Soluciones Intranet premiadas en Perú y EE.UU.• Bajista desde 1984• Aficionado a los Golden Retrievers y Beagles
http://www.icuadrado.com
Agenda
• WebPartManager• WebPartZones y Web Parts• CatalogZones y CatalogParts• EditorZones y EditorParts
http://www.icuadrado.com
Web Parts
• Framework para la construcción de aplicaciones tipo portal– Sigue el esquema de SharePoint Portal Server– System.Web.UI.WebControls.WebParts
• Interface de usuario enriquecida con la menor cantidad de código– Edición de la estructura de páginas usando drag-and-drop– Edición de apariencia, conducta y más
• Personalización – Parte 2• Intercomunicación ("conexiones") – Parte 2
http://www.icuadrado.com
El control WebPartManager
• Administra la operación de los Web Parts– Mantiene una lista de Web Parts y zonas– Administra el estado de la página (ejemplo: display
mode) y dispara eventos cuando el estado cambia.– Facilita la comunicación entre Web Parts.– Administra la personalización y mucho más.
• Una sola instancia por página, no tiene interface de usuario.
<asp:WebPartManager ID="WebPartManager1" RunAt="server" />
http://www.icuadrado.com
El control WebPartZone
• Define zonas en una página de Web Parts • Define el la disposición y apariencia por
defecto de los Web Parts dentro de cada zona.
<asp:WebPartZone ID="WeatherZone" DragHighlightColor="244,198,96" RunAt="server" RunAt="server"> <PartTitleStyle BackColor="#2254B1" ForeColor="White" /> <PartStyle BorderColor="#81AAF2" BorderStyle="Solid" BorderWidth="1px" /> <ZoneTemplate> <!– Declarar Web Parts aquí --> </ZoneTemplate></asp:WebPartZone>
http://www.icuadrado.com
Web Part Zones
Zona 1 Zona 2
http://www.icuadrado.com
Web Part Chrome
• Barra de título y borde que rodea el Web Part
• El Look viene definido por las propiedades del WebPartZoneBarra título
Verbo Minimizar Verbo Cerrar
Verbs MenuBorder
Botón de Verbos
http://www.icuadrado.com
Web Parts
• Controles definidos en un WebPartZone– Web controls, user controls, custom controls
• Controles que no implementan IWebPart son empaquetados internamente en GenericWebParts– Agrega propiedades: Title, Description, etc.
<ZoneTemplate> <asp:Calendar Title="Calendario" ID="Calendar1" RunAt="server" /> <user:Weather Title=“Clima" ID="Weather1" RunAt="server" /> <custom:Search Title=“Buscar" ID="Search1" RunAt="server" /> </ZoneTemplate>
http://www.icuadrado.com
Web Parts
BuscarWeb Part
AccionesWeb Part
NoticiassWeb Part
ClimaWeb Part
CalendarioWeb Part
http://www.icuadrado.com
Web Parts
http://www.icuadrado.com
WebPartManager.DisplayMode
• Obtiene y determina el display mode de la página
Valor Descripción
BrowserDisplayMode "Normal" display mode; no edición (default)
EditDisplayMode Permite editar la apariencia y conducta de los Web Parts
DesignDisplayMode Permite edición de la disposición usando drag-and-drop
CatalogDisplayMode Permite agregar Web Parts a la página
ConnectDisplayMode Permite establecer conexiones entre Web parts
http://www.icuadrado.com
Eventos del DisplayMode
• WebPartManager.DisplayModeChanging– Indica que el display mode está por cambiar.–WebPartDisplayModeCancelEventArgs revela el
nuevo display mode y permite al manejador cancelar el cambio.
• WebPartManager.DisplayModeChanged– Indica que el display mode ha cambiado–WebPartDisplayModeEventArgs revela el display
mode anterior
http://www.icuadrado.com
Edición de la disposición (layout)
http://www.icuadrado.com
Otros tipos de Zonas
Nombre Descripción
EditorZone Les Permite editar las propiedades y el layout de los Web Parts
CatalogZone Permite a los usuarios agregar Web parts a la página
ConnectionsZone Les permite establecer conexiones entre Web parts
• Las WebPartZones definen el contenido base– Se muestran en todo momento
• Otras zonas permiten la edición de las páginas– Se muestran de manera condicional basada en el
display mode
http://www.icuadrado.com
El control CatalogZone
• Permite agregar Web Parts interactivamente• Contiene uno o más controlesCatalogPart
Nombre Descripción
DeclarativeCatalogPartLista los Web parts declarados en <WebPartsTemplate>
PageCatalogPart Lista los Web parts que han sido removidos de la página
ImportCatalogPart Permite que los Web parts sean importados
http://www.icuadrado.com
Declarando un CatalogZone
<asp:CatalogZone ID="CatalogZone1" Runat="server"> <ZoneTemplate> <asp:PageCatalogPart ID="PageCatalogPart1" Runat="server" /> <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1" Runat="server"> <WebPartsTemplate> <!-- Declarative Web Parts go here --> </WebPartsTemplate> </asp:DeclarativeCatalogPart> <asp:ImportCatalogPart ID="ImportCatalogPart1" Runat="server" /> </ZoneTemplate></asp:CatalogZone>
DeclarativeCatalogPart
http://www.icuadrado.com
Catalog Zones
http://www.icuadrado.com
El control EditorZone
• Permite la edición interactiva de Web parts
• Contiene uno o más controles EditorPart Nombre Descripción
AppearanceEditorPartProvee UI para la edición de títulos y otras propiedadesrelacionadas
BehaviorEditorPart Provee UI para la edición de propiedades relacionadas con la conducta (ejemplo: ¿pueden ser cerrados los Web Parts?)
LayoutEditorPart Provee UI para la edición del estado de presentación del Web Part(minimizado, o restaurado)
PropertyGridEditorPartProvee una grilla de propiedades para la edición de propiedadespersonalizadas
http://www.icuadrado.com
Declarando un EditorZone
<asp:EditorZone ID="EditorZone1" Runat="server"> <ZoneTemplate> <asp:AppearanceEditorPart ID="AppearanceEditorPart1" Runat="server" /> <asp:BehaviorEditorPart ID="BehaviorEditorPart1" Runat="server" /> <asp:LayoutEditorPart ID="LayoutEditorPart1" Runat="server" /> </ZoneTemplate></asp:EditorZone>
http://www.icuadrado.com
PropertyGridEditorPart
• Permite editar propiedades personalizadas• Muestra propiedades marcadas [WebBrowsable]
string _stocks; // e.g., "MSFT,INTC,AMZN"
[WebBrowsable]public string Stocks{ get { return _stocks; } set { _stocks = value; }}
Permite a la propiedad aparecer en elPropertyGridEditorPart
Como apaece la propiedaden el PropertyGridEditorPart
http://www.icuadrado.com
Editor Zones
http://www.icuadrado.com
Lo que se verá en el próximo Webcast
• Web Part Connections• Personalización
– Por usuario– Compartida– Providers
• Web Parts personalizados• Verbos personalizados• Exportando WebParts
http://www.icuadrado.com
Preguntas
http://www.icuadrado.com
Mis datos
• [email protected]• http://www.icuadrado.com
Visítanos para ver la agenda de eventos en vivo y próximos Webcast
www.icuadrado.com
... Muy pronto tendremos en Lima a uno de los Gurús de Team System
Recommended