miércoles, 28 de diciembre de 2011

Cómo cambiar la dirección URL de despliegue de una solución de SharePoint 2010 en Visual Studio 2010

Al momento de crear un proyecto en Visual Studio 2010 para SharePoint 2010 solicita la dirección URL donde se desplegará la solución de SharePoint pero hay ocasiones que esta dirección es necesaria cambiarla, y es lo que vamos describir en las siguientes líneas:

En el directorio donde se encuentra el proyecto, hay un archivo con extensión csproj.user. Deberemos abrirlo con un editor como notepad.exe

image

En la etiqueta <SharePointSiteURL> deberemos cambiar la dirección deseada y luego guardar el archivo. 

image

Y eso es todo, podemos abrir el proyecto desde Visual Studio y realizar el despliegue o deployment y validar que el efectivamente el cambio esta efectuado.

SharePoint4Fun,

Juan Manuel Herrera O.

SharePoint 2010:Error al acceder una reunión recurrente anterior 'g_thispagedata' is undefined

Este error se genera al personalizar la página maestra de una sitio de la plantilla de reuniones o Meeting WorkSpace Template.

Para resolverlo hay varias soluciones o bien la combinación de ambas.  En mi caso debido a que se había habilitado la característica de publicación en el sitio de Reuniones tuve que agregar las siguientes líneas dentro de la página maestra:

Al principio de la página maestra y a través de SharePoint Designer 2010 puede colocar la siguiente línea:

<%@ Register Tagprefix="Meetings" Namespace="Microsoft.SharePoint.Meetings" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

Dentro de las siguientes etiquetas:

<script type="text/javascript">
var _fV4UI = true;

<script>

Agregar la siguiente línea:

var g_thispagedata = "";

Dentro de la etiqueta <html> puede agregar la siguiente línea:

<Meetings:PropertyBag runat="server"/>

Con ello se eliminó el error la hacer clic sobre un enlace de una reunión anterior.

Referencias donde encontré la solución a continuación:

http://sympmarc.com/2008/07/02/how-to-fix-recurring-meeting-workspace-error-%E2%80%98g_instanceid%E2%80%99-is-undefined/

http://vrey-share.blogspot.com/2011/07/gthispagedata-is-not-defined-error-in.html

http://jmhogua.blogspot.com/2011/04/como-se-puede-personalizar-la-pagina.html

SharePoint4Fun,

Juan Manuel Herrera

lunes, 19 de diciembre de 2011

Artículo sobre buenas practicas desarrollando una solución Sandboxed para SharePoint 2010

Queridos lectores quiero compartir con ustedes una artículo que escribí para la revista CompartiMOSS sobre:BUENAS PRACTICAS EN EL SANDBOX página 6.  Y también para invitarlos a que disfruten de toda la edición de la revista que ya esta en su 10ma. edición.

En este artículo mostré un ejemplo de como extender la funcionalidad de la lista de Anuncios en SharePoint desplegando a través de un elemento Web una noticia gráfica (o sea que incluya imagen) la cual aplicando estilos al código HTML mejorar considerablemente.  Se requieren conocimientos sobre programación de c# y de Visual Studio 2010 para realizar el ejercicio, pero si tiene las habilidades disfrutará mucho el realizar el proyecto juntos.  Si esta interesado en el código dentro de la revista hay una dirección donde puede bajarlo.

Haga clic sobre la imagen para revisar la edición.

CompartiMOSS_10

SharePoint4Fun!,

Juan Manuel Herrera O.

lunes, 14 de noviembre de 2011

Plantillas Web Databases SharePoint 2010: Estado de sesión no esta activado. La acción o método requiere un argumento: ‘ObjectName’

Los errores que muestra son los siguientes:

clip_image002[6]

clip_image002

clip_image002[4]

Este error es común cuando empezamos a utilizar las plantillas de Web Databases disponibles en SharePoint 2010 y aún no se ha configurado debidamente la integración entre Reporting Services y Access Services.

Para ello es necesario habilitar la sesión para Access Services y esto lo hace con la siguiente línea de comando desde PowerShell para SharePoint 2010 (Recuerde ejecutarlo como Administrator)

