Skip Ribbon Commands
Skip to main content

Jorge Onieva

:

Home
Blog de Jorge Onieva
May 06
Edición de condiciones y acciones en Workflows de SharePoint Designer 2007

Algunas veces, cuando estamos diseñando un Workflow en SharePoint Designer, nos encontramos que hay ciertas condiciones o acciones que no son exactamente las que deseamos, aunque se parecen mucho.

Un ejemplo. Supongamos que estamos diseñando un Workflow donde en uno de los pasos debemos hacer una comprobación del tipo: “si el estado de aprobación del elemento de la lista es Pendiente, entonces….”. Esto puede parecer muy sencillo, pero desafortunadamente no lo es tanto.

Vamos a ver paso a paso cuál sería el proceso, con sus problemas y soluciones.

Partiremos de que tenemos creada una lista llamada “Pruebas”, cuyos elementos deben ser aprobados o rechazados por unos determinados usuarios. Lo que queremos hacer es que cuando ese estado de aprobación se modifique en el elemento, se ejecuten una serie de acciones. En nuestro caso por simplicidad, simplemente pretenderemos enviar un correo electrónico cuando el elemento se encuentre pendiente de aprobación o rechazo.

Para ello, vamos a crear un Workflow en SharePoint Designer 2007 asociado a nuestra lista, que se lance cada vez que se cree o modifique alguno de sus elementos:

clip_image002

Definiremos un paso del tipo: “Si el estado del elemento es En Espera, enviar correo electrónico”. En principio es muy sencillo:

clip_image004

clip_image006

En el correo electrónico enviaremos la siguiente información:

clip_image008

En principio debería ser así de sencillo, no? Pero vamos a comprobar que el funcionamiento es el correcto.

Creamos un nuevo elemento en la lista, y vemos lo que pasa:

clip_image010

clip_image012

 

Ooooh. El elemento se ha creado correctamente ¡pero el correo no se ha enviado! ¿Qué ha ocurrido?

Vamos a quitarle al paso del Workflow la condición que le hemos puesto, de forma que el envío de correo se ejecute siempre. Si creamos un nuevo elemento llamado “Elemento 2” veremos que el correo que se envía contendrá este texto:

“El elemento Elemento 2 está en este estado: 2;#Pendiente

¡Vaya! El estado del elemento no es “En espera” como nos da a elegir SPD, sino “Pendiente”. En realidad lo relevante en este caso no es el texto, sino el número identificador del estado (el 2).

Por tanto, en lugar de la condición que habíamos declarado al principio, necesitaremos una del tipo: “Si el estado del elemento empieza por 2, entonces…”

Pero claro, si intentamos hacerlo desde el diseñador del SPD, nos encontramos que lo único que nos permite es algo como:

clip_image014

Con lo cual lo que necesitamos es cambiar el “2;#En espera” por simplemente “2;”. Para ello lo primero que haremos es guardar el workflow con la condición que SPD nos deja elegir.

Después, tendremos que editar el xml que SPD genera automáticamente, que define las condiciones y acciones de nuestro workflow, en este caso “Comprobar cambio de estado.xoml.rules”.

clip_image016

 

A continuación buscamos el punto donde está declarada nuestra condición. La forma más rápida es buscar el texto “En espera”. Lo único que tendremos que hacer es reemplazarlo por “2”:

clip_image018

clip_image020

Si guardamos el fichero y volvemos a la interfaz de SPD, veremos que la condición ha cambiado:

clip_image022

Y si probamos ahora a crear o editar cualquiera de los elementos de la lista, comprobaremos que esta vez sí que se envían los correos.

Conclusiones

 

SPD 2007 es una herramienta que simplifica mucho el diseño de workflows, generando por nosotros el fichero xml que define el comportamiento de dichos workflows. Sin embargo, a veces no hay más remedio que modificar manualmente dicho fichero para conseguir el comportamiento que deseamos. En este caso la modificación es muy sencilla y se puede hacer sin necesidad de conocer el esquema que maneja Microsoft Workflow (WF) de .NET, pero en otros casos es posible que tengamos que indagar en los detalles de sus estructuras para desarrollar funcionalidades más complejas que SPD no permite desde su interfaz de usuario.

May 05
Workflow que genera un número secuencial con SPD 2007

 

Introducción

En el presente documento se pretende describir cómo podemos generar un identificador secuencial para una lista y almacenarlo en un campo numérico, utilizando para ello un workflow de SharePoint Designer 2007.

