La espera ha terminado.
Ya está publicada la primera versión funcional completa de miCode Manager. Esta versión fue desarrollada sin hacer uso de bases de datos, por lo que prácticamente solo se requiere tener instalado PHP para poder usarlo (8.1 o superior, preferiblemente). Eso y asignar los respectivos permisos para que se puedan crear y modificar archivos desde el aplicativo.
En caso que sea la primera vez que escuchas de este proyecto, te invito a visitar la presentación que hice hace algunos meses para que estés al tanto del qué, cómo y el porqué. El “para qué” se ilustra con este caso de uso publicado anteriormente. Respecto al “cuándo”, la respuesta es “ahora” y sobre eso trata esta entrada del blog.
¿Cómo comenzar?
Para usar miCode Manager primero descarga una copia del código publicado en Github o puedes también clonar el repositorio. Asegúrate de copiar los archivos en un directorio del servidor web en tu equipo local, de forma que puedas consultar desde el navegador web de tu preferencia el archivo “src\index.php”. Este script se encargará de solicitar la información y realizar las acciones que requiere el sistema para su primer uso. Esas acciones son:
- Solicitud del Path asociado al proyecto “micode-admin”, que es el nombre de proyecto asignado a la interfaz de administración de miCode-Manager.
- Configuración de los módulos externos requeridos. Con esta primera versión se solicitará la librería Parsedown, que puede descargarse de Github en https://github.com/erusev/parsedown. Dicha librería interpreta el formato Markdown para una visualización adecuada en el navegador web.
- Creación de los archivos de soporte asociados a los módulos requeridos por la interfaz de administración (proyecto registrado con el nombre “micode-admin”).
- Finalmente, tu nombre y correo electrónico, datos que serán usados para identificación del sistema (esta información quedará en tu equipo local de usuario y se usará en algunos casos para firmar scripts creados para tus proyectos).
Una vez terminados los procesos de configuración inicial, podrás usar miCode-Manager. El primer proyecto registrado es precisamente la interfaz de administración, que como se mencionó, lleva por nombre “micode-admin”.
Importante: Se recomienda configurar el servidor web usado para permitir direccionamiento dinámico (URL rewriting) en el directorio donde se instale miCode Manager y apuntar toda consulta sobre dicho directorio al script “index.php”. Esta recomendación no es mandatoria y el aplicativo puede funcionar correcta y completamente sin ella, pero su implementación permite una experiencia mucho más amplia en cuánto al manejo de las librerías incluidas en el proyecto.
Sugerido: Redireccionamiento dinámico en Apache
En servidores web Apache el direccionamiento dinámico (forzar todas las consultas realizadas a que sean redirigidas a un mismo script) puede conseguirse modificando el archivo de configuración (conf/http.conf) en una de dos formas:
- Incluir directamente las directrices del direccionamiento deseado
- Indicarle que interprete el archivo “.htaccess” en el directorio de interés e incluir en dicho archivo las directrices del redireccionamiento.
Realizaremos el segundo tipo de configuración aprovechando que el repositorio contiene una copia del archivo “.htaccess” a usar. Para eso se adicionan las siguientes líneas:
<Directory "[directorio micode-manager]/src"> AllowOverride All Require all granted </Directory>
El mismo efecto puede obtenerse si se habilita el parámetro “AllowOverride All” a la configuración del directorio raíz (DocumentRoot). Sin embargo, Apache no recomienda este tipo de configuración (especialmente en entornos productivos) porque el servidor buscará el archivo “.htaccess” en cada ruta de cada consulta de cada página solicitada en el servidor web, lo que aumenta los tiempos de respuesta.
Una vez realizados los cambios, guarda el archivo de configuración y reinicia el servidor web. Si fue configurado correctamente, Apache interpretará el archivo “.htaccess” incluido en el repositorio y este se encargará del direccionamiento dinámico requerido.
Opciones de Menú
La vista principal de miCode Manager cuenta con los menús que se describen a continuación.
Proyectos: Lista los proyectos creados. Desde esta vista puedes acceder a cada proyecto y editar su configuración, módulos instalados, etc. Es importante aclarar que esta gestión se limita a copiar los archivos de cada módulo al directorio de proyecto (cómo se indicó en la presentación de este proyecto). Los scripts adicionales que se necesiten para que tu proyecto funcione, deberán ser creados manualmente usando tus herramientas de confianza.
Repositorios: Lista los repositorios creados. Por defecto se instala el repositorio “miframe”, que contiene los módulos incluidos con el sistema y que son usados por el administrador del mismo. Un segundo repositorio llamado “vendor” se crea durante el proceso de inicio, a usar (como sugerencia) para copiar allí cualquier librería desarrollada por terceros. También podrás adicionar los repositorios que consideres necesarios para tu uso personal.
Módulos: Lista los módulos administrados por miCode Manager. Desde este menú pueden editarse los módulos instalados y adicionar nuevos módulos. Los módulos se visualizan según el tipo de lenguaje asociado al módulo, como por ejemplo, PHP Script.
Tip: Se incluye un ejemplo de una implementación API/REST usando los módulos del sistema, puede consultarse la lista de módulos php usando la siguiente referencia (siempre que tenga habilitado el direccionamiento dinámico explicado anteriormente):
[URL micode-manager]/src/api/modules/list/php
Tests: Contiene demos asociados a algunos de los módulos instalados.
Configuración: Permite configurar los valores del sistema, como tu nombre y correo electrónico, mismos que son asignados durante la secuencia de inicio al ejecutar por primera vez.
¿Dónde encontrarlo?
Como antes se indicó, el repositorio público para miCode Manager se encuentra en Github y puede ser consultado en la siguiente dirección:
https://github.com/jjmejia/micode-manager
Si tienes algún comentario o sugerencia para la mejora de este proyecto o si encuentras algún bug en la Matrix, por favor repórtalo en los comentarios de este blog.
Nos vemos en una siguiente actualización.
Comentarios
Publicar un comentario