SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
Web Parts en SharePoint
2010




Patricio Belardo
Sumario
Características generales

   Web Parts
   Framework de Diálogos
   Barra de estados y area de notificación
   Modelo de objetos de cliente
Web Parts en SharePoint
2010
Web Parts en SharePoint 2010
Características

   Nuevas características
   Web Parts Visuales
   Nuevas Plantillas en Visual Studio 2010
Web Parts
Nuevas Características

   En las versiones anteriores de SharePoint, el
   desarrollo de webparts era todo un desafío.
   No se podía trabajar “visualmente” en el resultado
   que se quería obtener.
   Una de las nuevas plantillas de Visual Studio 2010
   es la de “Web Part Visuales”, la cual permite a los
   desarrolladores diseñar visualmente el webpart y
   hacer el deploy de manera directa e intuitiva.
Web Part Visuales
Demo
Web Part Visuales
Framework de Diálogos
Framework de Diálogos
Objetivos de diseño

   Reducir la transición de páginas y mantener al
   usuario en contexto.
   Los contenidos se mostrarán en un iframe que
   estará dentro de un div
   Los diálogos son modales
   Pueden ser maximizados como ventanas normales.
Framework de Diálogos
Framework de Diálogos
Extensibilidad

   API de Javascript para el control de diálogos

       Los contenidos pueden ser una página o un
       DOMElement
       Tenemos otros parámetros opcionales, como
       ser título, ancho, alto, estado de ventana, etc.


   Un diseño de página puede ser utilizado para
   mostrarse dentro de un diálogo o fuera de él.
Framework de Diálogos
Ejemplo de utilización

 function myCallback(dialogResult, returnValue)
 {
     alert(“Hello World!”);
 }

 var options = {
          url: “/_layouts/somepage.aspx”,
          width: 500,
          dialogReturnValueCallback:myCallback};

 SP.UI.ModalDialog.showModalDialog(options);
Framework de Diálogos - Parámetros
Parameter                    Description
url (string)                 La URL de la página a ser incluida dentro del diáloo.
                             SharePoint automáticamente le va a agregar el “Source”
                             al querystring. Este parámetro especifica a qué página
                             debería retornar el browser cuando finalice.
html (DOMElement)            Se puede especificar un DOMElement en vez de pasar
                             una URL
title (string)               Especifica el título. Si no se especifica se muestra el
                             título de la página.
x (int)                      Posición izquierda (píxeles)
y (int)                      Posición superior (píxeles)
width (int)                  Ancho (píxeles)
height (int)                 Alto (píxeles)
showMaximized (bool)         { true | false }
                             Determina el tamaño inicial del diálogo
allowMaximize (maximizable   { true | false }
(bool)                       Habilita o no el botón de maximizado
dialogReturnValueCallback    Una función de callback será invocada cuando el
                             diálogo sea cerrado
Demo
Framework de diálogos
Barra de Estados / Área de
notificación
Barra de Estado / Área de Notificación
   Entrega información al usuario sin que sea una distracción en
   sus operatorias normales
   La barra de estado debería ser utilizada para mostrar
   información de persistencia
Barra de Estado
   Diseño:
       Se muestra debajo de la Ribbon
       Se utilizarán colores predefinidos dependiendo de la
       importancia
   Extensibilidad:
       API de Javascript para agregar o eliminar mensajes y
       especificar el color
       API de Server para definir el estado al momento del
       render de la página
       El mensaje es un HTML y podría incluir links o íconos
       Cuando se quieran mostrar múltiples colores, la barra
       seleccionará el más “importante”
API de Barra de Estado
   String SP.UI.Status.addStatus(String Html)
    Agrega un mensaje con el HTML dentro de la barra de estado. El
    mensaje va a ser siempre agregado a la derecha. Este método
    retorna el ID del mensaje.
   String SP.UI.Status.appendStatus(sid, strTitle, strHtml)
    Agrega un mensaje al mensaje existente especificado por el
    parámetro SID. Un nuevo mensaje se creará y el mismo será
    retornado.
   Bool SP.UI.Status.removeStatus(String sid)
    Quita el mensaje indicado en el SID.
   Void SP.UI.Status.removeAllStatus()
    Remueve todos los mensajes de la barra de estado.
   Bool SP.UI.Status.updateStatus(String sid, String Html)
    Actualiza el estado en base al SID indicado y el parámetro Html
   Void SP.UI.Status.setStatusPriColor(sid, strColor)
    Define el color del mensaje
Área de Notificación
   Diseño:
       Aparece a la derecha de la página, por debajo de la
       Ribbon
       El mensaje por defecto se mostrará por 5 segundos.
   Extensibilidad:
       API de Javascript para agregar o eliminar mensajes
       API de Server para definir el estado al momento del
       render de la página
       El mensaje es un HTML y podría incluir links o íconos
       Existe un parámetro opcional llamado “Sticky” que está
       definido para que el mensaje quede fijo. Luego el
       mensaje de debería quitar manualmente
API de Área de Notificación
   String SP.UI.Notify addNotification(String Message, Bool Sticky)
    Agrega el mensaje a la barra de notificación. Este método retorna
    el ID del mensaje.


   Bool SP.UI.Notify.removeNotification(String ID)
    Remueve el mensaje indicado en el ID.
Demo
Barra de Estados / Área de
       notificación
Modelo de objetos de Cliente
Modelo de objetos de cliente
Modelo de Objetos de Cliente
ECMAScript
Silverlight
Comparativa de Modelos de Objetos


                           Código manejado de .NET y
Servidor
                           Silverlight                    ECMAScript
(namespace
                           (namespace                     (namespace SP)
Microsoft.SharePoint)
                           Microsoft.SharePoint.Client)

SPContext                  ClientContext                  ClientContext
SPSite                     Site                           Site
SPWeb                      Web                            Web
SPList                     List                           List
SPListItem                 ListItem                       ListItem

SPField (including major   Field                          Field
derived classes)

WebPartPages.SPLimitedWe   WebParts.LimitedWebPartMa      WebParts.LimitedWebP
bPartManager               nager                          artManager
Obtención de Datos
El contexto de cliente es obtenido mediante el uso del constructor ClientContext().
Luego se debe utilizar el modelo de objetos para especificar qué objetos obtener.
Para cargar el objeto o colección se puede utilizar una de las siguientes opciones:
   A través de un llamado al método “Load()” para obtener el dato específico,
   Utilizando una carga queryable que utilice el método LoadQuery() y retorne una colección
   de objetos enumerables
El query es ejecutado llamando al método ExecuteQuery().
Obtención de Datos
Ejemplo
ClientContext clientContext = new
    ClientContext("http://MyServer/sites/MySiteCollection ");
       Web oWebsite = clientContext.Web;
       clientContext.Load(oWebsite);
       clientContext.ExecuteQuery();
Console.WriteLine("Title: {0} Created: {1}", oWebsite.Title,
  oWebsite.Created);
Obtención de Datos
Ejemplo – Query de estilo LINQ


var query = from list
  in clientContext.Web.Lists
  where list.Title != null
  select list;


var result = clientContext.LoadQuery(query);
clientContext.ExecuteQuery();
Obtención de datos utilizando el modelo
de objetos de cliente

Algunas propiedades no están disponibles por fefecto cuando se obtienen
ciertos objetos.
Se deben especificar los objetos que se quieran cargar, en el método
“load”
Ejemplo:


           clientContext.Load(oList,
               list => list.Title,
               list => list.Created,
               list => list.OnQuickLaunch,
            list => list.Items);
Propiedades que no están disponibles por
  defecto.

Objeto            Propiedades

Folder            ContentTypeOrder, UniqueContentTypeOrder

List              BrowserFileHandling, DataSource, EffectiveBasePermissions,
                  HasUniqueRoleAssignments, IsAttachmentLibrary(), OnQuickLaunch,
                  RoleAssignments, SchemaXml, ValidationFormula, ValidationMessage


ListItem          DisplayName, EffectiveBasePermissions, HasUniqueRoleAssignments,
                  RoleAssignments


SecurableObject   HasUniqueRoleAssignments, RoleAssignments

Site              Usage

Web               EffectiveBasePermissions, HasUniqueRoleAssignments,
                  RoleAssignments
Obtener datos de una lista
Utilizando un Query CAML
   El método GetItems(CamlQuery) permite definir un query de formato CAML que especifique qué items
   retornar.
   Se puede llamar al método CamlQuery.CreateAllItemsQuery() para generar el query que retorne todos los
   items.


Ejemplo:



           ClientContext clientContext = new ClientContext(siteUrl);
           SP.List oList = clientContext.Web.Lists.GetByTitle("Announcements");
           CamlQuery camlQuery = new CamlQuery();
           camlQuery.ViewXml =
   "<View><Query><Where><Geq><FieldRef Name='ID'/>" + "<Value
         Type='Number'>10</Value></Geq></Where></Query><RowLimit>100</RowLimit></View>";
           ListItemCollection collListItem = oList.GetItems(camlQuery);

           clientContext.Load(collListItem);

           clientContext.ExecuteQuery();
Obtener datos de una lista
Utilizando un query LINQ
Ejemplo:


           ClientContext clientContext = new ClientContext("http://spdev0220");

           List list = clientContext.Web.Lists.GetByTitle("Announcements");
           var query1 = from item in list.Items
                     where item.Id > 0
                     select item;

           var result = clientContext.LoadQuery(query1);
           clientContext.ExecuteQuery();

           foreach (var item in result)
           {
              textBox1.Text += item["Title"].ToString() + "rn";
           }
Actualización de objetos
Ejemplo


ClientContext clientContext = new ClientContext("http://MyServer/sites/MySiteCollection");
Web oWebsite = clientContext.Web;
ListCollection collList = oWebsite.Lists;


List oList = collList.GetByTitle("My List");


oList.Description = "Changed description...";
oList.Update();
clientContext.ExecuteQuery();
Creación de objetos desde el cliente
WebCreationInformation
ListCreationInformation
ListItemCreationInformation
Ejemplo
           ClientContext clientContext = new
              ClientContext("http://MyServer/sites/MySiteCollection/MyWebSite");
           WebCollection collWeb = clientContext.Web.Webs;

           WebCreationInformation webCreationInfo = new WebCreationInformation();
           webCreationInfo.Title = "My New Web Site";
           webCreationInfo.Description = "Description of new Web site...";
           webCreationInfo.Language = 1033;
           webCreationInfo.Url = "MyNewWebSite";
           webCreationInfo.UseSamePermissionsAsParentSite = true;
           webCreationInfo.WebTemplate = "STS#0";

           Web oNewWebsite = collWeb.Add(webCreationInfo);
           clientContext.ExecuteQuery();
Modelo de objetos de Silverlight
Silverlight incluye 2 assemblies:
   Microsoft.SharePoint.Client.Silverlight.dll
   Microsoft.SharePoint.Client.Silverlight.Runtime.dll
Silverlight comparte la mayoría de namespaces, objetos y métodos con el modelo
de objetos de cliente.
   La excepción la hace el hecho de que los llamados que ejecutan los queries son
   asincrónicos.
¿Preguntas?
Muchas gracias!!!

Más contenido relacionado

La actualidad más candente

6. Utilización del modelo de objetos del documento (DOM)
6. Utilización del modelo de objetos del documento (DOM)6. Utilización del modelo de objetos del documento (DOM)
6. Utilización del modelo de objetos del documento (DOM)Laura Folgado Galache
 
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control ToolkitDesarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkitpabloesp
 
Formularios Javascript
Formularios JavascriptFormularios Javascript
Formularios Javascriptguest2ae2651c
 
Curso SQL-C# Basico
Curso SQL-C# BasicoCurso SQL-C# Basico
Curso SQL-C# BasicoserTI_MX
 
Drupal 7 a través Drupal Commerce
Drupal 7 a través Drupal CommerceDrupal 7 a través Drupal Commerce
Drupal 7 a través Drupal CommercePedro Cambra
 
Cuaderno de ejercicios y practicas vistual basic
Cuaderno de ejercicios y practicas vistual basicCuaderno de ejercicios y practicas vistual basic
Cuaderno de ejercicios y practicas vistual basicOmar Valero Guerra
 
JUG DAY FLEX / JEE
JUG DAY FLEX / JEEJUG DAY FLEX / JEE
JUG DAY FLEX / JEEjcoronel
 
Practica Siete Delphi
Practica Siete  DelphiPractica Siete  Delphi
Practica Siete DelphiJose Ponce
 
Comunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSPComunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSPDanii Rodriguez
 
jQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojubacalo
 

La actualidad más candente (17)

Tema 2 objetos_jlabel_jtextfield_jbutton
Tema 2 objetos_jlabel_jtextfield_jbuttonTema 2 objetos_jlabel_jtextfield_jbutton
Tema 2 objetos_jlabel_jtextfield_jbutton
 
6. Utilización del modelo de objetos del documento (DOM)
6. Utilización del modelo de objetos del documento (DOM)6. Utilización del modelo de objetos del documento (DOM)
6. Utilización del modelo de objetos del documento (DOM)
 
03 action forms
03 action forms03 action forms
03 action forms
 
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control ToolkitDesarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
 
Jquery para principianes
Jquery para principianesJquery para principianes
Jquery para principianes
 
Formularios Javascript
Formularios JavascriptFormularios Javascript
Formularios Javascript
 
Curso SQL-C# Basico
Curso SQL-C# BasicoCurso SQL-C# Basico
Curso SQL-C# Basico
 
Drupal 7 a través Drupal Commerce
Drupal 7 a través Drupal CommerceDrupal 7 a través Drupal Commerce
Drupal 7 a través Drupal Commerce
 
Introduccion a VB6
Introduccion a VB6Introduccion a VB6
Introduccion a VB6
 
Cuaderno de ejercicios y practicas vistual basic
Cuaderno de ejercicios y practicas vistual basicCuaderno de ejercicios y practicas vistual basic
Cuaderno de ejercicios y practicas vistual basic
 
JUG DAY FLEX / JEE
JUG DAY FLEX / JEEJUG DAY FLEX / JEE
JUG DAY FLEX / JEE
 
Practica Siete Delphi
Practica Siete  DelphiPractica Siete  Delphi
Practica Siete Delphi
 
Funciones
FuncionesFunciones
Funciones
 
Comunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSPComunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSP
 
JSP
JSPJSP
JSP
 
jQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogo
 
manual visual basic 02
manual visual basic 02 manual visual basic 02
manual visual basic 02
 

Destacado

SharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresSharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresAndrés Iturralde
 
Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...
Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...
Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...Andrés Iturralde
 
Introducción a web matrix
Introducción a web matrixIntroducción a web matrix
Introducción a web matrixMICTT Palma
 
SharePoint 2010 desarrollo de aplicaciones
SharePoint 2010 desarrollo de aplicacionesSharePoint 2010 desarrollo de aplicaciones
SharePoint 2010 desarrollo de aplicacionesVic Frank
 
Sharepoint 2010. Novedades y Mejoras.
Sharepoint 2010. Novedades y Mejoras.Sharepoint 2010. Novedades y Mejoras.
Sharepoint 2010. Novedades y Mejoras.MICTT Palma
 
Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Juan Pablo
 

Destacado (7)

SharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresSharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para Desarrolladores
 
Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...
Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...
Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...
 
Introducción a web matrix
Introducción a web matrixIntroducción a web matrix
Introducción a web matrix
 
SharePoint 2010 desarrollo de aplicaciones
SharePoint 2010 desarrollo de aplicacionesSharePoint 2010 desarrollo de aplicaciones
SharePoint 2010 desarrollo de aplicaciones
 
Sharepoint 2010. Novedades y Mejoras.
Sharepoint 2010. Novedades y Mejoras.Sharepoint 2010. Novedades y Mejoras.
Sharepoint 2010. Novedades y Mejoras.
 
Personalizacion sharepoint2010
Personalizacion sharepoint2010Personalizacion sharepoint2010
Personalizacion sharepoint2010
 
Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010
 

Similar a Web Parts 2010

Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCCarlos Hernando
 
Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)Sorey García
 
