Las secuencias de comandos incluídas con cFos PNet pueden mostrarle cómo implementar funciones de servidor con Javascript. Están diseñadas para ser usadas con secuencias del lado del cliente en el navegador, tales como jQuery. Por convención las secuencias del lado del servidor emplean la extensión .jss mientras que las secuencias del lado cliente emplean la extensión .js. Esto es, cFos PNet *ejecuta* archivos .jss, mientras que los archivos .js son enviados al navegador.
Puede emplear la depuración de secuencias de comandos con Visual studio o Visual Web Developer. Para la depuración de secuencias de comandos necesita una versión de Visual studio or Visual Web Developer con soporte de depuración remota, tal como Visual studio Professional Edition. Para habilitar la depuración de secuencias, fije la clave enable_script_debugging=1 en la sección [param] del archivo GLOBAL.INI en la carpeta c:\programdata\cFos\cFosPNet.
Si no tiene instalado un depurador de secuencias, fije la clave a 0. De otra manera, las secuencias podrían "colgarse" en algunos equipos. También puede cargar cfospnet.exe con el modificador -enable_script_debugging o -esd en la línea de comandos para habilitar la depuración de secuencias para el inicio del programa.
En la carpeta pub existe una subcarpeta users con una subcarpeta para cada usuario que tenga una cuenta en el servidor cFos PNet server. La contraseña de usuario y otros datos opcionales de perfil son almacenados en una lista hash, llamada PROFILE.TXT. Esto permite accesos cacheados y veloces para la autenticación interna de HTTP en cFos PNet. En la carpeta pública también hay una subcarpeta www con una subcarpeta para cada usuario. Esta carpeta puede contener archivos descargables para ese usuario. La secuencia de comandos file_op.jss también permite al usuario cargar archivos a esa carpeta.
Las secuencias realizan la autenticación de acuerdo a las opciones respectivas en .htaccess. Así que necesita credenciales de usuario apropiadas para el usuario al que pertenece la carpeta.
Aquí una breve descripción de las secuencias de comandos. Debería revisar el código fuente para ver su funcionamiento. | |
makedir2.jss | Si no hay presente un archivo index.htm o index.html en el directorio solicitado, cFos PNet inicia esta secuencia para generar un listado de directorio. La secuencia emplea FileSystemObject para obtener información sobre el contenido del directorio actual. Entonces carga el archivo de plantilla XML, lo analiza y genera una página HTML de los contenidos del directorio y la guía del archivo XML. Para cambiar la apariencia o funcionalidad del listado de directorio modifique la plantilla XML. El archivo HTML resultante tiene enlaces para mantenimiento básico de archivos en éste. Como administrador puede iniciar sesión empleando autenticación HTTP y renombrar, eliminar archivos o carpetas, subir archivos así como crear nuevas carpetas. Esto tiene como soporte a jQuery en el cliente, el cual es empleado básicamente para enviar convenientemente peticiones AJax a cFos PNet. La secuencia del lado del servidor file_op.jss realiza la autenticación HTTP necesaria y maneja las operaciones en archivos. |
file_op.jss | Realiza operaciones de archivo de acuerdo a la autenticación anterior. Las operaciones de archivo son renombrar, eliminar, mkdir para crear un directorio y cargar. La carga típicamente necesita autenticación. Debido a que el navegador siempre envía el archivo a subir completo y después pregunta la información de autenticación, éste enviará el archivo dos veces. Para dar primero al navegador la información de autenticación, la secuencia file_op.jss soporta una operación de carga pre-vuelo. El navegador, empleando una petición jax solicita al servidor la respuesta de autenticación HTTP (401) y entonces la emplea automáticamente para la carga en sí. La carga está manejada por una función en upload.jss, la que emplea el objeto archivo de cFos PNet para permitir la carga de archivos de un tamaño arbitrario. |
user_op.jss | Realiza las funciones básicas de adminitración de usuarios: crear, eliminar, restablecer contraseña y listar. El usuario administrador se requiere para autenticación. |
list_op.jss | Debido a que la lista hash tiene un papel importante para cFos PNet, list_op.jss provee operaciones de lista básicas para peticiones Ajax. El mismo esquema de autenticación descrito arriba es realizado. Esto es, dependiendo de la ubicación, se elige la secuencia para cuyo usuario se requiere la autenticación. La autenticación se realiza de acuerdo a las directivas en los archivos .htaccess respectivos. list_op.jss ofrece las siguients operaciones: get Obtiene una lista de los valores en la lista hash. set Fija una lista de claves a una lista de valores. save Guarda la información a disco. erase Borra una lista de claves. clear Elimina todas las claves. remove Elimina la lista del disco o la memoria. size Regresa el tamaño de la lista. list Lista todos los elementos en la lista hash. El Ajax en dyndns.htm hace uso de estas operaciones para configurar la información de DNS dinámico (DynDNS). |
dyndns.jss | Realiza el registro o borrado DynDNS, empleando los datos de configuración en la lista hash dyndns.txt en la carpeta privada. Puede emplearse durante el inicio o apagado del servidor (vea el Capítulo 1). |
get_connections.jss | Empleado para mostrar las conexiones HTTP actuales. HTTP se realiza a través de TCP. Para acelerar las solicitudes HTTP, los navegadores intentan reusar conexiones TCP para las solicitudes HTTP. La solicitud actual HTTP es sólo un mensaje corto y la respuesta. Después de unos segundos el navegador cierra la conexión TCP. Así que usted poería ver un usuario sólo por corto tiempo. Si la autenticación es exitosa el nombre de usuario también es regresado con la dirección IP del usuario. |
stretch.jss | Debido a que siempre es una carga para el web master redimensionar imágenes al formato empleado en una página web, implementamos una pequeña secuencia de comandos, que usa el objeto imagen de cFos PNet (GDI+). Éste emplea un nombre de archivo y unos parámetros w (anchura) y h (altura) en la cadena de consulta del URL. Si sus imágenes son de tamaño arbitrario, debería usar sólo un parámetro para preservar la razón de aspecto de la imagen. makedir2.jss usa enlaces a esta secuencia para desplegar imágenes de previsualización de las imágenes almacenadas en la carpeta actual. |
utils.jss | Colección de funciones útiles para simplificar las secuencias del lado del servidor. Ofrece la siguiente funcionalidad: - encapsula el objeto web server y sus funciones. - extiende el objeto String de Javascript con algunas funciones útiles. - realiza evaluación de parámetros para las secuencias ya sea de la cadena de consulta o los datos de formularios empleados con POST. - carga, guardado y envío (por correo electrónico) de archivos pequeños. - se emplean fechas RFC 1123 en las cookies. - cookies. - una simple función de transformación XML. Si emplea cFos PNet para proyectos grandes, podría querer empaquetar unidades funcionales en módulos, en lugar de incluir un gran archivo de secuencia. cFos PNet ofrece soporte para la especificación de módulos de la iniciativa common.js. |