Ni que decir tiene que esta funcionalidad es requerida para el caso en que por alguna razón no nos valga el ID que SharePoint asigna por defecto a los elementos de una lista.

Como viene siendo habitual en mi blog, prefiero utilizar una lista de ejemplo para ilustrar este comportamiento (y 1.000 imágenes en lugar de 1.000.000 de palabras).

Escenario

Imaginemos que tenemos una lista totalmente básica llamada “Elementos”, en la que se han creado y eliminado varios elementos, y cuyo estado actual fuera algo parecido a esto:

clip_image002

Como podemos ver, el ID de SharePoint ya no sigue un orden secuencial, debido a que en algún momento hemos eliminado 2 elementos de la lista.

Lo que querríamos tener es algo como esto:

clip_image004

Empezamos por crear una columna de tipo numérico y rellenar manualmente (o mediante algún proceso automático) el valor de dicha columna en todos los elementos.

clip_image006

Sin embargo, lo que se pretende es que, a partir de ahora, si el usuario añade un nuevo elemento a la lista, su ID Secuencial valga 5, el siguiente 6, etc. Además, debemos también ofrecer al usuario la posibilidad de modificar el valor de dicho campo manualmente, para casos excepcionales.

Pasos a seguir

Lo primero que haremos, será crear una lista llamada “IDUnico” que almacenará el valor del último ID Secuencial que asignamos. Por tanto simplemente tendrá una columna de tipo numérico sin decimales (como la creada anteriormente) y un solo registro con el valor del contador (y al que pondremos como título “Contador”). En este caso tendrá un aspecto como este:

clip_image008

Crearemos ahora un Workflow con SharePoint Designer 2007 que se ejecutará sobre nuestra lista “Elementos”:

clip_image010

A continuación se adjuntan capturas de pantalla de las acciones que se deberían llevar a cabo, paso a paso.

 

Paso 1: recuperar el último ID asignado y guardarlo en una variable temporal (Variable = UltimoID + 1)

 

clip_image012

clip_image014

clip_image016

clip_image020clip_image018

clip_image022

clip_image024

clip_image026

clip_image028

clip_image030

Al final, el primer paso debería tener un aspecto como este:

clip_image032

 

Paso 2: actualizar registro de la lista “IDUnico” (Contador = Contador + 1)

 

clip_image034

clip_image036

clip_image038

clip_image040

clip_image042

clip_image044

Al final, el paso quedaría así:

clip_image046

 

Paso 3: asignar el contador al nuevo elemento de la lista “Elementos”

 

clip_image048

clip_image050

clip_image052

clip_image054

clip_image056

clip_image058

Con esto completaríamos el flujo de trabajo, que quedaría más o menos así:

clip_image060

Funcionalidad implementada

El funcionamiento del workflow, cada vez que se añada un nuevo elemento a la lista “Elementos”, sería el siguiente:

- Leer el ID que se le asignó al último elemento de esta lista. Éste estará almacenado en la lista “IDUnico”, y por tanto podría ser modificado manualmente cuando queramos (veremos un ejemplo después).

- Sumar 1 a ese contador.

- Actualizar con el valor del contador, tanto el registro de la lista “Elementos” que acabamos de añadir, como el registro único de la lista “IDUnico”.

Si hemos implementado todo correctamente, cuando añadamos un nuevo elemento podremos ver algo como esto:

clip_image062

(Cuando añadimos el elemento, el campo “ID Secuencial” está vacío, aunque en realidad da igual el valor que pongamos, porque el workflow “WF Generar ID Secuencial Test” lo actualizará)

 

clip_image064

(El elemento tiene el valor que debe)

 

clip_image066

(El elemento de la lista “IDUnico” ha incrementado su valor “Contador” en 1, de forma que el próximo elemento que añada tendrá el valor 6)

Modificación manual del contador

Imaginemos que añadimos un elemento por error, que en este caso tendrá el valor “ID Secuencial” en 6 (aunque rellenemos ese valor al añadir el elemento):

clip_image068

clip_image070

(Observar que aunque inicialmente hemos rellenado el campo “ID Secuencial” con el valor 19, el workflow ha actualizado dicho valor)

Una vez añadido el elemento, nos damos cuenta de que lo hemos añadido erróneamente, y por tanto lo eliminamos.

El problema viene al añadir después nuevos elementos, ya que el contador secuencial se ha incrementado:

clip_image072

Sin embargo, podemos solucionar el problema de forma sencilla. Antes de agregar nuevos elementos, debemos actualizar el valor del registro de la lista “IDUnico”.

