Componente para Joomla! 3: Estableciendo el Escenario

Escrito por | 31 Julio 2013 | Publicado en Agosto 2013
Este es el primero de una serie de artículos sobre el desarrollo de extensiones en Joomla, la cual no sería completa sin tomarse el tiempo de discutir los pasos iniciales que participan en la planificación y estructuración de la extensión. Éstos son los pasos principales a seguir para ser más eficaz en el inicio de una exitosa extensión en Joomla.

Paso 0: Hacer café

Aunque no lo crean, esto es un paso realmente importante. Antes de iniciar cualquier proyecto es importante contar con una taza de cualquier tipo de bebida, ya que ayuda a mantener a uno alerta y concentrado. Previamente uno tiene que conseguir que su cuerpo y su mente esten preparados para el trabajo que esta por venir. Al comenzar la escritura de código es importante asegurarse de uno esté alerta, despierto y pensando con claridad, no sólo en la línea de código que se escribe, sino en todo el panorama que esta creando. Una vez que se halla colocado con su bebida preferida, es el momento de comenzar.

Paso 1: Comience con un bloc amarillo y un bolígrafo de cualquier tipo

Puedes preferir un papel de otro color, esto es completamente de su preferencia. Recomiendo amarilla por una variedad de razones, pero sin duda no es obligatorio. También recomiendo una pluma encima de un lápiz. Los lápices tienden a manchar, las ideas se pierden, las líneas se vuelven borrosas y el punto aquí no es escribir un plan perfecto, sino más bien una lluvia de ideas, garabatos, y simplemente obtener ideas sobre el papel. El uso de un bolígrafo anima a pensar así, de lo contrario un lápiz tiende a fomentar borrar, reescribir y otras ideas.

Paso 2: Determine sus necesidades, público objetivo, y problema a resolver

Bueno, así que ahora debería estar sentado con su bebida, un bloc de notas, un bolígrafo y listo para comenzar el siguiente paso. Comience escribiendo sus ideas. Comience con el problema que desea resolver, ¿por qué estás escribiendo esta extensión?, ¿cuáles son las principales ideas que debes de centrarte y qué es lo que necesita hacer la extensión. También es importante en este momento hacer un poco de investigación. ¿Existe ya el componente? ¿Alguien ha lanzado un producto similar que podría considerarse una competencia al tuyo? ¿Qué tan grande es el mercado objetivo para el componente que está tratando de escribir? Es importante tener en cuenta todo esto y hay varias precauciones a la que me gustaría llamar su atención.

En primer lugar, no trate de escribir un componente que sea para todo, determina el problema central que desea resolver y luego enfocarse, enfocarse, enfocarse. Encontrarás la vida mucho más fácil y su comercialización mucho más ligera de esta manera. En segundo lugar, asegúrese de que existe su mercado objetivo. No asuma que porque su componente es algo que tu necesitas, todo el mundo lo necesita también. Sea realista en sus expectativas y estarás más seguro a medida que avanza.

Paso 3: Escriba el flujo general de la aplicación / extensión

Una vez que haya llevado a cabo el garabateado de sus ideas, su mercado objetivo, y los problemas que desea resolver, el siguiente paso es escribir el flujo general de su componente. Probablemente esto lo hace al mismo tiempo que el paso anterior, e incluso a medida que escribe sus ideas, pero es característico en este proceso de esquematización. Escriba los controllers(controlador), models(modelo), y views(vista) que necesitas. Este es, probablemente, el momento adecuado para dar un paso a un lado y hablar de la primera parte importante del desarrollo de un Componente en Joomla! 3.0 , el Modelo-Vista-Controlador (MVC) y Joomla.

 


 

Joomla! implementa una estructura MVC bastante estándar, sin embargo, tiende a diferir ligeramente del framework MVC utilizada por otras plataformas. Joomla! 3.0 considera a cada tarea como un controlador. Esto significa que probablemente tengas controladores denominados "save", "add", "edit", "delete", etc. Cada controlador realiza una y sólo una tarea. Al principio puede sentir como que tiene un número excesivo de archivos, pero en última instancia, proporciona un flujo intuitivo a través del componente y también ayuda a permitir el encadenamiento de varios comandos juntos (me referiré a esto con más detalle más adelante en esta serie cuando empecemos escribiendo los archivos de los controladores).

