Duende CG - Documentación

Datos Generales de la Aplicación

Los datos generales de la aplicación se definen en el objeto appGeneralData y permiten especificar distintas características generales para la aplicación objetivo.

Esta es la estructura del objeto appGeneralData:

{

    "appGeneralData": {

       "appName": "nombre de la aplicación",     ** REQUERIDA **
       "appAuthor": "autor de la aplicación",
       "appYear": año de la aplicación,
       "appWeb": "nombre de la web del autor/compañía/aplicación",
       "appWebUrl": "URL de la web del autor/compañía/aplicación",
       "appPort": puerto de ejecución,
       "appFilesUploadFolder": "nombre de la carpeta para la subida de archivos",
       "appMainPackage": "paquete principal de la aplicación",  ** REQUERIDA **
       "appRoleUserUsername": "nombre de usuario para usurio con rol USER",
       "appRoleUserPassword": "password para usuario con rol USER",
       "appRoleAdminUsername": "nombre de usuario para usuario con rol ADMIN",
       "appRoleAdminPassword": "password para usuario con rol ADMIN",
       "appTxtLogin": "título de la pantalla de login",
       "appTxtUsername": "etiqueta para el cuadro de texto de usuario en la pantalla de login",
       "appTxtPassword": "etiqueta para el cuadro de texto de password en la pantalla de login",
       "appTxtLoginButton": "texto para el botón aceptar en la pantalla de login",
       "appTxtLogout": "texto para la opción de desconexión en el menú",
       "appMsgLoggedOut": "mensaje indicando que la sesión se cerró",
       "appMsgWrongLogin": "mensaje indicando que el login falló",
       "appOptionsHeader": "cabecera de columna de opciones en listados",
       "appTxtReturnTo": "texto del enlace volver",
       "appTxtBack": "texto del enlace atrás",
       "appTxtCancelButton": "texto para los botones Cancelar",
       "appTxtOkButton": "texto para los botones Aceptar",
       "appMainLogo": "nombre del archivo de imagen del logo principal",
       "appMenuLogo": "nombre del archivo de imagen del logo del menú",       
       "appErrorLogo": "nombre del archivo de imagen para las pantallas de error",
       "appNoImageLogo": "nombre del archivo de imagen del logo de no imagen"
    },

    ...

}

Aunque son muchas las características que se pueden definir con el objeto appGeneralData, realmente solo dos de ellas son requeridas. Duende asignará valores por defecto a las características no incluidas.

Así pues, un objeto appGeneralData mínimo para una aplicación de Agenda Telefónica podría tener este aspecto:

{
    "appGeneralData": {
       "appName": "Agenda Telefónica",
       "appMainPackage": "com.curiosoft.agendatfn"     
    },
    ...
}

Por supuesto los valores generados automáticamente por Duende para los elementos no proporcionados quizás no sean los deseados, por lo que en ese caso habría que especificarlos explícitamente. Una versión más detallada del objeto appGeneralData anterior podría ser la siguiente:

{
    "appGeneralData": { 
       "appName": "Agenda Telefónica",
       "appMainPackage": "com.curiosoft.agendatfn",
       "appAuthor": "CurioSoft",
       "appYear": 2023,
       "appWeb": "curiosoft.es",
       "appWebUrl": "https://www.curiosoft.es",
       "appPort": 8000,
       "appMsgWrongLogin": "Datos de acceso no válidos."
    },
    ...
}

A continuación se describen cada uno de los elementos del objeto appGeneralData:

appName

Valor: Nombre de la Aplicación

Tipo de datos: cadena de texto

Requerido:

Este elemento permite indicar el nombre de la aplicación a generar. Este nombre aparecerá en la barra de menús de la aplicación.

Este elemento es requerido.

appAuthor

Valor: Autor de la Aplicación

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: cadena vacía

Este elemento permite indicar el nombre del autor o de la compañía que realiza la aplicación. Este nombre aparecerá en la parte superior derecha de la pantalla de logueo, así como en la parte inferior de todas las pantallas de la aplicación.

appYear

Valor: Año de la Aplicación

Tipo de datos: número entero

Requerido: No

Valor por Defecto: Año actual

Este elemento permite indicar el año de creación de la aplicación. Este valor aparecerá en la parte superior derecha de la pantalla de logueo, junto con el autor de la aplicación, y también en la parte inferior de todas las pantallas de la aplicación.

appWeb

Valor: Nombre de la Web asociada a la Aplicación

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: cadena vacía

Este elemento permite indicar el nombre de la página web asociada a la aplicación o al autor o compañía de ésta. Este valor aparecerá en la parte superior derecha de la pantalla de logueo así como en la parte inferior de todas las pantallas de la aplicación.

appWebUrl

Valor: URL de la Web asociada a la Aplicación

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: cadena vacía

Este elemento permite indicar la URL válida correspondiente a la web asociada a la aplicación o al autor o compañía de ésta. Si se indica este valor, entonces los datos de autoría de la aplicación (autor, año y web) se mostrarán como un enlace válido que permitirá acceder a la URL indicada.

appPort

Valor: Puerto asociado a la Aplicación

Tipo de datos: número entero

