Mostrando entradas con la etiqueta Tutorial. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tutorial. Mostrar todas las entradas

miércoles, 17 de julio de 2013

Read items from a SharePoint 2010 List programmatically

There are many ways to read programmatically items from a Sharepoint List. but in this post see a simple way to read



1. we have a SharePoint list with many elements

2. We will pass through the columna "Title", using the next code


It's is the simple way in SharePoint


Code.


 using System;  
 using System.Web.UI;  
 using System.Web.UI.WebControls;  
 using System.Web.UI.WebControls.WebParts;  
 using Microsoft.SharePoint;  
 namespace ProyectosSharePoint.LeerItems  
 {  
   public partial class LeerItemsUserControl : UserControl  
   {  
     protected void Page_Load(object sender, EventArgs e)  
     {  
       SPWeb Web = SPContext.Current.Web;/// web context  
       SPList List = Web.Lists["ItemsSharePoint"]; ///Name of list  
       foreach (SPItem item in List.Items)  
       {  
         string ItemValue = item["Title"].ToString();///value of the field  
       }  
     }  
   }  
 }  


Regards.
Oscar Miguel Dominguez Acevedo

lunes, 8 de julio de 2013

Usando la libreria DocX en SharePoint Parte I - Creación de Documentos Word (DocX Library in SharePoint 2010 Part I - word document creation)

A excellent option to manipulate word documents is the DocX library, you have download, in the next link DocX Library. On a series of chapters I will show a easy form to manipulate this DLLL for their sharepoint projects.

In this first chapter, we will see how make a Word document using this library and saving it in a sharepoint library


1. We must have our own document library in a sharepoint site, in my case I create a library called DocxDocumentos and only verify that this is a Word template


2. In our Visual Studio solution, create our Visual Web Part with the title DocxNuevoElemento.


3. On the design view add a texbox and one button, as seen on the next image,


4. In our project, add a new reference, in the browse section search and add our dll.


5. Add our name space.



6. Now... write, the next code in a click event


7. It's necesary to add  our DocX.dll on the bin folder, before to run.



8. run our code and to load the page add our webpart


9 Placed in the Textbox "Primer Documento" (First Document) and then click on the button. Now, we can see the document in our library.



10. If you open the document we can see a paragraph.


In this manner we can see to Word document creation it's very easy. In the next chapters see all the benefits of this library.

Saludos.
Oscar Miguel Dominguez Acevedo.

viernes, 5 de julio de 2013

Obtener el estatus de una tarea usando la actividad OnTaskChanged en un flujo de SharePoint 2010 C# (get task status on OnTaskChanged activity SharePoint 2010)

1. Supongamos que tenemos un flujo de trabajo muy sencillo como el siguiente.


2. Nuestra actividad OnTaskchanged1 esa dentro de un while en el cual la condición es verificar que nuestro estatus del flujo de trabajo este en "Completed" para finalizar nuestro flujo.


3. Por lo cual necesitamos validar que al momento de que nuestra Tarea sea editada verifique si dicha tarea contiene el estatus "Completed" para poder dar por finalizado el flujo. para ello nos dirigimos a nuestro código y agregamos la siguiere linea que se encuentra subrayada.

4. ahora nos vamos a la vista diseño, seleccionamos OnTaskchanged1 y en sus propiedades damos clic en AfterProperties y seleccionamos en el recuadro onTaskChanged1_AfterProperties1 y aceptar.


5. En la vista diseño, doble clic sobre la actividad OnTaskchanged1 nos lleva al código y colocamos las siguientes lineas.


6. De esta manera obtenemos el estatus de la tarea que se este ejecutando en el momento, suficiente para validar el estatus y poder dar por finalizado el flujo.

En los siguientes post les mostrare como crear un flujo de trabajo básico en SharePoint 2010 con Visual Studio, algo primordial que cualquier desarrollador en SharePoint debe conocer.

Saludos.
Oscar Miguel Dominguez Acevedo.

miércoles, 3 de julio de 2013

Infopath 2010 y SharePoint 2010 Recorriendo Repeating Tables anidadas. (nested repeating tables infopath 2010)

