Duende CG - Documentación

Opciones Generales de la Aplicación

La aplicación objetivo tendrá varias funcionalidades, a las que se accederá a través de distintas opciones que aparecerán en la barra de menús. Cada una de estas opciones permitirá la gestión básica de una entidad, es decir, dará acceso a un CRUD (creación, lectura, modificación y borrado) sobre la entidad asociada.

Para definir el listado de opciones de la aplicación se usará el elemento generalOptions, que es un array JSON con tantos objetos como opciones necesite la aplicación objetivo. Las opciones definidas aparecerán en la barra de menús en el orden que siguen en el array.

{

    ...

    "generalOptions": [
        {
            --> Definición de la primera opción.
        },
        {
            --> Definición de la segunda opción.
        },
        {
            --Definición de la tercera opción.
        },
        {
            ...
        }
    ],


    ...

}

La estructura básica para cado una de los objetos de opción es la siguiente:

{
    "entity":   { 
                    --> objeto descriptivo de la entidad asociada a la opción  ** REQUERIDA **
                },
    "generalOptionCode": "código único para la opción",
    "generalOptionName": "nombre de la opción",
    "goCreateScreenTitle": "título de la pantalla de creación",
    "goCreateScreenAvailable": ¿tendrá pantalla de creación?,
    "goUpdateScreenTitle": "título de la pantalla de modificación",
    "goUpdateScreenAvailable": ¿tendrá pantalla de modificación?,
    "goViewScreenTitle": "título de la pantalla de visualización",
    "goViewScreenAvailable": ¿tendrá pantalla de visualización?,
    "goListScreenTitle": "título de la pantalla de listado",
    "goListScreenRowsByPage": número de filas por página,
    "goListScreenPageSquares": número máximo de cuadros de navegación de páginas,
    "goDeletionAvailable": ¿se podrán realizar eliminaciones?,
    "goMsgEmptyList": "mensaje de lista vacía",
    "goMsgSuccessCreation": "mensaje de creación correcta",
    "goMsgSuccessUpdate": "mensaaje de modificación correcta",
    "goMsgSuccessDeletion": "mensaje de borrado correcto",
    "goMsgCreateEntityButton": "texto para botón de creación",
    "goMsgUpdateEntityButton": "texto para botón de modificación",
    "goMsgShowEntityButton": "texto para botón de visualización",
    "goMsgDeleteEntityButton": "texto para botón de borrado",
    "goMsgDeleteEntityTitle": "título del cuadro de diálogo modal de borrado",
    "goMsgDeleteEntityQuestion": "pregunta de borrado",
    "goMsgDataNotFound": "mensaje de dato no encontrado",
    "goCompressedForm": comprime los formularios de alta y modificación,
    "goCompressedView": comprime los datos mostrados en la pantalla de visualización

}

Elementos de una Opción

entity

Todos los elementos de los objetos de opción son opcionales, excepto el elemento entity, que es un objeto JSON que se encarga de definir las características de la entidad que es gestionada por la opción. Así por ejemplo si la opción que se está definiendo gestionará las personas de una aplicación de Agenda Telefónica, entonces el objeto entity definirá la entidad Persona, indicando entre otras cosas los campos que la conforman, tipos de datos, validaciones, etc.

Puede encontrar más información sobre el objeto JSON entity en Entidades.

generalOptionCode

Valor: Código de la opción

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: nombre de la entidad en minúsculas

Cada opción tiene asignado un código único que puede ser indicado a través de este elemento. Si no se proporciona, el código asociado será el nombre de la entidad en minúsculas.

Este código también funciona como mapeo para las acciones sobre la entidad en la aplicación generada. Así pues, todas las acciones del CRUD estarán bajo este código.

Por ejemplo, en el caso de una opción Personas que gestione cada entidad Persona de una aplicación de Agenda Telefónica, el código de la opción podría ser persona y por tanto las distintas acciones del CRUD de personas en el puerto 8000 tendrían el siguiente aspecto:

localhost:8000/persona/accion

Como ejemplo, el listado de personas se ejecutaría con la URL:

localhost:8000/persona/list

Si se indica este código se recomienda minúsculas y no debe tener espacios ni caracteres especiales (acentos, ñ, etc).

generalOptionName

Valor: Nombre de la opción

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: nombre de la entidad en minúsculas con la primera letra en mayúsculas

Este elemento permite indicar el nombre de la opción, será el nombre que aparezca en la barra de menú de la aplicación generada.

goCreateScreenTitle

Valor: Título de la pantalla de creación

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Nombre de la entidad (Create)

Este elemento permite definir el título superior de la pantalla donde se realizan las altas de la entidad asociada.

goCreateScreenAvailable

Valor: Activa o desactiva la acción de alta de la opción

Tipo de datos: boolean

Requerido: No

Valor por Defecto: true

Este elemento permite activar la acción de altas para la entidad que es gestionada por la opción. Si se asigna un valor false, no se podrán realizar altas para esta entidad. Indique el valor false en el caso de que quiera una opción que gestione una entidad ya completa, a la que no puedan añadirse más valores, como por ejemplo la entidad Provincia o Mes.

goUpdateScreenTitle

Valor: Título de la pantalla de modificación

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Nombre de la entidad (Update)

Este elemento permite definir el título superior de la pantalla donde se realizan las modificaciones de la entidad asociada.

goUpdateScreenAvailable

Valor: Activa o desactiva la acción de modificación de la opción

Tipo de datos: boolean

Requerido: No

Valor por Defecto: true

Este elemento permite activar la acción de modificaciones para la entidad que es gestionada por la opción. Si se asigna un valor false, no se podrán realizar modificaciones para esta entidad. Indique el valor false en el caso de que quiera una opción que gestione una entidad que no admita cambios, como por ejemplo la entidad Provincia o Mes.

