Resistance is Futile

Pulsar Project : Editores de LSL

El desarrollo de los scripts insertados dentro de los objetos usados en los mundos virtuales Second Life y OpenSim están basados en un lenguaje script llamado Linden Script Language (LSL) el cual tiene su propio lenguaje de programación que aunque procedimental y un poco parecido a C, incluye un reducido numero de funciones, unos tipos de datos orientados al manejo de objetos el cual no es muy flexible y cero capacidad para reutilizar código de una forma fácil y sencilla, es por todas estas características que tener un editor de lenguaje facilitaría mucho la tarea de desarrollo.

Se comenzó a buscar un editor que facilitara el desarrollo de los scripts, como también facilitara el desarrollo modular de algunos componentes, he aquí una corta lista de lo que se encontró :

  • Macros y Archivos de Resaltado de Sintaxis
    Útiles para el desarrollo utilizando herramientas como Vi, gEdit, pero no adicionan herramientas de desarrollo
    http://adammarker.org/shill
  • LSL-Editor
    Editor para la plataforma Windows, desarrollado en .NET
    Soporta sintaxis resaltada, permite crear una solución completa adicionando notecards
    Autocompleta, Autoindenta, tooltips,
    Soporta XML-RPC
    Permite ejecutar el código localmente para pruebas

    http://www.lsleditor.org

  • LSL Plus
    Plugin para eclipse que permite la edición, compilación y la creación de pruebas unitarias
    Soporta sintaxis resaltada, autocompleta, autoidenta, documentación
    Permite la compilación del código
    Permite la creación de módulos
    Optimiza el código LSL
    Permite la creación de pruebas unitarias
    Ejecutar los scripts con un ambiente simulado
    Depuración de código
    Ayuda integrada con la ayuda de Eclipse
    Multiplataforma
    http://lslplus.sourceforge.net
  • Editor Integrado en el Visor :
    Herramienta del visor oficial de Second Life, que permite la edición y actualización de scripts
    Posee sintaxis resaltada, permite guardar los scripts en el inventario del usuario y visualiza los errores de compilación del mismo
    Finalmente este editor se debe utilizar conjunto a otros editores debido a que este permite reiniciar los scripts, controlar las características del script, esto debido a que no existen editores que permitan subir los scripts directamente a los objetos.

Se tomo la decisión de utilizar LSL Plus, ya que es multiplataforma y permite la creación de módulos, ademas de utilizar el ambiente de desarrollo Eclipse.


Pulsar Project : Creacion Base de Datos

Se creara una base de datos llamada pulsar, con el usuario pulsar y la clave utilizada para este usuario, se utilizara el recien instalado phpMyAdmin para realizar esta tarea :

  • Abrir el administrador de base de datos

    http://<ipservidor>/phpmyadmin

  • Entrar con el usuario root y la clave asignada
  • Ir a la pestaña Privileges
  • Buscar el enlace Add a new User
  • Suministrar la siguiente información :
    User name : pulsar
    Password : <clave>
    Re-Type : <clave>
  • Seleccionar la opción :
  • Presionar el botón Go
  • Con esto queda creada la base de datos

Pulsar Project : Administracion de Base de Datos

Pensando en una fácil administración por futuros usuarios o desarrolladores de Pulsar Project, se tomo la decisión de instala phpMyAdmin como plataforma web de administración de las diferentes bases de datos a utilizar en el desarrollo del proyecto, a continuacion se describen los pasos de la instalación :

  • Conectarse al servidor por SSH o abrir una terminal
  • Instalar phpMyAdmin
    sudo apt-get install phpmyadmin
  • El instalador pregunta que servidor estamos utilizando
    Seleccionar apache2
  • El instalador pregunta si queremos utilizar dbconfig-common para crear la base de datos del phpMyAdmin
    Seleccionamos Yes
  • El instalador pregunta la clave del usuario administrador del servidor de base de datos
    Suministramos el password del usuario root de MySQL
  • El administrador pregunta por una clave para el administrador de phpMyAdmin
  • Se confirma de nuevo el password escrito
  • Termina la instalacion
  • Abrimos en un navegador la direccion :

    http://<ipservidor>/phpmyadmin

Enlaces :


Pulsar Project : Instalacion Yii Framework

