Professional Documents
Culture Documents
Este documento se proporciona "tal cual". Es posible que la informacin y las vistas mencionadas en este documento, incluidas la direccin URL y otras referencias de sitio web de Internet, cambien si previo aviso. El usuario asume el riesgo de su uso. Algunos ejemplos descritos en este documento se proporcionan nicamente con fines ilustrativos y son ficticios. No se pretende indicar ni debe deducirse ninguna asociacin ni conexin real. Este documento no proporciona derecho legal alguno sobre cualquier propiedad intelectual de un producto de Microsoft. Este documento puede copiarse y usarse para fines internos y de referencia. 2010 Microsoft. Reservados todos los derechos. Microsoft, SharePoint, Visual Studio, InfoPath y Visio son marcas comerciales del grupo de compaas de Microsoft. Todas las dems marcas comerciales pertenecen a sus respectivos propietarios.
Pgina 1
Contenido
Ejercicio 1: tutorial sobre elementos web y LINQ .................................................................................................. 4 Tarea 1: creacin de un nuevo proyecto de SharePoint ................................................................................... 4 Tarea 2: generacin de la clase de proxy LINQ-to-SharePoint para obtener acceso a datos de listas ............ 7 Tarea 3: acceso a datos de listas de SharePoint en el elemento web visual ................................................... 9 Tarea 4: creacin e implementacin del elemento web visual ........................................................................ 11 Ejercicio 2: creacin de un tipo de contenido externo de BCS ............................................................................ 16 Tarea 1: creacin de un proyecto de modelo de conectividad a datos empresariales ................................... 16 Tarea 2: actualizacin del esquema de la clase de entidad ............................................................................ 18 Tarea 3: actualizacin del cdigo del servicio ................................................................................................. 28 Tarea 4: creacin e implementacin ................................................................................................................ 30 Ejercicio 3: creacin de una aplicacin de Silverlight para el modelo de objetos de cliente de SharePoint ....... 34 Tarea 1: creacin de un proyecto de aplicacin de Silverlight ........................................................................ 34 Tarea 2: escritura de cdigo para obtener acceso a datos de listas de SharePoint y representarlos ............ 36 Tarea 3: implementacin y prueba mediante el elemento web de Silverlight de SharePoint ......................... 40 Ejercicio 4: creacin de un grfico mediante el modelo de objetos de SharePoint y los controles de grficos de Silverlight .............................................................................................................................................................. 42 Tarea 1: creacin de un proyecto de aplicacin de Silverlight ........................................................................ 42 Tarea 2: escritura de cdigo para obtener acceso a datos de la lista Employee de SharePoint y mostrarlos en un control de grficos de Silverlight ............................................................................................................ 46 Tarea 3: implementacin y prueba mediante el elemento web de Silverlight de SharePoint ......................... 49 Ejercicio 5: creacin de un elemento web para una solucin de espacio aislado ............................................... 53 Tarea 1: creacin de un proyecto de solucin de espacio aislado con un elemento web .............................. 53 Tarea 2: adicin de cdigo para proporcionar la funcionalidad de consulta y presentacin ........................... 55 Tarea 3: generacin e implementacin de la solucin de espacio aislado ..................................................... 58 Ejercicio 6: creacin de una actividad para su uso en un flujo de trabajo de SharePoint Designer.................... 63 Tarea 1: creacin y preparacin del proyecto ................................................................................................. 63 Tarea 2: creacin de una actividad de flujo de trabajo para su uso por el flujo de trabajo reutilizable ........... 64 Tarea 3: adicin de cdigo para crear una biblioteca de documentos basada en los parmetros pasados a la actividad ........................................................................................................................................................... 66 Tarea 4: configuracin de la actividad para la implementacin....................................................................... 69 Tarea 5: adicin de la actividad SPDActivityDemo para su implementacin con SPCHOL305Ex1. .............. 73 Tarea 6: configuracin de una caracterstica mediante el diseador de caractersticas ................................ 75 Tarea 7: adicin y codificacin de un receptor de caractersticas ................................................................... 75 Tarea 8: creacin de un flujo de trabajo reutilizable mediante SharePoint Designer...................................... 76 Tarea 9: importacin del flujo de trabajo reutilizable a Visual Studio .............................................................. 84 Tarea 10: asociacin del flujo de trabajo con una lista en SharePoint ............................................................ 91 Resumen del tutorial ............................................................................................................................................ 93
Pgina 2
A continuacin se incluyen seis tutoriales de C# sobre escenarios exclusivos que los programadores profesionales pueden llevar a cabo en SharePoint 2010 con Visual Studio 2010. Observar que en estos tutoriales se proporcionan las instantneas suficientes para leer el documento sin que sea necesario el acceso al software. Estos tutoriales para programadores tambin se encuentran disponibles como laboratorios prcticos como parte de este curso de eLearning en lnea: http://msdn.microsoft.com/es-es/sharepoint/ee513147.aspx. Tambin se ofrecen laboratorios adicionales, vdeos, entornos de laboratorio virtuales en lnea y ejemplos de cdigo, y los laboratorios prcticos se encuentran disponibles en C# y VB.NET. Para proporcionar comentarios sobre esta gua, enve un mensaje de correo electrnico a sp2010fb@Microsoft.com.
Pgina 3
6. Escriba C:\SPHOLS\SPCHOL200\CS\Ex1 en el cuadro de texto Ubicacin. 7. Desactive Crear directorio para la solucin. 8. Haga clic en Aceptar. 9. En el Asistente para personalizar SharePoint: Escriba http://intranet.contoso.com/ para el sitio local. Establezca el nivel de confianza en Implementar como solucin de granja de servidores. Haga clic en el botn Finalizar.
10. Visual Studio crear el nuevo proyecto SPCHOL200-Ex1 y agregar los archivos necesarios.
Pgina 5
11. Observe que Visual Studio tambin crear un elemento web denominado VisualWebPart1. En el Explorador de soluciones, expanda VisualWebPart1 y abra VisualWebPart1.webpart.
12. Cambie el valor del elemento de propiedad con el valor de atributo de nombre Title por SPLinqDemoTitle y el valor del elemento de propiedad con el valor de atributo de nombre Description por SPLinqDemoPart Description. Se cambiarn las propiedades Title y Description del elemento web visual una vez implementado. Guarde el archivo.
<properties> <property name="Title" type="string">SPLinqDemoTitle</property> <property name="Description" type="string">SPLinqDemoPart Description</property> </properties>
Pgina 6
Tarea 2: generacin de la clase de proxy LINQ-to-SharePoint para obtener acceso a datos de listas En esta tarea, usar la nueva utilidad de generacin de cdigo spmetal.exe y generar el cdigo proxy de LINQ-to-SharePoint. 1. En el Explorador de soluciones, haga clic con el botn secundario en SPCHOL200-Ex1 y seleccione Abrir carpeta en el Explorador de Windows. 2. Mantenga presionada la tecla Maysculas y haga clic con el botn secundario en cualquier lugar de la ventana del Explorador y seleccione Abrir ventana de comandos aqu para abrir la ventana del smbolo del sistema en el directorio del proyecto actual:
3. Escriba el siguiente comando en el smbolo del sistema y presione ENTRAR para establecer la ruta de acceso a la carpeta de SharePoint 2010: set path=%path%;c:\archivos de programa\common files\microsoft shared\web server extensions\14\bin 4. Escriba el siguiente comando en el smbolo del sistema y presione ENTRAR para generar el cdigo proxy de LINQ-to-SharePoint.
spmetal.exe /web:http://intranet.contoso.com /namespace:SPCHOL200_Ex1.VisualWebPart1 /code:SPLinq.cs
Nota: es posible que reciba advertencias sobre tipos de contenido de plantillas de formulario de listas. Puede pasar por alto esta advertencia sin ningn riesgo y continuar. 5. Cierre la ventana Comandos y vuelva a Visual Studio. 6. En Visual Studio, haga clic con el botn secundario en el proyecto SPCHOL200-Ex1 y seleccione Agregar | Elemento existente.
Pgina 7
7. Seleccione SPLinq.cs en la ventana de dilogo Agregar elemento existente y haga clic en Agregar:
8. En el Explorador de soluciones, haga clic con el botn secundario en References y seleccione Agregar referencia. 9. Cambie a la ficha Examinar y escriba C:\Archivos de programa\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI en el cuadro de texto Nombre. Presione ENTRAR Pgina 8
para cambiar el directorio. La ventana Agregar referencia debera mostrarse ahora como la figura 8. 10. Seleccione Microsoft.SharePoint.Linq.dll.
11. Haga clic en Aceptar para agregar la referencia al proyecto. Tarea 3: acceso a datos de listas de SharePoint en el elemento web visual En esta tarea, agregar cdigo a la solucin que permitir al elemento web visual recuperar datos de listas de SharePoint. 1. En el Explorador de soluciones, expanda VisualWebPart1 y haga doble clic en VisualWebPart1UserControl.ascx. 2. Visual Studio abrir el control de usuario del elemento web visual. 3. Agregue el siguiente cdigo al control de usuario para crear la vista de cuadrcula.
Pgina 9
<%@ Import Namespace="Microsoft.SharePoint.WebControls" %> <SharePoint:SPGridView id="spGridView" runat="server" AutoGenerateColumns="false"> <HeaderStyle HorizontalAlign="Left" ForeColor="Navy" Font-Bold="true" /> <Columns> <SharePoint:SPBoundField DataField="Title" HeaderText="Title"></SharePoint:SPBoundField> <SharePoint:SPBoundField DataField="JobTitle" HeaderText="JobTitle"></SharePoint:SPBoundField> <SharePoint:SPBoundField DataField="ProjectTitle" HeaderText="ProjectTitle"></SharePoint:SPBoundField> <SharePoint:SPBoundField DataField="DueDate" HeaderText="DueDate"></SharePoint:SPBoundField> </Columns> </SharePoint:SPGridView>
Fragmentos de cdigo: ASP.NET | spchol200_ex1_spgridview 4. El control de usuario del elemento web visual debera verse as una vez agregado el cdigo anterior:
5. En el Explorador de soluciones, haga clic con el botn secundario en VisualWebPart1UserControl.ascx y seleccione Ver cdigo. 6. Agregue las siguientes instrucciones using al cdigo subyacente:
using Microsoft.SharePoint.Linq; using Microsoft.SharePoint; using System.Linq;
Fragmento de cdigo: Mis fragmentos de cdigo | spchol200_ex1_namespaces 7. Inserte el siguiente cdigo en el mtodo Page_Load:
var dc = new SPLinqDataContext(SPContext.Current.Web.Url); var Employees = dc.GetList<EmployeesItem>("Employees");
Pgina 10
var empQuery = from emp in Employees where emp.Project.DueDate < DateTime.Now.AddMonths(6) select new { emp.Title, emp.JobTitle, ProjectTitle = emp.Project.Title, DueDate = emp.Project.DueDate.Value.ToShortDateString() }; spGridView.DataSource = empQuery; spGridView.DataBind();
Fragmento de cdigo: Mis fragmentos de cdigo | spchol200_ex1_pageload Tarea 4: creacin e implementacin del elemento web visual 1. En el Explorador de soluciones, haga clic con el botn secundario en SPCHOL200-Ex1 y seleccione Implementar. Se crear e implementar el elemento web visual en el sitio local de SharePoint: http://intranet.contoso.com
2. Abra Internet Explorer y busque el siguiente sitio: http://intranet.contoso.com 3. Si se le pide autenticacin, escriba los siguientes detalles. Nombre de usuario: Administrator Contrasea: pass@word1 4. Haga clic en el icono Editar del men principal para abrir la cinta de SharePoint para las herramientas de edicin.
Pgina 11
5. Cambie a la ficha Insertar de la cinta de opciones y haga clic en Elemento web para insertar un elemento web en la pgina.
Pgina 12
Coloque el cursor en el rea de la pgina donde desea que aparezca el elemento web. Esta debe ser una zona que acepte elementos web. En este caso, coloque el cursor en la zona situada
Pgina 13
8. Haga clic en Agregar para agregar el elemento web a la pgina. Se agregar el elemento web SPLinqDemoTitle a la zona de diseo seleccionada. Pgina 14
9. Haga clic en Pgina, haga clic en la flecha abajo del botn "Guardar y cerrar" y seleccione Detener la edicin para guardar la pgina y detener la edicin. Haga clic en S cuando se le pregunte si desea guardar los cambios realizados.
10. Cierre Internet Explorer. 11. Cierre Visual Studio 2010. En el ejercicio anterior, cre e implement un elemento web visual que usa LINQ to SharePoint para recuperar datos de una lista de SharePoint. Pgina 15
Pgina 16
6. Cambie la direccin URL a http://intranet.contoso.com. 7. Seleccione el botn de radio Implementar como solucin de granja de servidores.
Pgina 17
Tarea 2: actualizacin del esquema de la clase de entidad 1. En el men principal, seleccione Ver | Explorador de soluciones. En el Explorador de soluciones, cambie el nombre de Entity1.cs por Customer.cs y Entity1Service.cs por CustomerService.cs. Haga clic en S cuando se le pida mediante el siguiente aviso:
2. Si todava no se abri, haga doble clic en Customer.cs en el Explorador de soluciones. Reemplace el cdigo del cuerpo de la clase Customer por el siguiente cdigo. Se agregarn dos propiedades adicionales y se cambiar el tipo de una tercera propiedad como una asignacin para los descriptores de tipo agregados y modificados en la definicin de BDC. Tenga en cuenta que al cambiar Identifier1 por CustomerId, puede usar el glifo que aparece en el editor para cambiar el nombre de todas las referencias a Identifier1 del campo. Esto no lo ayudar en este caso, pero es una buena prctica.
Int32 CustomerId { get; set; } string Message { get; set; } string FirstName { get; set; } string LastName { get; set; }
Pgina 18
Tarea 3: extensin de los metadatos de BCS para el tipo de contenido externo 1. En el Explorador de soluciones, abra BdcModel1.bdcm si todava no se abri el Diseador de BDC.
3. Cambie el nombre de Entity1 por Customer; para ello, haga clic en el nombre Entity1 en el diseador y presione F2 (como alternativa, puede cambiar el nombre en la cuadrcula Propiedades). 4. Resalte Identifier1 en el diseador de entidades y presione F4 para abrir la cuadrcula de propiedades. Use la cuadrcula Propiedades para cambiar el nombre Identifier1 por CustomerId y cambiar su nombre de tipo por System.Int32.
Pgina 19
5. En el Explorador de BDC en Visual Studio, expanda Modelo | BdcModel1 | BdcModel1 | Customer | ReadList | returnParameter. Haga clic en Entity1List para abrir su cuadrcula de propiedades.
6.
Pgina 20
8. Mediante la cuadrcula Propiedades, cambie el nombre de Entity1 a Customer. En el Explorador de BDC, expanda Customer y, mediante la cuadrcula Propiedades, cambie el nombre de Identifier1 a CustomerId y establezca el nombre de tipo en System.Int32.
Pgina 21
9. En el Explorador de BDC, haga clic con el botn secundario en Customer y seleccione Agregar descriptor de tipo.
10. Seleccione TypeDescriptor y, mediante la cuadrcula Propiedades, cambie Nombre a FirstName. 11. En el Explorador de BDC, haga clic con el botn secundario en Customer y seleccione Agregar descriptor de tipo. 12. Seleccione TypeDescriptor y, mediante la cuadrcula Propiedades, cambie Nombre a LastName.
Figura 29 - Entidad Customer en el Explorador de BDC despus de la adicin de los descriptores de tipo FirstName y LastName
13. En el Explorador de BDC, haga clic con el botn secundario en Customer y seleccione Copiar.
14. En el Explorador de BDC, expanda el mtodo ReadItem , haga clic con el botn secundario en returnParameter y seleccione Pegar.
Pgina 22
16. Expanda returnParameter | Customer y confirme que los descriptores de tipo FirstName y LastName se copiaron correctamente.
Pgina 23
Figura 33 - Explorador de BDC despus de los cambios realizados en los pasos 1 a 18 de la Tarea 1
Pgina 24
17. En el Explorador de BDC, expanda ReadItem | id y seleccione Identifier1. 18. Mediante la cuadrcula Propiedades, cambie el nombre Identifier1 a CustomerId y establezca el nombre de tipo en System.Int32.
Pgina 25
.
Figura 36 - Adicin del parmetro id al mtodo Update
Pgina 26
21. Abra el nuevo mtodo Update en la ventana Explorador de BDC. 22. Copie el descriptor de tipo de la descripcin de tipo CustomerId del parmetro @id del mtodo ReadItem al parmetro @id del mtodo Update. 23. Cambie la propiedad Campo Pre-Updater del parmetro id para que sea True.
Pgina 27
Tarea 3: actualizacin del cdigo del servicio 1. En el Explorador de soluciones, abra CustomerService.cs. 2. Reemplace el cuerpo de la clase CustomerService por el siguiente cdigo. Se devolver un cliente en funcin de un identificador determinado, y una matriz de clientes si se le solicita.
public static Dictionary<Int32, Customer> d = null; public static Customer ReadItem(Int32 id) { // take a copy for SharePoint Customer c = new Customer(); Customer e = d[id]; c.CustomerId = e.CustomerId; c.FirstName = e.FirstName; c.LastName = e.LastName; c.Message = e.Message; return c; } public static IEnumerable<Customer> ReadList() { // this is usually the first method called so check for null if (d == null) { d = new Dictionary<Int32, Customer>(); for (int i = 0; i < 10; i++) { Customer e = new Customer(); e.CustomerId = i; e.Message = i + " Item Data"; e.FirstName = i + " First Name"; e.LastName = i + " Last Name"; d.Add(i, e); } } return d.Values; } public static void Update(Customer customer, Int32 id) { d[id].FirstName = customer.FirstName; d[id].LastName = customer.LastName; d[id].Message = customer.Message; }
Pgina 28
3. En el Explorador de soluciones, expanda la carpeta Features y haga doble clic en el nodo Feature1.feature. Se abrir el diseador de caractersticas. 4. Haga clic en la pestaa Manifiesto en la parte inferior del diseador de caractersticas. 5. Haga clic en el glifo + situado junto a Editar opciones para abrir el editor de plantillas. 6. Agregue una nueva propiedad para la direccin URL del sitio.
<Property Key="SiteUrl" Value="http://intranet.contoso.com" />
Pgina 29
Tarea 4: creacin e implementacin 1. En el men, seleccione Generar | Implementar BDCEx1. 2. Abra http://intranet.contoso.com en una sesin del explorador. 3. Haga clic en Listas en la navegacin izquierda .
Figura 40 - Vnculo Listas
Pgina 30
5. Escriba Mis contactos en el cuadro de texto Nombre. 6. Haga clic en el segundo botn a la derecha del cuadro de texto Tipo de contenido externo (el botn en cuya informacin sobre herramientas se lee "Seleccionar tipo de contenido externo").
Pgina 31
Pgina 32
8. Haga clic en Crear. 9. Ya ha creado un tipo de contenido externo y una lista para hospedar el tipo de contenido.
Pgina 33
Ejercicio 3: creacin de una aplicacin de Silverlight para el modelo de objetos de cliente de SharePoint
En este ejercicio, crearemos una aplicacin de Silverlight bsica que muestre una lista de SharePoint dentro de una cuadrcula de datos. Los datos de la lista se recuperan desde el servidor para que estn disponibles en Silverlight mediante el modelo de objetos de cliente de SharePoint. Usaremos una solucin de Visual Studio 2010 y la implementaremos en el servidor local de SharePoint. Tarea 1: creacin de un proyecto de aplicacin de Silverlight Comenzaremos con la creacin de un proyecto de aplicacin de Silverlight estndar. 1. Abra Visual Studio 2010 desde Inicio | Todos los programas | Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010. 2. En el men, seleccione Archivo | Nuevo | Proyecto. 3. En el cuadro de dilogo Nuevo proyecto, expanda el men izquierdo Plantillas instaladas para mostrar Otros tipos de proyectos | Soluciones de Visual Studio | Solucin en blanco. 4. Seleccione .NET Framework 3.5. 5. Denomine a la solucin Begin. 6. Escriba C:\SPHOLS\SPCHOL306\CS\Ex1\ en el cuadro de texto Ubicacin.
7. Haga clic en Aceptar para continuar. 8. En el men, seleccione Archivo | Agregar | Nuevo proyecto. Pgina 34
9. En el cuadro de dilogo Nuevo proyecto, expanda el men izquierdo Plantillas instaladas para mostrar Visual C# | Silverlight y elija el tipo de proyecto Aplicacin de Silverlight en la lista de tipos de proyecto que aparece en la parte central de la pantalla. 10. Seleccione .NET Framework 3.5. 11. Denomine al proyecto SPSilverlightExample. 12. No cambie la ubicacin.
15. En el proyecto SPSilverlightExample, agregaremos los ensamblados de referencia al modelo de objetos de cliente de Silverlight de SharePoint. Haga clic con el botn secundario en References en el proyecto SPSilverlightExample y seleccione Agregar referencia. 16. Busque la carpeta C:\Archivos de programa\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin. 17. Seleccione Microsoft.SharePoint.ClientSilverlight.dll y Microsoft.SharePoint.Client.Silverlight.Runtime.dll (mantenga presionado CTRL para seleccionar varios archivos). 18. Haga clic en Aceptar para agregar las referencias dll seleccionadas.
Tarea 2: escritura de cdigo para obtener acceso a datos de listas de SharePoint y representarlos 1. En Visual Studio, abra el Cuadro de herramientas y expanda Controles de Silverlight comunes. 2. Arrastre un control DataGrid a la cuadrcula existente en el diseador de Silverlight de Page.xaml.
Pgina 36
3. Expanda la cuadrcula de datos para que ocupe toda la pgina; para ello, vaya a la cuadrcula de propiedades y establezca las propiedades Width y Height en Auto, las propiedades HorizontalAlignment y VerticalAlignment en Stretch y Margin en 0.
Pgina 37
5. Abra App.xaml.cs y agregue las siguientes instrucciones using al principio del archivo:
using Microsoft.SharePoint.Client; using System.Threading;
Fragmento de cdigo: Mis fragmentos de cdigo | spchol306_ex1_app_namespaces 6. Agregue el siguiente cdigo al principio del mtodo Application_Startup.
ApplicationContext.Init(e.InitParams, SynchronizationContext.Current);
Fragmento de cdigo: Mis fragmentos de cdigo | spchol306_ex1_ application_startup 7. Abra MainPage.xaml.cs y agregue la siguiente instruccin using al principio del archivo:
using Microsoft.SharePoint.Client;
Fragmento de cdigo: Mis fragmentos de cdigo | spchol306_ex1_page_namespaces 8. Agregue la siguiente clase antes de la clase MainPage:
public class Project { public string Title { get; set; } public DateTime DueDate { get; set; } public string Description { get; set; } }
Fragmento de cdigo: Mis fragmentos de cdigo | spchol306_ex1_ classes 9. Agregue la siguiente variable a la clase MainPage:
private ListItemCollection _projects;
Fragmento de cdigo: Mis fragmentos de cdigo | spchol306_ex1_ property 10. Agregue el siguiente cdigo al constructor Page antes de la llamada a InitializeComponent:
Pgina 38
ClientContext context = new ClientContext(ApplicationContext.Current.Url); context.Load(context.Web); List Projects = context.Web.Lists.GetByTitle("Projects"); context.Load(Projects); CamlQuery query = new Microsoft.SharePoint.Client.CamlQuery(); string camlQueryXml = "<View><Query><Where><Gt>" + "<FieldRef Name='Due_x0020_Date' />" + "<Value Type='DateTime'>2008-01-1T00:00:00Z</Value>" + "</Gt></Where></Query><ViewFields>" + "<FieldRef Name=\"Title\" /><FieldRef Name=\"Description\" />" + "<FieldRef Name=\"Due_x0020_Date\" />" + "</ViewFields></View>"; query.ViewXml = camlQueryXml; _projects = Projects.GetItems(query); context.Load(_projects); context.ExecuteQueryAsync(new ClientRequestSucceededEventHandler(OnRequestSucceeded), null);
Fragmento de cdigo: Mis fragmentos de cdigo | spchol306_ex1_initializecomponent 11. Agregue el siguiente cdigo despus del constructor:
private void OnRequestSucceeded(Object sender, ClientRequestSucceededEventArgs args) { // this is not called on the UI thread Dispatcher.BeginInvoke(BindData); } private void BindData() { List<Project> projects = new List<Project>(); foreach (ListItem li in _projects) { projects.Add(new Project() { Title = li["Title"].ToString(), DueDate = Convert.ToDateTime(li["Due_x0020_Date"].ToString()), Description = li["Description"].ToString() }); } dataGrid1.ItemsSource = projects; // must be on UI thread }
Fragmento de cdigo: Mis fragmentos de cdigo | spchol306_ex1_methods El cdigo inicializa el contexto del modelo de objetos de cliente de Silverlight de SharePoint (ClientContext). Posteriormente, obtiene una referencia a la lista de proyectos y ejecuta una consulta CAML simple en la lista para extraer todos los proyectos que tengan una fecha de vencimiento posterior a 1/1/2008. Los resultados se convierten en una lista de proyectos y se enlazan con el control DataGrid de Silverlight.
Pgina 39
Tarea 3: implementacin y prueba mediante el elemento web de Silverlight de SharePoint Para implementar la solucin en SharePoint, es necesario que el archivo .xap resultante creado por el proyecto de Silverlight se encuentre en la carpeta C:\Archivos de programa\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin. 1. Haga clic con el botn secundario en el proyecto SPSilverlightExample, seleccione las propiedades y, a continuacin, la pestaa Generar. 2. Cambie la ruta de acceso de los resultados a C:\Archivos de programa\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin.
3. Genere la solucin. El archivo .xap se ha copiado al directorio de SharePoint apropiado y el usuario ya est preparado para agregar el elemento web de Silverlight al sitio web de SharePoint. 4. Abra Internet Explorer y busque http://intranet.contoso.com. 5. Seleccione el icono Editar en la parte superior de la pgina. 6. Seleccione la pestaa Insertar y, a continuacin, haga clic en Elemento web. 7. En la lista de categoras, seleccione Medios y contenido, elija el Elemento web de Silverlight en la lista de elementos web y haga clic en Agregar. 8. En el cuadro de dilogo Elemento web de Silverlight que aparecer, escriba /_layouts/ClientBin/SPSilverlightExample.xap como la direccin URL.
Pgina 40
9. Haga clic en Aceptar para guardar el elemento web de Silverlight. 10. Salga del modo de edicin. 11. El elemento web final se ver as en la pgina de SharePoint:
En este ejercicio, ha creado una aplicacin de Silverlight bsica que muestra una lista de SharePoint dentro de una cuadrcula de datos. Los datos de la lista se recuperan desde el servidor para que estn disponibles en Silverlight mediante el modelo de objetos de cliente de SharePoint.
Pgina 41
Ejercicio 4: creacin de un grfico mediante el modelo de objetos de SharePoint y los controles de grficos de Silverlight
En este ejercicio, volveremos a usar el modelo de objetos de SharePoint para obtener acceso a datos de listas de SharePoint, pero esta vez usaremos LINQ y los controles de grficos de Silverlight para mostrar los datos en un grfico. Tarea 1: creacin de un proyecto de aplicacin de Silverlight 1. Abra Visual Studio 2010 desde Inicio | Todos los programas | Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010. 2. En el men, seleccione Archivo | Nuevo | Proyecto. 3. En el cuadro de dilogo Nuevo proyecto, expanda el men izquierdo Plantillas instaladas para mostrar Otros tipos de proyectos | Soluciones de Visual Studio | Solucin en blanco. 4. Denomine a la solucin Begin. 5. Cambie la ubicacin a C:\SPHOLS\SPCHOL306\CS\Ex2\.
7. En el men, seleccione Archivo | Agregar | Nuevo proyecto. 8. En el cuadro de dilogo Nuevo proyecto, expanda el men izquierdo Plantillas instaladas para mostrar Visual C# | Silverlight y elija el tipo de proyecto Aplicacin de Silverlight en la lista de tipos de proyecto que aparece en la parte central de la pantalla. 9. Denomine al proyecto SilverlightEmployeeContributionsGraph. 10. No cambie la ubicacin.
Pgina 43
12. Haga clic en Aceptar para crear el proyecto. 13. En el proyecto SilverlightEmployeeContributionsGraph, agregaremos los ensamblados de referencia al modelo de objetos de cliente de Silverlight de SharePoint. Haga clic con el botn secundario en References en el proyecto SilverlightEmployeeContributionsGraph y seleccione Agregar referencia. 14. Busque la carpeta C:\Archivos de programa\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin. 15. Seleccione Microsoft.SharePoint.ClientSilverlight.dll y Microsoft.SharePoint.Client.Silverlight.Runtime.dll (mantenga presionado CTRL para seleccionar varios archivos). 16. Haga clic en Aceptar para agregar las referencias dll seleccionadas.
Pgina 44
12. Agregue una referencia al ensamblado Controles de grficos de Silverlight. Se encuentra disponible en la ficha .NET y se denomina System.Windows.Controls.DataVisualization.Toolkit.
Pgina 45
Tarea 2: escritura de cdigo para obtener acceso a datos de la lista Employee de SharePoint y mostrarlos en un control de grficos de Silverlight 1. En el Explorador de soluciones, haga clic con el botn secundario en el archivo App.xaml y seleccione Ver cdigo. Abra App.xaml.cs y agregue las siguientes instrucciones using al principio del archivo:
using Microsoft.SharePoint.Client; using System.Threading;
Fragmento de cdigo: Mis fragmentos de cdigo | spchol306_ex2_app_namespaces 2. Agregue el siguiente cdigo al principio del mtodo Application_Startup.
ApplicationContext.Init(e.InitParams, SynchronizationContext.Current);
Fragmento de cdigo: Mis fragmentos de cdigo | spchol306_ex2_application_startup 3. En la vista XAML del archivo MainPage.xaml, agregue el siguiente espacio de nombres XML al elemento UserControl:
xmlns:chartingToolkit="clrnamespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Wind ows.Controls.DataVisualization.Toolkit"
Pgina 46
Fragmento de cdigo: Mis fragmentos de cdigo | spchol306_ex2_page_namespaces 6. Agregue las siguientes clases antes de la clase MainPage:
public class EmployeeContributions { public string Name { get; set; } public string TeamName { get; set; } public decimal Contributions { get; set; } } public class TeamContributions { public string Name { get; set; } public decimal Contributions { get; set; } }
Fragmento de cdigo: Mis fragmentos de cdigo | spchol306_ex2_classes 7. Agregue la siguiente variable a la clase MainPage:
private ListItemCollection _employees;
Fragmento de cdigo: Mis fragmentos de cdigo | spchol306_ex2_property 8. Agregue el siguiente cdigo al constructor Page antes de la llamada a InitializeComponent:
Pgina 47
ClientContext context = new ClientContext(ApplicationContext.Current.Url); context.Load(context.Web); List employees = context.Web.Lists.GetByTitle("Employees"); context.Load(employees); CamlQuery query = new CamlQuery(); string camlQueryXml = null; query.ViewXml = camlQueryXml; _employees = employees.GetItems(query); context.Load(_employees); context.ExecuteQueryAsync(new ClientRequestSucceededEventHandler(OnRequestSucceeded), null);
Fragmento de cdigo: Mis fragmentos de cdigo | spchol306_ex2_initializecomponent 9. Agregue el siguiente cdigo despus del constructor:
private void OnRequestSucceeded(Object sender, ClientRequestSucceededEventArgs args) { // this is not called on the UI thread Dispatcher.BeginInvoke(BindData); } private void BindData() { List<EmployeeContributions> employees = new List<EmployeeContributions>(); // get list item values into a strongly typed class foreach (ListItem li in _employees) { employees.Add(new EmployeeContributions { Name = li["Title"].ToString(), TeamName = li["Team"].ToString(), Contributions = Convert.ToDecimal(li["Contribution_x0020__x0028_in_x00"]) }); } // use linq to group employees on team name and then total team contributions List<TeamContributions> teams = employees .GroupBy(e => e.TeamName) .Select(t => new TeamContributions { Name = t.Key, Contributions = t.Sum(e => e.Contributions) }).ToList(); chart.DataContext = teams; // must be on UI thread
}
10. Como en el caso del ejercicio anterior, el modelo de objetos de cliente de Silverlight de SharePoint se usa para recuperar datos de una lista de SharePoint. Despus de rellenar los elementos de las contribuciones de los empleados en una lista, se usa LINQ para agrupar los empleados y sumar sus contribuciones. Posteriormente, las contribuciones de los grupos se establecen como el origen de datos del grfico.
Tarea 3: implementacin y prueba mediante el elemento web de Silverlight de SharePoint Para implementar la solucin en SharePoint, es necesario que el archivo .xap resultante creado por el proyecto de Silverlight se encuentre en la carpeta C:\Archivos de programa\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin. 1. Haga clic con el botn secundario en el proyecto SilverlightEmployeeContributionsGraph, seleccione las propiedades y, a continuacin, seleccione la pestaa Generar. 2. Cambie la ruta de acceso de los resultados a C:\Archivos de programa\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin.
3. Genere la solucin. El archivo .xap se ha copiado al directorio de SharePoint apropiado y el usuario ya est preparado para agregar el elemento web de Silverlight al sitio web de SharePoint. 4. Abra Internet Explorer y busque http://intranet.contoso.com. Pgina 49
5. Actualizaremos el elemento web de Silverlight agregado en el ejercicio anterior para que apunte al nuevo control de grficos de Silverlight recin creado. Haga clic en el icono desplegable situado en la esquina superior derecha del elemento web de Silverlight y seleccione Editar elemento web.
6. Haga clic en el botn Configurar (es posible que tenga que desplazar la ventana hacia la derecha para verlo) y, a continuacin, escriba /_layouts/ClientBin/SilverlightEmployeeContributionsGraph.xap en el cuadro de dilogo Elemento web de Silverlight.
Pgina 50
7. Haga clic en Aceptar. 8. Haga clic en Aceptar en la parte inferior de la barra lateral del elemento web de Silverlight.
Pgina 51
Pgina 52
Pgina 53
6. Haga clic en Aceptar para continuar. 7. En el Asistente para personalizar SharePoint, cambie el sitio local que se va a usar para la depuracin a http://intranet.contoso.com/. 8. Deje el nivel de confianza para la solucin de SharePoint en Implementar como solucin de espacio aislado.
9. Haga clic en Finalizar para continuar. Visual Studio crear el nuevo proyecto y agregar los archivos necesarios. 10. Haga clic con el botn secundario en el proyecto SPSolutionDemo en el Explorador de soluciones y seleccione Agregar | Nuevo elemento. 11. Asegrese de que Visual C# | SharePoint | 2010 | est seleccionado en el panel Plantillas instaladas. 12. En el cuadro de dilogo Agregar nuevo elemento, seleccione la opcin para agregar un nuevo Elemento web y denomnelo SBWebPart.
Pgina 54
13. Haga clic en Agregar para agregar el elemento web al proyecto. Tarea 2: adicin de cdigo para proporcionar la funcionalidad de consulta y presentacin 1. Abra SBWebPart.cs y agregue la siguiente instruccin using despus de las dems instrucciones using:
using System.Web.UI.HtmlControls;
Fragmento de cdigo: Mis fragmentos de cdigo | spchol307_ex1_webpart_namespaces 2. Agregue las siguientes variables a la clase SBWebPart:
DropDownList _ddlProjects = new DropDownList(); TextBox _tbDescription = new TextBox(); TextBox _tbDueDate = new TextBox();
Fragmento de cdigo: Mis fragmentos de cdigo | spchol307_ex1_webpart_variables 3. Agregue los siguientes mtodos nuevos a la clase SBWebPart:
Pgina 55
protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!Page.IsPostBack) GetProjectDetails(); } /* Populate the text boxes with the selected project details */ private void GetProjectDetails() { EnsureChildControls(); if (_ddlProjects.SelectedValue != "-- Select a Project --") { SPList pList = SPContext.Current.Web.Lists["Projects"]; int nProjectID = Convert.ToInt32(_ddlProjects.SelectedValue); SPListItem spliProject = pList.GetItemById(nProjectID); _tbDescription.Text = spliProject["Description"].ToString(); DateTime dueDate = Convert.ToDateTime(spliProject["Due_x0020_Date"]); _tbDueDate.Text = dueDate.ToShortDateString(); } else { _tbDescription.Text = String.Empty; _tbDueDate.Text = String.Empty; } }
Pgina 56
Pgina 57
Tarea 3: generacin e implementacin de la solucin de espacio aislado Las soluciones de espacio aislado se implementan mediante el sitio web de SharePoint. 1. Haga clic con el botn secundario en el proyecto SBSolutionDemo y seleccione el Paquete para crear un archivo .wsp. 2. Abra Internet Explorer y busque http://intranet.contoso.com. 3. Haga clic en el men Acciones del sitio y seleccione Configuracin del sitio. 4. En la seccin Galeras, seleccione Soluciones.
Pgina 58
5. Seleccione la pestaa Soluciones. 6. En la ficha Soluciones, seleccione Cargar solucin. 7. En el cuadro de dilogo Cargar solucin que aparecer, busque el archivo .wsp en C:\SPHOLs\SPCHOL307\CS\Ex1\SPSolutionDemo\SPSolutionDemo\bin\Debug\SPSolution Demo.wsp.
8. Haga clic en Aceptar para cargar SPSolutionDemo.wsp en SharePoint. Deje el cuadro Sobrescribir los archivos existentes activado. 9. Haga clic en Activar en el cuadro de dilogo Activar solucin de la Galera de soluciones. El elemento web de solucin de espacio aislado ya est listo para usarse. 10. Haga clic en el men Acciones del sitio y seleccione Ms opciones. 11. En la seccin Pgina del cuadro de dilogo Crear, seleccione Pgina de elementos web. Haga clic en Crear. 12. Denomine a la nueva pgina de elementos web SBSolutionDemoPage y establezca el Diseo como Pgina completa, vertical. Establezca la Ubicacin en la que desea guardar como Documentos compartidos.
Pgina 59
13. Haga clic en Crear para crear la nueva pgina de elementos web. 14. Seleccione el rea central de la nueva pgina de elementos web y haga clic en la nueva pestaa Insertar que aparecer en la barra de herramientas superior. 15. Seleccione Elemento web y, a continuacin, seleccione Personalizado en las categoras y elija SBWebPart en los elementos web. 16. Haga clic en Agregar para agregar el elemento web de solucin de espacio aislado a la pgina. 17. En la cinta de opciones, haga clic en Pgina. A continuacin, haga clic en Detener la edicin en la barra de herramientas
.
Figura 72 - SBWebPart
Pgina 60
18. Seleccione Cuenta del sistema en la barra de herramientas en la esquina superior derecha de la pgina y elija Iniciar sesin como usuario diferente. 19. Escriba andyj como nombre de usuario y pass@word1 como contrasea.
20. Haga clic en Aceptar. 21. El elemento web de solucin de espacio aislado ya est listo para usarse. Seleccione lo que desee ver en la lista desplegable. Cuando finalice, cierre Internet Explorer.
Pgina 61
Pgina 62
Ejercicio 6: creacin de una actividad para su uso en un flujo de trabajo de SharePoint Designer
En este ejercicio se muestra cmo crear una actividad personalizada de flujos de trabajo que usa un flujo de trabajo reutilizable de SharePoint Designer y cmo implementarlos juntos como un nico *.WSP. Tambin se muestra cmo importar ese flujo de trabajo a Visual Studio 2010. Tarea 1: creacin y preparacin del proyecto En esta tarea, crear una solucin de proyecto vaco y usar los controles de usuario de SharePoint. 1. Abra Visual Studio 2010; para ello, vaya a Inicio | Todos los programas | Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010. 2. En Visual Studio 2010, cree un proyecto nuevo; para ello, vaya a Archivo | Nuevo | Proyecto. 3. Seleccione la plantilla de proyecto Proyecto de SharePoint vaco de Visual C# | SharePoint | 2010. 4. Escriba SPCHOL305Ex1 en el cuadro de texto Nombre y C:\SPHOLS\SPCHOL305\CS\Ex1 en el cuadro de texto Ubicacin.
6. En el Asistente para personalizar SharePoint, cambie la direccin URL a http://intranet.contoso.com y seleccione Implementar como solucin de granja de servidores. A continuacin, haga clic en Finalizar.
7. Visual Studio crear el nuevo proyecto SPCHOL305Ex1 y agregar los archivos necesarios. Tarea 2: creacin de una actividad de flujo de trabajo para su uso por el flujo de trabajo reutilizable 1. En Visual Studio 2010, agregue un proyecto nuevo; para ello, vaya a Archivo | Agregar | Nuevo proyecto. 2. Cambie .NET Framework por .NET Framework 3.5
.
Figura 77 - Establecimiento de la versin de .NET Framework
Pgina 64
3. Seleccione la plantilla de proyecto Visual C# | Workflow | Biblioteca de actividades de flujo de trabajo. 4. Escriba SPDActivityDemo en el cuadro de texto Nombre y haga clic en Aceptar.
5. En el Explorador de soluciones, haga clic con el botn secundario en el proyecto SPDActivityDemo y seleccione Agregar referencia. 6. Cambie a la ficha Examinar. Escriba C:\Archivos de programa\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI en el cuadro de texto Nombre de archivo y presione ENTRAR. 7. Seleccione Microsoft.SharePoint.dll y Microsoft.SharePoint.WorkflowActions.dll y, a continuacin, haga clic en Aceptar.
Pgina 65
8. Haga clic con el botn secundario en Activity1.cs en el Explorador de soluciones y seleccione Cambiar nombre. 9. Cambie el nombre de Activity1.cs por CreateDocumentLibrary.cs.
Tarea 3: adicin de cdigo para crear una biblioteca de documentos basada en los parmetros pasados a la actividad 1. Haga clic con el botn secundario en el archivo CreateDocumentLibrary.cs del Explorador de soluciones y seleccione Ver cdigo. 2. Cambie la clase base de CreateDocumentLibrary de SequenceActivity a Activity, como se muestra a continuacin.
public partial class CreateDocumentLibrary : Activity
3. Agregue las siguientes instrucciones using al principio del archivo debajo de las instrucciones using existentes: Pgina 66
4. Agregue una nueva propiedad de dependencia denominada UrlProperty a la clase CreateDocumentLibrary. Esta ser la ubicacin donde se crear la biblioteca de documentos.
public static DependencyProperty UrlProperty = DependencyProperty.Register("Url", typeof(string), typeof(CreateDocumentLibrary), new PropertyMetadata("")); [DescriptionAttribute("Url of base site")] [BrowsableAttribute(true)] [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible )] [ValidationOption(ValidationOption.Optional)] public string Url { get { return ((string)(base.GetValue(CreateDocumentLibrary.UrlProperty))); } set { base.SetValue(CreateDocumentLibrary.UrlProperty, value); } }
Fragmento de cdigo: Mis fragmentos de cdigo | spchol305_ex1_createdoclib_urlproperty 5. Agregue una nueva propiedad de dependencia a la clase CreateDocumentLibrary denominada DocLibNameProperty. Este ser el nombre de la biblioteca de documentos creada por la actividad.
Pgina 67
public static DependencyProperty DocLibNameProperty = DependencyProperty.Register("DocLibName", typeof(string), typeof(CreateDocumentLibrary), new PropertyMetadata("")); [DescriptionAttribute("Used as doc lib name")] [BrowsableAttribute(true)] [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible )] [ValidationOption(ValidationOption.Optional)] public string DocLibName { get { return ((string)(base.GetValue(CreateDocumentLibrary.DocLibNameProperty))); } set { base.SetValue(CreateDocumentLibrary.DocLibNameProperty, value); } }
Fragmento de cdigo: Mis fragmentos de cdigo | spchol305_ex1_createdoclib_doclibproperty 6. Agregue el siguiente cdigo debajo del constructor CreateDocumentLibrary:
protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { CreateDocLib(); return ActivityExecutionStatus.Closed; } private void CreateDocLib() { using (SPSite sps = new SPSite(Url)) { using (SPWeb spw = sps.RootWeb) { Guid ID = spw.Lists.Add(DocLibName, DocLibName + " Document Library", SPListTemplateType.DocumentLibrary); SPList spdl = spw.Lists[ID]; spdl.OnQuickLaunch = true; spdl.Update(); } } }
Pgina 68
Tarea 4: configuracin de la actividad para la implementacin 1. Configure la actividad para un nombre seguro. Agregue SPDActivityDemo.snk de la carpeta Resources (ubicacin al principio de este manual) al proyecto SPDActivityDemo.
2. Haga clic con el botn secundario en el proyecto SPDActivityDemo en el Explorador de soluciones y seleccione Propiedades. 3. Haga clic en la pestaa Firma, active Firmar el ensamblado y, a continuacin, seleccione SPDActivityDemo.snk.
Figura 81 - Firma
4. Genere el proyecto (CTRL-MAYS-B) y solucione los errores. 5. Haga clic con el botn secundario en el proyecto SPCHOL305Ex1 y, a continuacin, en Agregar, Carpeta asignada de SharePoint Pgina 69
.
Figura 82 - Carpeta asignada de SharePoint
6. Seleccione Template\3082\Workflow en el cuadro de dilogo Agregar carpeta asignada de SharePoint y seleccione Aceptar.
Pgina 70
7. En el Explorador de soluciones, expanda la carpeta Workflow agregada recientemente. 8. Haga clic con el botn secundario en la carpeta SPCHOL305Ex1 (si existe) y seleccione Eliminar. 9. Haga clic con el botn secundario en la carpeta Workflow y seleccione Agregar | Nuevo elemento. 10. Seleccione la plantilla Archivo XML, denomine al archivo SPDActivityDemo.ACTIONS y, a continuacin, haga clic en Agregar.
Pgina 71
Pgina 72
Fragmento de cdigo: Mis fragmentos de cdigo | spchol305_ex1_workflowactions_xml 8. Genere el proyecto SPDActivityDemo. Tarea 5: adicin de la actividad SPDActivityDemo para su implementacin con SPCHOL305Ex1. 1. En el Explorador de soluciones, expanda la carpeta Package en el proyecto SPCHOL305Ex1. 2. Haga doble clic en el archivo Package.package para abrir el diseador de paquetes. 3. Haga clic en la pestaa Avanzadas en la parte inferior del diseador.
Pgina 73
4. Haga clic en el botn Agregar y seleccione Agregar ensamblado desde la salida del proyecto. 5. En el cuadro de dilogo Agregar ensamblado desde la salida del proyecto, haga clic en el cuadro combinado Proyecto de origen y seleccione SPDActivityDemo\bin.
6. Haga clic en el botn situado debajo de Controles seguros. Dentro de Controles seguros agregue lo siguiente: Nombre de ensamblado: SPDActivityDemo, Version=1.0.0.0, Culture=neutral, PublicKeyToken= a66e91d2ee2fa8f8 Espacio de nombres: SPDActivityDemo Seguro: Activado Nombre de tipo: * 7. Una vez rellenados los detalles del control seguro, presione ENTRAR para confirmarlos. 8. Haga clic en Aceptar.
Pgina 74
Tarea 6: configuracin de una caracterstica mediante el diseador de caractersticas 1. Haga clic con el botn secundario en la carpeta Features en el Explorador de soluciones debajo del proyecto SPCHOL305Ex1 y seleccione Agregar caracterstica. 2. Haga clic con el botn secundario en Feature1 y cambie el nombre a SPCHOL305Ex1Feature. 3. En el diseador de caractersticas, cambie el mbito del mbito SPCHOL305Ex1Feature a WebApplication.
Tarea 7: adicin y codificacin de un receptor de caractersticas 1. Haga clic con el botn secundario en la caracterstica SPCHOL305Ex1Feature en el Explorador de soluciones y seleccione Agregar receptor de eventos. 2. Agregue una instruccin using al principio del cdigo:
using Microsoft.SharePoint.Administration;
Pgina 75
Fragmento de cdigo: Mis fragmentos de cdigo | spchol305_ex1_spchol305feature_receiver 4. Genere e implemente el proyecto SPCHOL305Ex1; para ello, haga clic con el botn secundario en el nombre del proyecto y seleccione Implementar.
Tarea 8: creacin de un flujo de trabajo reutilizable mediante SharePoint Designer 1. Abra SharePoint Designer 2010; para ello, vaya a Inicio | Todos los programas | SharePoint | Microsoft SharePoint Designer 2010
Pgina 76
Pgina 77
.
Figura 90 - Cuadro de dilogo Abrir sitio
Pgina 78
5. Haga clic en el botn Flujo de trabajo reutilizable y, cuando se le pida, asigne el nombre SPDWorkflow al flujo de trabajo y, a continuacin, haga clic en el botn Aceptar para crear el flujo de trabajo reutilizable.
6. Haga clic en el botn Accin de la cinta de opciones y desplcese hacia abajo hasta Labs y haga clic en Create Document Library. Nota: esta es la actividad que realizamos previamente
Pgina 79
en Visual Studio.
Pgina 80
7. Haga clic en el Paso 1. En el cuadro situado junto a Nombre de la biblioteca de documentos, haga clic en el botn Fx. 8. Seleccione Elemento actual como Origen de datos y Ttulo como Campo del origen. A continuacin, haga clic en Aceptar.
9. Escriba http://intranet.contoso.com como la direccin URL del sitio base. 10. Haga clic en Guardar en la cinta de opciones.
Pgina 81
11. Despus de guardar, haga clic en el botn Publicar de la cinta de opciones. Espere hasta que se publique el flujo de trabajo.
12. Despus de guardar, haga clic en Flujos de trabajo en la navegacin izquierda. 13. Vuelva a hacer clic en el flujo de trabajo debajo de Flujo de trabajo reutilizable para abrir las propiedades del flujo de trabajo. Haga clic en Guardar como plantilla para guardar el archivo .WSP en la lista Biblioteca de activos del sitio de SharePoint.
15. Haga clic en Acciones del sitio -> Ver todo el contenido del sitio -> Biblioteca de activos del sitio.
16. Haga clic en el men desplegable SPDWorkflow y, a continuacin, en Enviar a -> Descargar una copia.
Pgina 83
17. Guarde el WSP en una ubicacin a la que pueda obtener acceso en un paso siguiente (como el escritorio).
Tarea 9: importacin del flujo de trabajo reutilizable a Visual Studio 1. En Visual Studio 2010, haga clic con el botn secundario en la solucin SPCHOL305Ex1 de la ventana Explorador de soluciones y seleccione Agregar | Nuevo proyecto. 2. Seleccione la plantilla de proyecto Importar flujo de trabajo reutilizable de Visual C# | SharePoint | 2010.
Pgina 84
Pgina 85
Pgina 86
6. Cuando se le pregunte qu archivo .WSP desea importar, busque el archivo SPDWorkflow.wsp que guard anteriormente. Haga clic en Siguiente.
Pgina 87
Pgina 88
8. Haga doble clic en el paquete del proyecto SPCHOL305Ex1 y agregue la caracterstica Flujos de trabajo convertidos al paquete.
Pgina 89
9. Haga clic con el botn secundario en el proyecto SPDWorkflowImport y seleccione Agregar referencia. 10. Seleccione la referencia de proyecto SPDActivityDemo y haga clic en Aceptar.
11. En el proyecto SPDWorkflowImport , expanda el nodo Workflows\SPDWorkflowFT. 12. Abra Elements.xml. 13. Cambie el nombre del flujo de trabajo a SPDWorkflowFT
.
Figura 106 - Configuracin del nombre del flujo de trabajo importado
Pgina 90
14. Guarde el proyecto, genere la solucin e implemente el proyecto SPCHOL305Ex1. Tarea 10: asociacin del flujo de trabajo con una lista en SharePoint 1. 2. 3. 4. 5. Busque http://intranet.contoso.com. Haga clic en Acciones del sitio | Ms opciones. Seleccione Lista personalizada en la lista de elementos. Asigne el nombre Customers a la lista y haga clic en Crear. Abra la Configuracin de la lista
.
Figura 107 - Configuracin de la lista
6. En Permisos y administracin, haga clic en Configuracin del flujo de trabajo. 7. Configure el flujo de trabajo de la lista del siguiente modo: Seleccione una plantilla de flujo de trabajo: SPDWorkflowFT Escriba un nombre nico para este flujo de trabajo: Create Doc Lib for Customer Seleccione una lista de tareas: Tareas Seleccione un historial: Historial del flujo de trabajo Opciones de inicio: Iniciar este flujo de trabajo cuando se cree un nuevo elemento
Pgina 91
8. Haga clic en Aceptar. 9. Navegue a la lista Customers y seleccione Elementos | Nuevo elemento.
Pgina 92
10. Escriba Northwind como el nombre del cliente y haga clic en Guardar cuando aparezca el cuadro de dilogo Customers Nuevo elemento.
11. Espere mientras se crea automticamente una nueva biblioteca de documentos con el mismo nombre.
Pgina 93