Persistencia de un modelo de objetos
Persistencia de un modelo de objetosPersistencia de un modelo de objetos
Persistencia de un modelo de objetosJorge Ercoli
 
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.Juan Manuel
 
Tarea_Investigacion programacion .pdf
Tarea_Investigacion programacion .pdfTarea_Investigacion programacion .pdf
Tarea_Investigacion programacion .pdfBrimmerRamrez
 
Framework .NET 3.5 13 Programación orientada a la red
Framework .NET 3.5 13 Programación orientada a la redFramework .NET 3.5 13 Programación orientada a la red
Framework .NET 3.5 13 Programación orientada a la redAntonio Palomares Sender
 
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Sorey García
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generationSergi Almar i Graupera
 
Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012Atenea tech
 
Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NETwilliamsm
 
Introducción Seam
Introducción SeamIntroducción Seam
Introducción Seamsebasjm
 
Programacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETProgramacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETJavier Roig
 
01 Ext Js Introduccion
01 Ext Js   Introduccion01 Ext Js   Introduccion
01 Ext Js IntroduccionMayer Horna
 

Similar a Web Parts 2010 (20)

Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBC
 
Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)
 
Persistencia de un modelo de objetos
Persistencia de un modelo de objetosPersistencia de un modelo de objetos
Persistencia de un modelo de objetos
 
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
 