Los modelos en Joomla! gestionan los datos. Aquí es donde esta toda la lógica y el código. Los modelos se crean típicamente para representar los objetos de su componente (por ejemplo, category, item, etc ..). Dentro de los modelos existen una serie de funciones relacionadas con ese objeto en particular (por ejemplo, list, get, save, etc ..).

Por último tenemos los archivos de las vistas. Joomla! incorpora una metodología estándar de cómo son construidas las vista, y de nuevo, vamos a ver eso en más detalle más adelante en esta serie. Basta decir en este punto, que las vistas suelen seguir una estructura similar a los modelos con múltiples vistas relativas a cada objeto de su componente.

 


 

Esto debería proporcionar una visión general (aunque tal vez simple) de la estructura MVC que se implementa en Joomla y espero que sea suficiente para que te hagas una idea de cómo debes escribir el flujo de tu componente y comenzar el siguiente paso.

Paso 4: Organizar la estructura de los datos y el esquema de las tablas

Si bien hay muchos enfoques para el primer paso en el desarrollo de una extensión, en realidad, este paso llega a ser el más lógico e intuitivo a seguir. Una vez que hemos escrito toda la información de arriba hacia abajo y nos dimos cuenta de las partes fundamentales de nuestro componente y su flujo general, se hace el siguiente paso y organizamos nuestra estructura de datos y el esquema de las tablas.

En esta etapa comenzamos con cada uno de los modelos que hemos determinado anteriormente, y anotamos cada uno de los campos que esperamos usar en ese modelo o tabla. En la mayoría de los componentes tendrá una tabla asociada con cada modelo para almacenar los datos correspondientes. Hay varios campos que se consideran "campos estándars" al escribir un componente para Joomla, los cuales tocaremos más tarde en la serie. Mientras escribimos nuestras estructuras de tablas, nosotros intentaremos seguir algunas convenciones estándar. Por ejemplo, si tenemos la intención de asociar un "item" con una categoría en particular, vamos a incluir una category_id en la tabla del "item", de manera similar, incluiremos un user_id si esperamos que los artículos se asocien con un usuario. Esto nos ayuda posteriormente a que tomemos nuestras tablas, escritas a mano, y comencemos a introducirlas en nuestro constructor SQL. Incluso, a veces, vamos a trazar líneas entre las tablas para ayudar a visualizar cómo todo está vinculado.

Paso 5: Configuración de un método para el seguimiento de versiones (GitHub)

Este paso no tiene que necesariamente hacerse a continuación, pero por lo general es un buen momento para comenzar a configurar el seguimiento de versiones. Se prefiere GitHub por una variedad de razones. Si no está familiarizado con GitHub puedes tener ambos repositorios públicos (gratis) y privados (cuota mensual muy mínima) obteniendo un seguimiento de todos los cambios del código, guardando una copia de seguridad fuera del sitio. Está bien si decides no utilizar GitHub, ciertamente no es la única opción disponible, pero es importante que usted encuentre algo para usar copias de seguridad, y asegurar su código.

Paso 6: Configurar su entorno local

El último paso en este artículo inicial es configurar su entorno local. Yo diría rápidamente que tenemos una gran variedad de opciones disponibles aquí, y en lugar de exponer sobre los diferentes métodos que puede utilizar para escribir el código, simplemente quiero decir que este es el punto en el proceso de desarrollo que configuramos nuestro entorno. Hay muchas aplicaciones de software que puede utilizar, y en lugar de menospreciar a cualquiera de ellos, les animo a encontrar el que mejor se adapte a su flujo de trabajo y su estilo de escribir código. Luego, realizamos la instalación de Joomla 3.

Siguiente artículo de la serie: Comenzando el desarrollo

 


 

Artículo Original: Joomla! 3.0 Extension Development Series: Setting the Stage

Visto 6150 veces Etiquetado como Spanish, Desarrollador