Programando WebParts Parte 5 Interconectando WebParts



Documentos relacionados
Programando WebParts Parte 3 Distribución, archivos dwp y galerías de WebParts

Instalación y configuración de Windows SharePoint Services (WSS) 2003

Instalación y configuración de SharePoint (SPS) 2003

WebServices Parte 1 Los principios

Capítulo V. Implementación

MANUAL DE USUARIO AVMsorguar

Mi primer servidor. Fernando Fernández Consultor Preventa HP ISS

MODELO DE IMPLEMENTACIÓN

Guía de inicio rápido a

Creación un instalador con Visual Studio.NET. Irene Sobrón. Ingeniero de Telecomunicaciones por la Escuela Técnica Superior de Bilbao

Guía de Apoyo Project Web Access. (Jefe de Proyectos)

Manual de Usuario Proveedor Módulo Monitor de Obras

Primeros pasos a la hora de utilizar BitDefender Client Security

Proceso de Instalación Una vez agregada como aplicación a su sitio y que esté disponible:

POSGRADOS EN LINEA CENTRO PANAMERICANO DE ESTUDIOS SUPERIORES. Guía Rápida.

Manual de uso. Manual de uso - citanet 1

Novedades PhotoGestion 5

Desarrollo de Servicios Web con JBuilder

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

MANUAL DE AYUDA MANEJO DE SHAREPOINT CON GOTELGEST.NET

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

Guía de inicio rápido de Cisco ViewMail para Microsoft Outlook (Versión 8.5 y posteriores)

CAPÍTULO 3 VISUAL BASIC

Internet Information Server

Integración de Laboratorios Remotos en emersion

CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Acronis License Server. Guía del usuario

arquitectura que maneja. Encontraremos también los diferentes servidores que

sdfsdf SERVIDOR SMS Manual de usuario Servidor SMS Nexo Versión 1.02

Manual de USO de la Web. Afilnet.com. Afilnet. Servicios de Telecomunicaciones SMS

Instalación del Admin CFDI

CAPITULO 8. Planeamiento, Arquitectura e Implementación

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Soporte: visite mysupport.mcafee.com para encontrar soporte, avisos y documentación de productos.

Es el listado de los productos que están ofertados en la página.

1. El entorno de desarrollo Eclipse

Microsoft SQL Server Conceptos.

FileMaker Pro 14. Uso de una Conexión a Escritorio remoto con FileMaker Pro 14

WebServices Parte 2 XML

Programa Maestro. E-Learning Class v 6.0

Usar Office 365 en un teléfono Android

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Manual de Integrador.NET

Autor: Antonio Torre Calleja

Como detectar conexión del Servidor y SQL?

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha

Manual de configuración de Outlook 2010 ÍNDICE

SUBDIRECCIÓN GENERAL DE NUEVAS TECNOLOGÍAS DE JUSTICIA MANUAL DE USUARIO DE LA NUEVA APLICACIÓN DE CORREO ELECTRÓNICO

Manual de iniciación a

Práctica sobre compartición de instancias remotas.

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

El catálogo y los listados

Retrospect 10 para Mac Anexo de la Guía del usuario

Manual de usuario Versión: 1.3 Edición: 05/02/2015 1

ACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA

Solución: Descargar e instalarse el componente desde la página Web de Microsoft:

1. Introducción Qué es Impress? Crear una presentación Entorno de trabajo Preparar las diapositivas...

Ayuda Aplicación SIGI

FileMaker Pro 13. Uso de una Conexión a Escritorio remoto con FileMaker Pro 13

Formación SharePoint Portal Server 2003

Tabla de contenido. 1. Objetivo Asignación de responsabilidades Alcance Procedimientos relacionados...4

Arquitectura de sistema de alta disponibilidad

Índice. Introducción

Instrucciones de instalación de IBM SPSS Modeler (licencia de usuario autorizado)

Acceso al programa IesFácil a través de Internet