Vamos a ver un ejemplo.

- En primer lugar eliminamos el registro con “ID Secuencial” = 7.

- Ahora actualizamos el valor del registro de “IDUnico”. Recordar que el siguiente registro que añadamos a la lista “Elementos” tendrá el valor “Contador + 1”, por tanto en este caso actualizaremos el valor a “5”

clip_image074

clip_image076

- De esta forma, si ahora creásemos un nuevo elemento:

clip_image078

 

Conclusión

 

Mediante un Workflow de SharePoint Designer 2007 y una pequeña lista de apoyo, somos capaces de generar un identificador secuencial para cualquier lista de SharePoint.

Además, aunque en este ejemplo utilizábamos un contador numérico, esta misma funcionalidad puede ser de gran utilidad cuando el contador que queremos no es tan sencillo, sino que requiere cierta lógica o texto complementario (pensar en un código de factura, en códigos de departamentos, etc.).

Aunque a priori puede parecer excesivo crear una lista especialmente para almacenar el contador (“IDUnico”), recordar que esta lista podría almacenar todos los contadores que necesitásemos para cualquier otra lista del Site.

Por último, este método tiene la gran ventaja de permitir “reiniciar” este contador cuando lo necesitemos.

April 28
Búsquedas avanzada sobre columnas personalizadas en SharePoint 2007

 

Búsqueda Avanzada en SharePoint 2007:

utilización de columnas personalizadas

 

Hace poco tuve que incluir la opción de búsqueda avanzada en un Site de SharePoint.

Para aquéllos que nunca se hayan enfrentado a este problema (como era mi caso), encontré una buena introducción en este post, que describe de forma muy sencilla los primeros pasos que debemos dar. Por tanto no repetiré esta información aquí.

Sin embargo, la cosa no resulta tan sencilla cuando queremos hacer que en esas búsquedas el usuario pueda filtrar por propiedades que hemos incluido en listas individuales, y que por tanto no pertenecen al conjunto de propiedades por defecto de SharePoint.

En este post pretendo describir no sólo los pasos que deberíamos seguir para alcanzar este objetivo, sino algunos problemas que he encontrado al respecto.

 

Filtro por columnas personalizadas

Supongamos que tenemos una lista llamada “Registro” con una columna llamada “Nombre de entrada” de tipo Texto, y queremos poder filtrar por esa columna en la búsqueda avanzada.

Vamos a ver los pasos que habría que seguir:

1.       Crear una Propiedad Administrada que mapee esa columna, a la que llamaremos “NombreEntrada”. En este artículo se puede encontrar información detallada acerca de cómo crear propiedades administradas.

2.       Crear un ámbito de búsqueda llamado “Registros Entrada Salida”, que contenga sólo los elementos que se creen dentro de nuestra lista “Registro”. Este ámbito se utilizará para filtrar únicamente los resultados de esta lista, como se verá más adelante. Recordar que estamos definiendo la búsqueda avanzada a nivel de todo el SiteCollection, por tanto si queremos refinar nuestra búsqueda para que sólo se busque en los elementos de esta lista, nos hará falta un ámbito de búsqueda.

