Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Introducción

¿Tienes una idea para un módulo en Magnolia?

...

https://github.com/rah003/neat-tweaks

Nombre

El nombre del módulo debe ser el mismo en Magnolia y en GitHub. El formato debe ser: lo-que-hace-magnolia

Por ejemplo: language-switcher-magnoliaratings-magnoliashopping-cart-magnolia.

Licencia

Elige una licencia y agrégala a tu módulo. Recomendamos usar la licencia MIT para los módulos que vayas a compartir públicamente para darle a otros la oportunidad de usar tu módulo en otros proyectos.

README.md

Los ficheros README son imprescindibles para que los desarrolladores encuentren y entiendan tus módulos. Alguien que lea el README de un módulo debería de entenderlo en un minuto gracias a sus pantallazos y descripciones.

Aquí tienes un template para crear tus ficheros README: https://raw.githubusercontent.com/magnolia-cms/shareable-magnolia/master/README.md

Maven

En caso de tener clases de Java, la manera mas sencilla de crear y compilar módulos Java de Magnolia es mediante maven. Magnolia cuenta con repositorios públicos de maven con todas las dependencias necesarias para compilar y desplegar proyectos de Magnolia en versión community y enterprise.

La url del repositorio maven de Magnolia versión comunitaria es: https://nexus.magnolia-cms.com/content/groups/public/

Repositorio local de maven

Para inicializar de forma automática tu repositorio local de maven con el acceso al repositorio de Magnolia puedes ejecutar el siguiente comando:

...

Info
titleDependencias Vaadin

Si tu módulo depende de librerías de Vaadin deberás agregar como repositorio adicional: http://maven.vaadin.com/vaadin-addons/

Code Pro
languagexml
      <repositories>
        <repository>
          <id>magnolia.nexus.public</id>
          <url>https://nexus.magnolia-cms.com/content/groups/public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
        <repository>
          <id>vaadin-addons</id>
          <url>http://maven.vaadin.com/vaadin-addons/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>

Arquetipo maven para proyectos Magnolia

Magnolia provee arquetipos para distintos tipos de proyectos Java.

...

Aquí puedes encontrar un ejemplo del pom de un modulo de ejemplo: https://github.com/ebguilbert/tours-field/blob/master/pom.xml

Git

Inicializa un repositorio git en el directorio de tu módulo. El código puede estar alojado en cualquier servidor git. Aquí estamos usando GitHub como ejemplo.

...

  • rd-magnolia-community-2018
  • magnolia
  • magnolia-component

NPM

En el caso de tener un proyecto de front-end basado en Javascript y siguiendo la estructura de un Light Module, lo recomendado para distribuir el código es registrarlo en npm.

Info
titleMagnolia CLI

Si no conoces la estructura de un Light Module, puedes utilizar Magnolia CLI para crear la estructura del módulo automaticamente. Mas info: https://documentation.magnolia-cms.com/display/DOCS56/Magnolia+CLI+walkthrough


npm init

El primer paso para registrar un proyecto en npm es inicializar el proyecto. Para esto se debe invocar:

...

Code Block
"keywords": [
    "magnolia-light-module",
    "magnolia-component"
  ],

module.yaml

Es necesario agregar un fichero module.yaml, que representará el descriptor del módulo en Magnolia. En este fichero se define la versión del módulo y opcionalmente las dependencias a otros modulos.

Ejemplo:  https://raw.githubusercontent.com/magnolia-cms/shareable-magnolia/master/module.yaml

Publicar en npm

Para publicar un módulo de Magnolia en npm, se debe invocar:

...

Info
titleMas info

Mas info sobre light modules en Magnolia y npm: How To Open Source a Light Module


Compartirlo

Hazte conocer y comparte tu código de Magnolia con el mundo. Menciona @magnoliacms_es en Twitter e incluye el hashtag #RDMagnolia y nosotros lo compartiremos con nuestros seguidores. También puedes crear tu propio blog acerca del módulo, o inclusive puedes contactarnos para publicarlo en los blogs de Magnolia.

...