#1 Fri 14 August 2009 10:38
- tnicolas
- Participant actif
- Date d'inscription: 18 Apr 2007
- Messages: 64
[ArcGis 9.3] Bloquer l'editeur
Bonjour,
J'ai une base de données qui va être mise à disposition de plusieurs personnes. Cependant toutes ces personnes n'auront les mêmes droits. En plus de gérer les droits via les paramètres de sécurité Windows, j'aimerais savoir comment faire pour bloquer l'editeur (session de mise à jour) dans ArcMap.
Quelqu'un aurait-il une piste ?
Cordialement,
Nicolas
Hors ligne
#2 Fri 14 August 2009 10:45
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: [ArcGis 9.3] Bloquer l'editeur
Salut Nicolas,
Pourquoi ne pas installer ArcReader sur les postes des personnes qui ne peuvent que consulter.
http://www.esri.com/software/arcgis/arc … index.html
A+
Joël
Hors ligne
#3 Fri 14 August 2009 10:47
Re: [ArcGis 9.3] Bloquer l'editeur
Si la personne n'a pas les droits de modifier la table, elle ne pourra pas ouvrir l'éditeur pour cette table-là. ArcGIS lui dira bien assez clairement. Ce n'est pas suffisant ou cela ne fonctionne pas ?
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#4 Fri 14 August 2009 11:19
- tnicolas
- Participant actif
- Date d'inscription: 18 Apr 2007
- Messages: 64
Re: [ArcGis 9.3] Bloquer l'editeur
Pourquoi ne pas installer ArcReader sur les postes des personnes qui ne peuvent que consulter.
Il n'y aura qu'un poste à partir duquel on pourra accéder aux données. Et les personnes doivent ouvrir un mxd pour avoir accès à une interface de consultation. J'avais oublié de le préciser, désolé.
Si la personne n'a pas les droits de modifier la table, elle ne pourra pas ouvrir l'éditeur pour cette table-là.
Cela fonctionne mais si un utilisateur se sert d'une autre session windows, je veux être sur qu'il ne pourra pas modifier les données via l'interface de consultation. Je sais que ça ne protegera pas la base car il pourra la modifier en allant directement dedans. Je préfère bloquer l'editeur comme ça personne ne sera tenté de cliquer dessus.
Hors ligne
#5 Fri 14 August 2009 11:28
Re: [ArcGis 9.3] Bloquer l'editeur
La question de Spacejo est pertinente, tu peux installer ArcReader sur l'unique poste où on consulte les données...
Et tu pourras protéger la session utilisateur dans un mxd. Mais il suffira à l'utilisateur de créer un nouvel mxd et d'y ajouter les données qu'il veut modifier. Et mettre la macro dans le document modèle (normal.mxt) ne fonctionnera pas si tu supposes que l'utilisateur change de session.
Si quelqu'un arrive à avoir les mots de passe de l'admin, on ne peut pas faire grand chose.
Pour bloquer la session édition dans un mxd, je pense à deux lignes en VBA, mais je suis trop loin d'ArcGIS pour en dire plus. (Il y a des gestion d'évènement, du type OnNewDocument, et en retournant la bonne valeur, on peut annuler l'évènement en cours)
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#6 Fri 14 August 2009 11:55
- tnicolas
- Participant actif
- Date d'inscription: 18 Apr 2007
- Messages: 64
Re: [ArcGis 9.3] Bloquer l'editeur
ArcReader serait une bonne solution mais nous n'avons pas ArcGis Publisher et le reader ne permet pas d'utiliser des interfaces VBA (il me semble).
Je sais bien que si quelqu'un arrive à avoir les codes admin ou s'il créé un nouveau mxd je ne pourrai rien faire (tout système à ces failles). je veux juste "vérouiller" le mxd qui contiendra l'interface VBA.
Je vais voir ce que je peux trouver du coté des gestions d'évennements.
Merci
Hors ligne
#7 Fri 14 August 2009 11:57
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: [ArcGis 9.3] Bloquer l'editeur
Re,
Alors peut être que ceci peut t'aider:
http://www.forumsig.org/showthread.php? … +mot+passe
http://www.forumsig.org/showthread.php? … +mot+passe
Hors ligne
#8 Fri 14 August 2009 12:23
Re: [ArcGis 9.3] Bloquer l'editeur
Joël, à part la proposition d'exporter en PDF, il n'y a rien de bien développé dans ces deux discussions.
L'export PDF est une très bonne idée par contre. J'avais oublié cette possibilité.
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#9 Fri 14 August 2009 15:08
- tnicolas
- Participant actif
- Date d'inscription: 18 Apr 2007
- Messages: 64
Re: [ArcGis 9.3] Bloquer l'editeur
Ca avance, j'ai réussi à cacher la barre mais toujours pas à la bloquer ...
Code:
Dim cmd As ICommandBar Set cmd = thisdocument.CommandBars.Find(arcid.Editor_EditorToolbar) If cmd.IsVisible = True Then cmd.Dock esriDockHide End If
Hors ligne
#10 Fri 14 August 2009 15:27
Re: [ArcGis 9.3] Bloquer l'editeur
En regardant dans l'aide en ligne, je vois une fonction évènement OnStartEditing, en lisant un peu plus dans http://resources.esri.com/help/9.3/arcg … Events.htm on voit comme faire pour récupérer cet évènement. Je pense que le code ci-dessous devrait suffire ensuite.
Code:
Option Explicit Public sub OnStartEditing() (le nom de la fonction c'est presque ça...) Dim pEditor As IEditor Set pEditor = Application.FindExtensionByCLSID("esriEditor.Editor") pEditor.AbortOperation End sub
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#11 Fri 14 August 2009 16:19
- tnicolas
- Participant actif
- Date d'inscription: 18 Apr 2007
- Messages: 64
Re: [ArcGis 9.3] Bloquer l'editeur
C'est bon, voici le code à mettre dans thisdocument
Code:
Option Explicit Private WithEvents EditorEvents As Editor Private m_pEditor As IEditor Public Sub InitEvents() Dim pUID As New UID pUID = "esriEditor.Editor" Set m_pEditor = Application.FindExtensionByCLSID(pUID) If m_pEditor Is Nothing Then Exit Sub End If Set EditorEvents = m_pEditor End Sub Private Sub EditorEvents_OnStartEditing() m_pEditor.StopEditing (False) End Sub Private Function MxDocument_OpenDocument() As Boolean InitEvents End Function
J'ai remplacé le "AbortOperation" par "StopEditing (False)" car ça ne marchait pas (en fait je sais pas ce que ça fait mais ça n'empèche pas de modifier les tables). Le "false" c'est pour ne prendre les changement en compte (bien qu'ici on n'ai pas le temps de faire des changements).
Ce code permet de fermer l'editeur quand on l'ouvre (c'est un peu tordu comme démarche mais ça marche bien).
Un grand merci pour votre aide.
Hors ligne
#12 Fri 14 August 2009 16:34
Re: [ArcGis 9.3] Bloquer l'editeur
Pour que cela soit moins tordu et plus sympa pour l'utilisateur, tu peux mettre un message d'information pour qu'il sache ce qu'il passe (MsgBox "Vous ne pouvez ouvrir de session d'édition, signé votre administrateur SIG").
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#13 Fri 14 August 2009 16:42
- tnicolas
- Participant actif
- Date d'inscription: 18 Apr 2007
- Messages: 64
Re: [ArcGis 9.3] Bloquer l'editeur
Je l'ai fait mais je n'ai pas jugé utile de le faire apparaitre ici. Il est mis juste aprés "m_pEditor.StopEditing (False)"
Hors ligne