Gestió n de Certificadó Digital

Usar Widex USB Link con Compass

Guia de uso para cuentas de correo Correo electrónico.

Actividad 8: Cliente OPC en Excel.

Instrucciones de instalación de IBM SPSS Modeler Text Analytics (licencia de usuario autorizado)

MANUAL DE USUARIO PANEL DE NOTIFICACIONES PUSH APP MUNICIPAL. Hemos encontrado un vertedero ilegal en el PRV-92 a la altura del km 3.

Cómo usar P-touch Transfer Manager

MANUAL DE USO MICROSOFT LYNC ONLINE

Manual de software. MP GAS Tools. Software para marcadores de gasolineras. 07/2014 MS-MPGasTools_v1.4

GUÍA DE USUARIO DEL CORREO

LiLa Portal Guía para profesores

Mira lo Nuevo en Blackboard 7.1

Finalmente, aprenderá a interceptar y a manejar muchos de los eventos comunes que tienen los componentes y los formularios de Windows Form.

Comenzar aquí: Donde encontramos una introducción a Office 365 en vídeos y unas guías de inicio rápido.

Edición de Ofertas Excel Manual de Usuario

Eurowin 8.0 SQL. Manual de la FIRMA DIGITALIZADA

Recuperador datos externos

Manual PARA EL ADMINISTRADOR DE LA WEB DE PRÁCTICAS PRE PROFESIONALES Y PASANTÍAS

Workflows? Sí, cuántos quiere?

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

TÉCNICAS DE GESTIÓN ADMINISTRATIVA PARA PEQUEÑAS EMPRESAS

PowerPoint 2010 Hipervínculos y configuración de acciones

Existen dos formas básicas de publicar una página web, a través de un cliente FTP (Ej. NicoFTP) o a través de FrontPage.

El Escritorio. En el escritorio tenemos iconos que permiten abrir el programa correspondiente.

SOFTWARE DE RECUENTO DE DINERO

Guía de instalación de Citrix EdgeSight for Load Testing. Citrix EdgeSight for Load Testing 3.6

Creación y administración de grupos de dominio