3.        Ir a la página de “Búsqueda Avanzada” que definimos al crear nuestro sitio de búsqueda (ejemplo: http://mysite.es/Busquedas/Avanzada.aspx)

4.        Editar la página y el “Cuadro de búsqueda avanzada

 

5.       Desplegar el apartado de “Propiedades”, situar el cursor en el cuadro de texto de “Propiedades”, y pulsar el botón que nos aparecerá junto a dicho cuadro de texto.

 

6.       Este botón despliega un cuadro de texto que contiene código xml. Este código xml es el que configura los filtros de la búsqueda avanzada, así como los tipos de elemento que podemos buscar. Por tanto conviene almacenar una copia de este xml debidamente formateado en un fichero aparte, por si queremos hacer modificaciones posteriores.

Las dos secciones principales de este xml son:

-          PropertyDefs: definición de las propiedades que vamos a utilizar en cualquier filtro.

-          ResultTypes: definición de los distintos tipos de resultado por los que vamos a buscar (ejemplo: documentos Word, documentos Excel, cualquier elemento…).

7.       Añadir a la sección “PropertyDefs” un nodo con esta forma:

<PropertyDef Name="NombreEntrada" DataType="text" DisplayName="Nombre de entrada"/>

donde:

o   Name = nombre de la propiedad administrada

o   DataType = tipo de datos de la propiedad administrada

o   DisplayName = nombre que se mostrará si queremos incluir esta propiedad en el filtro de búsqueda

8.       Añadir un nodo “ResultType” para mostrar únicamente los elementos de esta lista. Este nodo tendrá un aspecto similar a este:

<ResultType DisplayName="Registros de Entrada y Salida" Name="Registros">

<Query>"scope"='Registros Entrada Salida' </Query>

                <PropertyRef Name="Title" DisplayName="Procedencia" /> 

                <PropertyRef Name="NumRegistro" /> 

                <PropertyRef Name="NombreEntrada" /> 

                <PropertyRef Name="FechaEntrada" /> 

                <PropertyRef Name="Description" />   

                 <PropertyRef Name="FileName" />

                <PropertyRef Name="Size" /> 

                <PropertyRef Name="Path" />

                <PropertyRef Name="Created" />

                <PropertyRef Name="Write" />   

                <PropertyRef Name="CreatedBy" />

                <PropertyRef Name="ModifiedBy" />

</ResultType> 

 

Como podemos ver, hay dos elementos fundamentales que tenemos que añadir:

-          Definición del nodo “Query”. El texto que añadamos dentro de este nodo será incluido en la cláusula “WHERE” de la consulta que se lance contra el servicio de búsqueda de SharePoint. En este caso estamos filtrando por el ámbito que nos definimos para buscar únicamente los elementos de nuestra lista (ver paso 2).

-          Inclusión del nodo “PropertyRef” que referencia a la propiedad Administrada que definimos en el nodo “PropertyRefs

Al incluir este nodo, ya podremos utilizar el filtro como deseemos:

 

Podéis encontrar más información al respecto en este artículo:

http://msdn.microsoft.com/en-us/library/bb428648.aspx

 

Problemas con búsquedas en campos numéricos

Si habéis seguido estos pasos pero con una columna numérica en lugar de una de tipo texto, posiblemente habréis pensado: “este tío no tiene ni idea, ¡a mí no me funciona nada de eso!”.  Bueno, tened un poco de paciencia, que todo llega…

Efectivamente las búsquedas con campos numéricos creados desde la interfaz de SharePoint crean muchos problemas. Vamos a ver algunos de ellos y sus correspondientes soluciones:

1.       Mi columna es un campo numérico sin decimales, pero cuando voy a crear mi propiedad administrada de tipo “Entero”, no me aparece en las propiedades rastreadas

Muchos de vosotros podréis pensar que si creáis una columna de tipo “Número” desde la interfaz de SharePoint y decís que el campo tiene 0 decimales, la columna será de tipo “Entero”. ¡Qué lógica más retorcida seguís!

SharePoint  (pensando en nuestra propia seguridad, claro) no nos permite crear columnas de tipo “Entero” desde su interfaz. No importa que digamos que la columna tiene 0 decimales, el sistema seguirá definiéndola de tipo decimal.

Por tanto, cuando vayamos a definir la propiedad administrada, debemos asegurarnos de que buscamos entre las propiedades rastreadas de tipo Decimal. En mi caso, la columna se llama “NumRegistro”.

 

 

2.       La búsqueda simple no encuentra registros cuando intento filtrar por mi columna numérica

Otro error super divertido de SharePoint, que sospecho que está relacionado con el bug que os comento en el siguiente apartado.

Vale, ya he creado mi propiedad administrada que mapea a la columna “NumRegistro” de mi lista “Registro”. No importa los crawls (rastreos) que haga: incrementales, completos, etc. Cuando voy a buscar por un número de registro, SharePoint no encuentra nada.

La única solución que yo he encontrado me da hasta un poco de vergüenza contarla, pero visto lo visto… Yo lo que hice fue crear una columna calculada que “redondee” el campo NumRegistro para que el sistema lo busque como un Entero.

 

Veamos un ejemplo. Estos son los elementos de mi lista actualmente:

 

 

 

Si intento buscar en la búsqueda simple y pongo “19”, sucede lo siguiente:

 

 

 

Sin embargo, vamos a crear una columna calculada que contenga el mismo valor que “NumRegistro”, y a la que llamaremos “NumRegistroCalc”:

 

Observar que lo único que contiene la fórmula de la nueva columna es “=INT([NumRegistro])”, con lo que en realidad estamos duplicando información porque NumRegistro no tiene decimales…

Sin embargo, ¿qué ocurre después de añadir uno o dos elementos (para que el sistema “detecte” la nueva columna”) y de hacer un crawl completo? Lanzamos la misma búsqueda y… ¡tataaaan! Ahora sí que encuentra nuestro registro.

Sí, ya sé que no es una forma muy ortodoxa de hacer que funcionen las búsquedas sobre números, pero al menos funciona no? J.

 

3.       Cuando filtro por mi campo numérico en la búsqueda avanzada, las búsquedas producen un error.

Bueno. Ya tenemos todo configurado correctamente, nuestras búsquedas sobre columnas personalizadas parece que funcionan, estamos haciendo pruebas y nos encontramos con esta desagradable sorpresa:

 

 

 

 

Efectivamente, cuando hacemos una búsqueda sobre nuestro campo numérico (“Número de Registro”) con la condición “es igual a”, el servicio produce un error.

Pues bien, esta vez no os puedo dar una solución, sencillamente porque a fecha de hoy no existe. Es un bug identificado por Microsoft , y lo único que os puedo recomendar son algunos hotfix que Microsoft ha publicado. Yo aún no los he probado, ya que decidimos esperar a la supuestamente inminente salida del 2007 Microsoft Office Service Pack 2, que debería incluir ya estos hotfixes y por tanto debería solucionar este error.

Ahí van algunos links relacionados:

http://support.microsoft.com/kb/956057/

http://support.microsoft.com/kb/956056/

http://support.microsoft.com/kb/957022/en-us


Probablemente, si este bug se soluciona, no sea necesario realizar las operaciones que hemos descrito en el punto 2, porque la búsqueda numérica funcione correctamente, pero esto a día de hoy no puedo asegurarlo…

¡Espero que esto os haya ahorrado algún que otro quebradero de cabeza!

February 05
Desarrollo de aplicaciones ASP NET y Reporting Services con Visual Studio 2008 sobre Windows Vista

¡Microsoft lanza IIS 7, con nuevas y mejoradas características! Hasta aquí todo muy bonito, pero también trae asociados problemas para los desarrolladores Web que están acostumbrados a trabajar con el “antiguo” IIS 6.

IIS 7 incorpora multitud de novedades, tanto a nivel de funcionamiento interno como a nivel de interfaz de usuario para administrarlo. Este post no pretende describir todos los cambios que ha habido en IIS 7, sino simplemente describir cómo hay que configurarlo para que nos permita hacer, básicamente, las cosas que hacíamos con ASPNET 2.0 sobre IIS 6. Además, describiremos también cómo configurar IIS 7 para el correcto funcionamiento de Reporting Services 2008.

Descarga e instalación de IIS 7

IIS 7 viene instalado por defecto en Windows Vista, únicamente tendremos que habilitar las características que deseemos utilizar.  Si aún no tenéis instalado el IIS 7.0 Manager for Remote Administration, podéis descargarlo aquí.

Para cualquier otra descarga adicional podéis ir al sitio oficial de IIS 7, donde encontrareis una buena cantidad de utilidades muy interesantes.

Configuración de IIS 7 para desarrollo de aplicaciones Web

Para activar o desactivar características de IIS 7 debemos ir a Inicio -> Panel de Control -> Programas. En la barra de la izquierda encontraremos una opción para Activar o desactivar las características de Windows.

 

Caracterísiticas Windows 

Una vez ahí, debemos buscar la configuración de IIS 7, y seleccionar las opciones siguientes:

 

Opciones IIS 

Con esta configuración ya estamos preparados para poder desarrollar y desplegar aplicaciones ASP NET en nuestra máquina, así como para migrar aplicaciones Web que hubiésemos desarrollado anteriormente.

Creación de una nueva Aplicación Web en Visual Studio 2008 y almacenarla en IIS

Lo primero que haremos para crear nuestra nueva aplicación, es crear una Aplicación en IIS 7 sobre la cual vamos a desplegarla. En este ejemplo haremos que el directorio virtual coincida con el directorio físico sobre el cual se va a desarrollar la aplicación.

Para ello nos iremos a la consola de administración de IIS 7, almacenada en Inicio -> Panel de Control -> Herramientas administrativas:

 

Consola IIS 

 

Veremos que nos aparece una consola bastante diferente a la que existía en IIS 6, que tendrá un aspecto parecido a este:

 

Consola IIS 

En primer lugar crearemos físicamente un directorio donde vamos a almacenar nuestra Aplicación Web. En este caso dicho directorio tendrá la ruta C:\Proyectos\Tests\RenaWebApp.

Una vez creado, añadiremos en IIS una nueva Aplicación que apunte al directorio que acabamos de crear:

 

Opciones consola IIS 

 

Aplicación Web 

En este caso hemos dejado el Pool de Aplicaciones que existe por defecto (DefaultAppPool), aunque esto ya es a gusto del consumidor, ya que IIS 7 sobre Vista nos permite crear más de un Pool de Aplicaciones y más de un Sitio Web en nuestra máquina local. Simplemente se ha hecho así para mantener el “estilo” de IIS 6 sobre Windows XP.

Una vez creada la Aplicación en IIS, iremos a Visual Studio 2008 para crear el proyecto Web en sí. Para crear una nueva Aplicación Web en Visual Studio 2008 y almacenarla en IIS, lo primero que debemos hacer es abrirlo en modo Administrador. De otra forma el entorno no nos permitirá alojar nuestra aplicación en IIS (cuestión de “seguridad”, que cada uno se haga su propia opinión al respecto)…

 

 

Después, de manera similar a lo que se hacía desde Visual Studio 2005, crearemos un nuevo Web Site:

 

 

A la hora de decidir dónde alojar el Web Site, indicaremos que lo vamos a almacenar en la aplicación de IIS que acabamos de crear:

 

 

Bueno, y básicamente con esto ya está. Si ejecutamos el proyecto y todo se ha creado correctamente, se abrirá un nuevo explorador con la ruta http://localhost/RenaWepApp/Default.aspx.

Como veis, a grandes rasgos el proceso es muy parecido al que se sigue para desarrollos en ASP NET 2.0 sobre IIS 6 y Windows XP. Lo único que cambia son algunos pequeños detalles de la configuración de IIS que no vienen activados por defecto, y que te pueden dar algún que otro dolor de cabeza hasta que das con el problema.

Eso sí. Como ya he mencionado al inicio de este post, IIS 7 ofrece muchas nuevas características, incluyendo una mayor extensibilidad de los módulos que lo componen, con lo cual creo que merece la pena tomarse un poco de tiempo en echarle un vistazo.

 

Posibles problemas al intentar acceder a vuestra aplicación Web desde otra máquina

Una vez que hemos montado la aplicación web en nuestra máquina local, podemos encontrarnos con la desagradable sorpresa de que no podemos acceder a ella desde una máquina externa.

Hay un par de pruebas básicas que yo haría, puesto que en Windows Vista también se han modificado algunas de las configuraciones por defecto respecto a Windows XP:

1)      Comprobar que el firewall de Windows no está impidiendo el acceso a nuestra máquina. Sé que puede sonar muy tonto, pero antes el puerto 80 no quedaba bloqueado por defecto con el firewall de Windows, y ahora parece ser que Microsoft ha decidido cambiar la política.