goViewScreenTitle

Valor: Título de la pantalla de visualización

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Nombre de la entidad (View)

Este elemento permite definir el título superior de la pantalla donde se visualizan los datos de la entidad asociada.

goViewScreenAvailable

Valor: Activa o desactiva la acción de visualización de la opción

Tipo de datos: boolean

Requerido: No

Valor por Defecto: true

Este elemento permite activar la acción de visualización para la entidad que es gestionada por la opción. Si se asigna un valor false, no se podrán visualizar los datos de la entidad de forma individual, aunque podrán seguir viéndose en el listado de entidades.

goListScreenTitle

Valor: Título de la pantalla de listado

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Nombre de la entidad (List)

Este elemento permite definir el título superior de la pantalla donde se visualiza el listado de registros correspondientes a la entidad asociada a la opción.

goListScreenRowsByPage

Valor: Número de filas por página

Tipo de datos: entero

Requerido: No

Valor por Defecto: 10

Este elemento permite definir cuántas filas aparecen en el listado de registros por página. El valor por defecto es 10. Por ejemplo, en el listado de personas de una aplicación de Agenda Telefónica, se mostraría el listado de 10 en 10 personas.

goListScreenPageSquares

Valor: Número de cuadros de navegación de páginas en listado

Tipo de datos: entero

Requerido: No

Valor por Defecto: 5

Los listados con muchos registros aparecerán en páginas. La navegación a través de esas páginas se realizará a través de cuadros de enlace situados en la parte superior e inferior del listado. Este elemento permite decidir cuántos de esos cuadros deben visualizarse como máximo.

goDeletionAvailable

Valor: Activa o desactiva la acción de visualización de la opción

Tipo de datos: boolean

Requerido: No

Valor por Defecto: true

Este elemento permite activar la acción de borrado para la entidad que es gestionada por la opción. Si se asigna un valor false, no se podrán realizar borrados de registros de dicha entidad. Use el valor false cuando tenga una opción que gestione una entidad con datos ya completos, como puede ser una entidad Provincia o Mes.

goMsgEmptyList

Valor: Mensaje de lista vacía

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: No data

Use este elemento para especificar el mensaje que aparecerá cuando no haya datos pertenecientes a la entidad gestionada por la opción.

goMsgSuccessCreation

Valor: Mensaje de éxito para la creación

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Creation successful

Use este elemento para especificar el mensaje que aparecerá cuando se produzca un alta exitosa.

goMsgSuccessUpdate

Valor: Mensaje de éxito para la modificación

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Update successful

Use este elemento para especificar el mensaje que aparecerá cuando se produzca una modificación exitosa.

goMsgSuccessDeletion

Valor: Mensaje de éxito para el borrado

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Deletion successful

Use este elemento para especificar el mensaje que aparecerá cuando se produzca un borrado exitoso.

goMsgCreateEntityButton

Valor: Texto para el botón de creación

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Create

Use este elemento para especificar el texto que tendrá el botón de altas.

goMsgUpdateEntityButton

Valor: Texto para el botón de modificación

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Update

Use este elemento para especificar el texto flotante asociado al icono de modificación.

goMsgShowEntityButton

Valor: Texto para el botón de visualización

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: View

Use este elemento para especificar el texto flotante asociado al icono de visualización.

goMsgDeleteEntityButton

Valor: Texto para el botón de eliminación

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Delete

Use este elemento para especificar el texto flotante asociado al icono de eliminación.

goMsgDeleteEntityTitle

Valor: Texto para título del cuadro modal de eliminación

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Delete element

Use este elemento para especificar el texto que aparecerá en el título del cuadro de diálogo modal de confirmación que se abre cuando quiere realizar un borrado.

goMsgDeleteEntityQuestion

Valor: Texto para la pregunta de confirmación de borrado

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Are you sure you want to delete this element?

Use este elemento para especificar la pregunta que se hará al usuario en el cuadro de diálogo de confirmación de borrado.

goMsgDataNotFound

Valor: Mensaje informativo indicando que no se encontró el dato

Tipo de datos: cadena de texto

Requerido: No

Valor por Defecto: Data not found

Use este elemento para especificar el texto que aparecerá cuando no se encuentre un registro. Este mensaje solo puede aparecer en el caso de que se intente una acción sobre un registro de la entidad introduciendo directamente la URL mapeada en el cuadro de direcciones del navegador con un id inexistente.

goCompressedForm

Valor: Activa la compresión de formularios de alta y modificación de la opción actual

Tipo de datos: boolean

Requerido: No

Valor por Defecto: false

Si se activa este elemento los formularios de alta y modificación de la opción se comprimen, lo cual significa que se intenta aprovechar al máximo el espacio en pantalla para mostrar la máxima información posible. En caso de que esta opción esté desactivadda, los distintos cuadros de textos y elementos de estos formularios aparecerán uno debajo del otro.

goCompressedView

Valor: Activa la compresión de datos en la pantalla de visualización

Tipo de datos: boolean

Requerido: No

Valor por Defecto: false

Si se activa este elemento la información de la pantalla de visualización se comprime, lo cual significa que se intenta aprovechar al máximo el espacio en pantalla para mostrar la máxima información posible. En caso de que esta opción esté desactivadda, los distintos valores de los campos de la pantalla de visualización aparecerán uno debajo del otro.

Ejemplos

...
Algunos elementos en la pantalla de listado. Ejemplo de aplicación de Agenda Telefónica.
...
Algunos elementos en la pantalla de actualización. Ejemplo de aplicación de Agenda Telefónica.
...
Elementos en el cuadro de diálogo de borrado. Ejemplo de aplicación de Agenda Telefónica.