Requerido: No

Valor por Defecto: 8000

Este elemento permite indicar el puerto donde se ejecutará la aplicación a generar. Si no se proporciona este elemento, el puerto de la aplicación será el 8000. Así pues, para probar la aplicación en localhost habría que introducir en el navegador: http://localhost:8000/

appFilesUploadFolder

Valor: Nombre de la carpeta para la subida de archivos

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: upload

La aplicación generada puede requerir la subida de archivos, sobre todo imágenes asociadas a las distintas entidades. (Por ejemplo, en una aplicación de Agenda Telefónica podría ser interesante subir una foto de cada persona de la agenda) Estos archivos deben subirse a una carpeta del proyecto de la aplicación. Use este elemento si quiere darle un nombre concreto a dicha carpeta. En caso contrario, el nombre asignado a la carpeta será: upload.

Una vez generado el código fuente de la aplicación e integrado en el proyecto, recuerde crear dicha carpeta en él si éste requiere de subida de archivos. Vea Creación del Proyecto de la Aplicación para obtener más información.

appMainPackage

Valor: Paquete Principal de Java que se usará en el Proyecto de la Aplicación

Tipo de datos: cadena de texto

Requerido:

Una vez generado el código fuente de la aplicación, éste será integrado en un proyecto Java Spring Boot. Para ello será necesario indicar un paquete principal. Use este elemento para especificar el paquete principal que se usará en el proyecto de la aplicación.

El valor de este campo debe tener la forma correcta de un paquete Java, es decir, no use caracteres no válidos como acentos o caracteres comodín. Recuerde que un paquete Java suele escribirse en minúsculas y estar formado por varias cadenas separadas por punto.

Este elemento es requerido.

appRoleUserUsername

Valor: Nombre del usuario con rol USER

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: user

La aplicación generada usa Spring Security para crear dos usuarios en memoria. Uno de ellos tiene el rol USER, correspondiente a un usuario que solo tendrá permisos de lectura en la aplicación. A través de este elemento puede indicar el nombre de usuario para este usuario. Si no proporciona este elemento el nombre de este usuario será simplemente: user.

Para crear nuevos usuarios en memoria con el rol USER tendrá que modificar el código fuente generado. Revise el apartado Modificaciones en el Código Final

Esta versión de Duende CG no crea aplicaciones con usuarios en base de datos.

appRoleUserPassword

Valor: Password del usuario con rol USER

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: 1234

Use este elemento para indicar un password para el usuario con el rol USER. Si no indica este elemento el password asignado será 1234. Puede cambiar el password del usuario modificando el código fuente generado. Vea el apartado Modificaciones en el Código Final para obtener más información.

appRoleAdminUsername

Valor: Nombre del usuario con rol ADMIN

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: admin

La aplicación generada usa Spring Security para crear dos usuarios en memoria. Uno de ellos tiene el rol ADMIN, correspondiente a un usuario administrador que tiene todos los permisos asignados sobre la aplicación. A través de este elemento puede indicar el nombre de usuario para el administrador. Si no proporciona este elemento el nombre de este usuario será simplemente: admin.

Para crear nuevos usuarios administradores en memoria tendrá que modificar el código fuente generado. Revise el apartado Modificaciones en el Código Final

Esta versión de Duende CG no crea aplicaciones con usuarios en base de datos.

appRoleAdminPassword

Valor: Password del usuario con rol ADMIN

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: 1234

Use este elemento para indicar un password para el usuario con el rol ADMIN. Si no indica este elemento el password asignado será 1234. Puede cambiar el password del usuario modificando el código fuente generado. Vea el apartado Modificaciones en el Código Final para obtener más información.

appTxtLogin

Valor: Título de la pantalla de Login

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Nombre de la aplicación

Use este elemento para indicar un título para la pantalla de logueo, como por ejemplo "Acceso a la Aplicación", ó "Introduzca Credenciales". Si no proporciona este elemento aparecerá como título el nombre de la aplicación.

appTxtUsername

Valor: Etiqueta para el cuadro de texto nombre de usuario

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Username

Use este elemento para modificar la etiqueta que acompaña al cuadro de texto del nombre de usuario en la pantalla de logueo. Por ejemplo podría indicar el texto "Nombre de Usuario", o simplemente "Usuario". Si no proporciona este elemento la etiqueta será Username.

appTxtPassword

Valor: Etiqueta para el cuadro de texto password

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Password

Use este elemento para modificar la etiqueta que acompaña al cuadro de texto del password en la pantalla de logueo. Por ejemplo podría indicar el texto "Contraseña de Acceso", o simplemente "Contraseña". Si no proporciona este elemento la etiqueta será Password.

appTxtLoginButton

Valor: Texto para el botón Aceptar en la pantalla de Login

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Login

Use este elemento para modificar el texto del botón Aceptar en la pantalla de logueo. Por ejemplo podría indicar el texto "Acceder", "Enviar", "Entrar", etc. Si no proporciona este elemento la etiqueta será Login.

appTxtLogout

Valor: Texto para la opción de desconexión del menú

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Log out

