SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
C&B419
Automatizando procesos con Event
Receivers en SharePoint 2010
Guillermo Bas
SharePoint Developer
MCTS – MCPD en SharePoint 2010
gbas@solidq.com - @guillebas
Objetivos de la sesión
Event Receivers

α Comprender los distintos tipos de Event Receivers


α Aprender cómo automatizar procesos repetitivos mediante
   el uso de Event Receivers


α Desplegar y administrar Event Receivers de forma
   controlada
Tipos de evento
Tipos de evento
Por contexto

    Colección de sitios (Site)   Sitio (Web)      Flujo de trabajo (Workflow)


    SiteDeleting                 WebAdding        WorkflowStarting

    SiteDeleted                  WebProvisioned   WorkflowStarted

                                 WebDeleting      WorkflowPostponed

                                 WebDeleted       WorkflowCompleted

                                 WebMoving

                                 WebMoved
Tipos de evento
Por contexto

    Lista (List)   Campo (Field)   Ítem (Item)
                                   ItemAdding

                                   ItemAdded
    ListAdding     FieldAdding
                                   ItemDeleting
    ListAdded      FieldAdded
                                   ItemDeleted
    ListDeleting   FieldDeleting
                                   ItemUpdating
    ListDeleted    FieldDeleted    ItemUpdated
                   FieldUpdating   ItemFileConverted

                   FieldUpdated    ItemFileMoved

                                   ItemCheckedIn

                                   ItemCheckinOut

                                   ItemAttachmentAdding

                                   ItemAttachmentAdded

                                   ItemAttachmentDeleting

                                   ItemAttachmentDeleted
Tipos de evento
Sincronía

 Asíncronos

 α Hilo de ejecución diferente del
   proceso que los activa

 α Identificables por el verbo en
   pasado
   β Added, Updated, Deleted…
Tipos de evento
Sincronía

Síncronos

α Mismo hilo de ejecución que el
  proceso que los activa

α Identificables por el verbo en
  gerundio
  β Adding, Updating, Deleting…
Tipos de evento desde Visual Studio 2010
Automatizando procesos
Automatizando procesos
Tres maneras de automatizar
                                     Administrador: "Cuando
                                  crean una tarea en una lista de
   Desarrollador: "Los Event      tareas, se creará una colección
  Receivers molan un montón,      de sitios con 15 subsitios y 50
 voy a usarlos para para todo."      listas desde el código del
                                    Event Receiver. Nunca más
                                       tendré que trabajar "



                                                   ¡NO!
Automatizando procesos
Tres maneras de automatizar
α Timer Jobs
 β   Procesos muy pesados o que requiere mucho tiempo para
     ejecutarse
 β   Procesos que se repiten a lo largo del tiempo

α Workflows
 β   Procesos completos de negocio que tienen varios pasos o procesos
     estructurados
 β   Se ejecutan de forma totalmente separada a la interfaz (no existe
     sincronía)

α Event Receivers
 β   Procesos ligeros que aportan gran versatilidad para la
     automatización
Automatizando procesos
Aspectos importantes del desarrollo de Event Receivers
α Properties
 β   Web
 β   List
 β   ListItem
 β   …


α Properties.Cancel

α Properties.ErrorMessage
Despliegue y administración
PowerShell
Listar eventos asociados a una lista

$spWeb = Get-SPWeb -Identity http://demo.spdev.local
$spList = $spWeb.Lists["My List Name"]
$spList.EventReceivers | Select Name,Assembly,Type
PowerShell
Asociar un evento a una lista

