Imprimir

Code Manager

El siguiente es el manual para administradores de la aplicación Code Manager.

 

Tabla de contenidos

Introducción

El gestor de código es una herramienta para desarrolladores que permite:

  1. Gestionar componentes de una extensión: app, libraries, plugins, snippets.
  2. Gestionarlos elementos: routes, middlewares y notifications.
  3. Descargar, importar y exportar componentes.
  4. Crear, reordenar y eliminar puntos de entrada de un controlador, incluidas sus vistas, modelos, botones y javascript.
  5. Ver las Configuraciones y los Íconos utilizados.

La herramienta pretende construir una base de código para el desarrollo de proyectos. En tal sentido, debemos comprender que la herramienta no agota las posibilidades que ofrece el framework, y siempre será necesario modificar el código generado.

Sin perjuicio de ello, la herramienta crea una base lo suficientemente robusta como para comenzar cualquier proyecto.

 

Conceptos básicos

Aplicación

Una aplicación es un programa informático, diseñado como una herramienta para realizar tareas o funciones específicas.

La aplicación esta compuesta de una o varias extensiones, que facilitan la lógica y optimizan la resolución de los problemas propios de la tarea encomendada.

Extensión

La extensión es el primer nivel de desglose de una aplicación y agrupa regiones comunes de ésta. Por ejemplo, una Tienda Virtual puede dividirse en varias extensiones, cada una de ellas estará, por separado, encargada de: los productos, los clientes, las ordenes, la facturación, la logística, etc.

Componente

El componente es una parte más pequeña de la extensión. El componente debe servir a una sola tarea y en un único ámbito, por ejemplo, administrar una tabla de la base de datos, o, como se lo conoce, realizar un CRUD.

Elementos de componente

A su vez, los componentes tienen sus propios elementos comunes. Estos elementos pueden ser: controlador, modelo, vista y javascript.

 

Para comenzar

La ruta para acceder al gestor de código es Administración > Herramientas > Gestor de código.

Una vez en en él, se mostrará la lista de todas las extensiones instaladas, por ejemplo:

Datos por registro

Un registro de la lista contiene los siguientes datos:

Extensión

Nombre de la extensión.

Desarrollador

El nombre del desarrollador de la extensión.

Componentes

Una vista rápida de los componentes que contiene.

 

Filtrar la lista

Para filtrar la lista, y mostrar sólo una parte de los registros, presione sobre el botón:

Se mostrarán todas las opciones de filtros:

Caja de texto

La caja de texto busca en el nombre de la extensión.

 

Reestablecer los filtros

Para reestablecer los filtros, presione el botón:

 

Las opciones

Con la instalación inicial del CMS, se incluyen muchas herramientas para el desarrollo y la administración, por ejemplo, las necesarias para crear y distribuir extensiones, menús, configuraciones, permisos, activos, temas, etc.

Con esta aplicación se pretende, fundamentalmente, crear y eliminar código, lo que se hace a partir de la estructura del CMS, y sus convenciones.

Dicho esto, tenemos:

Resumen

Crea una vista rápida de todo lo perteneciente a la extensión, y muestra enlaces a diferentes administraciones, como ser: configuraciones, activos, menús, etc..

Aplicación

Gestiona la carpeta app/, que contiene: modelos, vistas, controladores, rutas, javascript, estilos, etc. Si bien hay una conexión entre está carpeta y el concepto de aplicación, en lo concreto, no son exactamente lo mismo.

Librerías

Gestiona las librerías php de una extensión.

Plugins

Lista los plugins de una o varias extensiones, y realiza gestiones mínimas.

Fragmentos

Lista los fragmentos de una o varias extensiones, y realiza gestiones mínimas.

Middlewares

Lista los middlewares de una o varias extensiones, y realiza gestiones mínimas.

Notificaciones

Lista las notificaciones de una o varias extensiones, y realiza gestiones mínimas.

Configuraciones

Lista las configuraciones de una extensión, y evalúa sus estados.

Íconos

Lista los íconos de una o varias extensiones. Como sabrán, la fuente de íconos utilizada por el CMS es fontawesome.

Carpetas seguras