2)      Modificar el Pool sobre el que se ejecuta nuestra aplicación. IIS 7 implementa nuevos modelos de seguridad con respecto a IIS 6. En concreto, si no lo hemos modificado, el pool DefaultAppPool está configurado con el modelo de seguridad “Integrado”. No voy a entrar a explicar en qué consiste este nuevo modelo. Simplemente comentar que si queremos que el funcionamiento sea totalmente similar al de IIS 6, podemos utilizar el Pool “Classic .NET App Pool” que también nos aparece en la consola de administración de IIS 7:

 

 

 

Modificar el Pool sobre el que se está ejecutando nuestra aplicación es muy sencillo. Bastaría con acceder a las propiedades avanzadas de la Aplicación en IIS, y buscar el Pool que queremos utilizar:

 

 

 

 

 

 

Configuración adicional de IIS 7 (necesaria para el correcto funcionamiento de Reporting Services)

 

Si además de desarrollar aplicaciones Web “tradicionales” también queréis usar Reporting Services, tendréis que activar algunas opciones más en la configuración de IIS.

En cualquier caso yo os recomiendo que las activéis uséis o no Reporting, a no ser que tengáis algún motivo para no hacerlo, ya que al fin y al cabo son características bastante comunes en aplicaciones ASP NET.

Adjunto un pantallazo con todo lo que debería estar seleccionado:

 

 

 

Links de interés

Para terminar os dejo algunos links que os pueden resultar de utilidad:

 

http://www.iis.net/ (Sitio oficial de IIS)

http://support.microsoft.com/kb/934164 (Using Visual Studio 2008 with IIS 7.0)

http://support.microsoft.com/kb/934164 (cómo instalar Reporting Services 2005 en Vista)

 

 About this blog

 
About this blog
Welcome to SharePoint Blogs. Use this space to provide a brief message about this blog or blog authors. To edit this content, select "Edit Page" from the "Site Actions" menu.