Programación páginas web con ASP.NET 3.5 (C#)

V Manual de Portafirmas V.2.3.1

Desarrollo de WebParts

1. Para iniciar la instalación, haga doble clic en sqlexpr.exe.

Tutorial DC++ Usarlo es muy sencillo y configurarlo también, aunque tiene algunos trucos importentes.

Transcripción:

Autor : Gustavo Velez Para : www.gavd.net/servers/ Fecha : 02-27-2005 Versión : 1.0.0 Programando WebParts Parte 5 Interconectando WebParts Tal vez la actividad mas común cuando hablamos de programar para SharePoint, es hacer WebParts ( Elementos Web, según la traducción de Microsoft). WebParts nos permiten añadir funcionalidad y personalizar una instalación de SharePoint/WSS de una manera fácil y rápida. Esta serie de artículos describen las diferentes posibilidades en cuanto a programación de WebParts: Parte 1 Programando una WebPart básica Parte 2 Propiedades y Panel de Herramientas Parte 3 Distribución, archivos dwp y gallerías de WebParts Parte 4 WebParts con código de cliente Parte 5 Interconectando WebParts Parte 6 WebPart asincrónicas Requisitos - WSS o SharePoint instalados y funcionando - Conocimientos de cómo usar WebParts in SharePoint - Visual Studio DotNet 2003 - Plantillas para la creación de WebParts en Visual Studio. Se pueden bajar del sitio de Microsoft (http://www.microsoft.com/downloads/details.aspx?familyid=14d5d92f-c3a6-407c-aad7-b8c41a4991be&displaylang=en) - Conocimientos de programación y alguna experiencia sobre como usar Visual Studio. Todo el código en esta serie de artículos es escrito en C#, pero es fácilmente adaptable a VB. - Conocimientos básicos del Modelo de Objetos (API) de SPS Los conocimientos básicos de cómo programar una WebPart y como registrarla se encuentran en la primera y segunda parte de la serie. WebParts Interconectadas A veces es necesario hacer que WebParts se pasen información de una a otra. El caso típico es una WebPart que muestra una lista desde una base de datos (WebPart Proveedor) y otra WebPart que muestra los detalles del record seleccionado (WebPart Consumidor). Las dos WebParts pueden intercambiar su información utilizando el servidor (modo ServerSide), el cliente (modo ClientSide) o una mezcla de los dos. En el ejemplo de este artículo se realiza un intercambio de información básica entre dos WebParts: el texto que se escribe en una de ellas es pasado a la segunda usando el modo ServerSide. Interfaces para la conexión Para realizar la interconexión es necesario definir primero que tipo de interfase es necesaria. El FrameWork provee seis pares de interfaces: Interface par ICellProvider, ICellConsumer IFilterProvider, IFilterConsumer IListProvider, IListConsumer IParametersInProvider, Descripción Para cuando es necesario trabajar con un solo valor que es necesario transferir Para filtrar la forma en la que la información es mostrada en una lista Transfiere listas completas al consumidor, no solo un renglón Para normalizar la comunicación de parámetros entre diferente

IParametersInConsumer IParametersOutProvider, IParametersOutConsumer IRowProvider, IRowConsumer tipos de WebParts Igual a la anterior interfase, pero el proveedor mantiene el control sobre los parámetros Para trabajar con un renglón de datos Tanto el Proveedor como el Consumidor tienen que implementar el mismo par de interfaces. Si no es así, es necesario escribir un Transformador que convierte el tipo de datos que se envía en el tipo que se espera al lado del Consumidor. El ejemplo implementa ICellProvider y ICellConsumer porque solamente es necesario transferir un campo de datos. El Proveedor 1 - Luego de crear un proyecto de VisualStudio (vea la primera parte de esta serie de artículos), lo primero que hay que hacer es implementar el tipo de interfase correcto public class ProveedorWebPart : WebPart, ICellProvider 2 Los eventos necesarios tienen que ser declarados public event CellProviderInitEventHandler CellProviderInit; public event CellReadyEventHandler CellReady; 3 El método EnsureInterfaces notifica a la WebPart que tiene que registrar su interfase usando el método RegisterInterface public override void EnsureInterfaces() try RegisterInterface("ProveedorInterface_WPQ_", "ICellProvider", WebPart.UnlimitedConnections, ConnectionRunAt.Server, this, "ProveedorClienteInterface_WPQ_", "Provee un valor desde un TextBox", "Pasa el valor del TextBox a la WebPart 'Consumidor'"); catch(securityexception e) Los parámetros del método RegisterInterface son: interfacename interfacetype maxconnections runatoptions interfaceobject isvisible interfaceclientreference menulabel Description allowcrosspageconnection Nombre de la interfase Tipo de la interfase, por ejemplo IRowProvider Numero de conexiones que la interfase puede realizar. Posibles valores: WebPart.LimitOneConnection y WebPart.UnlimitedConnections. Específica donde puede ejecutar la interfase. Posibles valores: ConnectionRunAt.None, ConnectionRunAt.Server, ConnectionRunAt.Client y ConnectionRunAt.ServerAndClient. Referencia al objeto que implementa la interfase. Un Boolean que especifica si la interfase es visible. Para conexiones de modo client-side. Especifica el objeto cliente que implementa la interfase. Un nombre general para identificar la interfase y que será mostrado en la pantalla cuando se conecte la WebPart. La descripción de la interfase. Usado por FrontPage para especificar si la conexión se puede realizar a través de diferentes paginas

4 Un Override del metodo CanRunAt es necesario para indicar la forma de conexión public override ConnectionRunAt CanRunAt() return ConnectionRunAt.Server; //WebPart ejecuta en el servidor 5 El método PartCommunicationConnect se encarga de avisar cuando y que WebPart se ha conectado public override void PartCommunicationConnect(string interfacename, WebPart connectedpart, string connectedinterfacename, ConnectionRunAt runat) EnsureChildControls(); //Cuenta el numero de coneciones if(interfacename == "ProveedorInterface_WPQ_") webpartconnected = true; intnumberofconnections++; connectedwebpartname = SPEncode.HtmlEncode(connectedPart.Title); 6 Cuando la WebPart es inicializada, ejecuta todos los eventos en cuyo nombre esta Init. El método PartCommunicationInit tiene que ser override public override void PartCommunicationInit() if(webpartconnected == true) if (CellProviderInit!= null) CellProviderInitEventArgs cellproviderinitargs = new CellProviderInitEventArgs(); cellproviderinitargs.fieldname = cellname; cellproviderinitargs.fielddisplayname = celldisplayname; CellProviderInit(this, cellproviderinitargs); 7 El metodo PartCommunicationMain transmite los datos a la WebPart conectada

public override void PartCommunicationMain() if(webpartconnected == true) if (CellReady!= null) CellReadyEventArgs cellreadyargs = new CellReadyEventArgs(); cellreadyargs.cell = InputBox.Text; CellReady(this, cellreadyargs); 8 Finalmente, los métodos RenderWebPart y createchildcontrols se encargan de crear la parte visual de la WebPart, como en una WebPart normal. 9 Cree un nombre seguro para la WebPart (vea el primero de esta serie de artículos), configure el archivo web.config e instale la WebPart en una pagina La WebPart muestra un mensaje que indica que no esta conectada, y los controles de TextBox y botón están desactivados. El Consumidor 1 Siga los pasos 1 a 6 del Proveedor, cambiando el código cuando sea necesario según indica el código fuente que acompaña el articulo (el código fuente puede ser bajado desde el mismo sitio en donde encontró este articulo) 2 Para recolectar la información que el Consumidor necesita se usa el método GetInitEventArgs public override InitEventArgs GetInitEventArgs(string interfacename) if (interfacename == "ConsumidorInterface_WPQ_") EnsureChildControls(); CellConsumerInitEventArgs cellconsumerinitargs = new CellConsumerInitEventArgs(); cellconsumerinitargs.fieldname = cellname; return(cellconsumerinitargs); else return(null); 3 El Proveedor usa el manejador de eventos CellProviderInit para enviar información sobre como inicializar el Consumidor public void CellProviderInit(object sender, CellProviderInitEventArgs cellproviderinitargs) connectedfieldname = SPEncode.HtmlEncode(cellProviderInitArgs.FieldDisplayName);

4 Durante la comunicación entre Proveedor y Consumidor, el Proveedor pasa la información más importante usando el método CellReady public void CellReady(object sender, CellReadyEventArgs cellreadyargs) if(cellreadyargs.cell!= null) displaylabel.text = cellreadyargs.cell.tostring(); 5 Los métodos RenderWebPart y createchildcontrols se encargan de crear la parte visual de la WebPart, como en una WebPart normal. 6 Cree un nombre seguro para la WebPart, configure el archivo web.config e instale la WebPart en una página La WebPart muestra un mensaje que indica que no esta conectada. Conectando Proveedor y Consumidor 1 En el Proveedor, vaya a Modificar Elemento Web compartido y verá que aparece un nuevo renglón en el menú para realizar la conexión: Con una lista de todas las WebParts que utilizan una interfase compatible con el Proveedor (en nuestro caso, la Consumidor WebPart ) 2 Igualmente, desde el Consumidor aparece también un menú para realizar la conexión: 3 Al seleccionar el Consumidor desde el Proveedor, o al contrario, se realiza la conexión entre las dos WebParts:

Desaparece el mensaje de alerta, aparece un mensaje indicando como están conectadas las WebParts, y la funcionalidad del Proveedor es activada: