Modificando el esquema de una lista de enlaces en SharePoint Portal Server 2003

Hola a todos.

Muchas veces, cuando aparece un nuevo producto ( como es el caso de MOSS 2007 ) nos olvidamos de las cosas que hacíamos cuando estábamos en las versiones anteriores.

En uno de los proyectos en los que he participado se nos planteaba la siguiente curiosidad ( es decir, el cliente lo quería, y aunque no se lo recomendábamos … lo hicimos )

¿Como podríamos hacer que en SharePoint 2003 las Listas de Enlaces nos abriesen las páginas en un nuevo navegador y no nos cambiara el actual despistando así completamente al usuario?

Si comprobamos la confguración de la lista en cuestión no hay forma de hacerlo de un solo click, por lo que nos vamos a tener que ‘entrar en las tripas del bicho’ como dicen por aqui.

Bien, el primer paso es el más importante, el que nunca hacemos cuando vamos a hacer cualquier tipo de prueba y siempre nos acordamos cuando rompemos algo.

Primero debemos crear una copia de la carpeta en la que está almacenado el esquema de la lista que vamos a modificar, por que luego pasa lo que pasa.

Este fichero está situado en la carpeta de instalación dentro de las carpetas ‘/1033/sts/Lists/Favorite/‘ y se llama ‘schema.xml‘. Dentro de este fichero se define la estructura que tendrá la lista tanto cuando se comporta como formulario de admisión/modificación de datos, como cuando se comporta como vista para visualización de los mismos.

Una vez hecha la copia de seguridad, abrimos el fichero ‘schema.xml‘ con un editor. Ahora debemos localizar la sección ‘Fields‘ y crear una nueva definición de ‘Field‘ con las siguientes características:

<Field Type=»Choice» Name=»Target» DisplayName=»Display Window» Required=»TRUE»>
   <CHOICES>
      <CHOICE Value=»_blank»>Nueva Ventana</CHOICE>
      <CHOICE Value=»_self»>Ventana Actual</CHOICE>
   </CHOICES>
</Field>

El siguiente paso es localizar la sección ‘FieldRefs‘ donde vamos a añadir la referencia a nuestro nuevo campo.

<FieldRefs>
   <FieldRef Name=»URL»/>
   <FieldRef Name=»Comments»/>
   <FieldRef Name=»Target»/>
</FieldRefs>

Lo siguiente es localizar el tag ‘DisplayPattern‘ y modificar la forma en la que el enlace se va a mostrar, así  al seleccionar ‘Nueva Ventana‘ el código por debajo escribrá ‘target=»_blank»‘ y la URL se abrirá en una nueva ventana.

<HTML><![CDATA[» Target=»]]></HTML>
<Column Name=»Target» HTMLEncode=»TRUE»/>

 Solo nos queda agregar un par de detalles más:

Por un lado agregamos el campo ‘Target‘ a la vista por defecto: 

<View BaseViewID=»1″ Type=»HTML» OrderedView=»TRUE» WebPartZoneID=»Main» DisplayName=»All Links» DefaultView=»TRUE» Url=»AllItems.aspx»>

Y por último localizamos el subnodo ‘ViewFields‘ de la vista para que quede como a continuación:

<ViewFields>
    <FieldRef Name=»Edit»></FieldRef>
    <FieldRef Name=»URLwMenu»></FieldRef>
    <FieldRef Name=»Comments»></FieldRef>
    <FieldRef Name=»Target»></FieldRef>
</ViewFields>

 Y ya está!

Solo nos queda reiniciar nuetro Internet Information Server para que se refresquen todas las nuevas configuraciones que acabamos de realizar.

Un Saludo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *