Version 1.2
- Droits du producteur d’une vue sur les sources
- Choix de la cible de la fonction de diagnostic
- Privilèges attribués «
WITH GRANT OPTION
» - Adaptation aux évolutions d’AsgardMenu
- Adaptation aux évolutions d’AsgardManager
- Import de données
- Détection des dépendances dans d’autres bases par la fonction de ré-affection/suppression des droits
- Présentation de la « gamme ASGARD » dans la documentation
- Distribution automatique des scripts d’ASGARD sur les serveurs EOLE/PostgreSQL
- Corrections d’anomalies et divers
Droits du producteur d’une vue sur les sources⚓
Dans la documentation, ajout de la partie Cas particulier des vues et vues matérialisées et d’un paragraphe dans la présentation du rôle g_consult
pour évoquer la question des droits à attribuer lors de la création d’une vue, notamment les droits du producteur du schéma de la vue sur les données sources. Ceux-ci ne sont pas gérés automatiquement par ASGARD, car ils requièrent un choix de la part de l’administrateur.
La fonction de diagnostic asgard_diagnostic
identifie désormais comme anomalies les cas de vues, matérialisées ou non, dont le propriétaire (producteur du schéma) n’est pas au moins lecteur sur les schémas contenant les sources.
De plus, lors de la création d’une vue ou vue matérialisée par l’éditeur de requêtes, l’utilisateur d’ASGARD sera désormais averti par un message si le producteur ne dispose pas des droits nécessaires sur les données sources.
Merci à Dominique Choquet (DDTM 40) pour son retour.
Choix de la cible de la fonction de diagnostic⚓
La fonction de diagnostic peut désormais être appliquée à une liste restreinte de schémas.
Privilèges attribués « WITH GRANT OPTION
»⚓
La fonction de diagnostic signale désormais comme anomalies non critiques les privilèges attribués WITH GRANT OPTION
.
Plus généralement, la partie Compatibilité avec les mécanismes usuels de gestion des droits de la documentation revient maintenant sur l’usage des différents mécanismes de gestion des droits dans le contexte d’une base asgardisée : privilèges définis manuellement avec GRANT
/REVOKE
, WITH GRANT OPTION
, privilèges par défaut, WITH ADMIN OPTION
et NOHINERIT
.
Sur une autre note, g_admin
reçoit désormais le privilège CREATE WITH GRANT OPTION
– et plus simplement CREATE
– sur les bases où ASGARD est installé, afin qu’il puisse déléguer ce privilège à d’autres rôles même s’il n’est pas propriétaire de la base (qui appartient souvent à un super-utilisateur).
Adaptation aux évolutions d’AsgardMenu⚓
Depuis la version 0.1.2, le plugin QGIS AsgardMenu ne requiert plus ni la vue qgis_menubuilder_metadata
, ni la table asgard_parametre
. Toutes deux disparaissent en conséquence dans la présente version de l’extension PostgreSQL ASGARD.
La vue asgardmenu_metadata
a été amendée pour fournir les informations sur les droits de l’utilisateur qui permettent l’usage d’icônes différentes dans le menu lorsque l’utilisateur est producteur ou éditeur du schéma contenant les données.
En parallèle, la vue asgardmenu_metadata
a été fortement simplifiée – les jointures avec les tables pg_class
(table système de PostgreSQL contenant les informations relatives aux tables et vues) et geometry_columns
(table de l’extension PostGIS contenant les informations relatives aux champs de géométrie) sont reportées dans le code d’AsgardMenu – afin qu’à l’avenir les évolutions du plugin ne soient plus systématiquement conditionnées par des évolutions de l’extension ASGARD PostgreSQL.
Suite à ce changement, l’extension PostgreSQL ASGARD n’est plus dépendante de l’extension PostGIS. Cette dernière a donc été retirée de la liste des extensions requises spécifiée dans le fichier asgard.control
. À noter qu’AsgardMenu reste, lui, dépendant de PostGIS et renverra un message d’erreur s’il est activé sur une base où l’extension PostGIS n’est pas installée.
La documentation tient compte de ces modifications. Elle a également été actualisée pour intégrer les fonctionnalités nouvelles apportées par les dernières versions d’AsgardMenu.
Attention :
ASGARD 1.2.1 n’est plus compatible avec les versions d’AsgardMenu antérieures à la 0.2.0.
Adaptation aux évolutions d’AsgardManager⚓
Ajout de la vue asgardmanager_metadata
, qui met à disposition les données de gestion_schema
nécessaires au fonctionnement du plugin QGIS AsgardManager.
Import de données⚓
La documentation a été enrichie d’un passage sur l'import de données, qui explique notamment comment procéder avec les scripts SQL qui contiennent des commandes de création de schémas.
Merci à Dominique Choquet (DDTM 40) pour son retour.
Détection des dépendances dans d’autres bases par la fonction de ré-affection/suppression des droits⚓
La fonction asgard_reaffecte_role
retourne désormais la liste des bases dans lesquelles le rôle a encore des droits. Ceci pourra notamment être utile en cas de préparation de la suppression d’un rôle, pour identifier rapidement toutes les bases sur lesquelles la fonction asgard_reaffecte_role
devra être lancée.
Présentation de la « gamme ASGARD » dans la documentation⚓
La documentation d’ASGARD prend désormais en compte l’existence d’AsgardManager. L’introduction a été largement retravaillée et complétée pour une présentation plus claire de ces trois outils.
Distribution automatique des scripts d’ASGARD sur les serveurs EOLE/PostgreSQL⚓
La version 1.2 sera la première à être distribuée automatiquement sur les serveurs de l’offre EOLE/PostgreSQL MTE-MCTRCT-Mer. Ainsi, l’installation ou la mise à jour sur ces serveurs ne nécessitera plus d’intervention de l’administrateur système.
La partie relative à l'installation de l'extension a été ré-écrite en conséquence. À titre informatif, elle comprend un descriptif des options de paramétrage des serveurs EOLE relatives à ASGARD.
Merci à Philippe Loustaunau (MTE-MCTRCT-Mer/SG/SNUM) et à l’équipe du pôle produits serveurs du SNUM pour la mise en place du processus de synchronisation.
Corrections d’anomalies et divers⚓
Correctif de robustesse sur la (non) détection par la fonction asgard_admin_proprietaire
des types générés automatiquement par PostgreSQL. Dans le même esprit, asgard_diagnostic
ne signale plus les anomalies sur les types générés automatiquement et le paragraphe de la documentation expliquant comment réagir face à ces anomalies a été supprimé.
Correction d’une anomalie sur asgard_synthese_role
et asgard_synthese_role_obj
, qui entraînait la production de requêtes invalides pour les types array
.
Dans asgard_diagnostic
, suppression des appels à la fonction parse_ident
, qui n’existe pas sous PostrgreSQL 9.5. Cela a nécessité la création d’une petite fonction supplémentaire, asgard_parse_relident
. Merci à Didier Leclerc (MTE-MCTRCT-Mer/SG/SNUM) pour son signalement.
Correction d’une anomalie qui faisait échouer la fonction asgard_diagnostic
sous PostgreSQL 9.5 (valeur de type indéfini renvoyée dans le résultat de la fonction).
Correction d’une anomalie qui faisait échouer les fonctions asgard_deplace_obj
et asgard_initialise_obj
lorsqu’elles étaient appliquées à un type sous PostgreSQL 9.5 (valeur de type indéfini dans le résultat d’une requête).
Mise en compatibilité et exécution de la recette sous PostgreSQL 9.5 et 13 (initialement écrite pour PostgreSQL 10).
Ajout dans la documentation d’une partie décrivant très brièvement la mécanique interne d’ASGARD.