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 Grails plugin that extends the functionality of Grails by allowing the description of user interface and other features using the Groovy DSL (Domain Specific Language) with static typing.

This extension add the following functionalities to classical Grails Application:

  • Security:

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

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

    • Limiting object listing that the user is allowed to see (except for full-text search at the moment);

  • PDF, Mails, CSV are rendered for free. The block DSL can be used for rendering in any format;

  • Localization is provided for free as the DSL detect i18n translations automatically;

  • Reporting errors during Object validation for free (refer to form validation);

  • Solr is utilized for fulltext search offering features such as:

    • 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) provides:

    • Virtual File System for each user along with an SFTP file browser (see Sftp file browser);

    • Direct access to parts of the server storage for fast and efficient sharing while ensuring user credentials are checked;

  • Git server to manage user documentation (Available soon)

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

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