Problema con archivos externos AS2 y File Servers

He descubierto algo curioso en la forma en que Flash trabaja con los archivos externos .as usando ActionScript 2. Es un problema molesto la verdad. Me ha tomado mucho tiempo descubrirlo y ahora comparto el secreto.

Si tu aún trabajas en AS2, ya sea con Flash 8, 9 o 10, y empiezas a importar clases, Flash creará un archivo de extension .ASO para cada clase que importes.

Este archivo ASO es un intermediario binario que Flash usa para no tener que estar compilando una y otra vez las mismas clases. Al tu dar la orden de compilar, Flash verifica el timestamp de la última modificación realizada de cada uno los archivos de clases usados y los compara con el timestamp de sus respectivos archivos ASO para así volver a compilar solo las clases que han cambiado.

Esto parece muy simple y práctico. Pero, ¿que pasa cuando los archivos de mi proyecto no se encuentran localmente en mi computador?

Cuando los archivos a compilar se encuentran en un computador distinto y se tienen acceso a estos archivos de forma remota la fecha de la última modificación la define el SO del computador donde se almacenan los ficheros.

Esto es un problema para Flash puesto que la fecha de última modificación es lo único que usa para saber si una clase ha sido actualizada. Si el servidor de archivos donde se guarda el proyecto tuviera una hora distinta a la estación de trabajo podría afectar la habilidad de Flash de detectar si han habido cambios en las clases lo que provocaría que al hacer cambios en las clases estos no surtirían efecto en los archivos compilados .swf.

La solución

Usar la misma fecha y hora tanto en el servidor de archivos como en las estaciones de trabajo. Esto se puede lograr definiendo el mismo time server para ambos equipos.
Los siguientes ejemplos han sido recopilados de Time Synchronisation with NTP de la documentación oficina de Ubuntu y HOWTO: Set up NTP on Windows Vista de www.cumps.be.

En Ubuntu

Instalar el servicio ntpd el cual ajustará el reloj del computador para que le fecha y hora se mantenga sincronizada con el o los servidores ntp configurados. Para ello primero hay que revisar si el servicio ya esta instalado:

[code]sudo service ntp status[/code]

Si el resultado es unrecognized service entonces el paquete no se encuentra instalado. En ese caso lo instalamos con:

[code]sudo apt-get install ntp[/code]

Y luego procedemos a definir los servidores ntp editando el fichero /etc/ntp.conf.

[code]sudo vi /etc/ntp.conf[/code]

En la línea 16 aprox. se definen los servidores NTP que se van a usar. Cambialos por estos si es que estas en sudamerica:

[code]server 0.south-america.pool.ntp.org
server 1.south-america.pool.ntp.org
server 2.south-america.pool.ntp.org
server 3.south-america.pool.ntp.org[/code]

Puedes encontrar los servidores NTP mas cercanos a tu ubicación en www.pool.ntp.org.

Guardas los cambios y reinicias el servicio con la siguiente sentencia:

[code]sudo /etc/init.d/ntp restart[/code]

En Windows Vista

Sigue el siguiente tutorial.

También puedes borrar los archivos ASO luego de cada cambio en tus clases pero al final, perderías mas tiempo. Mejor pierdes al inicio y luego ya no mas.

wwmjw.cumps.bewww.cumps.be

4 Respuestas

  1. David Cumps dice:

    Glad you found the Vista NTP tutorial useful 🙂

  2. Anonimo dice:

    Doctor, una ayuda: un amigo quiere crear una página que incluya una «cesta de compras» y desea saber qué aspectos debe tener en cuenta y cómo adquirirla.
    ¿Qué consejos podrías darle?
    Agradezco de antemano por la atención que le brindes.

  3. Bueno, una cesta de compras no es mas que una tabla con dos columnas. En la primera van los identificadores de los productos, y en la segunda la cantidad de cada uno de ellos. Para cada producto que se muestre debes revisar si ya se encuentra en tabla, si es asi mostrar un campo de texto editable con la cantidad solicitada anteriormente y un boton para actualizar. Si no se encuentra mostrar un campo de texto editable para elegir la cantidad del produto y un boton para agregarlo a la tabla.
    Para la compra, lo mas facil es hacerlo via Paypal o servicios similares.
    Si vas a empezar de cero y no quieres perder mucho tiempo en el desarrollo de toda la tienda virtual, puedes usar un paquete libre (e-commerce software) para solo instalarlo y configurarlo en su hosting. Te ahorraras mucho tiempo aunque tendras que sacrificar belleza en el diseno si tus espectativas en ese tema eran altas.

  4. Anonimo dice:

    Muchas gracias. Le diré que revise lo de e-commerce y si me dice algo más te lo comentaré.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.