Tarea_Investigacion programacion .pdf
Tarea_Investigacion programacion .pdfTarea_Investigacion programacion .pdf
Tarea_Investigacion programacion .pdf
 
Framework .NET 3.5 13 Programación orientada a la red
Framework .NET 3.5 13 Programación orientada a la redFramework .NET 3.5 13 Programación orientada a la red
Framework .NET 3.5 13 Programación orientada a la red
 
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
 
ABI-Box
ABI-BoxABI-Box
ABI-Box
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
 
Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012
 
05 jsp tags
05 jsp tags05 jsp tags
05 jsp tags
 
Handlebars
HandlebarsHandlebars
Handlebars
 
Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NET
 
Clase1
Clase1Clase1
Clase1
 
Connection Java
Connection JavaConnection Java
Connection Java
 
Introducción Seam
Introducción SeamIntroducción Seam
Introducción Seam
 
Clase 12 jQuery basico
Clase 12  jQuery basicoClase 12  jQuery basico
Clase 12 jQuery basico
 
Programacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETProgramacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NET
 
Enterprise Library 5
Enterprise Library 5Enterprise Library 5
Enterprise Library 5
 
01 Ext Js Introduccion
01 Ext Js   Introduccion01 Ext Js   Introduccion
01 Ext Js Introduccion
 

