Obtener el SPUser de un campo “person”



Siempre que damos una capacitación surge la misma duda, y hay que tener cuidado con esto porque hay un montón de gente (casi diría mayoría) blogueando como separar los # y ; del campo convertido a texto y con eso buscar el user nose donde… no les hagan caso, esta es la posta, tal vez no tan intuitivo, pero sencillo y cortito. De igual forma se pueden obtener otros campos especiales de SharePoint.

SPFieldUser
userField = (SPFieldUser)site.Lists["nombreLista"].Fields.GetField(“nombreCampoPersona”);
SPFieldUserValue fieldValue = (SPFieldUserValue)userField.GetFieldValue(item["nombreCampoPersona"].ToString());
SPUser user = fieldValue.User;

Espero que sirva!

Hola readers!

Acabo de darme cuenta que no posteo un articulo desde hace mas de un año y quería pedir disculpas por eso, fue un año bastante atareado para mi, me mude a Australia para trabajar como Consultor SharePoint en OBS, y ahora que estoy medianamente estabilizado tanto profesionalmente como personalmente, creo que puedo volver a la acción. :D

2do Encuentro Comunidad de SharePoint Argentina

Hola Gente!
Les quiero contar que el día jueves 13 de Mayo de 2010 se realizará el segundo encuentro de la Comunidad SharePoint de Argentina.

El mismo tendrá lugar en las oficinas de Microsoft Argentina (Bouchard 710 4°) en el horario de 18:30 a 21:30horas.

El evento es gratuito. Sólo tienen que registrarse.

Logo
Agenda
  • Solución con BDC: Caso práctico (Silvina Pizzarulli)
  • Nuevas características de Web Parts en SharePoint 2010 (Patricio Belardo)
  • SharePoint 2010: Administración General y Aplicaciones de Servicios (Ariel García Sobrino)

Por favor, confirmar asistencia hasta el martes 11 de Mayo inclusive utilizando el espacio de la Comunidad en Facebook o dejando un mensaje en el espacio de la Comunidad en LinkedIn. No olviden incluir su nombre y su número de DNI.

Cualquier duda estoy a su disposición.

Saludos!

Subir un archivo a una document library usando el Client Object Model de SharePoint 2010

Definitivamente creo que a la hora de programar componentes o aplicaciones que se ejecuten afuera de los servidores de SharePoint 2010, el Client Object Model nos va a cambiar la vida.

Aca les dejo un ejemplo de como subir un archivo del disco a una document library.

1) Primero tenemos que agregar las referencias a nuestro proyecto:

Microsoft.SharePoint.Client.dll
Microsoft.SharePoint.Client.Runtime.dll

Las pueden encontrar en el directorio ISAPI del servidor de SharePoint 2010 (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI)

2) Agregamos los siguientes usings:

using SP = Microsoft.SharePoint.Client;
using System.IO;

La primera asignacion, es porque dentro del namespace de SharePoint.Client tenemos algunas ambiguedades (en el Client OM las clases no tienen el prefijo SP), y de esta forma las evitamos (sin ir mas lejos la clase "File" esta tanto en Microsoft.SharePoint.Client, como en System.IO).

3) Y el codigo que sube nuestro archivo a SharePoint:

using (SP.ClientContext context = new SP.ClientContext("http://serverSharePoint"))
{
//Obtengo la coleccion de folders de la raiz del sitio
SP.FolderCollection folders = context.Web.Folders;
context.Load(folders);
context.ExecuteQuery();

//Obtengo una instancia de la DL como objeto Folder
var fc = from folder in folders.ToList()
where (folder.Name == "Documents")
select folder;
SP.Folder documentsFolder = (SP.Folder)fc.FirstOrDefault();

//creo el arreglo de bytes con el contenido del archivo
var fStream = File.OpenRead("c:\\ejemplo.txt");
byte[] content = new byte[fStream.Length];
fStream.Read(content, 0, (int)fStream.Length);
fStream.Close();

// Lo cargo en un objeto FileCreationInformation
SP.FileCreationInformation fileInfo = new SP.FileCreationInformation();
fileInfo.Content = content;
fileInfo.Overwrite = true;
fileInfo.Url = "ejemplo.txt";
// Y lo subo
documentsFolder.Files.Add(fileInfo);
context.ExecuteQuery();
}

Pronto voy a ver si con tiempo subo algunos ejemplos mas...

Primer encuentro de la Comunidad SharePoint de Argentina

Si te interesan las tecnologías SharePoint te invitamos a participar del Primer
encuentro de CSA
(Comunidad SharePoint de Argentina), el
martes 23 de
febrero
a las 18:30Hs en Microsoft Argentina, Bouchard 710 4to piso.

Agenda:
- Presentación de la Comunidad
- Charlas de interés sobre tecnologías SharePoint
- Relevar expectativas de los miembros sobre la Comunidad y próximos eventos

Por favor, confirmar asistencia vía facebook o por mail. Al finalizar el evento se realizarán sorteos entre los asistentes miembros del Grupo CSA en LinkedIn.

La CSA reúne a los profesionales de Argentina que trabajan con tecnologías SharePoint, con el fin de colaborar e intercambiar información entre los miembros, fomentar las mejores prácticas para el uso de las tecnologías SharePoint, compartir recursos para capacitación y certificación, entre otros objetivos. ¡Unite!

Comunidad SharePoint de Argentina

Todavia no te uniste? Si trabajas a diario con SharePoint, ya sea bajo el capó, como usuario, o simplemente te interesa el tema, y queres compartir experiencias, pedir una mano, o darle una mano a alguien que lo necesite, no dudes en anotarte.

El objetivo de la comunidad es tener un punto de encuentro para los profesionales de argentina que trabajamos con esta tecnología, donde podamos compartir información, organizar eventos, centralizar ofertas de trabajo, y sobre todo estar en contacto con el resto de la gente que hace lo mismo que nosotros.

Para suscribirse pueden hacerlo en el grupo de LinkedIn y/o la pagina de Facebook.

Curso: SharePoint 2010 - Fundamentals for Implementers

Les dejo para quienes les interese, un curso online bastante completo. Solo disponible para quienes tengan una cuenta Live asociada al Microsoft Partner Program.

Disfrutenlo!