$spWeb = Get-SPWeb -Identity http://demo.spdev.local
$spList = $spWeb.Lists["Nombre de lista"]
$spEventReceiver = $spList.EventReceivers.Add()
$spEventReceiver.Assembly = "Solucion.Proyecto.Clase,
Version=1.0.0.0, Culture=neutral,
PublicKeyToken=24242342424"
$spEventReceiver.Class = "Namespace.MyClass.ClassName"
$spEventReceiver.Name = "Nombre para el Evento"
$spEventReceiver.Type = 10002
$spEventReceiver.SequenceNumber = 1000
$spEventReceiver.Synchronization = 1
$spEventReceiver.Update()
PowerShell
Eliminar eventos asociados a una lista
$spWeb = Get-SPWeb -Identity http://demo.spdev.local
$spList = $spWeb.Lists[" Nombre de lista "]
$eventsCount = $spList.EventReceivers.Count
$assembly = " Solucion.Proyecto.Clase, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=24242342424"
$class = "Namespace.MyClass.ClassName"
$type = 10002
$name = "Nombre para el Evento"
for ($i = 0; $i -lt $eventsCount; $i+=1) {
if ($spList.EventReceivers[$i].Assembly -eq $assembly -and
$spList.EventReceivers[$i].Class -eq $class -and
$spList.EventReceivers[$i].Type -eq $type -and
$spList.EventReceivers[$i].Name -eq $Name) {
$spList.EventReceivers[$i].Delete()
}
}
$spList.Update()
Feature Receivers
Alternativa para eliminar Event Receivers
α Incorporamos el registro o eliminación de event receivers
    al proyecto de Visual Studio y a la interfaz de SharePoint

α Solución más limpia
Histórico documental con Event Receivers
Cadenas de ejecución
Bibliotecas de documentos
α Caso 1: Subir documento (no requiere check out)




α Caso 2: Subir documento (requiere check out)
Cadenas de ejecución
Bibliotecas de documentos
α Caso 3: Crear documento desde Office 2010 (no requiere check out)




α Caso 4: Crear documento desde Office 2010 (requiere checkout)
Recursos adicionales

α Tabla de valores con el tipo de evento y sincronía
   http://tinyurl.com/EventReceiversPowerShell

α Creando Event Receivers desde Visual Studio 2010
   http://msdn.microsoft.com/en-us/library/gg252010.aspx

α Asociando eventos en una característica
   http://msdn.microsoft.com/en-us/library/ms430602.aspx

α Mi cuenta de twitter  @guillebas
   http://twitter.com/guillebas
Si quieres disfrutar de las mejores sesiones de
nuestros mentores de España y Latino América,
             ésta es tu oportunidad.

      http://summit.solidq.com/madrid/

Más contenido relacionado

Destacado

Presentacion generica wedding planner
Presentacion generica wedding plannerPresentacion generica wedding planner
Presentacion generica wedding plannerCarlos Biel
 
EVENTOS CON ESTILO Proyecto final GRUPO 494
EVENTOS CON ESTILO Proyecto final GRUPO 494EVENTOS CON ESTILO Proyecto final GRUPO 494
EVENTOS CON ESTILO Proyecto final GRUPO 494unadista_494
 
Presentacion Empresa Organizadora De Eventos
Presentacion Empresa Organizadora De EventosPresentacion Empresa Organizadora De Eventos
Presentacion Empresa Organizadora De EventosJOHANA COSTALES
 
Planificacion y organizacion de eventos y banquete
Planificacion y organizacion de eventos y banquetePlanificacion y organizacion de eventos y banquete
Planificacion y organizacion de eventos y banqueteYsrael Quereigua
 
Tipos De Eventos, Conceptos,Planificación
Tipos De Eventos, Conceptos,PlanificaciónTipos De Eventos, Conceptos,Planificación
Tipos De Eventos, Conceptos,Planificaciónfedericogalvis
 
Tipos de eventos
Tipos de eventosTipos de eventos
Tipos de eventosMonica coro
 
Manual sobre la organización de eventos
Manual sobre la organización de eventosManual sobre la organización de eventos
Manual sobre la organización de eventosWilmer Montoya Castillo
 

Destacado (13)

Presentacion generica wedding planner
Presentacion generica wedding plannerPresentacion generica wedding planner
Presentacion generica wedding planner
 
Especialista Universitario en Wedding Planner
Especialista Universitario en Wedding Planner Especialista Universitario en Wedding Planner
Especialista Universitario en Wedding Planner
 