Verifica que todas las carpetas de una o varias extensiones contengan el archivo index.html, lo que significa una capa más de seguridad en muchos servidores web.

Resumen

En el Resumen encontramos accesos directos y datos básicos acerca de una extensión.

Para acceder, seleccione un registro y presione el botón:

Se desplegará un modal similar a:

Aplicación

Gestiona la carpeta app/, que contiene las rutas, los controladores, los modelos y las vistas, además del javascript y el css.

Para acceder, debe seleccionar un registro y presionar el botón:

A continuación, se abrirá un modal mostrando el contenido de la carpeta, por ejemplo:

Datos por registro

Un registro de la lista contiene los siguientes datos:

Nombre

Nombre del componente.

Ámbito

El punto de acceso.

Componentes

Los elementos de componente que utiliza. Estos pueden ser: modelo, vista, controlador y javascript.

Puntos de entrada

Una vista rápida a los puntos de entrada o endpoints que contiene el controlador.

 

Filtrar la lista

El filtro de lista contiene:

Selector

El selector permite mostrar métodos públicos de los modelos que, según las convenciones del framework, no se corresponden con ningún punto de entrada del controlador.

 

Crear

Esta opción crea un controlador vacío. Si el controlador existe, no realiza ninguna acción.

El formulario será similar a:

El nombre del controlador consta de 3 partes:

Punto de acceso

El punto de acceso al controlador. Las opciones son las del enrutador, y pueden modificarse desde las configuraciones.

Alias de la extensión

El alias de la extensión, esta no puede ser modificada.

Sub-componente (opcional)

El sub-componente permite ampliar las posibilidades de controladores en una misma extensión.

 

Eliminar

Esta opción intenta eliminar todo lo referido al componente.

Es decir, si el componente tiene punto de acceso, entonces eliminará: controlador, sub-modelo, vistas y javascript. De lo contrario, solo eliminará el modelo.

 

Puntos de entrada

La opción permite gestionar los puntos de entrada que ejecuta el controlador y todos los elementos vinculados a los mismos: modelo, sub-modelo y vista.

Presionando sobre el nombre del componente, también podrá acceder a los puntos de entrada.

 

Descargar

Podrá descargar todos los elementos del componente de aplicación.

En caso de tener un punto de acceso, esto es: controlador, sub-modelo, vistas y javascript. De lo contrario, será solo el modelo.

 

Importar componentes

Los componentes pueden ser importados desde plugins.

Para ello, existen plugins que contienen componentes "universales", en los que se les reemplazó cualquier texto significativo por un token. Esto permite importarlos a cualquier otra extensión.

Un ejemplo práctico de la utilidad de importar un componente es la de crear un CRUD completo sin necesidad de programar.

 

Exportar componentes

Los componentes pueden ser exportados a plugins (Véase Importar componentes).

A la hora de exportar, es posible crear un nuevo plugin, o editar uno ya existente.

Si elegimos crear un nuevo componente "universal", debemos ingresar la extensión a la que pertenecerá y, opcionalmente, un nombre alternativo.

Para editar, debemos seleccionar un componente existente.

 

Puntos de entrada

Un punto de entrada o endpoint es un método público del controlador. A través de un punto de entrada es posible asociar una url con un recurso o acción del servidor.

Para gestionar los puntos de entrada, debemos acceder a través de la opción «Puntos de entrada» de un componente de aplicación.

Una vez que accedemos, se mostrará una lista como la siguiente:

Datos por registro

Un registro contiene los siguientes datos:

Recuadro de color

Éste permite una identificación rápida del tipo de tarea. Esta clasificación es interna, pertenece a la herramienta, y sirve solo como un modo de agrupar puntos de entrada.

Nombre

El nombre del punto de entrada, tal y como se encuentra en el controlador.

Elementos del punto de entrada

Una lista de los componentes del punto de entrada hallados.

 

Filtrar la lista

El filtro de lista contiene:

Selector

El selector permite mostrar elementos, ya sean modelos o vistas, que no se corresponden con ninguno de los puntos de entrada del controlador, según las convenciones del framework.

 

Crear un punto de entrada

