new UiFormSpecifier().ui user, {
section "User", {
field user.username_
field user.firstName_
field user.lastName_
ajaxField user.manager_, this.&selectUserM2O
field user.password_
}
// [ . . . ]
}
Taack-UI est une extension de Grails, permettant de décrire l’interface utilisateur et la sécurité d’une application Grails via des DSL Groovy statiquement typées.
Cette extension ajoute les fonctionnalités suivantes par rapport à Grails :
-
Sécurité :
-
Edition et affichage des champs de données des objets, en respectant les droits imposés à l’utilisateur ;
-
Gestion du masquage des actions et des liens, accessibles à l’utilisateur, sans duplication de code ;
-
Le listage des données accessibles à l’utilisateur uniquement (modulo la recherche Solr qui présente un extrait des données) ;
-
-
PDF, Mails, CSV, autres, peuvent être composés par le mème code ;
-
Traductions des libéllés : les DSL détectent les clés des libéllés et utilisent la bonne traduction ;
-
Reporting errors during Object validation for free (refer to form validation);
-
Le support de Solr pour la recherche textuelle :
-
Recherche et indexation textuelle des objets ;
-
Faceting
-
Ranking
-
-
Le filtrage, la pagination et le triage des données sans avoir besoin de composer des requêtes ou maintenir des données en session ;
-
Gestion des aperçus de fichiers extensibles (accessible plus tard, la prévisualisation des fichiers STEP, DWG et autres en plus des formats bureautiques communs)
-
Driver JDBC, permettant le requêtage d’objet via le langage TQL (Taack Query Language) limitant la portée de la requête aux objets autorisés. Utilisable avec DBeaver, Intellij ou LibreOffice Base, comme une base de données classique.
-
Partage de fichier (expérimental) via Ssh
-
Système de fichier virtuel par utilisateur composé par le serveur d’application via SFTP (voir Sftp file browser)
-
Par exemple le répertoire /<username>/crew/pictures contient les photos des utilisateurs du système, bien que le stockage des photos sur le disque dur n’ait pas cet agencement
-
Le fichier /<username>/crew/users.csv contient les données des utilisateurs actifs du système, bien que ce fichier ne soit généré qu’au moment de l’accès et soit non stocké ;
-
-
Accès à une partie du système de fichiers réels du serveur pour créer des espaces d’échange rapide ;
-
-
Shell (expérimental) via ssh permettant de définir des interfaces graphiques s’exécutant entièrement sur le serveur (voir Ssh server session)