Aunque en el post anterior conseguimos simular un KPI más o menos vistoso, podemos ir más allá e intentar simular un comportamiento similar al que nos da la funcionalidad de los KPIs de MOSS. Para ello, creamos en primer lugar una lista personalizada con las siguientes columnas:
-
Title (columna por defecto).
-
Value, de tipo número.
-
Goal, de tipo Número.
Añadimos un par de valores a la lista para probar posteriormente la funcionalidad de KPIs que vamos a simular. Una vez creada la lista, abrimos el sitio de Sharepoint con SharePoint Designer, nos vamos al menú Data View y pulsamos Insert Data View (este es otro camino para el uso de la Data Form Web Part). Los siguientes pasos que vamos a realizar son los siguientes:
- Desde la ventana Data Source Library seleccionamos la lista creada con anterioridad y pulsamos Show Data.
-
Seleccionamos las columnas Title, Goal y Value. A continuación pulsamos sobre Insert Selected Fields as… y pulsamos Multiple Item View.
-
Si las columnas no aparecen ordenadas, las ordenamos a través del smart menú de la Data Form Web Part y la opción Edit Columns.
-
Nos aseguramos de que el orden de las columnas sea Title, Goal y Value.
- Buscamos en la vista de código de nuestra página las siguientes etiquetas.
<th class="ms-vh" nowrap="nowrap">Title</th> <th class="ms-vh" nowrap="nowrap">Goal</th> <th class="ms-vh" nowrap="nowrap">Value</th> |
- Añadimos una nueva fila para la columna KPI:
<strong><th class="ms-vh" nowrap="nowrap">KPI</th></strong> |
- Buscamos a continuación la siguiente sección de etiquetas:
<td class="ms-vb"> <xsl:value-of select="format-number(@Value, ‘#,##0.00;-#,##0.00’)"/> </td> |
- Debajo de estas etiquetas añadimos lo siguiente:
<td class="ms-vb"> <img alt="KPI Status Icon"> <xsl:attribute name="src"> <xsl:choose> <xsl:when test="number(@Value) <= number(@Goal)">/_layouts/images/KPI_Red.gif</xsl:when> <xsl:otherwise>/_layouts/images/KPI_Green.gif</xsl:otherwise> </xsl:choose> </xsl:attribute> </img> </td> |
-
Lo que hacemos es que en las celdas de la columna KPI se visualice una imagen u otra a partir de comparar los valores Value y Goal mediante una expresión XSLT (Nota: Hay que tener cuidado con los símbolos de tipo <,> ya que XSLT puede no tolerarlos. Lo mejor es utilizar siempre el código equivalente al símbolo. Por ejemplo, para < usaremos <). Si guardamos los cambios, veremos que ya tenemos el KPI operativo en el entorno de SD 2007.
-
Refrescamos la página dónde estamos añadiendo los KPIs para comprobar su correcto funcionamiento.
Y hasta aquí llega este segundo post sobre simulación e KPIS en WSS 3.0.