Para crear un punto de entrada, precione el botón:

Se desplegará un modal con varias opciones para crear, cada una de ellas con una descripción. También, cuenta con etiquetas que ayudan a entender todo lo que se va a crear. Las posibilidades de creación de código son: Modelos, Vistas, Controlador (Puntos de entrada), Rutas, Javascript (Controles), Botones y Configuraciones.

Para selecciona una de las opciones, presione el botón:

Una vez seleccionada una opción, el formulario que se despliega varía según la opción.

Algunos de los formularios requieren que, previamente, se hayan completado las Preferencias.

 

Eliminar un punto de entrada

Para eliminar un punto de entrada, seleccione un registro y precione el botón:

Se desplegará un modal para confirmar la acción.

La herramienta intentará eliminar todos los elementos asociados: modelos, vistas, controlador, rutas, javascript y botones. Aunque no siempre encuentra a estos elementos, y es posible que tenga que eliminarlos de modo manual.

 

Reordenar los puntos de entrada

Reordena todos los métodos del controlador y de los modelos, según la clasificación interna que realiza la herramienta.

 

Preferencias

Se utiliza internamente para declarar valores que se utilizan para crear código. Por ejemplo, el nombre de la tabla que es administrada por el controlador.

Varias de las opciones para crear puntos de entrada, requieren de estas preferencias.

Librerías

Para gestionar las librerías php, debe seleccionar un registro y presionar el botón:

A continuación, se abrirá un modal mostrando el contenido de la carpeta, por ejemplo:

Datos por registro

Un registro de la lista contiene los siguientes datos:

Nombre

Nombre de la librería.

 

Filtrar la lista

El filtro de lista contiene:

Caja de texto

La caja de texto busca en el nombre de la librería.

 

Crear una librería

Esta opción crea una librería vacía. Para ello, debe presionar el botón:

El formulario será similar a:

Nombre

El nombre de la librería a crear.

Reescribir

Esta opción reescribirá cualquier librería existente.

 

Eliminar

Para eliminar una librería, debe seleccionarla y presionar el botón:

 

Extraer documentación

Está herramienta lee una librería, extrae datos relevantes y los devuelve en un formato que solemos utilizar para la documentación.

Plugins

Esta opción permite gestionar los plugins de una o varias extensiones.

Para ello, puede seleccionar una o varias extensiones y presionar el botón:

Si no se selecciona ninguna extensión, se mostrará la lista completa de plugins.

A continuación, se abrirá un modal mostrando el contenido de la carpeta, por ejemplo:

Datos por registro

Un registro de la lista contiene los siguientes datos:

Extensión

El alias de la extensión que contiene el plugin.

Nombre

Nombre del plugin.

 

Filtrar la lista

El filtro de lista contiene:

Caja de texto

La caja de texto busca en el nombre del plugin.

 

Eliminar

Para eliminar un plugin, debe seleccionar el plugin a eliminar y presionar el botón:

Se desplegará un modal para confirmar la acción.

Fragmentos

Esta opción permite gestionar los fragmentos (snippets) de una o varias extensiones.

Para ello, puede seleccionar una o varias extensiones y presionar el botón:

Si no se selecciona ninguna extensión, se mostrará la lista completa de fragmentos.

A continuación, se abrirá un modal mostrando el contenido de la carpeta, por ejemplo:

Datos por registro

Un registro de la lista contiene los siguientes datos:

Extensión

El alias de la extensión que contiene el fragmento.

Nombre

Nombre del fragmento.

 

Filtrar la lista

El filtro de lista contiene:

Caja de texto

La caja de texto busca en el nombre del fragmento.

 

Eliminar

Para eliminar un fragmento, debe seleccionar el fragmento a eliminar y presionar el botón:

Se desplegará un modal para confirmar la acción.

Rutas

El archivo de rutas permite modificar las convenciones de enrutamiento del framework.

Las rutas estarán siempre acotadas a un punto de acceso de una extensión. Esto mejora el rendimiento y facilita la organización.

Para acceder a los archivos de rutas, seleccione una o varias extensiones y presione el botón:

A continuación, se abrirá un modal con la lista de rutas, por ejemplo:

