Cree su intranet en Groovy

DSL tipados para Grails: sin HTML, sin JavaScript

HTML PDF CSV Mail

Describa, no use plantillas

new UiFormSpecifier().ui user, {
    section "User", {
        field user.username_
        field user.firstName_
        field user.lastName_
        ajaxField user.manager_,
            this.&selectUser
    }
    formAction this.&saveUser
}
slideshow crew form

Verificado en tiempo de compilación

  • Símbolos field_ generados a partir de sus clases

  • Renombre un campo y el compilador encontrará cada pantalla

  • Errores de validación localizados, sin esfuerzo adicional

slideshow crew form validation

Tablas, filtros, paginación

slideshow crew users

Gráficos en pocas líneas

diag dsl bar diag dsl line diag dsl pie diag dsl whiskers

El mismo DSL, impreso en PDF

new UiPrintableSpecifier().ui {
    printableHeader '2.5cm', {
        show userHeader, Width.THIRD
    }
    printableBody {
        show userShow, Width.MAX
        table userTable, Width.MAX
        diagram barChart, Width.MAX
    }
}
slideshow pdf sample

Todo incluido


Búsqueda de texto completo


Vistas previas de archivos


JDBC sobre su modelo


SSH y SFTP

Pruébelo en vivo

Cada página de DSL de la documentación abre sus ejemplos en una ventana modal

Docs › DSLs ▶ Pruébelo en vivo

Cree su propia intranet usando un DSL (sin HTML ni JavaScript)

Taack-UI es un plugin de Grails que amplía Grails describiendo interfaces de usuario mediante un DSL de Groovy (Domain Specific Language) con tipado estático.

Instalar

Configure Java, Grails y su primer servidor Taack.

Primera aplicación

Paso a paso: una tabla, un formulario, un filtro, un menú.

Probar los DSL

Cada página de DSL abre sus ejemplos en vivo, en una ventana modal.

Última versión: 0.7.11 (con 0.7.10): nuevos temas seleccionables desde el menú de configuración y un guardado rediseñado que evita el binding. Todas las noticias →

Del código a la pantalla

Un formulario ocupa unas pocas líneas de Groovy. Los campos son símbolos generados a partir de su clase (username_), por lo que el compilador los verifica; las restricciones se convierten en mensajes de error localizados.

def form() {
    DslSampleUser u = new DslSampleUser()
    taackUiService.show(new UiBlockSpecifier().ui {
        modal {
            form createForm(u, {
                row {
                    col {
                        section 'User', {
                            field u.username_
                            field u.firstName_
                            field u.lastName_
                        }
                    }
                    col {
                        section 'Details', {
                            field u.age_
                            field u.birthday_
                            field u.city_
                            field u.status_
                            field u.enabled_
                        }
                    }
                }
                formAction this.&saveForm as MC
            })
        }
    })
}
Form with validation errors

Características

Seguridad por campo

Los objetos se muestran y editan según los permisos del usuario en cada campo. Los enlaces y acciones de formulario que el usuario no puede ejecutar se ocultan automáticamente.

Un DSL, todas las salidas

La misma descripción se renderiza en HTML, PDF, correos electrónicos y CSV.

Localizado y validado

Las etiquetas provienen de archivos i18n y los errores de validación se localizan sin código adicional.

Filtrar, ordenar, paginar

Tablas y filtros sin escribir consultas ni mantener datos de sesión.

Búsqueda de texto completo

Indexación con Solr de objetos de dominio con tipado estático, con facetas y clasificación. Las vistas previas de archivos se pueden ampliar.

JDBC sobre su modelo

Consulte objetos de dominio con TQL (Taack Query Language) desde IntelliJ, DBeaver o LibreOffice Base.

SSH y SFTP

Una interfaz de consola ejecutándose dentro del proceso del servidor y un sistema de archivos virtual por usuario, con verificación de credenciales (módulo taack-ui-ssh).

Servidor Git

La aplicación Intercom sirve Git sobre SSH: la documentación escrita en AsciiDoc se envía mediante push y luego se renderiza.

¿Por qué Taack?

Taack Grails con GSP Front-end en JavaScript

UI escrita en

DSL de Groovy, con tipado estático

Plantillas GSP, HTML, CSS

JavaScript o TypeScript, más una API REST

Nombres de campos verificados

En tiempo de compilación

En tiempo de ejecución

Depende del contrato de la API

Permisos por campo y acción

Integrados, enlaces ocultados automáticamente

Escritos a mano

Escritos a mano, en ambos lados

PDF, CSV, Correos

El mismo DSL que en pantalla

Código separado

Código separado

Lenguajes necesarios

Groovy

Groovy, HTML, CSS, JavaScript

Groovy o Java, JavaScript, HTML, CSS

Creado con Taack

Crew

Crew: usuarios, roles y jerarquía.

FreeCAD PLM

FreeCAD PLM: uso compartido de modelos FreeCAD y control de versiones lineal.

Intercom

Intercom: servidor SSH y Git, documentación en AsciiDoc publicada mediante Git.

Viewers

Viewers: conversión y vista previa de archivos, como modelos STEP.

Collabora Editor

Collabora Editor: edición en línea de archivos adjuntos de oficina con Collabora.

SSH y SFTP

screenshot ssh
Figure 1. Sesión de servidor SSH
screenshot sftp
Figure 2. Explorador de archivos SFTP