Blog del CIIN

Blog del Centro de Innovación en Integración de Cantabria

This Blog

Syndication

Search

Tags

Community

Email Notifications

Archives

Enlaces Recomendados

SharePoint 2010: Cómo comprobar si un ensamblado de terceros tiene alguna fuga de memoria!

Cuando nos encontramos con problemas de fugas de memoria en nuestro despliegue de SharePoint y sospechamos que se puede deber a un ensamblado de terceros, podemos ayudarnos de la herramienta SPDisposeCheck para verificar si dichas fugas de memoria se deben a que no se ha hecho el disposado correcto de objetos SPWeb y SPSite que se estén instanciando, comprobando así que se está liberando el uso de memoria que utilizan cuando entran en funcionamiento. SPDisposeCheck se integra en Visual Studio 2010 de forma que en tiempo de desarrollo podemos comprobar si estamos siguiendo las buenas prácticas en el disposado de objetos, pero también se puede ejecutar mediante línea de comandos y hacer dichas comprobaciones contra un ensamblado:

image

Finalmente, os dejo varias referencias relativas a SPDisposeCheck y a las reglas de disposado:

Publicado 3/2/2012 20:26 por Juan Carlos González Martín | con no comments

Nuberos.NET: Retomamos la actividad con fuerza, cuál Ave Fenix!

Hace tiempo que al grupo de usuarios .NET de Cantabria (Nuberos.NET) no se le oye por estos lares y no realiza quedadas frikis ya sea para participar en algún evento chulo, tomarse unas cervecitas hablando de temas tequis o simplemente pasar un buen rato con gente que vive por y para la tecnología. Por eso, tras algunos meses hablando sobre el tema, el amigo Rafa Serna y un servidor hemos pensado en volver a darle dinamismo al grupo empezando con la creación en LinkedIn de un grupo en el que compartir ideas, experiencias, conocimientos y proponer actividades a realizar en esta nueva andadura. Por eso, si vives en Cantabria o alrededores, o eres oriundo de allí te animo a que te unas al grupo y a que entre todos empecemos a hacer que de nuevo la rueda empiece a girar. El enlace del grupo en LinkedIn es el siguiente: http://www.linkedin.com/groups?home=&gid=4279967&trk=anet_ug_hm&goback=%2Eanp_4279967_1328098445826_1

image

Publicado 2/2/2012 8:47 por Juan Carlos González Martín | con no comments

Archivado en:

SharePoint 2010: Resumen de posts (XXVII)!

Como siempre , después del recopilatorio de enlaces interesantes sobre SharePoint 2010 os dejo el resumen de posts sobre la plataforma que se han publicado en el blog durante el último mes. Este es el resumen del mes de enero.

Capacidades

Desarrollo

IT

Recursos

Otros

Y hasta aquí llega este nueva entrega del resumen de los posts publicados en el blog del CIIN sobre plataforma SharePoint.

Publicado 1/2/2012 22:40 por Juan Carlos González Martín | con no comments

SharePoint 2010: Recopilatorio de enlaces interesantes (XXVIII)!

Aquí os dejo la nueva entrega del recopilatorio de enlaces interesantes del mes pasado sobre SharePoint 2010…en unos meses pasará a mejor vida y empezaremos ya a hablar de la nueva versión de SharePoint, es increíble lo rápido que pasa el tiempo y como van llegando nuevas versiones de SharePoint…en mi caso será la cuarta que pase por mis manos.

Capacidades

Desarrollo

IT

Y hasta aquí llega esta nueva entrega del recopilatorio de enlaces interesantes sobre SharePoint 2010.

Publicado 1/2/2012 20:44 por Juan Carlos González Martín | 1 comment(s)

Office 365: Disponible Blackberry Cloud Services para Office 365…y es gratis!

Tal y como podéis leer en este post, por fin tenemos disponible Blackberry Cloud Services para Office 365 y sin coste adicional. Estos servicios aseguran enlaces directos de Exchange Online a dispositivos Blackberry dotando a los usuarios de este tipo de smartphones de una buena integración en el acceso a correo electrónico, calendario, contactos y tareas de Exchange Online.

