Recuperamos un cl?co: El saber crear comportamientos de servidor es un primer paso sencillo para crear extensiones y para acelerar el uso repetitivo de c?o de servidor, as?omo para personalizar muchos de los comportamientos de servidor ya existentes.

Una de las nuevas caracter?icas que aparecieron a partir de la versi? de Ultradev es la posibilidad de crear nuestros propios comportamientos de servidor de una forma sencilla, utilizando el Creador de comportamientos de servidor. Podemos incluso editar los comportamientos de servidor est?ar de Ultradev para personalizarlos, o utilizarlos como plantilla para crear los nuestros (esta ?ma caracter?ica no est?in embargo disponible en la versi?X de Dreamweaver). Se trata de una caracter?ica para usuarios avanzados con conocimientos de programaci?n lenguajes de servidor.

En este tutorial nos vamos a centrar en la creaci?e un nuevo comportamiento de servidor empezando desde cero. Vamos a crear un comportamiento de servidor sencillo pero que sin embargo nos va a ser de gran utilidad: guardar en una cookie un determinado valor, indicando d? de caducidad y dominio aplicable. Vamos a utilizar el modelo de servidor ASP/VBscript.

Primero debemos tener claro que c?o vamos a insertar en el documento al a?r el comportamiento de servidor. En nuestro caso el c?o es muy sencillo:

Response.Cookies("nombre") = "valor"
Response.Cookies("nombre").Expires = Date + dias
Response.Cookies("nombre").Domain = "dominio"
%>

Como es l?o, tendremos que sustituir los valores en rojo por los valores deseados. Si sustituimos esos valores por par?tros a la hora de crear el comportamiento de servidor, Dreamweaver crear?utom?camente un cuadro de di?go que permitir?ntroducir los valores variables a la hora de aplicar el comportamiento. M?adelante lo veremos con m?detalle.

Para crear un nuevo comportamiento de servidor, abrimos la ventana “Comportamientos del servidor” y pulsamos en el bot?on el signo m?(+). En el men?ergente seleccionamos la opci?Nuevo comportamiento de servidor…”. En el siguiente cuadro de di?go especificamos el modelo de servidor a utilizar (en nuestro caso ASP/VBscrip) y el nombre del comportamiento: Guardar cookie. Pulsamos en el bot?Aceptar”.

Aparecer?l “Creador de comportamientos de servidor”. en esta ventana a?remos los bloques de c?o necesarios (un comportamiento puede estar compuesto por varios bloques de c?o, cada uno situado en una posici?istinta de la p?na), los par?tros que debe introducir el usuario y la posici?e cada bloque de c?o en la p?na, absoluta o relativa a determinados elementos de la misma. Para a?r un nuevo bloque de c?o, pulsamos en el bot?on el signo m?(+). Nos pedir?n nombre para el bloque de c?o (podemos aceptar el que nos sugiere por defecto). Ya podemos empezar a teclear nuestro c?o en el cuadro “Bloque de c?o”. Escribimos el c?o que os he mostrado anteriormente, tal y como est?podemos hacer un copiar/pegar) y ya nos encargaremos ahora de insertar los par?tros necesarios. En la siguiente imagen pod? observar el resultado del trabajo realizado hasta ahora.

El siguiente paso es insertar los par?tros necesarios. Seleccionamos en el c?o la primera aparici?e “nombre” (sin incluir las comillas de apertura y cierre) y pulsamos en el bot?Insertar par?tro”. en el cuadro de di?go “Insertar par?tro” introducimos como nombre del par?tro “Nombre”. Al aceptar nos preguntar?i queremos sustituir todas las apariciones de “nombre” en el c?o; contestamos que s?Observad que el asistente ha sustituido todas las apariciones de “nombre” por el marcador de par?tro “@@Nombre@@”. Repetimos este proceso para el resto de variables del c?o (valor, dias y dominio). El resultado final ser?l que os muestro a continuaci?/p>

Response.Cookies("@@Nombre@@") = "@@Valor@@"
Response.Cookies("@@Nombre@@").Expires = date + @@Dias@@
Response.Cookies("@@Nombre@@").Domain = "@@Dominio@@"
%>

Ahora debemos indicar en qu?arte del documento queremos insertar el c?o cuando apliquemos el comportamiento. Observad las distintas opciones de las dos listas desplegables en la parte inferior del cuadro de di?go; podemos insertar el c?o justo antes del bloque de c?o que abre los recordsets o juegos de registros, justo despu?de los mismos o en una posici?ersonalizada, indicando el “peso” que tiene nuestro c?o, teniendo en cuenta que los bloques de c?o de recordset tienen un peso de “50″ y que Dreamweaver ordena los bloques de c?o por orden ascendente de peso. Tambi?podemos insertarlo antes o despu?de la etiqueta , en relaci? otra etiqueta de la p?na o en relaci?on la selecci?ctual del documento. En nuestro caso queremos guardar la cookie antes de que se cargue la p?na, por lo que seleccionaremos en “Insertar c?o” la opci?Por encima de la etiqueta ” y en “Posici?elativa” la opci?El comienzo del archivo”.

Ya tenemos definido el c?o de nuestro comportamiento y la posici?e la p?na donde queremos insertarlo. Pulsamos en el bot?Siguiente” para avanzar por el asistente y aparecer?a ventana de “Generar cuadro de di?go de comportamiento”.

En esta ventana aparecen los par?tros que hemos definido en nuestro c?o en el orden en que aparecer?en el cuadro de di?go (por defecto Dreamweaver los ordena por orden alfab?co). Si queremos cambiar el orden, simplemente seleccionamos un par?tro y pulsamos en los botones de flecha arriba o abajo. Tambi?podemos cambiar la forma en la que aparecer?l par?tro seleccion?olo y eligiendo otro valor en la columna “Mostrar como”. Experimentar con diferentes valores para ver las posibilidades que os ofrecen. Para nuestro comportamiento vamos a utilizar “Campo de texto” para todos los par?tros. Una vez organizados los par?tros como se muestra en la imagen, pulsamos en el bot?ceptar para finalizar el asistente. Si nos hemos equivocado en alguna parte del proceso tenemos la opci?e Editar el comportamiento desde la ventana Comportamientos del servidor, pulsando sobre el bot?on el signo m?(+) y seleccionando en el men?ergente la opci?Editar comportamientos del servidor”. En la lista de comportamientos editables figurar?l nuestro en el modelo de servidor ASP/VBScript y con el nombre “Guardar cookie”.

Ya tenemos nuestro comportamiento de servidor listo para ser utilizado. En la ventana Comportamientos del servidor pulsamos sobre el bot?on el signo m?(+) y en el men?ergente aparecer?l nombre de nuestro comportamiento, “Guardar cookie”. Lo seleccionamos y aparecer?l cuadro de di?go del mismo. Vamos a introducir unos datos de prueba:

Y este es el resultado en la vista de c?o una vez aplicado nuestro comportamiento a un documento cualquiera:

Response.Cookies("prueba") = "true"
Response.Cookies("prueba").Expires = date + 1
Response.Cookies("prueba").Domain = "ultradev-es.com"
%>

El ejemplo que hemos utilizado es muy sencillo, pero se pueden crear comportamientos de servidor verdaderamente complejos. Por ejemplo, si marcamos la opci?Copiar comportamiento de servidor existente” en el primer cuadro de di?go, podemos utilizar otro comportamiento como base para crear uno nuevo. Si bien no es el m?do adecuado para crear extensiones profesionales, nos ofrece la posibilidad de crear nuestros propios comportamientos de servidor personalizados.