Más de Comunidad SharePoint

SharePoint 2010 - Introdución Backup y Restore
SharePoint 2010 - Introdución Backup y RestoreSharePoint 2010 - Introdución Backup y Restore
SharePoint 2010 - Introdución Backup y RestoreComunidad SharePoint
 
CSA - Creando Visual Studio Templates
CSA - Creando Visual Studio TemplatesCSA - Creando Visual Studio Templates
CSA - Creando Visual Studio TemplatesComunidad SharePoint
 
CSA - Gestión e Implementación de Proyectos SharePoint
CSA - Gestión e Implementación de Proyectos SharePointCSA - Gestión e Implementación de Proyectos SharePoint
CSA - Gestión e Implementación de Proyectos SharePointComunidad SharePoint
 
CSA - SharePoint 2010 - Instalación y Configuración
CSA - SharePoint 2010 - Instalación y ConfiguraciónCSA - SharePoint 2010 - Instalación y Configuración
CSA - SharePoint 2010 - Instalación y ConfiguraciónComunidad SharePoint
 
CSA - Administración general y Aplicaciones de Servicio
CSA - Administración general y Aplicaciones de ServicioCSA - Administración general y Aplicaciones de Servicio
CSA - Administración general y Aplicaciones de ServicioComunidad SharePoint
 

Más de Comunidad SharePoint (8)

SharePoint 2010 - Introdución Backup y Restore
SharePoint 2010 - Introdución Backup y RestoreSharePoint 2010 - Introdución Backup y Restore
SharePoint 2010 - Introdución Backup y Restore
 
CSA - Creando Visual Studio Templates
CSA - Creando Visual Studio TemplatesCSA - Creando Visual Studio Templates
CSA - Creando Visual Studio Templates
 
CSA - Gestión e Implementación de Proyectos SharePoint
CSA - Gestión e Implementación de Proyectos SharePointCSA - Gestión e Implementación de Proyectos SharePoint
CSA - Gestión e Implementación de Proyectos SharePoint
 
CSA - SharePoint 2010 - Instalación y Configuración
CSA - SharePoint 2010 - Instalación y ConfiguraciónCSA - SharePoint 2010 - Instalación y Configuración
CSA - SharePoint 2010 - Instalación y Configuración
 
CSA - Office.com sobre SharePoint
CSA - Office.com sobre SharePointCSA - Office.com sobre SharePoint
CSA - Office.com sobre SharePoint
 
CSA - MOSS Disaster Recovery
CSA - MOSS Disaster RecoveryCSA - MOSS Disaster Recovery
CSA - MOSS Disaster Recovery
 
CSA - Intro SharePoint 2010
CSA -  Intro SharePoint 2010CSA -  Intro SharePoint 2010
CSA - Intro SharePoint 2010
 
CSA - Administración general y Aplicaciones de Servicio
CSA - Administración general y Aplicaciones de ServicioCSA - Administración general y Aplicaciones de Servicio
CSA - Administración general y Aplicaciones de Servicio
 

Último

Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 

Último (20)

Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 

