csegNavigator

- 1 min read

Estos días continuo terminando cosas, la biblioteca csegSharePoint, y el csegRollUp 3.5 (que me esta dando algún que otro problemilla). La cosa es que eh empezado a recodificar algunos de los webparts que tenía para que usen la nueva biblioteca csegSharePoint en la que estoy trabajando. Por el momento he pasado este par de webparts que me son bastante útiles.

csegSubWebs (WSS) y csegSubAreas (SPS), son dos webparts que muestran un árbol con las subwebs y con las subareas.

Generic XSLT Table

- 1 min read

This is a small xml stylesheet to render a generic table with the data collected from csegRollUp, and it’s ideal for debug purposes.

<?xml version="1.0" encoding="utf-8"?>
 
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
  <xsl:template match="Rows">
    <xsl:call-template name="Tabla"/>
  </xsl:template>
 
  <!– Tabla –>
  <xsl:template name="Tabla">
    <table width="100%" cellpading="1">
      <tbody>
      <xsl:call-template name="Cabeceras" />
      <xsl:for-each select=’Row’>
        <tr>
          <xsl:for-each select=".//*">
            <td class="ms-vb2">
              <xsl:value-of select="."/>
            </td>
          </xsl:for-each>
        </tr>
      </xsl:for-each>
      </tbody>
    </table>
  </xsl:template>
  
  <!– Cabeceras de la tabla –>
  <xsl:template name="Cabeceras">
    <tr>
      <xsl:for-each select="Row[1]/*">
        <th nowrap=""  class="ms-vh2">
          <xsl:value-of select="name()"/>
        </th>
      </xsl:for-each >
    </tr>
  </xsl:template>
  
</xsl:stylesheet> 

Cseg InfoPath Viewer

- 1 min read

Finally I have a first version (0.99) of my InfoPath viewer, first I want give thanks to my friend Gustavo, for testing the preliminary version and to make as always good suggestions.

Installation

stsadm -o addwppack -filename csegInfopathWebPart.cab -globalinstall (use -force if you have installed the preliminary version)

Use

a) Create a view in your Form Library webpart containing the identifier of the list (the ID field). b) Create a new webpart page, and insert the FormLibrary webpart and csegInfoPath webpart. c) In the FormLibrary webpart select the view that contains the ID field, you need this view to connect with csegRollUp. d) In the FormLibrary webpart menu select, “Conections” -> “Send row to” -> “csegInfoPathViewer” when prompt for field use the ID field. e) Now fill the csegInfoPathViewer properties, you need specify the form library list name in the “List Name” field and put the XSL in the field XSL. (You can extract it from the infopath solution file, rename it as a .cab file and extract the xsl, then copy the content into the xsl property) f) Now select an item and you can view the form in the csegInfoPathViewer.

Multiple Providers

- 1 min read

El otro día comentaba el problema que había tenido con los interfaces de conexión de los webparts. Tenía un webpart consumidor conectado con dos proveedores, la primera vez que uno de los webparts proveía un valor este era aceptado por el consumidor, pero desde el momento en que el consumidor aceptaba un valor desde el segundo webpart, ya nunca más volvía a aceptar valores del primero. Evidentemente el comportamiento cambiaba si se invertía el orden de conexión. Tras dedicarle un buen rato y reproducir el problema en su esencia usando tres webparts, caí en la cuenta de que un valor null o vació también es transmitido …. de modo que ese era el problema. Así que a revisar los PartComunicationMain()

Excel Series

- 3 mins read

No se si lo he comentado alguna vez, pero en el trabajo suelo usar mucho Excel para hacer una gran variedad de cosas, en general mucho de lo que tiene que ver con el área económico financiera (lo terminamos haciendo en Excel).

Muchas de nuestras hojas de cálculo, son planes financieros, estudios de viabilidad, análisis etc. Básicamente estas hojas planifican cobros y pagos ó gastos e ingresos, la cuestión es la planificación, en Excel podemos planificar todo aquello que queramos, es sencillo podemos establecer una fila para cada previsión a realizar y en cada columna podemos poner un periodo (ene, feb, mar…), por último en cada celda (previsión / periodo) el importe de dicha previsión.

Send Email Toolbar

- 1 min read

Hace ya algún tiempo Mark Bower, explicaba como personalizar el menú de opciones con un bonito ejemplo para enviar el enlace de un documento por correo electrónico. Este fin de semana he tratado de mejorarlo, ya que enviar un enlace está muy bien cuando se envían correos a personas de la misma empresa, evitando duplicar información. Sin embargo si queremos enviar dicho documento a una persona del exterior, tenemos que salvar primero el documento en el escritorio para después adjuntarlo a un mensaje.

csEG Library

- 3 mins read

Estos días he estado trabajando en una nueva biblioteca de clases para SharePoint, bueno, en parte nueva y en parte adaptando a mis necesidades algunas de las clases del SDK, (¡Que grande es la POO!). Aquí como siempre existirán discrepancias en cuanto al diseño, allí donde se reúnan programadores siempre habrá más puristas y otros más prácticos. Yo me decanto por los segundos. Con esto no quiero decir que estropee la magia de una clase introduciendo metodusHorribilis, pero sí que soy partidario de subclasear aquello que dispone de una interfaz poco agradable, creando una fachada más práctica y coherente con la aplicación que se está desarrollando, de este modo más adelante podremos intercambiar el subsistema haciendo unos pequeños cambios en nuestra subclase sin retocar nada más.

Remote WebParts Install

- 2 mins read

El otro día chateando con Gustavo sobre su post (Un VisualStudio 2005 señor? No gracias, déme un 2003, por favor) hablamos sobre la instalación de los webparts en las maquinas de pruebas. Yo le comente que lo que hacía era copiar el archivo CAB en la máquina remota y ejecutar el stsadm y el RecycleAppPool usando un enlace de terminal server. (archivo .rdp), esto lo tengo en un batch, y necesito un archivo RDP para cada webpart (ya que el nombre del archivo CAB va dentro del RDP). Luego en el Visual Studio tengo un enlace en las herramientas externas que lanza los comandos.

Connecting WebParts

- 2 mins read

He estado pensando en las nuevas características que tendrá la versión 3.5 del csegRollUp (como siempre, si alguien tiene sugerencias que las diga) por el momento dejo unas pequeñas pistas aquí. He estado trabajando con unas bibliotecas de documentos que contiene un meta dato llamado estado, la idea era mostrar los últimos archivos modificados por cada usuario dentro de un estado en particular, bien para esto basta con hacer una vista de la biblioteca de documentos y mostrar la vista organizada en categorías (cada estado una categoría). Esto esta muy bien pero en ocasiones el diseño ha de ser más funcional y esto es lo que ha salido usando el csegRollUp. El primer csegRollUp va a mostrar un menú con los distintos estados, seleccionando uno de los estados se mostrarán en un segundo csegRollUp los documentos que tienen dicho estado.