Enable-SPSessionStateService –DatabaseName “SharePoint_AccessReports”

Luego reinicie el IIS con línea de comando IISReset.

Y luego deberá modificar los archivos de configuración de ReportServer en la siguiente ruta:

C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\

Y los archivos a modificar son:

  • rsreportserver.config
  • rssrvpolicy.config

Lo que debe modificar en cada uno a continuación:

En rsreportserver.config busque la etiqueta <data> y agregue la siguiente línea:

<Extension Name="ADS" Type="Microsoft.Office.Access.Reports.DataProcessing.AdsConnection, Microsoft.Office.Access.Server.DataServer, Version=14.0.0.0, Culture=Neutral, PublicKeyToken=71e9bce111e9429c"/>

En el xml rssrvpolicy.config busque la etiqueta <NamedPermissionSets> y agregue las siguientes líneas:

<PermissionSet class="NamedPermissionSet" version="1" Name="ReportExpressionsDefaultPermissionSet"> <IPermission class="SecurityPermission" version="1" Flags="Execution" /> <IPermission class="Microsoft.Office.Access.Server.Security.AccessServicesPermission, Microsoft.Office.Access.Server.Security, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" version="1.0" Flags="CalculationCallback" /> </PermissionSet>

Luego en el mismo archivo busque la etiqueta <CodeGroup> y cambien el siguiente atributo :

Execution por ReportExpressionsDefaultPermissionSet.

Documento original de microsoft en:

http://technet.microsoft.com/en-us/library/ee662542.aspx

SharePoint4Fun!,

Juan Manuel Herrera

lunes, 7 de noviembre de 2011

SharePoint 2010 & InfoPath 2010: Cómo crear un flujo de trabajo y asociarlo a un formulario de InfoPath - Parte IV

En el artículo anterior http://jmhogua.blogspot.com/2011/11/sharepoint-2010-infopath-2010.html vimos cómo automatizar el proceso de envío del formulario. En este artículo veremos cómo crear un flujo de trabajo que asociaremos al Content Type del formulario; de esta forma podremos acceder las columnas de sitio creadas en SharePoint y que estas asociadas a los campos del formulario.

Lo que vamos hacer ahora es en el sitio donde esta ubicado el formulario vamos abrir SharePoint Designer 2010.  Para ello hacemos clic en “Site Actions”, luego hacemos clic sobre la opción “Edit in SharePoint Designer”.

Abierto SharePoint Designer hacemos clic sobre la imagen “Reusable Workflow”

En el Campo Name; escribimos el nombre del flujo de trabajo, para este artículo es: “Verifica Lista Terminada”.  En el campo Description; la descripción del flujo y en la casilla Content Type: Ubicamos el Tipo de Contenido del Formulario que en la serie de ejemplos es: ListaPorHacer.  Para iniciar el detalle del flujo presionamos el botón OK.

Para iniciar el flujo sobre “Step 1” hacemos clic sobre la imagen Condition.

Ahora seleccionamos la condición “If current item field equals value” haciendo clic sobre ella.

Ahora debemos hacer clic sobre el enlace “field” para seleccionar un campo del Content Type asociado al flujo.

En la primera casilla seleccionamos Current Item y luego el campo “Aprobacion Lista”, deberá obtener el resultado de la imagen de abajo.

Para continuar con la condición haga clic sobre el enlace value y seleccione el valor Yes.

Esto deberá hacerse para cada campo que se desea evaluar y cuando se cumplan todas las condiciones estaremos listos para crear un acción.  Debajo de la condición debemos agregar una acción seleccione en la cinta o Ribbon de SharePoint Designer la opción Action y luego la acción “Send an Email”.

En la casilla “To:” haga clic sobre la imagen del libro abierto, luego seleccione la opción “People/Groups from SharePoint Site” y presione el botón “Add>>”.

Escribamos el nombre Approvers u otro grupo que tengamos disponible en SharePoint, si lo encontramos seleccionemoslo y luego presionemos el botón “Add>>” y para continuar presionamos el botón OK.

Ahora escribimos en la casilla “Subject” el tema del correo, luego en el cuerpo del mensaje escribimos el texto: El usuario y luego presionamos el botón “Add or Change Lookup”.

Sobre la casilla" “Data source:” solo validamos que esta seleccionada la opción “Current Item” y en la casilla “Field from source:” seleccinamos el campo “modified By”.

Luego escribimos el resto del mensaje: “ha completado todas las tareas por hacer.  Para validarlo puede dirigirse a:” y luego hacemos clic sobre el botón “Link”.

En la casilla “Text to display:” Escriba el texto a desplegar en el enlace y luego en la casilla “Address:” haga clic sobre el botón “fx”.

En la casilla “Field from source:” seleccionamos el campo “Document ID (linked to document)” y en la casilla “Return field as:2 seleccionamos el campo “URL”. Para continuar presionamos el botón OK.

Ahora que estamos en la ventana anterior solo presionamos el botón OK.

Para finalizar la configuración del correo presione el botón OK.

El resultado luego de colocar todas las condiciones y la acción de enviar el correo debería parecerse a la siguiente imagen

Presionamos el botón Save y luego el de Publish para publicarlo en el sitio donde abrimos SharePoint Designer 2010.

Ahora en SharePoint 2010 vamos asociar el flujo de trabajo a la biblioteca.  Sobre la biblioteca que utilizamos en los artículos anteriores y asociamos el formulario habilitando el tipo de Contenido o Content Type.  Ahora seleccionamos en la pestaña “Library” de la cinta o Ribbon de SharePoint seleccione la opción “Library Settings”.

Ahora en la sección “Permissions and Management” seleccionamos el enlace “Workflow Settings”.

En la casilla Content Type seleccionamos “ListaporHacer”, luego en Workflow el nombre del flujo que recién creamos pare esta artículo fue “Verifica Lista Terminada”, luego para la casilla “Name” el nombre del flujo de trabajo que elegiremos escribir el mismo.  Para las casillas “Task List” y “History List” dejaremos los valores predeterminados.

Luego seleccionamos las casillas “Start this workflow when a new item is created” y “Star this workflow when an item is changed”.  Para finalizar la configuración del flujo presionamos el botón OK.

Si configuramos bien el flujo deberíamos ver una imagen similar a la de abajo.

Ahora vamos a probar el flujo en la biblioteca seleccionemos la opción “New Document”.

Con el formulario abierto hacemos clic sobre la opción “Sumit” para crear un nuevo formulario, debemos de seleccionar todas las casillas antes de guardar el formulario para que el flujo se dispare.

Luego de guardado el formulario aparecerá la columna con el nombre del flujo y si se envió con éxito el flujo mostrará la palabra “Completed”.

Si verificamos los miembros del grupo Approvers deberán recibir un correo parecido a la imagen de Abajo. 

Para un ambiente de pruebas abajo utilice Papercut que es un software gratuito para simular un servidor de correo saliente o SMTP para mas información en http://papercut.codeplex.com/.

En este artículo vimos como crear un flujo de trabajo asociado a un Content Type que esta a su vez asociado a un formulario de InfoPath.  Le recomiendo que revise los demás artículos relacionados a este en las siguientes direcciones:

http://jmhogua.blogspot.com/2011/11/sharepoint-2010-infopath-2010-creacion.html

http://jmhogua.blogspot.com/2011/11/sharepoint-2010-infopath-2010-como.html

http://jmhogua.blogspot.com/2011/11/sharepoint-2010-infopath-2010.html

SharePoint4Fun!,

Juan Manuel Herrera

SharePoint 2010 & InfoPath 2010: Automatizando el proceso de guardar un formulario en InfoPath Parte III

En este artículo veremos como automatizar el proceso de asignación de nombre del formulario y de cierre del documento basado en el artículo anterior: http://jmhogua.blogspot.com/2011/11/sharepoint-2010-infopath-2010-como.html

Desde InfoPath con el formulario del artículo anterior abierto, seleccione la opción Summit Options.


