User Interface DSL

DSL (Domain Specific Language)

Advantages

  • More expressive

  • Static check at compile time

  • No JavaScript / HTML Needed

Forms

        new UiFormSpecifier().ui user, {
            section "User", {
                field user.username_
                field user.firstName_
                field user.lastName_
                ajaxField user.manager_, this.&selectUserM2O
                field user.trigram_
                field user.password_
            }
        // [ . . . ]
        }

Graphical Components

  • Table

  • Filter

  • Form

  • Show

  • Charts

Extend components

  • File Previews

  • Full Text Search

  • JDBC driver to Query Model


Taack-UI is a plugin extending Grails by allowing to describe user interface and other features by using Groovy DSL (Domain Specific Language) statically typed.

This extension add the following functionalities to classical Grails Application:

  • Security:

    • Transforming and displaying objects by checking user right to modify each field;

    • links and form actions are automatically masked if user is not allowed to process the action with given parameters;

    • Limit object listing user is allowed to see (excepts for fulltext search ATM);

  • PDF, Mails, CSV rendered for free. The block DSL can be used for any kind of rendering;

  • Localization for free: DSLs detect i18n translations automatically;

  • Reporting errors when validating an Object for free (See form validation);

  • Solr for fulltext search:

    • Indexing and fulltext Search of domain objects statically typed;

    • Faceting;

    • Ranking;

  • Filtering, paginate and sorting data without queries and session data;

  • File previews can be extended;

  • JDBC Driver to query Domain Objects using TQL (Taack Query Language) from Intellij, LibreOffice Base or DBeaver, as a classical datasource (See Taack JDBC Driver);

  • File sharing via SFTP (Available soon):

    • Virtual File System for each user (see Sftp file browser);

    • Direct access to parts of the server storage for fast sharing, checking user credentials;

  • Git server to manage user documentation (Available soon)

  • Ssh support accessible (Available soon), running shell UI directly within the server process (see Ssh server session);

screenshot ssh
Figure 1. Ssh server session
screenshot sftp
Figure 2. Sftp file browser