Los scripts entregados con cFos PNet pueden mostrar como implementar funciones de servidor con Javascript. Éstos son diseñados para ser usados con un navegador de scripts de lado del cliente, como jQuery. Por convención los scripts del lado del servidor utilizan la extensión .jss mientras los scripts del lado del cliente utilizan la extensión .js. Es decir, cFos PNet *ejecuta* archivos .jss, mientras éste envia archivos .js al navegador.
Puede utilizar un depurador de sripts con Visual studio o Visual Web Developer. Para depurar scripts necesita una versión de Visual studio o Visual Web Developer con soporte a depuración remota, es decir Visual studio Professional Edition. Para habilitar el depurador de sript, coloque el valor enable_script_debugging=1 en la sección [param] del archivo GLOBAL.INI en c:\programdata\cFos\cFosPNet folder.
Si no tiene un depurador de sripts instalado, coloque el valor en 0. De otro modo los scripts pueden colgar algunas maquias. Puede también abrir cfospnet.exe con la línea de comandos -enable_script_debugging o -esd para activar el depurador de script cuando el programa inicie.
En la carpeta pub hay una subcarpeta users con un subcarpeta para cada usuario, cuando tiene una cuenta en el servidor cFos PNet. La contraseña del usuario o otro dato adicional del perfil es almacenada en una lista hash, llamada PROFILE.TXT. Esto permite velocidad y acceso en cache por cFos PNet al realizar un autenticacion HTTP. En la carpeta pública está también una subcarpeta www con una subcarpeta para cada usuario. Esta carpeta puede contener archivos descargables del usuario. el script file_op.jss además permite al usuario subir archivos a esta carpeta.
Los scripts perform de autentificación de acuerdo a las respectivas .htaccess configuraciones. Por lo cual necesitas credenciales de usuario apropiadas para el uso de los directorios siguientes.
Aqui una pequeña descripción de los scripts. Puede darle una vista la codigo fuente, para ver como éste trabaja. | |
makedir2.jss | Si no está presente el archivo index.htm o index.html en la carpeta solicitada cFos PNet inicia este script para generar un listado de la carpeta. Es script utiliza el ObjetoSistemaDeArchivos para recolectar informacion acerca del contenido del directorio actual. Éste lee un archivo de plantilla XML, traduce éste y genera una página HTML del contenido del directorio y los fragmentos provistos por XML. Para cambiar la vista o funcionalidad del listado de la carpeta debe modificar la plantilla XML. El archivo HTML resultante The resulting HTML file tiene vinculos para el mantenimiento de archivos. Como administrador puede loguearse utilizando autenticacion HTTP y renombrar, borrar archivos o carpetas, subir archivos y crear nuevas carpetas. Esto es soportado por el lado del cliente en jQuery, el cual es basicamente utilizado para enviar peticiones Ajax convenientemente a cFos PNet. El sript del lado del servidor file_op.jss realiza la petición de autenticación necesaria en HTML y maneja las operaciones en los archivos. |
file_op.jss | Realiza operaciones con los archivos de acuerdo a la autenticacion realizada. Las operaciones con los archivos son renombrar, crear, CrearDir para crear un archivo y subirlo. La subida tipicamente necesita autenticación. Porque el navegador siempre envia primero el archivo a ser subido al servidor y luego la información de autenticación, esto enviariá el archivo dos veces. Para brindar la información de autenticación primero, el script file_op.jss permite una operación de subida rápida. El navegador, utilizando una petición ajax, pregunta al servidor por la respuesta de autenticacion HTTP (401) y luego utiliza automaticamente éste para la subida actual. La subida es manejada por una función en upload.jss, el cual utiliza el archivo de objeto cFos PNet's para permitir la subida de archivos con tamaño arbitrario. |
user_op.jss | Realiza las funciones de administracion basica de usuario: crear, borrar, reestableces contraseña y listar. El usuario admin es requerido para autenticación. |
list_op.jss | Porque la lista hash juega un rol importante en cFos PNet, list_op.jss provee una operación de listado básico disponible para peticiones Ajax. El mismo esquema de autenticación descrito arriba es realizado. Esto es: Dependiendo de la localización del script y que haya sido elegido el usuario a ser autenticado. La autenticacion es satisfactoria de acuerdo a la configuracion de la directiva PNet_limitPut en .htaccess. list_op.jss ofrece las siguientes operaciones: get Obtiene la lista de valores en la lista hash. set Coloca una lista de claves a la lista de valores. save Guarda una instantánea al disco. erase Borra una lista de claves. clear Borra todas las claves. remove Elimina la lista de la memoria / disco. size Devuelve el tamaño de la lista. list Lista todos los elementos en la lista hash. Ajax en el archivo dyndns.htm hace uso de estas operaciones para configurar la información de DynDNS. |
dyndns.jss | Realice el registro o no registro de DynDNS, utilizando los datos de configuracion en la lista hash dyndns.txt en la carpeta privada. Puede ser utilizado al iniciar y apagar el servidor (ver Capitulo 1). |
get_connections.jss | Utilizado para mostrar las conexiones HTTP actuales. HTTP se hace via TCP. Para agilizar las peticiones HTTP, el navegador intenta re-utilizar las conexiones TCP para peticiones HTTP. La peticion HTTP actual es solo un pequeño mensaje y respuesta. Despues el navegador cierra la conexion TCP despues de unos segundos. Por eso puedes ver el usuario solo por un corto tiempo. Si la autenticacion es satisfactoria, el nombre de usuario es tambien devuelto con la dirección IP del usuario. |
stretch.jss | Porque es siempre una carga para el administrador web ajustar el tamaño de imágenes al formato utilizado en la página web, implementamos un pequeño script, el utiliza el objeto imagen cFos PNet (GDI+). Este utiliza un nombre de archivo y parámetros w (ancho) y h (alto) en la URL de consulta. Si sus imagenes tiene tamaño arbitrario, puede utilizar solo un parametro para conservar el ratio de aspecto. makedir2.jss utiliza enlaces a este script para mostrar miniaturas de las imagenes almacenadas en la carpeta actual. |
utils.jss | Colección de funciones de utilidad para simplificar los scrips del lado del servidor. Ofrece la siguiente funcionalidad: - envuelve los objetos y funciones del servidor. - extiende el texto Javascript con funciones mas utilizadas. - realiza la evaluación de parametros del script parameter evaluation ya sea en forma de consulta o formulario de datos utilizados con POST. - leyendo, guardando y enviando (via correo) archivos pequeños. - rfc 1123 fechas como utilizadas en cookies. - cookies. - una funcion simple de transformación XML. Si utilizas cFos PNet para proyectos grandes, puede querer empaquetar sus unidades funcionales en modulos, en lugar de un simple archivo script. cFos PNet ofrece soporte de especificacion de modulos en el archivo inicial common.js. |