Seleccione la opción Allow users to submit this form.


Luego seleccione la opción SharePoint document library.


Ahora hacemos clic sobre el botón Add..


Ahora escribirnos la ruta de la biblioteca donde se almacenará el formulario, luego clic sobre “Allow overwrite if file exists” y luego presionamos el botón fx.


Construirnos la fórmula para componer el nombre del formulario, luego verificamos la fórmula y para continuar presionamos el botón OK.


Ahora presionamos el botón Next.


Para finalizar el asistente presione el botón Finish.


Presione el botón OK.


Ahora seleccionamos la pestaña File, luego la opción Info y luego seleccione el botón Form Options.


Luego seleccione las opciones Submit y Close las demás opciones sin seleccionar. Luego seleccione el botón OK.


Seleccione el icono de Quick Publish y espere un momento.


Ahora presione el botón OK que confirma que fue creado con éxito.


Ahora vamos a validar los cambios en SharePoint. Presione el botón ctrl+F5 para refrescar el navegador y los cambios. Y luego haga clic sobre la opción New Document de la biblioteca que esta asociada al formulario. Haga clic en la opción Submit.


Como resultado el formulario se cerrará automáticamente y el formulario tendrá el nombre asignado automáticamente.


En este artículo vimos como automatizar el proceso de envió del formulario sobre una biblioteca. En el siguiente artículo veremos como crear un flujo de trabajo asociado al Tipo de Contenido del formulario.

SharePoint4Fun,

Juan Manuel Herrera

SharePoint 2010 & InfoPath 2010: Cómo asociar un Content Type de formulario a una biblioteca - Parte II

En el artículo anterior http://jmhogua.blogspot.com/2011/11/sharepoint-2010-infopath-2010-creacion.html vimos como crear un formulario en InfoPath 2010 y almacenarlo en SharePoint 2010, lo que vamos a ver en este artículo es como asociarlo a una biblioteca de documentos.

Ahora vamos a asociar el formulario que ya esta publicado como un Tipo de Contenido en otra biblioteca donde vamos a guardar los formularios ingresados por el usuario. Una vez seleccionada la biblioteca, escogemos la pestaña Library y luego seleccionamos la opción Library Settings.

image5_thumb[1]

Ahora seleccionamos la opción Advanced settings para habilitar los Tipo de Contenido en la biblioteca y así podamos asociar la del formulario.

image9_thumb[2]

Seleccionamos la opción Yes de Allow management of content types. Y para volver a la configuración de los sitios presionamos el botón OK.

image14_thumb[2]

Ahora vamos asociar el Tipo de Contenido del formulario a la biblioteca. Busque la sección Content Types y seleccione el enlace “Add from existing site content types”.

image18_thumb[3]

Seleccione en la casilla “Select site content types from:” el valor Microsoft InfoPath y luego seleccione ListaPorHacer, presione el botón Add y luego el botón OK.

image22_thumb[5]

Ahora vamos a seleccionar el tipo de contenido disponible cuando el usuario haga clic sobre New Document en la biblioteca. Haga clic sobre el enlace “Change new button order and default content type”.

image27_thumb[1]

Ahora validamos que solo la opción ListaPorHacer sea Visible, para continuar presione el botón OK.

image32_thumb[3]

Ahora vamos a probar la opción y a guardar un formulario. En la biblioteca, haga clic en la pestaña Documents y luego haga clic sobre el botón New Document.

image36_thumb[3]

Nos abrirá el formulario y ahora lo vamos a guardar presionando el botón Save.

image40_thumb[3]

En la casilla File name coloque el nombre del formulario y luego presione el botón Save.

image45_thumb[2]

Presione el botón Close.

image49_thumb[2]

Para finalizar deberemos ver el formulario guardado en la biblioteca.

image55_thumb[2]

En este artículo vimos como asociar un tipo de contenido a una biblioteca de SharePoint 2010.  En el próximo artículo veremos como automatizar el proceso de envío del formulario para no solicitar al usuario un nombre de formulario y se cierre automáticamente.

SharePoint4Fun!,

Juan Manuel Herrera