Extensiones de Velneo vDevelop

Las extensiones nos permiten implementar nuevas funcionalidades en Velneo vDevelop de forma sencilla.

Accediendo a través de la opción Ver del menú principal, podemos acceder al catálogo de extensiones de Velneo, que nos permitirá instalar de forma sencilla las extensiones según nuestro nivel de subscripción, pero también podremos crear nuestras propias extensiones y compartirlas.

Las extensiones están disponibles desde la opción Extensiones del menú ver en el menú principal de Velneo vDevelop. Requiere conexión a internet para hacer uso de él, e iniciar sesión usando para ello el usuario de la web de Velneo. Esto permitirá activar la instalación de las extensiones que nos corresponden según nuestro nivel. Requerirá la inicialización de sesión una vez al mes al menos.

Desde la opción de Extensiones podemos instalar, desinstalar y ver el código de la extensión cada extensión, además de obtener información del uso y funcionalidad que tiene cada extensión.

Creación de nuevas extensiones

Podemos crear nuestras propias extensiones de Velneo vDevelop. Para ello podemos crear una nueva extensión de cero, o bien partir de alguna de las extensiones ya existentes, adaptándolas a nuestras necesidades o configurando nuevas opciones.

Las extensiones se programan en QML (QtQuick 2) y javascript, y para ello disponemos de una clase base VExtension que nos permite acceder a parte del API de Velneo para javascript existente, aquél que tiene sentido usar en edición (VObjectInfo, VProjectInfo, etc.).

Las extensiones deben instalarse en una subcarpeta de la carpeta Velneo del usuario (Velneo/vdevelop/extensions), deben contener un fichero main.qml que será el que se abra cuando se llame a la extensión y, además, un fichero manifest.json en el que debemos configurar una acción o menú para disparar nuestra extensión.

main.qml: este será el fichero qml que será ejecutado por la acción correspondiente definida en el manifiesto. En él está programado el cuerpo inicial de la extensión. Podemos hacer uso además de otros ficheros qml, js u otros.

manifest.json: el fichero define la extensión y la acción que se lanzará. El fichero tiene formato JSON, y en él se indica el nombre y la posición del elemento en el menú de Velneo vDevelop.

{
    "name": [{"text": "Nombre de la extensión"}, {"locale":"EN", "text": "Nombre de la extensión en inglés"}],
    "actions": [
        {
            "text": [{"text": "&Nombre de la acción"}, {"locale":"EN", "text": "&Nombre en inglés de la acción"}],
            "function": "nombreDeFuncionEnQML",
            "insert": {"menu": ["&Menu ya existente"], "afterAction": "&Acción ya existente"}
        }
    ]
}

name: contiene un array con los nombres de la extensión (text) en el idioma por defecto y cada uno de los seleccionados (locale) en ISO 639-1. Se utilizará en el título de pestañas y ventanas.

actions: contiene un array de acciones que se incorporan a Velneo vDevelop en el arranque. Se indica el icono (icon), el nombre de la acción (text) y un parámetro (parameter) que se puede leer en la extensión por medio de la función actionParameter() de VExtension, y definir que se inserte (insert) en un menú (menu) ya existente.

{
    "name": "Modulos",
    "actions": [
        {
            "icon": "icono.ico",
            "text": "Nombre de acción",
            "parameter": "Parámetro de la función"
        },
        {
            "icon": "otroicono.svg",
            "text": "Otra acción",
            "parameter": "Otro parámetro "
        },
        {
            "icon": "otroiconomas.png",
            "text": "Otra acción más",
            "parameter": "Otro parámetro más",
            "insert": {"menu": ["&Menu ya existente"], "afterAction": "&Acción ya existente" }
        }
    ]
}

menu: permite crear menús (menu) indicando un título (title) y definir en qué menú se insertará (insert), indicando si la posición será anterior (beforeAction) o posterior (afterAction) a la acción seleccionada. Esto mismo también se puede hacer para las acciones.

{
    "name": [{"text": "Extensión"}, {"locale":"EN", "text": "Extension"}],
    "menus": [
        {
            "title": [{"text": "&Menú"}, {"locale":"EN", "text": "&Menu"}],
            "insert": {"beforeAction": "Ay&uda"}
        }
    ],
    "actions": [
        {
            "text": [{"text": "Velneo v&Admin"}, {"locale":"EN", "text": "Velneo v&Admin"}],
            "icon": "icono.svg",
            "function": "vAdmin",
            "insert": {"menu": ["&Componentes"]}
        }
    ]
}

events: define que se ejecutará la extensión en un evento (event) de Velneo vDevelop, teniendo como opción el inicio (ini) de Velneo vDevelop, ejecutando además una determinada función (function).

{
    "events": [
        {
            "event": "ini",
            "function": "onExtensionIni"
        }
    ]
}

clearComponentCache: define si se limpiará la caché de ficheros QML antes de ejecutar la extensión. Si no la configuramos, por defecto el valor será true. Con el valor true se limpiará la caché con el fin de recargar de nuevo los ficheros QML en cada ejecución de la extensión, para aplicar los cambios que se hayan realizado. Con valor false, no se recargarán los ficheros QML hasta que no cerremos Velneo vDevelop, y no se hará caso de los cambios realizados en los ficheros QML cada vez que ejecutemos la extensión.

Última actualización