Se usara Yii Framework para la creación de la aplicación web de Pulsar Project como también de los componentes que permiten la comunicación con los objetos en el mundo virtual, estos son los pasos para la instalacion de Yii :

  • Conectarse al servidor de desarrollo
  • Ir al directorio web
    cd public_html
  • Crear el directorio de la aplicación web
    mkdir pulsar
  • Ir a la pagina de Yii Framework para la descarga
    http://www.yiiframework.com/download
  • Descargar la versión mas actual del Yii Framework
    wget http://www.yiiframework.com/files/yii-1.1.3.tar.gz
  • Descomprimir el archivo
    tar -zxvf yii-1.1.3.tar.gz
  • Renombrar el directorio
    mv yii-1.1.3.r2247 yii
  • Ir a la pagina de requerimientos para comprobar los mismos

    http://<ipservidor>/~pulsar/pulsar/yii/requirements

Yii Framework Requirements

Se identifico que los siguientes requerimientos no eran cumplidos :

  • PDO SQLite extension, no necesario debido a que se utilizara MySQL como base de datos
  • PDO PostgresSQL extension, no necesario debido a que se utilizara MySQL como base de datos
  • Memcache extension, no se ha estudiado la posibilidad de uso
  • APC extension, no se ha estudiado la posibilidad de uso
  • Mcrypt extension, no se ha estudiado la posibilidad de uso
  • GD extension, no se ha estudiado la posibilidad de uso

Los requerimientos mínimos para el desarrollo de la aplicación web son cumplidos por nuestro servidor de desarrollo, queda por estudiar la necesidad de habilitar las otras extensiones cuando se identifique que son necesarias.

  • Se procedió a borrar los demos para no ocupar espacio adicional en el servidor
  • Se mantiene el directorio de requirements para comprobarlos en futuras ocasiones

Enlaces :


Pulsar Project : Framework Plataforma Web

Para el desarrollo de los componentes web del proyecto se pensó en desarrollar una librería independiente de cualquier framework que permitiera de una forma fácil y sencilla la creación de los servicios a utilizar desde los objetos desde el mundo virtual, pronto encontramos varios problemas como el uso de la capa de persistencia de la librería lo que haría necesario implementar la lógica completa de esta funcionalidad o utilizar librerías de tercero que suministraran una forma rápida y fácil de hacer persistencia que aunque existen en el mercado acarrean otro problema ya que el desarrollo no solo utilizaría un framework para el desarrollo de la aplicación web de acceso al mundo virtual, si no una serie de librerías de terceros que harían el desarrollo mas pesado, por tal motivo se tomo la decisión de implementar todo bajo un mismo framework que permita el acceso via web y presente las funcionalidades necesarias desde el mundo virtual como una serie de servicios web.

Para el desarrollo de la aplicación web se habían ya identificado varios frameworks :

  • Zend Framework :
    Uno de los mas utilizados y potentes en el mercado, soporta MVC,ORM pero no templates
  • Code Igniter :
    Sencillo y fácil de manejar, soporta MVC, Templates pero no soporta creación de módulos
  • Prado :
    Desarrollo por componentes, orientado a objetos, se tiene experiencia en este framework pero actualmente se encuentra abandonado
  • Yii :
    Sucesor de Prado, soporta ORM, MVC, orientado a objetos, permite crear módulos y componentes

Finalmente se tomo la decision de trabajar con el Yii Framework que permite la creacion de modulos y componentes, como tambien el soporte de MVC, ORM entre otros.

Enlaces :


Pulsar Project : Instalando SSHFS

Se comenzó el desarrollo de las aplicaciones web en el servidor las cuales dan soporte a lo objetos creados dentro del mundo virtual, con ello surge la necesidad de poder acceder al directorio de publicación de la aplicación vía remota, se pensaron en utilizar diferentes formas para compartir directorios, entre ellas NFS y SSHFS, se tomo la decisión de utilizar este ultimo ya que permite una autenticacion transparente, la comunicación es encriptada y el servidor de desarrollo ya estaba utilizando SSH.

Instalación en el Servidor :

  • Abrir una consola en el servidor o conectarse vía SSH
  • Instalar los paquetes necesarios para utilizar SSHFS
    sudo apt-get install sshfs
  • Agregar el usuario al grupo fuse
    sudo gpasswd -a $USER fuse

Instalación en el Cliente :

  • Abrir una consola
  • Instalar los paquetes necesarios para utilizar SSHFS
    sudo apt-get install sshfs
  • Montar el directorio de la maquina remota en la local
    sshfs <usuario_remoto>@<pi servidor>:<directorio remoto> <directorio local>
  • Ejemplo :
    sshfs pulsar@192.168.1.67:/home/pulsar/public_html public_html/

Enlaces :


Page 2 of 7312345102030...Last »
Powered by WordPress | Designed by Elegant Themes