Trabajar con Infopath es tarea de todos los días para muchos desarrolladores esta vez me encontré con un pequeño problema en el cual tenia una tabla repetida pero dentro de ella existían otras tablas repetidas que contenían información basándose en la primera, el asunto parecía sencillo de resolver, sin embargo algunos detalles de infopath dificultaban ciertos métodos para recorrer las tablas, a continuación explicare un método eficaz para recorrer una tabla repetida de infopath que contiene otras tablas anidadas.


1. Tenemos nuestras tablas en Infopath de la siguiente manera.


si se dan cuenta mi tabla principal es  "Equipo" y debajo de ella existen muchas mas, sin embargo yo necesito datos de la que se llama "Detalle_Activo".

Necesito obtener la información de los siguientes campos para armar una DataTable y después enviar dicha información.


  • Marca
  • Subclasificación
  • Numero de serie equipo
  • Usuario unidad
recordemos que Marca y Subclasificación están en la tabla superior llamada "Equipo" y Numero de serie equipo y Usuario unidad, se encuentran en la ultima tabla que esta anidada en la primera.

2. Pues comenzamos con el código, primero creando nuestro objeto DataTable.


3. Creamos Columnas y les agregamos información que nos servirán como cabeceras.

4. Creamos nuestro XPathNavigator y XPathNodeIterator para poder recorre nuestras Tablas.



5. Y aquí viene la parte medular, donde recorremos las tablas y agregamos los valores a nuestro DataTable. 


Explicación del codigo:

  • Comenzamos con un While que recorre la tabla principal
  •  En este caso obtener los valores de Marca y SubClasificacion no es el problema estos los almacenamos en las variables.(Marca y Modelo).
  • en la fila que revisamos verificamos si tiene hijos usando HasChildren si esta es verdadera entonces nos movemos a la fila hijo usando MoveToFirstChild.
  • Usamos la variable LocalName para obtener el nombre de la fila hijo en la que estamos posicionados.
  • mediante un If verificamos que la fila hijo en la que estamos sea "Detalle_Activo" que es la tabla repetida anidada al final.
  • si entra dentro de nuestro If vamos a almacenar el Current.OuterXml que es un xml que contiene los campos Numero de serie equipo y Usuario unidad, creamos un XmlDocument, luego lo cargamos y buscamos los nodos "my:Usuario_Unidad" y "my:Numero_Serie_Equipo" que contienen los datos que necesitamos, usando InnerText obtenemos los valores  de estos nodos en el actual registro, los guardamos en variables y por ultimo agregamos un row a nuestro Table.

De esta manera podemos recorrer tablas repetidas anidadas.

Saludos.
Oscar Miguel Dominguez Acevedo.

jueves, 27 de junio de 2013

SharePoint 2010 Eliminar ítem en lista por Programación.

Para finalizar la trilogia de item en lista de SharePoint vamos aprender como eliminar un item de una lista de SharePoint 2010 mediante programación.

Requisitos Previos: Es necesario tener una lista creada en mi caso ya cuento con una que he estado utilizando a lo largo de los ejemplos que les he mostrado en el blog la cual es "ItemsSharePoint".


1. En una solución en blanco agregamos un nuevo item del tipo "Visual Web Part" asignándole el nombre de EliminarItem.




2. En la vista diseño de nuestro archivo "EliminarItemUserControl.ascx" agregamos un Button y cambiamos la propiedad Text = "Eliminar".




3. Doble Click sobre el boton para que nos lleve a la ventana de codigo de su evento Click, agregamos el codigo que aparece en la siguiente imagen.



Por medio de un Foreach recorremos la lista y utilizando el If seleccionamos el item que concuerde con nuestra búsqueda de esta manera obtenemos el Id del elemento para después poder utilizarlo y utilizando la propiedad "Delete" del item podemos eliminarlo.

4. Agregas la WebPart a tu pagina principal



5. Ve a tu lista y agrega un nuevo elemento llamado "SharePoint desde cielo"



6. Regresa a la sección donde esta tu webpart y el botón de eliminar.



7. Clic en el botón Eiminar y regresa a tu lista para visualizar que el elemento ha sido borrado.



