Redmine qgis: Demandeshttp://qgis.redmine.ac.cs/http://qgis.redmine.ac.cs/favicon.ico?17030915312021-02-04T07:21:59ZRedmine qgis
Redmine ASGARD - Anomalie #396 (Nouveau): Rôle de connexion g_admin existant à l'installation d'Asgardhttp://qgis.redmine.ac.cs/issues/3962021-02-04T07:21:59ZPhilippe Loustaunau
<p>Lorsque qu'un rôle de connexion g_admin existe préalablement à l'installation d'Asgard (attribut LOGIN), le script s'installe sans informer ou arbitrairement modifier le rôle (passage de l'attribut à NOLOGIN). Or, le rôle de groupe g_admin est destiné à être propriétaire du schéma z_asgard_admin et est le propriétaire par défaut des schémas de la nomenclature.<br />C'est en opposition avec la règle Asgard qu'un rôle de connexion ne puisse devenir propriétaire d'un schéma.</p>
<p>Issues:<br />- documenter ce cas de figure en donnant la syntaxe au gestionnaire de la base ALTER ROLE g_admin WITH nologin;<br />- à minima, mettre une notice ou warning lors de l'exécution du script s'il existe un rôle g_admin avec l'attribut LOGIN<br />- être radical en forçant le passage du rôle de connexion en rôle de groupe ??</p> ASGARD - Assistance #395 (Nouveau): Sauvegarde ou import/export d'Asgardhttp://qgis.redmine.ac.cs/issues/3952021-01-19T13:44:45ZThierry Gaillard
<p>Bonjour,</p>
<p>du fait des nombreux contrôles pour maintenir l'intégrité du schéma Asgard et de l'enregistrement dans la table <code>gestion_schema</code> de différents oid, qu'elles sont les préconisations ou méthode pour une sauvegarde/backup de cette table.<br />Il y a aussi le cas où on fait un backup de différents schémas pour le restaurer dans une base locale (ce qui a été souvent le cas depuis que l'on est en télétravail).<br />je n'est pas trouvé d'autres moyens que de faire un .sql spécifique.<br />Merci d'avance pour votre aide.</p> ASGARD - Anomalie #393 (Nouveau): Non affichage de ressources avec AsgardMenuhttp://qgis.redmine.ac.cs/issues/3932021-01-05T10:33:24Zalain ferraton
<p>Pb soulevé par Gilles Ribeyre DTT07. Le pb qui initialement semble concerner AsgardMenu est décrit ici car la solution concerne Asgard.</p>
<p>extrait message initial : 'La première base que j'ai déclaré dans le menu de configuration (dv3f) remonte impeccable. Les autres ne remontent pas (dans le menu)'.<br />Après échanges de message Gilles Ribeyre indique avoir trouvé la solution :</p>
<p>extrait message : 'Je vous envois ce petit mail pour vous décrire la solution à mon problème.<br />En fait, l'origine était l'exécution incorrecte de la fonction : SELECT z_asgard_admin.asgard_initialisation_gestion_schema() ;<br />La table z_asgard_admin.gestion_schema restait vide.<br />Le problème initial était le fait que le propriétaire de plusieurs schémas était un rôle de connexion.<br />Après avoir remplacé ce rôle par 'postgres', tout est rentré dans l'ordre.'</p>
<p>-> Peut-être vérifier que si le propriétaire de schéma existant est un rôle de connexion, çà pose pb (ou pas) à l'initialisation de gestion_schema.</p> QGIS - Anomalie #392 (Nouveau): Erreur lors de l'affectation de membres vers des groupeshttp://qgis.redmine.ac.cs/issues/3922020-12-22T12:29:51ZAurelien Andrieu
<p>Bonjour,<br />J'ai un problème pour intégrer un membre déjà existant dans d'autres groupes. J'ai ce message d'erreur lorsque je clique sur appliquer.<br />L'affectation ne marche sur aucun compte utilisateur.<br />Je me connecte sur ASGARD Manager avec un profil g_admin<br />Merci.</p>
<p>Bonne journée.<br />Aurélien ANDRIEU</p> ASGARD - Anomalie #390 (Résolu): La création de l'extension est impossible si le nom de la base c...http://qgis.redmine.ac.cs/issues/3902020-11-26T12:56:22Zalain ferraton
<p>Signalé par <br />Gilles Ribeyre<br />DDT Ardèche<br />Service Urbanisme et Territoire<br />Unité Connaissance Territoriale<br />2 Place des Mobiles<br />07006 Privas<br />tel : 04 75 65 50 36</p>
<p>Sur une base SIG, Create extension asgard renvoi 'la base de données "sig" n'existe pas</p> AsgardMenu - Evolution #382 (Nouveau): ? pouvoir définir des profils par filtre de schémahttp://qgis.redmine.ac.cs/issues/3822020-11-09T07:52:16Zalain ferraton
<p>Le temps de chargement de AsgardMenu peut être long sur un gros patrimoine de données.<br />Une idée suggérée par Michel Zevort, ré-introduire une possibilité de filtrage par domaine (route, habitat,...) ce qui limiterait la taille du menu à charger.<br />A voir si une possibilité de filtrage par schéma serait satisfaisante. Voir également comment serait stocké ces profils (plutôt table dans postgreSQL que dans QGIS3.ini).</p> AsgardMenu - Anomalie #375 (Nouveau): La position du dock widget est réinitialisée si on recharge...http://qgis.redmine.ac.cs/issues/3752020-10-21T12:30:18Zalain ferraton
<p>Si l'utilisateur a modifié la position du dock widget, en cas de rechargement des menus, la position est réinitialisée.</p> AsgardMenu - Anomalie #369 (Nouveau): [AsgardMenu 0.1.7] Erreur sur le rafraîchissementhttp://qgis.redmine.ac.cs/issues/3692020-10-12T16:07:35ZLeslie Lemaire
<p>Bonsoir Alain,</p>
<p>Je viens d'avoir l'erreur python suivante sur ma première tentative de rafraîchissement du menu :</p>
<pre>
2020-10-12T17:56:26 WARNING Traceback (most recent call last):
File "C:/Users/leslie.lemaire/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\AsgardMenu\asgard_menu.py", line 120, in reload_menu
self.dlg.restore_session()
File "C:/Users/leslie.lemaire/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\AsgardMenu\asgard_menu_dialog.py", line 733, in restore_session
self.show_dock(bool(dock))
File "C:/Users/leslie.lemaire/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\AsgardMenu\asgard_menu_dialog.py", line 159, in show_dock
self.update_model(self.dock_model)
File "C:/Users/leslie.lemaire/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\AsgardMenu\asgard_menu_dialog.py", line 464, in update_model
for name, profile, model_index, comment, layername, end_datasource_uri, relkind, typegeom, permission, connection, attkey, attfirst in self.sortby_modelindex(rows):
File "C:/Users/leslie.lemaire/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\AsgardMenu\asgard_menu_dialog.py", line 352, in sortby_modelindex
key=lambda line: '/'.join(
File "C:/Users/leslie.lemaire/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\AsgardMenu\asgard_menu_dialog.py", line 353, in
['{:04}'.format(elem[0]) for elem in json.loads(line[2])]
File "C:\PROGRA~1\QGIS 3.10\apps\Python37\lib\json\__init__.py", line 348, in loads
return _default_decoder.decode(s)
File "C:\PROGRA~1\QGIS 3.10\apps\Python37\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\PROGRA~1\QGIS 3.10\apps\Python37\lib\json\decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 56 (char 55)
</pre> AsgardManager - Evolution #360 (Nouveau): Gestion des profils d'utilisateurshttp://qgis.redmine.ac.cs/issues/3602020-09-24T16:29:33ZLeslie Lemaire
<p>Aujourd'hui, AsgardManager n'est ouvert qu'aux membres de g_admin, mais il devrait être ouvert bien plus largement.</p>
<p>Pour mémoire, je dépoussière ci-après un vieux mél remontant au 26/06. Les profils décrits sont additifs. Dès qu'un utilisateur remplit les conditions d'un profil, il accède aux fonctionnalités associés. Certains profils ont aussi pour effet de lever les restrictions auxquelles sont soumis les autres.</p>
<a name="Profil-utilisateur"></a>
<h1 >Profil "utilisateur"<a href="#Profil-utilisateur" class="wiki-anchor">¶</a></h1>
<p><strong>Condition :</strong> /.</p>
<p><strong>Gestion des schémas :</strong> /.</p>
<p><strong>Gestion des rôles :</strong> <br />- peut modifier son mot de passe de manière sécurisée, par exemple en utilisant la commande \password de psql ;<br />- peut visualiser les rôles de groupe dont son rôle de connexion est membre et la liste des schémas pour lesquels il est lecteur/éditeur/producteur.</p>
<a name="Profil-producteur"></a>
<h1 >Profil "producteur"<a href="#Profil-producteur" class="wiki-anchor">¶</a></h1>
<p><strong>Condition :</strong> la vue z_asgard.gestion_schema_usr n'est pas vide.</p>
<p><strong>Gestion des schémas :</strong><br />- voit l'onglet Schémas, mais seulement la partie du treeview relative aux schémas référencés ;<br />- peut déplacer un objet, réinitialiser les droits sur un objet, réinitialiser les droits sur un schéma.</p>
<p><strong>Gestion des rôles :</strong> /.</p>
<a name="Profil-producteur-2"></a>
<h1 >Profil "producteur+"<a href="#Profil-producteur-2" class="wiki-anchor">¶</a></h1>
<p><strong>Condition :</strong> membre de l'éditeur de z_asgard.</p>
<p><strong>Gestion des schémas :</strong><br />- pour les schémas actifs, peut mettre à jour les champs lecteur, editeur, niv1, niv1_abr, niv2, niv2_abr via le formulaire (sous réserve des limitations pour les schémas de la nomenclature) ;<br />- pour les schémas inactifs, peut mettre à jour tous les champs du formulaire sauf nomenclature et creation (sous réserve des limitations pour les schémas de la nomenclature) ;<br />- peut mettre un schéma actif à la corbeille, mais pas le supprimer ;<br />- peut effacer un schéma non actif.</p>
<p><strong>Gestion des rôles :</strong> voit en lecture seule la partie du treeview relative aux rôles de groupes (histoire qu'il puisse voir qui il est en train de désigner comme lecteur ou éditeur sur ses schémas).</p>
<a name="Profil-créateur"></a>
<h1 >Profil "créateur"<a href="#Profil-créateur" class="wiki-anchor">¶</a></h1>
<p><strong>Condition :</strong> privilège CREATE sur la base + membre de l'éditeur de z_asgard.</p>
<p><strong>Gestion des schémas :</strong><br />- peut mettre à jour tous les champs du formulaire sauf limitations sur les schémas de la nomenclature ;<br />- peut créer de nouveaux schémas (actifs ou inactifs) ;<br />- peut supprimer les schémas de la corbeille.</p>
<p><strong>Gestion des rôles :</strong> /.</p>
<a name="Profil-gestionnaire-des-rôles"></a>
<h1 >Profil "gestionnaire des rôles"<a href="#Profil-gestionnaire-des-rôles" class="wiki-anchor">¶</a></h1>
<p><strong>Condition :</strong> attribut CREATEROLE ou membre d'un rôle qui l'a.</p>
<p><strong>Gestion des schémas :</strong> /.</p>
<p><strong>Gestion des rôles :</strong> toutes les actions sans restriction.</p>
<a name="Profil-administrateur"></a>
<h1 >Profil "administrateur"<a href="#Profil-administrateur" class="wiki-anchor">¶</a></h1>
<p><strong>Condition :</strong> membre de g_admin.</p>
<p><strong>Gestion des schémas :</strong> toutes les actions sans restriction.</p>
<p><strong>Gestion des rôles :</strong> toutes les actions sans restriction.</p> ASGARD - Anomalie #342 (Nouveau): Caractères % dans les noms d'objets et = dans les noms de rôleshttp://qgis.redmine.ac.cs/issues/3422020-09-16T09:38:52ZLeslie Lemaire
<p><strong>DIAGNOSTIC</strong></p>
<p>La présence de % dans les noms de schémas, rôles ou tout autre objet susceptible d'apparaître dans une requête GRANT/REVOKE est incompatible avec l'usage de la fonction <em>format</em> de PostgreSQL utilisée par ASGARD (notamment) pour générer lesdites requêtes GRANT/REVOKE.</p>
<p>Provoque des erreurs du type :</p>
<pre><code class="sql syntaxhl"><span class="k">CREATE</span> <span class="k">SCHEMA</span> <span class="nv">"a_%test"</span> <span class="p">;</span>
<span class="k">UPDATE</span> <span class="n">z_asgard</span><span class="p">.</span><span class="n">gestion_schema_usr</span>
<span class="k">SET</span> <span class="n">lecteur</span> <span class="o">=</span> <span class="s1">'g_consult'</span>
<span class="k">WHERE</span> <span class="n">nom_schema</span> <span class="o">=</span> <span class="s1">'a_%test'</span> <span class="p">;</span>
<span class="c1">-- pas de problème, car il n'y avait pas encore de</span>
<span class="c1">-- lecteur, donc ce sont les droits par défaut qui</span>
<span class="c1">-- sont appliqués et ils ne nécessitent pas format</span>
<span class="k">UPDATE</span> <span class="n">z_asgard</span><span class="p">.</span><span class="n">gestion_schema_usr</span>
<span class="k">SET</span> <span class="n">lecteur</span> <span class="o">=</span> <span class="s1">'public'</span>
<span class="k">WHERE</span> <span class="n">nom_schema</span> <span class="o">=</span> <span class="s1">'a_%test'</span> <span class="p">;</span>
</code></pre>
<pre>
ERREUR : ERREUR: TA0 > spécificateur de type « t » pour format() non reconnu
DETAIL:
HINT: Pour un unique "%" utilisez "%%".
CONTEXT: fonction PL/pgsql z_asgard_admin.asgard_on_modify_gestion_schema_after(), ligne 751 à RAISE
</pre>
<p>La présence du caractère '=' dans un nom de rôle pose également problème, car les expressions régulières utilisées pour la lecteur des champs acl du catalogue donnent un sens particulier à ce signe. Il n'est pas certain que cela puisse provoquer des erreurs, mais ce n'est pas à exclure et il est également plausible que certaines transmissions de droits ne se fassent alors pas correctement. L'effet est en tout cas clairement visible avec la fonction asgard_diagnostic().</p>
<pre><code class="sql syntaxhl"><span class="k">CREATE</span> <span class="k">SCHEMA</span> <span class="n">a_test</span> <span class="p">;</span>
<span class="k">UPDATE</span> <span class="n">z_asgard</span><span class="p">.</span><span class="n">gestion_schema_usr</span>
<span class="k">SET</span> <span class="n">lecteur</span> <span class="o">=</span> <span class="s1">'g_lec=teur'</span>
<span class="k">WHERE</span> <span class="n">nom_schema</span> <span class="o">=</span> <span class="s1">'a_test'</span> <span class="p">;</span>
<span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">z_asgard_admin</span><span class="p">.</span><span class="n">asgard_diagnostic</span><span class="p">()</span> <span class="p">;</span>
</code></pre>
<p>renvoie une anomalie <em>"privilège TRIGGER supplémentaire pour le rôle g_lec=teur"</em> visant le <strong>schéma</strong> a_test...</p>
<p><strong>PISTES DE SOLUTION</strong></p>
<p>Option 1 : blocage amont.</p>
<p>Ajouter aux event triggers asgard_on_alter_objet, asgard_on_create_objet, asgard_on_create_schema, asgard_on_alter_schema des tests pour vérifier l'absence du caractère "%" dans les noms des objets et "%" ou "=" dans les noms des rôles désignés comme propriétaires, et générer des erreurs le cas échéant.</p>
<p>Créer un event trigger sur GRANT/REVOKE et ALTER DEFAULT PRIVILEGES pour empêcher l'attribution de droits à des rôles avec % ou =.</p>
<p>Les fonctions qui prennent en charge le référencement devraient vérifier les noms des objets, du propriétaire et de tous les rôles qui ont des droits sur l'objet.</p>
<p>Option 2 : tester a posteriori.</p>
<p>Ajouter des tests d'erreurs dans les fonctions asgard_synthese_[...] permettrait de couvrir une bonne partie des cas. Il faudra identifier les (éventuels) cas d'usage de format (pour %) et des champs acl (pour =) dans d'autres circonstances.</p>
<p>Cela semble être le cas, mais il faudrait s'assurer que l'ADL sera toujours en mesure de corriger le nom problématique sans que cela ne porte à conséquence.</p> ASGARD - Evolution #313 (Nouveau): [ASGARD] Duplication des schémas et des objetshttp://qgis.redmine.ac.cs/issues/3132020-08-27T11:14:47ZLeslie Lemaire
<p>Deux nouvelles fonctions à développer :<br />- asgard_duplique_schema(n_schema, schema_cible, b_contenu)<br />- asgard_duplique_obj(obj_schema, obj_nom, obj_typ, schema_cible, nom_cible, variante).</p>
<p>La première permet de dupliquer un schéma, avec ou sans son contenu selon la valeur de b_contenu.</p>
<p>La seconde permet de dupliquer un objet, avec plusieurs modes de gestion des droits selon variante.</p> AsgardManager - Anomalie #301 (Nouveau): Affichage des schémas pour lesquels l'utilisateur a des ...http://qgis.redmine.ac.cs/issues/3012020-08-26T13:14:49ZLeslie Lemaire
<p>Lorsqu'on ouvre AsgardManager avec un rôle qui n'est pas membre du rôle producteur de tous les schémas de la base (donc non membre de g_admin), tous les schémas dont l'utilisateur n'est pas producteur apparaissent... dans les "schémas externes à Asgard", même s'ils sont bel et bien référencés par Asgard.</p>
<p>J'ai fait le test avec consult.defaut - il n'est producteur de rien donc tout se retrouve dans les "schémas externes à Asgard".</p>
<p>Sur le papier, c'est un comportement tout à fait normal : la vue gestion_schema_usr ne contient que les schémas dont l'utilisateur est producteur et la liste des "schémas externes à Asgard" est constituée par différence entre les schémas de la base et les schémas de gestion_schema_usr. Elle ne reflète donc la réalité que pour g_admin et ses membres. Mais comme de toute façon les "schémas externes à Asgard" ne sont là que pour pouvoir être référencés et que seul g_admin peut référencer des schémas, il me semble tout simplement que <strong>cette partie de l'arbre ne devrait s'afficher que si l'utilisateur est membre de g_admin</strong>, soit si <code>pg_has_role('g_admin', 'USAGE')</code>.</p>
<p>Et, jusqu'à ce qu'AsgardManager soit capable de prendre en charge différents profils d'utilisateurs, ça conforte l'idée que seuls les membres de g_admin devraient pouvoir utiliser le plugin tout court.</p> ASGARD - Assistance #281 (Nouveau): Rédaction de la documentation technique d'ASGARDhttp://qgis.redmine.ac.cs/issues/2812020-06-19T07:04:31ZLeslie Lemaire
<p>Description des mécanismes d'ASGARD et de leur implémentation.</p>
<p>Notamment :<br />- vues modifiables ;<br />- usage du champ ctrl ;<br />- répartition des opérations entre les triggers sur gestion_schema et les event triggers, mesures pour prévenir les boucles infinies.</p> QGIS - Evolution #257 (Nouveau): Pourvoir utiliser des source de données en relatif dans le virtu...http://qgis.redmine.ac.cs/issues/2572019-12-06T14:42:30Zalain ferraton
<p>demande de Agnès Pressensé DREAL HAuts-de France.</p>
<p>cf : <a class="external" href="https://ubuntuplace.info/questions/498206/qgis-virtual-layer-path-never-saved-as-relative">https://ubuntuplace.info/questions/498206/qgis-virtual-layer-path-never-saved-as-relative</a></p> QGIS - Evolution #251 (Nouveau): ne pas résoudre les types pour le geopackagehttp://qgis.redmine.ac.cs/issues/2512019-09-10T11:55:20Zalain ferraton
<p><a class="external" href="https://github.com/qgis/QGIS/issues/31668">https://github.com/qgis/QGIS/issues/31668</a></p>