Presentación eb - eventos con emoción
Presentación eb - eventos con emociónPresentación eb - eventos con emoción
Presentación eb - eventos con emoción
 
Generalidades de los eventos
Generalidades de los eventosGeneralidades de los eventos
Generalidades de los eventos
 
EVENTOS CON ESTILO Proyecto final GRUPO 494
EVENTOS CON ESTILO Proyecto final GRUPO 494EVENTOS CON ESTILO Proyecto final GRUPO 494
EVENTOS CON ESTILO Proyecto final GRUPO 494
 
Mision y vision
Mision y visionMision y vision
Mision y vision
 
Etapas De Un Evento
Etapas De Un EventoEtapas De Un Evento
Etapas De Un Evento
 
Presentacion Empresa Organizadora De Eventos
Presentacion Empresa Organizadora De EventosPresentacion Empresa Organizadora De Eventos
Presentacion Empresa Organizadora De Eventos
 
Planificacion y organizacion de eventos y banquete
Planificacion y organizacion de eventos y banquetePlanificacion y organizacion de eventos y banquete
Planificacion y organizacion de eventos y banquete
 
Tipos De Eventos, Conceptos,Planificación
Tipos De Eventos, Conceptos,PlanificaciónTipos De Eventos, Conceptos,Planificación
Tipos De Eventos, Conceptos,Planificación
 
Tipos de eventos
Tipos de eventosTipos de eventos
Tipos de eventos
 
Los eventos y sus etapas
Los eventos y sus etapasLos eventos y sus etapas
Los eventos y sus etapas
 
Manual sobre la organización de eventos
Manual sobre la organización de eventosManual sobre la organización de eventos
Manual sobre la organización de eventos
 

Similar a Aplicaciones sobre SharePoint : Automatizando procesos con Event Receivers en SharePoint 2010

¿Es posible extender a SharePoint 2013? Probablemente en más de una forma…
¿Es posible extender a SharePoint 2013? Probablemente en más de una forma…¿Es posible extender a SharePoint 2013? Probablemente en más de una forma…
¿Es posible extender a SharePoint 2013? Probablemente en más de una forma…Fabian Imaz
 
Tecnologías para microservicios
Tecnologías para microserviciosTecnologías para microservicios
Tecnologías para microserviciosPedro J. Molina
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014Adrian Diaz Cervera
 
Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6Gabriela Bosetti
 
4. Agregar Codigo A Los Formularios Web Form
4.  Agregar Codigo A Los Formularios Web Form4.  Agregar Codigo A Los Formularios Web Form
4. Agregar Codigo A Los Formularios Web Formguest3cf6ff
 
El Mal Odiado Javascript
El Mal Odiado JavascriptEl Mal Odiado Javascript
El Mal Odiado Javascriptguest030dc2
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netAntonio Palomares Sender
 
A2-Tema4.pdf
A2-Tema4.pdfA2-Tema4.pdf
A2-Tema4.pdfAlMoon5
 
Control de eventos en gui
Control de eventos en guiControl de eventos en gui
Control de eventos en guijc_lovecraft77
 
Manejadores de Eventos en WSS 3.0
Manejadores de Eventos en WSS 3.0Manejadores de Eventos en WSS 3.0
Manejadores de Eventos en WSS 3.0guest9122e8
 
SharePoint 2010 Client Object Model
SharePoint 2010 Client Object ModelSharePoint 2010 Client Object Model
SharePoint 2010 Client Object ModelAndrés Iturralde
 
Charla Jquery
Charla JqueryCharla Jquery
Charla Jquerykaolong
 
Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Luis Fernando Aguas Bucheli
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)lenny
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)INSIGNIA4U
 

Similar a Aplicaciones sobre SharePoint : Automatizando procesos con Event Receivers en SharePoint 2010 (20)

¿Es posible extender a SharePoint 2013? Probablemente en más de una forma…
¿Es posible extender a SharePoint 2013? Probablemente en más de una forma…¿Es posible extender a SharePoint 2013? Probablemente en más de una forma…
¿Es posible extender a SharePoint 2013? Probablemente en más de una forma…
 