Nota: Este es un ejemplo sencillo de como realizar un deletede un item, mediante tus conocimientos podrás agregar funcionalidad extra de acuerdo a tus requerimientos.


Saludos.
Oscar Miguel Dominguez Acevedo.

martes, 25 de junio de 2013

SharePoint 2010 Error "http://localhost:32843/SecurityTokenServiceApplication/securitytoken.svc/actas' could not be activated. See the server's diagnostic trace logs for more information.."

Un error que en otras ocasiones me había aparecido, pero esta vez he decidido colocar algunas soluciones si alguno de ustedes llega a tener un problema parecido.


1. Este error si se llega a dar en un Windows 7 se soluciona instalando el siguiente HotFix.



2. En caso que no sea por un windows 7 es necesario ir al IIS nos vamos a sites - SharePoint Web Services - SecurityTokenServiceApplication y seleccionamos .NET Trust Levels y nos sercioramos que  el Trust Level este en  "Full (internal)"

2.1 En Applications Pool checamos que Sharepoint Web Services Root este inicializado al igual que SecurityTokenServiceApplicationPool.

2.2 Ahora botón derecho en SecurityTokenServiceApplicationPool y seleccionamos Advanced Settings.


2.3. Por ultimo verificamos  que la opción Enable 32-Bit Applications este activa en False.

2.4 Por ultimo ejecutamos un  iisreset en una ventana de CMD y esto seria suficiente para que se corrigiera el error.


Nota: Antes de realizar estos pasos deben verificar que los servicios estén inicializados en su Administración Central de SharePoint.


Saludos.
Oscar Miguel Dominguez Acevedo.

miércoles, 19 de junio de 2013

SharePoint 2010 Insertar item en lista por programación (Visual Web Part).

La siguiente entrada nos enseñara a insertar un item o nuevo registro en alguna lista de sharepoint de manera programable. para ello es necesario que se cree un nuevo proyecto de visual studio para sharepoint que sea un. "Empty SharePoint Project", si no sabes como realizar esto solo ve la siguiente entrada donde se explica con detalle Primera Web Part Hola Mundo.

Sin mas que decir a realizar la inserción.


1. Antes que nada necesitamos una lista de Sharepoint que utilizaremos de ejemplo con el nombre "ItemsSharePoint".


2. Nos crea la lista con la columna TITLE.



3. Ahora en nuestro proyecto de visual studio creamos nuestra Visual Web Part llamada InsertarItem

4.Abrimos nuestro archivo InsertarItemUserControl.ascx en modo desing y agregamos un Textbox y un Button de nuestro ToolBox (cambiar la propiedad "Text" del Button por "Insertar") y se debe ver de la siguiente manera.



5. Le damos doble clic a nuestro button y nos enviara al evento click del botón, donde colocaremos el código necesario para insertar un registro.


6. Agregamos el siguiente name space "using Microsoft.SharePoint" y el código necesario para poder realizar el insert en nuestra lista.



Nota: Dentro de la imagen podrán ver algunas lineas comentadas que explican con claridad el para que es cada una de las lineas a excepción de AllowUnsafeUpdates para que entiendan mejor visiten SharePoint 2010: ¿Para qué sirve la propiedad AllowUnsafeUpdates?

Para mayor referencia para el uso de SpWeb lean acá. SpWeb Class

7. Por ultimo presionamos F5 esperamos a que cargue la pagina del sitio de SharePoint, nos vamos al menu Site Actions - Edit Page  después clic en Add a Web Part en la sección Custom del lado izquierdo seleccionamos nuestra Web Part.


8. Clic en Stop Editing agregamos nuestro texto damos clic en botón y.....


10 . Navegamos a nuestra lista de sharepoint y nos encontramos con la sorpresa de que... Tenemos nuevo item.



De esta manera ponemos fin a este tutorial de como insertar ítem de manera programable a una lista de sharepoint, cabe enfatizar que este es un ejemplo muy sencillo ustedes como desarrolladores se verán en la necesidad de agregar; validadores, métodos, clases etc. todo lo necesario acorde a su requerimiento.


Saludos.
Oscar Miguel Dominguez Acevedo.