Clínica gratis de Microsoft sobre SharePoint 2010 para desarrolladores

Microsoft publicó una clínica gratis sobre las novedades en SharePoint 2010 para desarrolladores. Acá les dejo la info y el vínculo. Estas clínicas suelen ser muy útiles y hay que aprovecharlas, porque luego de un tiempo dejan ser gratuitas. Que la disfruten!

Microsoft | Learning

Continuar leyendo en http://surpoint.blogspot.com/2009/12/clinica-gratis-de-microsoft-sobre.html.

Relaciones Maestro-Detalle en SharePoint – Algunas ideas

Uno de los temas que SP no resuelve bien, es el manejo de relaciones Padre-Hijo o Maestro-Detalle. En este breve artículo voy a a comentar algunas ideas a cerca de cómo resolver esta problemática. Espero que estas ideas les sean útiles, pero realmente también espero más ideas. Imagino que muchos de los lectores habrán probados diferentes soluciones, y ojalá podamos compartirlas!

Introducción

Para resolver una relación de este tipo, necesitamos encontrar soluciones para estos temas:

  1. Establecer la relación entre el padre y el hijo
  2. Filtrar los ítems del hijo en base al ID del padre
  3. Pre-seleccionar el campo del padre en el momento del alta.
  4. Ocultar el campo del padre en el momento del alta o la modificación
  5. Mostrar datos de la cabecera cuando estamos viendo a los hijos

1. Establecer la relación entre el padre y el hijo

Para establecer esta relación podemos usar la funcionalidad OOTB (Out of the box) que nos permite crear columnas en una lista de tipo “búsqueda”, es decir algo muy cercano a una clave foránea.

Esto ha sido particularmente mejorado en SP 2010 por dos motivos:

  • Existe algo de integridad referencial ya que se puede impedir que se elimine el padre si existen hijos.
  • Se pueden mostrar diferentes campos del padre, no sólo uno como en SP 2007

2. Filtrar los ítems del hijo en base al ID del padre

Cuando queremos mostrar el detalle de un maestro, necesitamos filtrar. Si bien podríamos usar las conexiones entre webparts OOTB, estas son algo limitadas. Una opción es utilizar los filtros por URL que describí en este artículo: http://surpoint.blogspot.com/2009/09/filtrando-desde-la-url-tips.html

Esto funciona bastante bien, en la siguiente imagen pueden ver cómo se ve:

image

Continuar leyendo en http://surpoint.blogspot.com/2009/12/relaciones-maestro-detalle-en.html.

¿Tengo permisos?

¿Cómo puedo verificar programáticamente si tengo permisos en sharepoint. Muy sencillo, aquí va un ejemplo, que lo disfruten…

SPWeb web = SPContext.Current.Web;
SPList publicas = web.Lists["Publicas"];
string Rol;
if (publicas.DoesUserHavePermissions(SPBasePermissions.AddListItems))
{
Rol = "UA"; //Usuario avanzado
}
else
{
Rol = "U"; //Usuario
}

Crear un una plantilla de páginas con zonas de elementos web programáticamente

Breve post para explicar como crear un template de página con múltiples webparts zones e instanciarla. Los templates de páginas son los que ven cuándo elijen crear una página de elementos web desde el navegador.

Crear página

Seleccionar un template

Paso 1: Crear el template de página

Para crear la plantilla debemos construir una página ASPX que herede de Microsoft.SharePoint.WebPartPages.WebPartPage. Está página debe almacenarse en la carpeta TEMPLATESCONTROLTEMPLATES. Un ejemplo sencillo de plantilla sería:

<asp:Content ID="main" runat="server" ContentPlaceHolderID="PlaceHolderMain" >

<table width="100%"> <tr>

<td valign="top" style="width:50%"> <WebPartPages:WebPartZone ID="LeftZone" runat="server" FrameType="TitleBarOnly" Title="Left Web Part zone" /> </td>

<td valign="top" style="width:50%"> <WebPartPages:WebPartZone ID="RightZone" runat="server" FrameType="TitleBarOnly" Title="Right Web Part zone" /> </td>

</tr> </table>

</asp:Content>

Paso 2: Instanciar la página

Continuar leyendo en http://surpoint.blogspot.com/2009/10/crear-un-una-plantilla-de-paginas-con.html.

Master pages en SharePoint

WSS 3 fue diseñado para trabajar con páginas maestras, lo que constituye un importante cambio respecto a WSS 2, y facilita enormemente la personalización de un sitio a través de distintas páginas. En esta artículo comentaré algunos puntos importantes a tener en cuenta a la hora de trabajar con este tema en SharePoint:

Introducción

Las páginas que están vinculadas a una página maestra se denominan content pages. Estas páginas comparten un diseño común, provisto por la página maestra. La página maestra contiene placeholders que pueden ser reemplazados por contenido único.

Un importante punto a tener en cuenta es que las páginas maestras que utilizan las application pages son distintas a las que utilizan las site pages. La mayoría de las application pages trabajan con la página maestra llamada application.master, que no puede ser personalizada. Si están buscando un método que afecte a los dos tipos de páginas, les recomiendo que lean el artículo Cambios de estilos en SharePoint.

Default.master es la página estándar  utilizada por por las site pages y pueden encontrarla en C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATEGLOBALdefault.master. Cuando ustedes crean un nuevo sitio en SharePoint, se crea automáticamente la galería Master Page con una instancia de la default.master en /_catalogs/masterpage/default.master. A esta altura el lector ya habrá descubierto que las páginas maestras dentro de los sitios se comportan de la misma manera que las páginas de sitio y aplican los mismos conceptos. Por ejemplo, usted podría personalizar una página maestra desde SharePoint Designer y los cambios se almacenarían en la base de datos.

Qué podemos definir en una página maestra?

  • Vínculos estándar que apliquen a todas las páginas
  • Menús compartidos
  • Iconos, gráficos, logos, etc.
  • Componentes de navegación como el mapa del sitio
  • Named Placeholders
  • Delegate Controls

Named Placeholders

Como dijimos anteriormente, los named placeholders constituyen un mecanismo de extensibilidad permitiendo agregar contenido único en una página de sitio o plantilla de páhina que esté vinculada a una página maestra. El siguiente HTML es un pequeño extracto de una página maestra en SharePoint para “graficar” esta funcionalidad.

Continuar leyendo en http://surpoint.blogspot.com/2009/10/master-pages-en-sharepoint.html.