ABI-Box
ABI-BoxABI-Box
ABI-Box
 
Tecnologías para microservicios
Tecnologías para microserviciosTecnologías para microservicios
Tecnologías para microservicios
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014
 
Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6
 
4. Agregar Codigo A Los Formularios Web Form
4.  Agregar Codigo A Los Formularios Web Form4.  Agregar Codigo A Los Formularios Web Form
4. Agregar Codigo A Los Formularios Web Form
 
Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
 
El Mal Odiado Javascript
El Mal Odiado JavascriptEl Mal Odiado Javascript
El Mal Odiado Javascript
 
Liferay 6.1 Service Builder
Liferay 6.1  Service BuilderLiferay 6.1  Service Builder
Liferay 6.1 Service Builder
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .net
 
A2-Tema4.pdf
A2-Tema4.pdfA2-Tema4.pdf
A2-Tema4.pdf
 
Event sourcing
Event sourcingEvent sourcing
Event sourcing
 
Control de eventos en gui
Control de eventos en guiControl de eventos en gui
Control de eventos en gui
 
Manejadores de Eventos en WSS 3.0
Manejadores de Eventos en WSS 3.0Manejadores de Eventos en WSS 3.0
Manejadores de Eventos en WSS 3.0
 
JAVASCRIPT.pptx
JAVASCRIPT.pptxJAVASCRIPT.pptx
JAVASCRIPT.pptx
 
SharePoint 2010 Client Object Model
SharePoint 2010 Client Object ModelSharePoint 2010 Client Object Model
SharePoint 2010 Client Object Model
 
Charla Jquery
Charla JqueryCharla Jquery
Charla Jquery
 
Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
 

Más de SolidQ

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?SolidQ
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en LinuxSolidQ
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida realSolidQ
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízateSolidQ
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksSolidQ
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BISolidQ
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesSolidQ
 
R en relacional
R en relacionalR en relacional
R en relacionalSolidQ
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!SolidQ
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en AzureSolidQ
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018SolidQ
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018SolidQ
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018SolidQ
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018SolidQ
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...SolidQ
 

