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 las extensiones oficiales de Velneo, que nos permitirá instalar de forma sencilla las extensiones que Velneo dispone según nuestro nivel de subscripción.

También los programadores de Velneo podremos programar nuestras propias extensiones y compartirlas.

Cuando se lanza una extensión que ya está siendo ejecutada, activar la pestaña donde está cargada.

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.

Este menú se adapta al modo claro u oscuro que se tenga configurado en el sistema.

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": [{"text": "Extensión"}, {"locale":"EN", "text": "Extension"}],
    "actions": [
        {
            "icon": "icono1.ico",
             "text": [{"text": "Accción 1"}, {"locale":"EN", "text": "Action 1"}],
            "parameter": "Parámetro de la función"
        },
        {
            "icon": "icono2.svg",
            "text": [{"text": "Acción 2"}, {"locale":"EN", "text": "Action 2"}],
            "parameter": "Otro parámetro "
        },
        {
            "icon": "icono3.png",
            "text": [{"text": "Acción 3"}, {"locale":"EN", "text": "Action 3"}],
            "parameter": "Otro parámetro más",
            "insert": {"menu": ["&Menu ya existente"], "afterAction": "&Acción ya existente" }
        }
    ]
}

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"]}
        }
    ]
}

toolbars

Podemos añadir una extensión a una toolbar, indicando un título (title) y definir en qué toolbar se insertará (insert), indicando si la posición será anterior (beforeAction) o posterior (afterAction) a la acción seleccionada.

Los nombres de las toolbars son:

  • TbarMain: principal.

  • TbarProyectos: de proyectos.

  • TbarEdit: de edición.

  • TbarNewOb: de nuevos objetos.

  • TbarGestOb: de gestión de objetos.

  • TbarSearch: de búsqueda.

