Crea la tua intranet in Groovy

DSL tipizzati per Grails: niente HTML, niente JavaScript

HTML PDF CSV Mail

Descrivi, non usare template

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

Verificato in fase di compilazione

  • Simboli field_ generati dalle tue classi

  • Rinomina un campo e il compilatore trova ogni schermata

  • Errori di validazione localizzati gratuitamente

slideshow crew form validation

Tabelle, filtri, paginazione

slideshow crew users

Grafici in poche righe

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

Lo stesso DSL, stampato in 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

Tutto incluso


Ricerca full-text


Anteprime dei file


JDBC sul tuo modello


SSH e SFTP

Provalo dal vivo

Ogni pagina DSL della documentazione apre i propri esempi in una finestra modale

Docs › DSLs ▶ Provalo dal vivo

Crea la tua intranet usando un DSL (senza HTML o JavaScript)

Taack-UI è un plugin per Grails che estende Grails descrivendo le interfacce utente tramite un DSL Groovy (Domain Specific Language) tipizzato staticamente.

Installa

Configura Java, Grails e il tuo primo server Taack.

Prima applicazione

Passo dopo passo: una tabella, un modulo, un filtro, un menu.

Prova i DSL

Ogni pagina DSL apre i propri esempi dal vivo, in una finestra modale.

Ultima versione: 0.7.11 (con 0.7.10): nuovi temi selezionabili dal menu delle impostazioni e un salvataggio riprogettato che evita il binding. Tutte le novità →

Dal codice allo schermo

Un modulo richiede poche righe di Groovy. I campi sono simboli generati dalla tua classe (username_), quindi il compilatore li controlla; i vincoli diventano messaggi di errore localizzati.

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

Funzionalità

Sicurezza per singolo campo

Gli oggetti vengono visualizzati e modificati in base ai permessi dell’utente su ogni campo. I link e le azioni dei moduli che l’utente non può eseguire vengono nascosti automaticamente.

Un solo DSL, ogni formato di output

La stessa descrizione genera HTML, PDF, email e CSV.

Localizzato e validato

Le etichette provengono dai file i18n e gli errori di validazione vengono localizzati senza codice aggiuntivo.

Filtra, ordina, impagina

Tabelle e filtri senza scrivere query né mantenere dati in sessione.

Ricerca full-text

Indicizzazione Solr di oggetti di dominio tipizzati staticamente, con faceting e ranking. Le anteprime dei file sono estendibili.

JDBC sul tuo modello

Interroga gli oggetti di dominio con TQL (Taack Query Language) da IntelliJ, DBeaver o LibreOffice Base.

SSH e SFTP

Un’interfaccia shell in esecuzione nel processo del server e un file system virtuale per utente, con verifica delle credenziali (modulo taack-ui-ssh).

Server Git

L’applicazione Intercom fornisce Git su SSH: la documentazione scritta in AsciiDoc viene inviata tramite push e quindi renderizzata.

Perché Taack?

Taack Grails con GSP Front-end JavaScript

UI scritta in

DSL Groovy, tipizzato staticamente

Template GSP, HTML, CSS

JavaScript o TypeScript, più un’API REST

Nomi dei campi verificati

In fase di compilazione

A runtime

Dipende dal contratto dell’API

Permessi per campo e azione

Integrati, link nascosti automaticamente

Scritti manualmente

Scritti manualmente, su entrambi i lati

PDF, CSV, Email

Lo stesso DSL dello schermo

Codice separato

Codice separato

Linguaggi da conoscere

Groovy

Groovy, HTML, CSS, JavaScript

Groovy o Java, JavaScript, HTML, CSS

Realizzato con Taack

Crew

Crew: utenti, ruoli e gerarchia.

FreeCAD PLM

FreeCAD PLM: condivisione di modelli FreeCAD e versionamento lineare.

Intercom

Intercom: server SSH e Git, documentazione AsciiDoc pubblicata tramite Git.

Viewers

Viewers: conversione e anteprima di file, come i modelli STEP.

Collabora Editor

Collabora Editor: modifica online di allegati da ufficio con Collabora.

SSH e SFTP

screenshot ssh
Figure 1. Sessione del server SSH
screenshot sftp
Figure 2. File browser SFTP