image

Podéis encontrar más información en este enlace:http://us.blackberry.com/business/software/cloudservices/ y una descripción de las capacidades disponibles en este otro enlace: View the Feature and Technical Overview.

Publicado 1/2/2012 8:02 por Juan Carlos González Martín | 1 comment(s)

Archivado en:

SUGES: Disponibles los materiales sobre el WebCast de Gobernanza!

Ya están disponibles para descarga en el portal de SUGES los materiales del WebCast sobre gobernanza que gracias a Roberto Delgado y Ann-Marie Connolly de AvePoint realizamos el pasado 25 de enero. Agradecer a ambos la predisposición para realizar el WebCast así como el contenido del mismo que estuvo muy bien y que, dada la afluencia, despertó un gran interés. Se nota que el concepto gobernanza en SharePoint 2010 está cogiendo cada vez más importancia en nuestro “gran mundillo” y cada vez hay un interés mayor en que todo proyecto de SharePoint 2010 lleve asociado el correspondiente plan de gobernanza. Podéis descargaros los materiales desde este enlace.

Gobernanza en SharePoint 2010

Y por supuesto, muchas gracias a los asistentes (en torno a 60) por seguirnos en el WebCast y a toda la comunidad por seguir apoyando las iniciativas que desde SUGES e HISPAOINT venimos impulsando desde hace unos pocos años.

Publicado 31/1/2012 20:48 por Juan Carlos González Martín | 1 comment(s)

Office 15: Comienza el baile con la technical preview y para verano la primera beta pública!

Parece que 2012 puede ser un año lleno de novedades desde Microsoft ya que en los próximos meses tendremos la oportunidad de jugar no sólo con la primera beta pública de Windows 8, sino que también la primera beta de Office 15 que se espera para verano y cuyo lanzamiento a nivel de preview técnica tiene lugar hoy, sin conocer eso sí, ningún tipo de detalles de que se incluye, que no se incluye y por supuesto de fechas concretas para la RTM. Podéis leer el anuncio en este enlace http://blogs.office.com/b/office-exec/archive/2012/01/30/quot-office-15-quot-begins-technical-preview.aspx. También podéis encontrar información en este otro enlace: http://www.zdnet.com/blog/microsoft/microsoft-office-15-technical-preview-kicks-off/11753

Publicado 30/1/2012 18:15 por Juan Carlos González Martín | 1 comment(s)

Archivado en:

Office 365: Todo sobre desarrollo en el Office 365 Developer Hub!

