Erstellen Sie Ihr Intranet in Groovy

Typisierte DSLs für Grails: kein HTML, kein JavaScript

HTML PDF CSV Mail

Beschreiben statt Templates schreiben

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

Zur Kompilierzeit geprüft

  • field_-Symbole werden aus Ihren Klassen generiert

  • Beim Umbenennen eines Feldes findet der Compiler jede Ansicht

  • Validierungsfehler sind ohne Zusatzaufwand lokalisiert

slideshow crew form validation

Tabellen, Filter, Paginierung

slideshow crew users

Diagramme in wenigen Zeilen

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

Dieselbe DSL, als PDF gedruckt

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

Alles inklusive


Volltextsuche


Dateivorschauen


JDBC auf Ihrem Modell


SSH & SFTP

Live ausprobieren

Jede DSL-Seite der Dokumentation öffnet ihre Beispiele in einem modalen Fenster

Docs › DSLs ▶ Live ausprobieren

Erstellen Sie Ihr eigenes Intranet mit einer DSL (ohne HTML oder JavaScript)

Taack-UI ist ein Grails-Plugin, das Grails erweitert, indem Benutzeroberflächen mit einer statisch typisierten Groovy DSL (Domain Specific Language) beschrieben werden.

Installation

Richten Sie Java, Grails und Ihren ersten Taack-Server ein.

Erste Anwendung

Schritt für Schritt: eine Tabelle, ein Formular, ein Filter, ein Menü.

DSLs ausprobieren

Jede DSL-Seite öffnet ihre Beispiele direkt in einem modalen Fenster.

Aktuell: Version 0.7.11 (mit 0.7.10): neue Themes, auswählbar über das Einstellungsmenü, sowie eine überarbeitete Speicherfunktion ohne Data Binding. Alle Neuigkeiten →

Vom Code zum Bildschirm

Ein Formular besteht aus wenigen Zeilen Groovy. Felder sind Symbole, die aus Ihrer Klasse generiert werden (username_), sodass der Compiler sie prüft; Constraints werden zu lokalisierten Fehlermeldungen.

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

Funktionen

Sicherheit pro Feld

Objekte werden entsprechend den Benutzerrechten für jedes Feld angezeigt und bearbeitet. Links und Formularaktionen, die der Benutzer nicht ausführen darf, werden automatisch ausgeblendet.

Eine DSL, jedes Ausgabeformat

Dieselbe Beschreibung rendert HTML, PDF, E-Mails und CSV.

Lokalisiert und validiert

Beschriftungen stammen aus i18n-Dateien, Validierungsfehler werden ohne zusätzlichen Code lokalisiert.

Filtern, sortieren, paginieren

Tabellen und Filter ohne das Schreiben von Abfragen oder das Vorhalten von Sitzungsdaten.

Volltextsuche

Solr-Indizierung statisch typisierter Domänenobjekte mit Facettierung und Ranking. Dateivorschauen sind erweiterbar.

JDBC auf Ihrem Modell

Fragen Sie Domänenobjekte mit TQL (Taack Query Language) aus IntelliJ, DBeaver oder LibreOffice Base ab.

SSH & SFTP

Eine Shell-Benutzeroberfläche im Serverprozess und ein virtuelles Dateisystem pro Benutzer mit Berechtigungsprüfung (Modul taack-ui-ssh).

Git-Server

Die Intercom-Anwendung stellt Git über SSH bereit: In AsciiDoc geschriebene Dokumentation wird per Push übertragen und anschließend gerendert.

Warum Taack?

Taack Grails mit GSP JavaScript-Frontend

UI geschrieben in

Groovy DSL, statisch typisiert

GSP-Templates, HTML, CSS

JavaScript oder TypeScript, plus REST-API

Feldnamen geprüft

Zur Kompilierzeit

Zur Laufzeit

Abhängig vom API-Vertrag

Rechte pro Feld und Aktion

Integriert, Links automatisch ausgeblendet

Manuell programmiert

Manuell programmiert, auf beiden Seiten

PDF, CSV, E-Mails

Dieselbe DSL wie für den Bildschirm

Separater Code

Separater Code

Erforderliche Sprachen

Groovy

Groovy, HTML, CSS, JavaScript

Groovy oder Java, JavaScript, HTML, CSS

Mit Taack erstellt

Crew

Crew: Benutzer, Rollen und Hierarchie.

FreeCAD PLM

FreeCAD PLM: Austausch und lineare Versionierung von FreeCAD-Modellen.

Intercom

Intercom: SSH- und Git-Server, über Git bereitgestellte AsciiDoc-Dokumentation.

Viewers

Viewers: Konvertierung und Vorschau von Dateien, wie z. B. STEP-Modellen.

Collabora Editor

Collabora Editor: Office-Anhänge online mit Collabora bearbeiten.

SSH & SFTP

screenshot ssh
Figure 1. SSH-Serversitzung
screenshot sftp
Figure 2. SFTP-Dateibrowser