Una vez dentro de la aplicación generada, ésta muestra en la parte derecha de la barra de menú una opción para finalizar la sesión. Use este elemento para cambiar el texto de dicha opción. Podría usar por ejemplo el texto "Desconectar", "Salir", "Exit", o cualquier otro que desee. Si no proporciona este elemento el texto de la opción será Log out.

appMsgLoggedOut

Valor: Mensaje informativo de finalización de sesión

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: You have logged out

Cuando el usuario finaliza la sesión en la aplicación generada, se muestra un mensaje en pantalla que puede ser modificado a través de este elemento. Por ejemplo, podría usar el texto "Fin de sesión", ó "El usuario se desconectó", ó cualquier otro texto que desee. Si no proporciona este elemento el valor por defecto para este mensaje será: You have logged out.

appMsgWrongLogin

Valor: Mensaje informando de un error de acceso a la aplicación

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Wrong username or password

En el caso de que el usuario introduzca un nombre de usuario o contraseña incorrecto en la pantalla de logueo de la aplicación generada, ésta mostrará un mensaje de error. Este mensaje puede ser configurado con este elemento. Use textos como por ejemplo "Datos de acceso incorrectos", o bien "El nombre de usuario o contraseña introducidos no existen". Si no proporciona este elemento el texto del mensaje será: Wrong username o password.

...
Algunos elementos de la pantalla de logueo. Ejemplo de aplicación de Agenda Telefónica.

appOptionsHeader

Valor: Texto de cabecera en columna de opciones

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Options

Los listados de entidades en la aplicación generada se muestran en forma de tabla. La última columna de estas tablas está reservada a opciones aplicables a cada entidad (Ver, Modificar, Eliminar). Este elemento permite cambiar el texto de la cabecera de esta columna. Puede usar por ejemplo "Opciones", o "Acciones" como cabecera, u otro texto que desee. Si no proporciona este elemento el texto usado será Options.

appTxtReturnTo

Valor: Texto del enlace 'Volver'

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: cadena vacía

En la navegación por las distintas pantallas de la aplicación generada se muestran enlaces del tipo "Volver a (pantalla)". Puede configurar el texto que aparecerá a través de este elemento. Una configuración típica podría ser el texto "Volver a" o bien el texto "Mostrar". Por defecto el valor es la cadena vacía.

appTxtBack

Valor: Texto del enlace 'Atrás'

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Back

Cuando se muestra una imagen correspondiente a un campo, aparece un enlace en la parte superior izquierda de la pantalla para volver a la pantalla anterior. Este elemento permite configurar el texto de dicho enlace. Una configuración simple podría ser asignar el texto "Atrás", "Anterior" o "Volver".

appTxtCancelButton

Valor: Texto de los botones Cancelar

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Cancel

Use este elemento para decidir el texto que aparecerá en los botones Cancelar de la aplicación generada. Si no proporciona este elemento el texto usado será Cancel.

appTxtOkButton

Valor: Texto de los botones Aceptar

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Ok

Use este elemento para decidir el texto que aparecerá en los botones Aceptar de la aplicación generada. Si no proporciona este elemento el texto usado será Ok.

appMainLogo

Valor: Nombre del fichero de imagen del logo principal

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: app_main_logo.png

La aplicación generada por Duende incluye por defecto un logo principal genérico que aparece en la pantalla de logueo de la aplicación. El archivo de imagen de este logo es: app_main_logo.png. Si quiere incluir su propio logo entonces use este elemento para especificar el nombre de archivo de imagen de su logo principal.

Vea Añadiendo el Código Generado al Proyecto para obtener más información.

appMenuLogo

Valor: Nombre del fichero de imagen del logo del menú

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: app_menu_logo.png

La aplicación generada por Duende incluye por defecto un logo en la barra de menú, junto al nombre de la aplicación. El archivo de imagen de este logo es: app_menu_logo.png. Si quiere incluir su propio logo entonces use este elemento para especificar el nombre de archivo de imagen de su logo de menú.

Vea Añadiendo el Código Generado al Proyecto para obtener más información.

appErrorLogo

Valor: Nombre del fichero de imagen del logo de la pantalla de error

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: app_error_logo.png

La aplicación generada por Duende incluye por defecto un logo que aparece en las pantallas de errores 400 y 500. El archivo de imagen de este logo es: app_error_logo.png. Si quiere incluir su propio logo para estas pantallas use este elemento para especificar el nombre de archivo de imagen de su logo de pantalla de error.

Vea Añadiendo el Código Generado al Proyecto para obtener más información.

appNoImageLogo

Valor: Nombre del fichero de imagen del logo "no imagen"

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: app_no_image_logo.png

Cuando la aplicación generada gestiona entidades con imágenes, es posible que en algunas ocasiones no se proporcionen imágenes para las entidades. En este caso Duende proporciona una imagen neutra que indica la no existencia de imagen para dicha entidad. El archivo de imagen de este logo es app_no_image_logo.png. Si quiere incluir su propio logo de "no imagen" use este elemento para especificar dicho archivo.

Vea Añadiendo el Código Generado al Proyecto para obtener más información.

...
Algunos elementos de una pantalla de listado. Ejemplo de aplicación de Agenda Telefónica.