"actions":
[
	{
		"text": [ { "text": "&Ejemplo" }, { "locale":"EN", "text": "Ejemplo" { ],
		"icon": "icono.svg",
		"function": "",
		"insert": [ {"menu": ["&Proyectos"], "beforeAction": "&Guardar proyecto"}, {"toolbar": "TbarMain", "beforeAction": "&Guardar todos"}]
	}
],

teclas aceleradoras

Cuando añadimos una extensión a una toollbar o a un menú podemos asignarle una tecla aceleradora para dispararla, para ellos se debe añadir la clave shortcut en el script. Ejemplo:

"actions":
[
	{
		"text": [ { "text": "&Ejemplo" }, { "locale":"EN", "text": "Ejemplo" { ],
		"icon": "icono.svg",
		"function": "",
		"shortcut": "Ctrl+E",
		"insert": [ {"menu": ["&Proyectos"], "beforeAction": "&Guardar proyecto"}, {"toolbar": "TbarMain", "beforeAction": "&Guardar todos"}]
	}
],

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.

Catálogo de extensiones

Las extensiones disponibles varían en función del nivel de suscripción.

A continuación pasamos a enumerar las extensiones existentes en esta versión.

Documentador

Genera información de tu proyecto. Podrás generar un listado de los objetos que contiene tu proyecto indicando:

  • Tipo de objeto.

  • Propiedades.

  • Estilo.

  • Datos adicionales.

Estos datos pueden ser exportados en un fichero en formato HTML o en formato markdown.

Una vez instalada, podremos ejecutarlo desde el menú proyectos de Velneo vDevelop.

Esta extensión se adapta al modo claro u oscuro que se tenga configurado en el sistema.

Pomodoro

La técnica Pomodoro es un método para mejorar la administración del tiempo desarrollado por Francesco Cirillo a finales de los 80. La técnica usa un reloj para dividir el tiempo dedicado a un trabajo en intervalos de 25 minutos -llamados "pomodoros"- separados por pausas.

Una vez instalada, la opción estará disponible en el menú ver de Velneo vDevelop.

Monitor de vClient

Permite monitorizar la ejecución de un Velneo vClient y conocer en tiempo real los comandos VATP (protocolo de Velneo) que se ejecutan. Es necesario ejecutar Velneo vClient en modo de depuración para que se puedan generar las trazas de los comandos VATP.

Esta opción estará disponible en el menú ver de Velneo vDevelop.

Haz clic aquí para ampliar información al respecto.

Centro de soporte

Una vez instalada incorpora la opción "Centro de soporte" al menú ayuda de Velneo vDevelop, para permitir el acceso directo al Centro de soporte de Velneo.

Vídeos

Consulta vídeos sobre la plataforma Velneo. Una vez instalada, la opción estará disponible en el menú ayuda de Velneo vDevelop. Dependiendo del objeto en curso, se mostrará el vídeo más adecuado para su contexto.

Repositorios

Esta extensión permite trabajar con repositorios de código en Velneo, Git y disco, con el fin de facilitar el desarrollo colaborativo entre varios desarrolladores. Permite desarrollar y probar en tu equipo de desarrollo e integrar tu código a un repositorio que puede ser un servidor de Velneo, Git o una carpeta compartida en disco, con el fin de que esté accesible al resto de programadores. Podrás ver las diferencias entre tu código y el existente en el repositorio, y recibir y enviar tus soluciones con el fin de sincronizar el código con el resto de desarrolladores del equipo.

Se permite el envío y recepción de soluciones completas, trabajando con los tres tipos de repositorio. Requiere de conexión para trabajar con la extensión ya que es actualizable online sin requerimiento de acción por parte del usuario, incluyendo mejoras en la gestión de los repositorios de forma automatizada y transparente para el desarrollador.

Esta extensión soporta el uso de proyectos protegidos con contraseña, esto quiere decir que para poder trabajar con proyectos protegidos con contraseña necesitamos conocerla.

Cómo funciona

Una vez conectado desde Velneo vDevelop a tu Velneo vServer personal, podrás abrir la extensión Repositorios donde te mostrará todos los repositorios compatibles con las soluciones que tengas en tu servidor. En pantalla podrás ver los repositorios y los objetos diferentes de cada uno de los proyectos.

Si empiezas de cero debes configurar los repositorios que necesites desde la propia extensión, una vez configurados estarán siempre disponible donde tengas instalado tu vDevelop.

Esta extensión no soporta caracteres especiales como espacios o tildes en el nombre de usuario.

Cuando configures las credenciales para configurar un repositorio en otro servidor, si tu nombre de usuario contiene el carácter @ podrás escribirlo directamente, no será necesario reeplazarlo por la cadena %40.

Haciendo clic en cada uno de los repositorios podrás entrar en detalle a conocer qué diferencias existen a nivel de objeto, viendo rápidamente cuales son distintos. Si accedes a un objeto en concreto podrás conocer qué propiedades o líneas de código son diferentes.

En la pantalla del repositorio, podrás seleccionar las acciones de sincronización entre el proyecto en tu vServer y el repositorio remoto:

  • Recibir todo el proyecto remoto .

  • Enviar todo el proyecto abierto al repositorio remoto .

  • Recibir algún objeto al proyecto abierto .

  • Enviar algún objeto de proyecto abierto.

GIT

Si quieres trabajar sobre repositorios Git, recuerda tener instalado en tu sistema operativo (Windows, Linux o Mac) el cliente de Git correspondiente, Velneo vDevelop usará el Git que tengas instalado en tu máquina. Al mismo tiempo podrá acceder con los permisos que tenga tu git de consola. Recuerda configurar tus credenciales en base a como te recomiende tu servidor (Github, GitLab, bitbucket, etc.).

Desarrollo colaborativo

La extensión Repositorios te permitirá trabajar de la mejor forma posible con tus compañeros de trabajo.

  • Trabaja en tu vServer personal con todos los proyectos sin limitación de bloqueos .

  • Conoce qué hacen tus compañeros en sus vServer .

  • Sincroniza objetos particulares desde y hacia repositorios.

  • Conoce permanentemente qué cambios llevas realizados respecto al proyecto en desarrollo o producción.

Al poder conectarte a múltiples repositorios, puedes trabajar de forma distribuida y con control total de los cambios .

La opción actualizar versión base solo actualiza la versión base, que te permite ver las diferencias.

La opción obtener última versión sólo actualiza la última versión del repositorio para conocer los últimos cambios.

FAQ

¿Podemos trabajar varios desarrolladores en el mismo vServer?

Sí, siempre puedes trabajar en el mismo vServer, pero cuidado en la ejecución de aplicaciones ya que puede ser un inconveniente mientras los dos hacéis cambios al mismo tiempo en proyectos heredados.

¿Trabajo solo, para que me vale la nueva Extensión Repositorios?.

Aunque trabajes en tu vServer personal, siempre puedes configurar uno o varios repositorios donde tengas un historial de versiones en GIT o servidores remotos de clientes para poder desplegar tus cambios en segundos.

¿Para qué vale vVersion?

vVersion y Repositorios comparten la tecnología de comparación MultiComparaciónDinamica, que permite comparar en tiempo real estructuras complejas de información en tiempo record. Además vVersion mantiene una copia de todas las modificaciones de los proyectos de un vServer para poder recuperarlas en cualquier momento, sin ninguna intervención del desarrollador.

¿Cómo me conecto a un servidor Git?

Debes configurar Git por línea de comandos. Si deseas usar está tecnología te recomendamos un curso para que puedas conocer los conceptos básicos y cómo configurar repositorios de trabajo. Velneo vDevelop usará tu misma configuración de consola para conectarse con tus repositorios y así evitarte configurar tus credenciales múltiples veces.

¿Para qué vale "Obtener la última versión" entonces?

En un momento dado, con vDevelop y Repositorios abierto, que sabemos que alguien ha actualizado algo en el servidor, podemos usar Obtener la última versión. Esto te actualiza el estado en ese momento del repositorio. No sobrescribe la versión base, no sobrescribe lo que estás editando en desarrollo, pero al ver las diferencias tiene lo último. Se lanza la usar las opciones de enviar y de recibir. Es una opción de mantenimiento.

¿Para qué vale "Actualizar versión base" entonces?

Tiene menos utilidad real, esta sí que es de mantenimiento tal. Y es por si ha habido cambios y llega un momento que sucede algo raro con las diferencias. Te aseguras así, sin tocar lo que hay en desarrollo, que tienes la versión del repositorio como versión base. La usaremos, por tanto cuando quede algo mal en un momento dado, ya que se lanza también al recibir y enviar todo.

No es posible repetir carpetas en la misma senda con el mismo nombre y el mismo color. En la extensión se considerarán un error y se identificarán como una diferencia.

En ocasiones, al recibir o enviar seleccionados que hemos creado recientemente, si ya existían elementos previamente en la carpeta, se enviarán o recibirán en una posición distinta debido a la pre-existencia de tales elementos. En ese caso se mostrarán como conflicto + debido a esa razón. Debemos en ese caso actualizar base para conocer las diferencias reales.

No se soportan proyectos protegidos con contraseña.

Última actualización