Datos por registro

Un registro de la lista contiene los siguientes datos:

Ámbito

El ámbito o punto de entrada de las rutas.

Extensión

La extensión de las rutas.

 

Filtrar la lista

El filtro de la lista contiene:

Caja de texto

La caja de texto busca en el nombre de la librería.

 

Crear un archivo de rutas

Esta opción crea un archivo de rutas. Para ello, presione el botón:

El formulario será similar a:

Nombre

El nombre de la librería a crear.está compuesto por el punto de acceso y el alias de la extensión.

Reescribir

Esta opción reescribirá cualquier archivo de rutas existente.

Api

El apartado permite completar el archivo de rutas con las rutas para crear una Api.

Crear

Activa la opción.

 

Eliminar un archivo de rutas

Para eliminar un archivo de rutas, debe seleccionarlo y presionar el botón:

Middlewares

Para gestionar los middlewares, debe seleccionar una extensión y presionar el botón:

A continuación, se abrirá un modal mostrando el contenido de la carpeta, por ejemplo:

Datos por registro

Un registro de la lista contiene los siguientes datos:

Nombre

Nombre del middleware.

Extensión

Alias de la extensión propietaria del middleware.

 

Filtrar la lista

El filtro de lista contiene:

Caja de texto

La caja de texto busca en el nombre del middleware.

 

Crear un middleware

Esta opción crea el esqueleto de un middleware. Para ello, debe presionar el botón:

El formulario será similar a:

Nombre

El nombre del middleware a crear.

Reescribir

Esta opción reescribirá cualquier middleware existente.

 

Eliminar un middleware

Para eliminar un middleware, debe seleccionar el middleware a eliminar y presionar el botón:

 

Notificaciones

Para gestionar las notificaciones, debe seleccionar una extensión y presionar el botón:

A continuación, se abrirá un modal mostrando el contenido de la carpeta, por ejemplo:

Datos por registro

Un registro de la lista contiene los siguientes datos:

Nombre

Nombre de la notificación.

Extensión

Alias de la extensión propietaria de la notificación.

 

Filtrar la lista

El filtro de lista contiene:

Caja de texto

La caja de texto busca en el nombre de la notificación.

 

Crear un notificación

Esta opción crea el esqueleto de una notificación. Para ello, debe presionar el botón:

El formulario será similar a:

Nombre

El nombre de la notificación a crear.

Reescribir

Esta opción reescribirá cualquier notificación existente.

 

Eliminar un notificación

Para eliminar una notificación, debe seleccionar la notificación a eliminar y presionar el botón:

Configuraciones

Esta herramienta intenta buscar las configuraciones utilizadas en una extensión y las compara con las declaradas.

Para acceder, seleccione un registro y presione el botón:

Se desplegará un modal con la lista de configuraciones halladas. Por ejmplo:

Un registro de la lista contiene los siguientes datos:

Clave

La clave con la que se registra la configuración.

Archivo

La lista de archivos donde es utilizada la configuración.

Estado

Un estado, el cual puede ser:

  1. Perfecto: la configuración está declarada y en uso.
  2. Error: la configuración esta en uso pero no está declarada.
  3. Desconocido: la configuración está declarada pero se ignora su uso.

 

 

Íconos

Esta opción permite ver los íconos de una o varias extensiones.

Para ello, puede seleccionar una o varias extensiones y presionar el botón:

Si no se selecciona ninguna extensión, se mostrará la lista completa de íconos del CMS.

La fuente de íconos utilizada por el CMS es fontawesome.

A continuación, se abrirá un modal mostrando una tabla con todos los íconos utilizados, por ejemplo:

 

Carpetas seguras

Esta herramienta se asegura que todas las carpetas expuestas de una o varias extensiones contengan el archivo index.html.

Esta es una medida de seguridad para muchos de los servidores web actuales.

Para acceder, seleccione una o varias extensiones y presione el botón:

Si no se selecciona ninguna extensión, se verificarán todas.

A continuación, se desplegará un modal para que, en el caso de ser necesario, se confirme la acción de agregar los archivos index.html en las carpetas que lo requieran.