Web Parts 2010

  • 1. Web Parts en SharePoint 2010 Patricio Belardo
  • 2. Sumario Características generales Web Parts Framework de Diálogos Barra de estados y area de notificación Modelo de objetos de cliente
  • 3. Web Parts en SharePoint 2010
  • 4. Web Parts en SharePoint 2010 Características Nuevas características Web Parts Visuales Nuevas Plantillas en Visual Studio 2010
  • 5. Web Parts Nuevas Características En las versiones anteriores de SharePoint, el desarrollo de webparts era todo un desafío. No se podía trabajar “visualmente” en el resultado que se quería obtener. Una de las nuevas plantillas de Visual Studio 2010 es la de “Web Part Visuales”, la cual permite a los desarrolladores diseñar visualmente el webpart y hacer el deploy de manera directa e intuitiva.
  • 9. Framework de Diálogos Objetivos de diseño Reducir la transición de páginas y mantener al usuario en contexto. Los contenidos se mostrarán en un iframe que estará dentro de un div Los diálogos son modales Pueden ser maximizados como ventanas normales.
  • 11. Framework de Diálogos Extensibilidad API de Javascript para el control de diálogos Los contenidos pueden ser una página o un DOMElement Tenemos otros parámetros opcionales, como ser título, ancho, alto, estado de ventana, etc. Un diseño de página puede ser utilizado para mostrarse dentro de un diálogo o fuera de él.
  • 12. Framework de Diálogos Ejemplo de utilización function myCallback(dialogResult, returnValue) { alert(“Hello World!”); } var options = { url: “/_layouts/somepage.aspx”, width: 500, dialogReturnValueCallback:myCallback}; SP.UI.ModalDialog.showModalDialog(options);
  • 13. Framework de Diálogos - Parámetros Parameter Description url (string) La URL de la página a ser incluida dentro del diáloo. SharePoint automáticamente le va a agregar el “Source” al querystring. Este parámetro especifica a qué página debería retornar el browser cuando finalice. html (DOMElement) Se puede especificar un DOMElement en vez de pasar una URL title (string) Especifica el título. Si no se especifica se muestra el título de la página. x (int) Posición izquierda (píxeles) y (int) Posición superior (píxeles) width (int) Ancho (píxeles) height (int) Alto (píxeles) showMaximized (bool) { true | false } Determina el tamaño inicial del diálogo allowMaximize (maximizable { true | false } (bool) Habilita o no el botón de maximizado dialogReturnValueCallback Una función de callback será invocada cuando el diálogo sea cerrado
  • 15. Barra de Estados / Área de notificación
  • 16. Barra de Estado / Área de Notificación Entrega información al usuario sin que sea una distracción en sus operatorias normales La barra de estado debería ser utilizada para mostrar información de persistencia
  • 17. Barra de Estado Diseño: Se muestra debajo de la Ribbon Se utilizarán colores predefinidos dependiendo de la importancia Extensibilidad: API de Javascript para agregar o eliminar mensajes y especificar el color API de Server para definir el estado al momento del render de la página El mensaje es un HTML y podría incluir links o íconos Cuando se quieran mostrar múltiples colores, la barra seleccionará el más “importante”
  • 18. API de Barra de Estado String SP.UI.Status.addStatus(String Html) Agrega un mensaje con el HTML dentro de la barra de estado. El mensaje va a ser siempre agregado a la derecha. Este método retorna el ID del mensaje. String SP.UI.Status.appendStatus(sid, strTitle, strHtml) Agrega un mensaje al mensaje existente especificado por el parámetro SID. Un nuevo mensaje se creará y el mismo será retornado. Bool SP.UI.Status.removeStatus(String sid) Quita el mensaje indicado en el SID. Void SP.UI.Status.removeAllStatus() Remueve todos los mensajes de la barra de estado. Bool SP.UI.Status.updateStatus(String sid, String Html) Actualiza el estado en base al SID indicado y el parámetro Html Void SP.UI.Status.setStatusPriColor(sid, strColor) Define el color del mensaje
  • 19. Área de Notificación Diseño: Aparece a la derecha de la página, por debajo de la Ribbon El mensaje por defecto se mostrará por 5 segundos. Extensibilidad: API de Javascript para agregar o eliminar mensajes API de Server para definir el estado al momento del render de la página El mensaje es un HTML y podría incluir links o íconos Existe un parámetro opcional llamado “Sticky” que está definido para que el mensaje quede fijo. Luego el mensaje de debería quitar manualmente
  • 20. API de Área de Notificación String SP.UI.Notify addNotification(String Message, Bool Sticky) Agrega el mensaje a la barra de notificación. Este método retorna el ID del mensaje. Bool SP.UI.Notify.removeNotification(String ID) Remueve el mensaje indicado en el ID.
  • 21. Demo Barra de Estados / Área de notificación
  • 22. Modelo de objetos de Cliente
  • 23. Modelo de objetos de cliente Modelo de Objetos de Cliente ECMAScript Silverlight
  • 24. Comparativa de Modelos de Objetos Código manejado de .NET y Servidor Silverlight ECMAScript (namespace (namespace (namespace SP) Microsoft.SharePoint) Microsoft.SharePoint.Client) SPContext ClientContext ClientContext SPSite Site Site SPWeb Web Web SPList List List SPListItem ListItem ListItem SPField (including major Field Field derived classes) WebPartPages.SPLimitedWe WebParts.LimitedWebPartMa WebParts.LimitedWebP bPartManager nager artManager
  • 25. Obtención de Datos El contexto de cliente es obtenido mediante el uso del constructor ClientContext(). Luego se debe utilizar el modelo de objetos para especificar qué objetos obtener. Para cargar el objeto o colección se puede utilizar una de las siguientes opciones: A través de un llamado al método “Load()” para obtener el dato específico, Utilizando una carga queryable que utilice el método LoadQuery() y retorne una colección de objetos enumerables El query es ejecutado llamando al método ExecuteQuery().
  • 26. Obtención de Datos Ejemplo ClientContext clientContext = new ClientContext("http://MyServer/sites/MySiteCollection "); Web oWebsite = clientContext.Web; clientContext.Load(oWebsite); clientContext.ExecuteQuery(); Console.WriteLine("Title: {0} Created: {1}", oWebsite.Title, oWebsite.Created);
  • 27. Obtención de Datos Ejemplo – Query de estilo LINQ var query = from list in clientContext.Web.Lists where list.Title != null select list; var result = clientContext.LoadQuery(query); clientContext.ExecuteQuery();
  • 28. Obtención de datos utilizando el modelo de objetos de cliente Algunas propiedades no están disponibles por fefecto cuando se obtienen ciertos objetos. Se deben especificar los objetos que se quieran cargar, en el método “load” Ejemplo: clientContext.Load(oList, list => list.Title, list => list.Created, list => list.OnQuickLaunch, list => list.Items);
  • 29. Propiedades que no están disponibles por defecto. Objeto Propiedades Folder ContentTypeOrder, UniqueContentTypeOrder List BrowserFileHandling, DataSource, EffectiveBasePermissions, HasUniqueRoleAssignments, IsAttachmentLibrary(), OnQuickLaunch, RoleAssignments, SchemaXml, ValidationFormula, ValidationMessage ListItem DisplayName, EffectiveBasePermissions, HasUniqueRoleAssignments, RoleAssignments SecurableObject HasUniqueRoleAssignments, RoleAssignments Site Usage Web EffectiveBasePermissions, HasUniqueRoleAssignments, RoleAssignments
  • 30. Obtener datos de una lista Utilizando un Query CAML El método GetItems(CamlQuery) permite definir un query de formato CAML que especifique qué items retornar. Se puede llamar al método CamlQuery.CreateAllItemsQuery() para generar el query que retorne todos los items. Ejemplo: ClientContext clientContext = new ClientContext(siteUrl); SP.List oList = clientContext.Web.Lists.GetByTitle("Announcements"); CamlQuery camlQuery = new CamlQuery(); camlQuery.ViewXml = "<View><Query><Where><Geq><FieldRef Name='ID'/>" + "<Value Type='Number'>10</Value></Geq></Where></Query><RowLimit>100</RowLimit></View>"; ListItemCollection collListItem = oList.GetItems(camlQuery); clientContext.Load(collListItem); clientContext.ExecuteQuery();
  • 31. Obtener datos de una lista Utilizando un query LINQ Ejemplo: ClientContext clientContext = new ClientContext("http://spdev0220"); List list = clientContext.Web.Lists.GetByTitle("Announcements"); var query1 = from item in list.Items where item.Id > 0 select item; var result = clientContext.LoadQuery(query1); clientContext.ExecuteQuery(); foreach (var item in result) { textBox1.Text += item["Title"].ToString() + "rn"; }
  • 32. Actualización de objetos Ejemplo ClientContext clientContext = new ClientContext("http://MyServer/sites/MySiteCollection"); Web oWebsite = clientContext.Web; ListCollection collList = oWebsite.Lists; List oList = collList.GetByTitle("My List"); oList.Description = "Changed description..."; oList.Update(); clientContext.ExecuteQuery();
  • 33. Creación de objetos desde el cliente WebCreationInformation ListCreationInformation ListItemCreationInformation Ejemplo ClientContext clientContext = new ClientContext("http://MyServer/sites/MySiteCollection/MyWebSite"); WebCollection collWeb = clientContext.Web.Webs; WebCreationInformation webCreationInfo = new WebCreationInformation(); webCreationInfo.Title = "My New Web Site"; webCreationInfo.Description = "Description of new Web site..."; webCreationInfo.Language = 1033; webCreationInfo.Url = "MyNewWebSite"; webCreationInfo.UseSamePermissionsAsParentSite = true; webCreationInfo.WebTemplate = "STS#0"; Web oNewWebsite = collWeb.Add(webCreationInfo); clientContext.ExecuteQuery();
  • 34. Modelo de objetos de Silverlight Silverlight incluye 2 assemblies: Microsoft.SharePoint.Client.Silverlight.dll Microsoft.SharePoint.Client.Silverlight.Runtime.dll Silverlight comparte la mayoría de namespaces, objetos y métodos con el modelo de objetos de cliente. La excepción la hace el hecho de que los llamados que ejecutan los queries son asincrónicos.