Más de SolidQ (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
 
R en relacional
R en relacionalR en relacional
R en relacional
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
 

Último

EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaJuan Carlos Fonseca Mata
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 

Último (20)

EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - Botánica
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 

Aplicaciones sobre SharePoint : Automatizando procesos con Event Receivers en SharePoint 2010

  • 1. C&B419 Automatizando procesos con Event Receivers en SharePoint 2010 Guillermo Bas SharePoint Developer MCTS – MCPD en SharePoint 2010 gbas@solidq.com - @guillebas
  • 2. Objetivos de la sesión Event Receivers α Comprender los distintos tipos de Event Receivers α Aprender cómo automatizar procesos repetitivos mediante el uso de Event Receivers α Desplegar y administrar Event Receivers de forma controlada
  • 4. Tipos de evento Por contexto Colección de sitios (Site) Sitio (Web) Flujo de trabajo (Workflow) SiteDeleting WebAdding WorkflowStarting SiteDeleted WebProvisioned WorkflowStarted WebDeleting WorkflowPostponed WebDeleted WorkflowCompleted WebMoving WebMoved
  • 5. Tipos de evento Por contexto Lista (List) Campo (Field) Ítem (Item) ItemAdding ItemAdded ListAdding FieldAdding ItemDeleting ListAdded FieldAdded ItemDeleted ListDeleting FieldDeleting ItemUpdating ListDeleted FieldDeleted ItemUpdated FieldUpdating ItemFileConverted FieldUpdated ItemFileMoved ItemCheckedIn ItemCheckinOut ItemAttachmentAdding ItemAttachmentAdded ItemAttachmentDeleting ItemAttachmentDeleted
  • 6. Tipos de evento Sincronía Asíncronos α Hilo de ejecución diferente del proceso que los activa α Identificables por el verbo en pasado β Added, Updated, Deleted…
  • 7. Tipos de evento Sincronía Síncronos α Mismo hilo de ejecución que el proceso que los activa α Identificables por el verbo en gerundio β Adding, Updating, Deleting…
  • 8. Tipos de evento desde Visual Studio 2010
  • 10. Automatizando procesos Tres maneras de automatizar Administrador: "Cuando crean una tarea en una lista de Desarrollador: "Los Event tareas, se creará una colección Receivers molan un montón, de sitios con 15 subsitios y 50 voy a usarlos para para todo." listas desde el código del Event Receiver. Nunca más tendré que trabajar " ¡NO!
  • 11. Automatizando procesos Tres maneras de automatizar α Timer Jobs β Procesos muy pesados o que requiere mucho tiempo para ejecutarse β Procesos que se repiten a lo largo del tiempo α Workflows β Procesos completos de negocio que tienen varios pasos o procesos estructurados β Se ejecutan de forma totalmente separada a la interfaz (no existe sincronía) α Event Receivers β Procesos ligeros que aportan gran versatilidad para la automatización
  • 12. Automatizando procesos Aspectos importantes del desarrollo de Event Receivers α Properties β Web β List β ListItem β … α Properties.Cancel α Properties.ErrorMessage
  • 14. PowerShell Listar eventos asociados a una lista $spWeb = Get-SPWeb -Identity http://demo.spdev.local $spList = $spWeb.Lists["My List Name"] $spList.EventReceivers | Select Name,Assembly,Type
  • 15. PowerShell Asociar un evento a una lista $spWeb = Get-SPWeb -Identity http://demo.spdev.local $spList = $spWeb.Lists["Nombre de lista"] $spEventReceiver = $spList.EventReceivers.Add() $spEventReceiver.Assembly = "Solucion.Proyecto.Clase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=24242342424" $spEventReceiver.Class = "Namespace.MyClass.ClassName" $spEventReceiver.Name = "Nombre para el Evento" $spEventReceiver.Type = 10002 $spEventReceiver.SequenceNumber = 1000 $spEventReceiver.Synchronization = 1 $spEventReceiver.Update()
  • 16. PowerShell Eliminar eventos asociados a una lista $spWeb = Get-SPWeb -Identity http://demo.spdev.local $spList = $spWeb.Lists[" Nombre de lista "] $eventsCount = $spList.EventReceivers.Count $assembly = " Solucion.Proyecto.Clase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=24242342424" $class = "Namespace.MyClass.ClassName" $type = 10002 $name = "Nombre para el Evento" for ($i = 0; $i -lt $eventsCount; $i+=1) { if ($spList.EventReceivers[$i].Assembly -eq $assembly -and $spList.EventReceivers[$i].Class -eq $class -and $spList.EventReceivers[$i].Type -eq $type -and $spList.EventReceivers[$i].Name -eq $Name) { $spList.EventReceivers[$i].Delete() } } $spList.Update()
  • 17. Feature Receivers Alternativa para eliminar Event Receivers α Incorporamos el registro o eliminación de event receivers al proyecto de Visual Studio y a la interfaz de SharePoint α Solución más limpia
  • 18. Histórico documental con Event Receivers
  • 19. Cadenas de ejecución Bibliotecas de documentos α Caso 1: Subir documento (no requiere check out) α Caso 2: Subir documento (requiere check out)
  • 20. Cadenas de ejecución Bibliotecas de documentos α Caso 3: Crear documento desde Office 2010 (no requiere check out) α Caso 4: Crear documento desde Office 2010 (requiere checkout)
  • 21. Recursos adicionales α Tabla de valores con el tipo de evento y sincronía http://tinyurl.com/EventReceiversPowerShell α Creando Event Receivers desde Visual Studio 2010 http://msdn.microsoft.com/en-us/library/gg252010.aspx α Asociando eventos en una característica http://msdn.microsoft.com/en-us/library/ms430602.aspx α Mi cuenta de twitter  @guillebas http://twitter.com/guillebas
  • 22. Si quieres disfrutar de las mejores sesiones de nuestros mentores de España y Latino América, ésta es tu oportunidad. http://summit.solidq.com/madrid/