Como sabéis, frente a su predecesor BPOS (Business Productivity Online Suite, Office 365 si da juego para que los desarrolladores puedan extender los servicios que lo componen (SharePoint Online, Lync Online y Exchange Online) con nuevas funcionalidades y capacidades respetando las reglas del juego. Por ejemplo, en SharePoint Online sólo podemos desplegar artefactos en la forma de soluciones Sandbox. Para conocer todas las posibilidades que tenemos para desarrollar en Office 365, os recomiendo el Office 365 Developer Hub y el video sobre posibilidades de desarrollo que encontraréis en la página principal: http://msdn.microsoft.com/en-us/office/hh506337

image

Publicado 30/1/2012 17:26 por Juan Carlos González Martín | con no comments

Archivado en:

SharePoint 2010: Error “The trial period of this product has expired” después de instalar Search Server Express!

Este error tan “majo” es el que me encontré tras una instalación de Search Server Express 2010 al ir a comprobar si las nuevas aplicaciones de servicio añadidas estaban operativas…y el caso es que la de Secure Store Service no lo estaba:

  • Como siempre, para administrar una aplicación de servicio nos vamos al listado de aplicaciones de servicio disponibles en la Administración Central de SharePoint 2010. En este caso, seleccionamos la de Secure Store Service y pulsamos “Manage”.
  • Lo que nos lleva al error tan majo que os decía y que al menos te deja pensativo: “de que clave está hablando, si Search Server Express 2010 y SharePoint Foundation son gratis”.
  • Lo primero que probé (de entre las múltiples soluciones que se pueden encontrar en la red) es la de deshabilitar la dichosa regla del analizador de salud que comprueba que el período de Trial de la licencia aplicada (cuando tiene sentido, y no en este caso) ha caducado. Para ello, nos vamos a la sección Monitoring y luego Review rule definitions.
image image image
  • Localizamos la regla “Trial period for this product is about to expire” y la editamos.
  • En la ventana de edición de la regla, desmarcamos el check “Enabled”. Comprobamos si el dichoso error se sigue produciendo, y resulta que sí por lo que este truco no nos ha servido.
  • Lo siguiente que hice fue descargarme el SP1 de SharePoint Foundation e instalarlo. Una vez instalado, ejecuté el asistente de configuración y la cosa seguía igual. Por si las moscas, ejecute el comando PSConfig –cmd secureresources en la SharePoint 2010 Management Shell…pero ni por esas el error desaparecía. Por supuesto, tampoco sirvió de nada añadir la cuenta del Application Pool de la aplicación de servicio en el grupo de administradores locales de la máquina y un posterior IIS Reset y reinicios varios de la máquina.
image image image
  • Y finalmente di con la solución: instalar el SP1 de Search Server Express que eliminó el infame error y me permitió acceder a la administración de la aplicación de servicio de Secure Store Service (Nota: Por supuesto, tras instalar el SP1 hay que ejecutar el asistente de configuración o el comando PSConfig).

image

Referencias:

Publicado 29/1/2012 18:29 por Juan Carlos González Martín | 1 comment(s)

¡Open Government y Open Data con tecnologías Microsoft!

Últimamente están muy de moda conceptos como Open Government y Open Data y lógicamente Microsoft está metido en todo “el tinglao” que se está montando al respecto y trabajando en plataformas y tecnologías que faciliten ambos conceptos. Por un lado dentro de Open Government tenemos una serie de iniciativas que buscan conectar a organizaciones gubernamentales con ciudadanos y comunidades. Por otro lado, Open Data viene a contemplar una serie de iniciativas cuyo objetivo es facilitar el acceso a información interesante disponible a nivel gubernamental por parte de los ciudadanos de una forma rápida, flexible y simple. Para temas de Open Government os recomiendo una serie de faqs que se han publicado en el blog de Publics Sector:

En los mismos se habla tanto de Open Government como concepto y su enganche con tecnologías Microsoft. Finalmente os dejo otros dos enlaces interesantes relativos a estos temas:

Publicado 28/1/2012 20:26 por Juan Carlos González Martín | con no comments

Office 365: Como solucionar los problemas para mapear bibliotecas de SharePoint Online en el explorador de Windows!

Como el mapeo de bibliotecas de documentos de SharePoint Online en el explorador de Windows tiene su complicación, y gracias a la solución aportada por Jordi Rosell en este thread del foro de Office 365, he querido dejar constancia de los pasos que solucionan los problemas que se dan al realizar dicho mapeo:

  • Habilitar de manera automática el servicio Webclient de Windows. Este servicio lo podremos acceder desde la administración de nuestro equipo:
    • Para abrir la administración, simplemente vamos a inicio, hacemos clic con el botón derecho del ratón sobre “Equipo” (esto es para Windows 7) y pulsamos “Administrar”.
    • En la aplicación “Administración de equipos” nos vamos a la sección “Servicios y Aplicaciones” y pulsamos sobre “Servicios”.
    • Localizamos el servicio “Cliente Web” y nos aseguramos que está configurado para que se inicie de forma automática.
image image image
  • Instalar el instalador de aplicaciones de Office365 que tendremos disponible en el área de descargas del portal de Office 365:
    • El área de descargas la tenemos disponible en la sección Recursos.
    • El instalador de aplicaciones de escritorio aparece al final de la página con las descargas disponibles.
image image

Y en principio esto sería todo, el último paso para equipos con Windows XP o Windows Vista en principio no sería necesario.

Publicado 27/1/2012 19:22 por Juan Carlos González Martín | 1 comment(s)

SharePoint 2010: Niveles de arquitectura (I)!

Un tema con mucha “miga” en SharePoint es el los niveles de arquitectura de los que podemos hablar cuando nos referimos a una implementación tipo.  Por eso, responder a la pregunta ¿Qué niveles de arquitectura tenemos en SharePoint? no es tan sencillo como a priori puede parecer y la respuesta es que “depende del contexto en el que estemos hablando”. Básicamente, y en mi opinión, al menos podemos identificar los siguientes niveles de arquitectura:

  • Arquitectura en N-Capas tradicional tal en la que se trataría de “mapear” las capas con elementos de SharePoint como se ha comentado.
  • Arquitectura lógica en la que introducimos elementos claves de la jerarquía lógica de SharePoint:
    • Aplicaciones Web.
    • Bases de datos de contenido.
    • Colecciones de sitios.
    • Sitios.
    • Listas y bibliotecas de documentos.
    • ...

image

Junto con las aplicaciones Web, lo que podemos pintar son los servicios que van a ser usadas por las mismas:

  • Aplicaciones de servicio elegidas a la carta por aplicaciones web.
  • Administración Central de SharePoint.
  • Otros servicios.

Un ejemplo de esta idea es el que se muestra en el siguiente diagrama de arquitectura para SharePoint 2007.

image

A nivel de arquitectura lógica, incluso podemos proponer un diseño de ejemplo y al detalle:

image

  • Arquitectura x roles de servidor en la que identificaremos los distintos roles de servidor de SharePoint:
    • Frontales Web.
    • Servidores de aplicaciones.
    • Servidores de Bases de Datos.

La arquitectura x roles es la que luego nos permite definir la topología del despliegue de SharePoint a realizar. Por ejemplo, una topología compleja en la que tenemos grupos de servidores es la siguiente:

  • Arquitectura física, dónde identificamos a nivel físico los distintos servidores que tenemos disponibles.
  • Arquitectura de información en la que ya identificamos de forma clara las aplicaciones web, colecciones de sitios, listas y bibliotecas que se necesitan.

Referencias:

Publicado 26/1/2012 20:47 por Juan Carlos González Martín | 1 comment(s)

SharePoint 2010: ¿Qué BD’s puedo mover y como?

Dejando claro que las BD’s de SharePoint 2010 se pueden mover, y por estas entiendo BD’s de contenido y aplicaciones de servicio, esta pregunta puede surgir cuando nos planteamos mover BD’s de ciertas aplicaciones de servicio a otro servidor bien porque estamos creando otro entorno o bien porque estamos moviendo ciertas aplicaciones de servicio a otro servidor. Por suerte, Microsoft  dispone de documentación relativa a que BD’s se pueden mover como podéis ver en este enlace y el proceso a seguir que se indica en este otro enlace.

SharePoint2010_thumb

Publicado 25/1/2012 22:54 por Juan Carlos González Martín | 1 comment(s)

SharePoint 2010: ¿Uno o varios grupos de aplicaciones?

Otro de los conceptos básicos en SharePoint 2010 es el de grupo de aplicaciones (más comúnmente conocidos como Applications Pools) que se encargan de manejar las peticiones realizadas a SharePoint. Un grupo de aplicaciones viene a ser  un espacio aislado en memoria que se asocia a una o varias aplicaciones web y a una o varias aplicaciones de servicio y cuya identidad suele estar asociada con una cuenta manejada de SharePoint 2010. Cada vez que creaos una aplicación web o un proxy de aplicación de servicio, se nos pide que creemos o especifiquemos el correspondiente grupo de aplicaciones…y es aquí dónde viene la pregunta que da el título al post: ¿Uno o varios grupos de aplicaciones? La respuesta, como siempre, es qué depende:

  • Por definición, un grupo de aplicaciones es un espacio aislado por lo que si tenemos dos aplicaciones web cada una ejecutándose con el correspondiente grupo de aplicaciones nos aseguraremos aislamiento máximo a este nivel. De esta forma, si en una aplicación web se han desplegado artefactos con código “malo” que hagan que se rompa, la otra aplicación web no se verá afectada.
  • Entonces, ¿creo un nuevo grupo de aplicaciones web para cada nueva aplicación web? Pues no, ya que existe un límite recomendado de máximo de grupo de aplicaciones disponibles por frontal web que es de 10 (http://technet.microsoft.com/en-us/library/cc262787.aspx), es decir, son un recurso en principio escaso. Si bien es cierto que este límite está condicionado por la cantidad de memoria RAM disponible en los frontales y el uso que se esté haciendo de los mismos.
  • Por lo tanto, como recomendación general compartiremos grupos de aplicaciones entre aplicaciones web.

SharePoint2010_thumb

Publicado 24/1/2012 22:48 por Juan Carlos González Martín | 1 comment(s)

SharePoint 2010: ¿Una o varias aplicaciones web?

Esta pregunta es una de las muchas que nos tenemos que hacer a la hora de diseñar una solución SharePoint. La respuesta a la misma viene dada, desde una perspectiva de alto nivel, por el grado de aislamiento e independencia que necesitemos en la solución a diseñar. Así, optaremos por disponer de varias aplicaciones web en supuestos como:

  • Se requiere un aislamiento completo de contenidos internos / externos de manera que es necesario dividir el contenido en aplicaciones web separadas, cada una de las cuáles dispone de un sitio web de ISS, un nombre único de dominio, una o varias BD’s separadas, etc.
  • Las conexiones de aplicaciones de servicio difieren entre aplicaciones web.
  • La configuración de la papelera de reciclaje tiene que ser diferente por aplicación web.
  • Se quiere habilitar la creación de colecciones de sitios por parte del usuario en ciertas aplicaciones web.
  • Los tipos de ficheros a bloquear cambian en función de la aplicación web.

En general, si queremos dar soporte a configuraciones diferentes a nivel de aplicación web tendremos que recurrir a crear más de una aplicación web. Y por supuesto, todo esto se tiene que recoger en el plan de gobernanza correspondiente.

SharePoint2010_thumb

Publicado 23/1/2012 23:18 por Juan Carlos González Martín | 1 comment(s)

Office 365: Algunos videos de uso de la plataforma!

En esta ocasión quería dejaros algunos videos sobre Office 365 que tenéis disponibles en YouTube y que permiten como usuario sacar el máximo partido a la suite de productividad de Microsoft en la nube:

Finalmente os dejo un par de referencias a más videos sobre Office 365 disponibles en Youtube:

Publicado 22/1/2012 18:45 por Juan Carlos González Martín | con no comments

Archivado en:

SharePoint 2010: Como configurar la búsqueda de archivos PDF!

Como sabéis, uno de los puntos fuertes de la plataforma SharePoint es el de las búsquedas ya que cuando un usuario indica un cierto término de búsqueda, el motor de la plataforma va a buscar dentro del contenido indexado dicho término devolviendo aquellos elementos de lista y documentos en cuyo nombre se incluya. Además, en el caso de los documentos, devolverá aquellos en los que encuentre el término buscado como parte de su contenido. Ahora bien, para que esto sea posible es necesario disponer de los correspondientes iFilter instalados en nuestros frontales web que habilitan la búsqueda dentro de documentos de distintos formatos: office, pdf, TIFF, etc. Por defecto, la plataforma incorpora de serie los iFilter para documentos Office, pero no para un formato tan típico como es el de Adobe PDF. Por este motivo, tendremos que instalar el iFilter de Adobe en nuestros frontales web y realizar las configuraciones necesarias para que el motor de búsqueda de SharePoint 2010 pueda buscar en el contenido de archivos PDF. El resumen de pasos necesarios para configurar la búsqueda de archivos PDF es el siguiente:

A continuación os dejo algunas referencias en las que se explica de forma detallada el proceso a seguir:

SharePoint2010_thumb

Publicado 21/1/2012 13:26 por Juan Carlos González Martín | 1 comment(s)

SharePoint 2010: Como usar el SPSecurityTrimmedControl en una WebPart!

En SharePoint 2010, como en SharePoint 2007 tenemos la posibilidad de controlar como se muestra la información al usuario (controles, secciones, partes del menú vertical, etc) usando un control especial: SPSecurityTrimmedControl. Se trata de un control especial que nos permite envolver elementos de SharePoint como pueden ser controles o elementos estáticos de forma segura de manera que sólo estén accesibles para usuarios que tengan unos ciertos permisos. En particular, vamos a ver como usar este control en una WebPart:

  • En VS 2010 creamos un proyeto de SharePoint 2010 de tipo “Empty SharePoint Project”. En el asistente de configuración elegimos como tipo de despliegue “Deploy as a farm solution”.
  • Añadimos al proyecto un elemento de tipo WebPart que codificamos de la siguiente forma:
   1: using System;
   2: using System.ComponentModel;
   3: using System.Web;
   4: using System.Web.UI;
   5: using System.Web.UI.WebControls;
   6: using System.Web.UI.WebControls.WebParts;
   7: using Microsoft.SharePoint;
   8: using Microsoft.SharePoint.WebControls;
   9:  
  10: namespace SPSecurityTrimmedWP.SPSecurityTrimmedWP
  11: {
  12:     [ToolboxItemAttribute(false)]
  13:     public class SPSecurityTrimmedWP : WebPart
  14:     {
  15:         protected override void CreateChildControls()
  16:         {
  17:             SPSecurityTrimmedControl spstcControl = new SPSecurityTrimmedControl();
  18:             spstcControl.Permissions = SPBasePermissions.EditListItems;
  19:             Label lblInformation = new Label();
  20:             lblInformation.Text = 
  21:                 "Información solo visiable para ciertos usarios";
  22:             spstcControl.Controls.Add(lblInformation);
  23:             this.Controls.Add(spstcControl);
  24:         }
  25:     }
  26: }
  • Desplegamos la WebPart y la añadimos en una página de WebParts. Comprobamos que un usuario con permisos puede visualizarla sin problemas.
  • En cambio, un usuario sin permisos no visualiza el contenido de la WebPart debido al uso del SPSecurityTrimmedControl.
image image

Publicado 20/1/2012 9:48 por Juan Carlos González Martín | 2 comment(s)

SharePoint 2010: Permisos, niveles de permisos y dependencias (II)!

Siguiendo con la serie de artículos sobre permisos y niveles de permisos en SharePoint 2010, en esta ocasión quería dejaros constancia de como programáticamente podemos hacer exactamente lo mismo que se puede hacer en la interfaz de usuario. La clave de trabajar con permisos y niveles de permisos mediante el modelo de objetos reside en conocer los objetos correspondientes:

  • El objeto SPWeb y el miembro SiteGroups que nos permite añadir nuevos grupos a un sitio de SharePoint en concreto a través del método Add(). El miembro AssociatedGroups nos permitirá establecer la asociación entre el grupo creado y el sitio.
  • SPRoleAssignment para poder definir cuál es el nivel de permisos que le vamos a asociar al grupo que acabamos de crear. Para poder añadir un nivel de permisos (por ejemplo Read), necesitaremos utilizar SPRoleDefinition y vincularlo con el correspondiente SPRoleAssignment a través de RoleDefinitionBidings.
  • SPGroup para añadir un usuario (SPUser) al grupo creado.

A modo de ejemplo, os dejo como hacer una gestión de grupos u niveles de permisos mediante el modelo de objetos de servidor de SharePoint 2010:

   1: static void ManageGroupsRolesUsers(string sManagementOption)
   2: {
   3:     using (SPSite spssSitio=
   4:         new SPSite("http://demo2010a:100/"))
   5:     {
   6:         using (SPWeb spwWeb=spssSitio.OpenWeb())
   7:         {
   8:             switch (sManagementOption)
   9:             {
  10:                 case "Create":
  11:                     //Creación de un grupo
  12:                     SPMember spmMiembro= spwWeb.SiteAdministrators["contoso\\Administrator"];
  13:                     spwWeb.SiteGroups.Add("CustomSPGroup", 
  14:                         spmMiembro,null, "Custom SharePoint Group");
  15:                     spwWeb.AssociatedGroups.Add(spwWeb.SiteGroups["CustomSPGroup"]);
  16:                     spwWeb.Update();
  17:  
  18:                     //Asignación de un nivel de permisos
  19:                     SPRoleAssignment sprAsignacionRol =
  20:                         new SPRoleAssignment(spwWeb.SiteGroups["CustomSPGroup"]);
  21:                     SPRoleDefinition sprdDefinicionRol =
  22:                         spwWeb.RoleDefinitions["Read"];
  23:                     sprAsignacionRol.RoleDefinitionBindings.Add(sprdDefinicionRol);
  24:                     spwWeb.RoleAssignments.Add(sprAsignacionRol);
  25:  
  26:                     //Asignación de un usuario
  27:                     SPUser spUsuario = 
  28:                         spwWeb.EnsureUser("contoso\\Cesarg");
  29:                     if (spUsuario!=null)
  30:                     {
  31:                         SPGroup spGrupo =
  32:                             spwWeb.Groups["CustomSPGroup"];
  33:                         spGrupo.AddUser(spUsuario);
  34:                     }
  35:  
  36:                     break;
  37:                 case "Update":
  38:                     SPRoleAssignmentCollection sprColeccionRoles =
  39:                         spwWeb.RoleAssignments;
  40:                     
  41:                     foreach (SPRoleAssignment sprAsignacionR in sprColeccionRoles)
  42:                     {
  43:                         if (sprAsignacionR.Member.Name=="CustomSPGroup")
  44:                         {
  45:                             SPRoleDefinitionBindingCollection sprdcRoleDefinitionCollection =
  46:                                 sprAsignacionR.RoleDefinitionBindings;
  47:                             foreach (SPRoleDefinition sprd in sprdcRoleDefinitionCollection)
  48:                             {
  49:                                 if (sprd.Name=="Read")
  50:                                 {
  51:                                     sprdcRoleDefinitionCollection.Remove(sprd);
  52:                                     break;
  53:                                 }                                        
  54:                             }                                   
  55:  
  56:                             //Añadimos una nueva definición
  57:                             SPRoleDefinition sprNewDefinionRol =
  58:                                 spwWeb.RoleDefinitions["Contribute"];
  59:                             sprAsignacionR.RoleDefinitionBindings.Add(sprNewDefinionRol);
  60:                             //Actualizamos todo
  61:                             sprAsignacionR.Update();
  62:                             spwWeb.Update();
  63:                         }
  64:                     }
  65:                     break;
  66:                 case "Delete":
  67:                                                 
  68:                     spwWeb.SiteGroups.Remove("CustomSPGroup");
  69:                     spwWeb.Update();
  70:                     break;
  71:                 default:
  72:                     break;
  73:             }
  74:         }
  75:     }
  76: }

Publicado 19/1/2012 21:13 por Juan Carlos González Martín | 1 comment(s)

SharePoint 2010: ¿Se pueden copiar flujos de trabajo entre colecciones de sitios diferentes?

La respuesta, como “casi siempre” que hablamos de algo relacionado con SharePoint es que sí…en este caso nos estamos refiriendo a flujos de trabajo creados o disponibles en SharePoint Designer 2010 (SPD 2010) que necesitemos mover a otro sitio para poder usarlos:

  • Abrimos los sitios origen y destino con SPD 2010. En el sitio origen, seleccionamos el flujo a copiar.
  • Arrastramos el flujo desde el sitio origen al sitio destino.
  • De esta forma, se muestra un diálogo indicando que el flujo se está copiando en destino.
image image image
  • El resultado es que el flujo se ha copiado sin problemas en el sitio de destino.

image

Publicado 18/1/2012 20:38 por Juan Carlos González Martín | 1 comment(s)

Más artículos Página siguiente >