banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#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

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

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

Spacejo a écrit:

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é.

Jeirhome a écrit:

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

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

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

Hors ligne

 

#8 Fri 14 August 2009 12:23

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

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

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

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

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

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

 

#14 Fri 14 August 2009 16:58

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: [ArcGis 9.3] Bloquer l'editeur

Très bien alors, je n'ai rien dit big_smile

Content qu'on ait pu aider.


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

Pied de page des forums

Powered by FluxBB