Das Notes Forum

Lotus Notes / Domino Sonstiges => Projekt Bereich => Help-Desk Applikation !!Help!! => Thema gestartet von: FC am 31.08.05 - 16:17:52

Titel: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
Beitrag von: FC am 31.08.05 - 16:17:52
Hab mal ne Frage aus Interesse, wo wird die Rolle DEBUG in der DB verwendet ???

Hatte vergessen mir die Rolle zuzuweisen, führt dazu, dass wenn ich die DB unter dem Debugger starte recht fix "NSD is running" habe !

Habe gesucht, aber noch nicht gefunden wo die Rolle überhaupt verwendet wird.

Danke.
Titel: Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
Beitrag von: Thomas Schulte am 31.08.05 - 16:20:48
Die hat ulrich mal eingebaut. Ich weis mir allerdings auch nicht zu und hab damit keine Probleme.
Titel: Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
Beitrag von: FC am 31.08.05 - 16:26:17
Kommt auch nicht immer, aber immer öfter .....

Rolle raus, Notes beenden.
Notes starten, Debugger starten, DB aufrufen, 1ter Aufruf Schritt ausführen, dann 2x Fortfahren --> NSD  :P

OK, OK, der Fehler kommt in der Reihenfolge auch mit der Rolle   :P  :-:
Titel: Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
Beitrag von: eknori am 31.08.05 - 16:53:37
Die Rolle wird nirgendwo verwendet; ich hatte die mal eingebaut mit dem Ziel, das Errorhandling und die damit verbundenen Logfunktionen von einem normalen Modus in einen DEBUG Mode zu schalten. Die solten dann etwas mehr Informationen liefern, was natürlich zu Lasten der Performance geht. Ist aber bisher noch nicht umgesetzt.

Das mit dem NSD schaue ich mir mal an. Hast du die entsprechenden logfiles mal für mich parat ?
Titel: Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
Beitrag von: eknori am 31.08.05 - 16:57:04
Zitat
Notes starten, Debugger starten, DB aufrufen, 1ter Aufruf Schritt ausführen, dann 2x Fortfahren --> NSD 

Ist ja schon manchmal lustig, auf welche Ideen man so kommen kann  ;D
Titel: Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
Beitrag von: eknori am 31.08.05 - 17:29:40
Es knallt definitiv in der LogUIView() und zwar direkt am Anfang beim ersten IF

   Dim me_writelog As Boolean
   
   If Ucase(GetConfigDocByKey ("LogViewAccess")) = "YES" Then
      LogScriptErrors = True   

Titel: Änderung in der lib.appl.functions
Beitrag von: eknori am 31.08.05 - 17:39:32
OK, kleine Umbaupause:

Im Initialize Event der lib.appl.functions werden ja schon einige globale Variablen gesetzt.
Habe das LogViewAccess jetzt dort eingebaut:

   On Error Goto ERRHANDLE
   
   If Ucase(GetConfigDocByKey ("OpenLogEnabled")) = "YES" Then
      UseOpenLog = True
   End If
   
   If Ucase(GetConfigDocByKey ("LogScriptErrors")) = "YES" Or  Ucase(GetConfigDocByKey ("LogViewAccess")) = "YES" Then
      LogScriptErrors = True
   End If
   
   If Ucase(GetConfigDocByKey ("ResumeMethod")) = "NEXT" Then
      ResumeMethodNext = True
   End If   
   
   If Ucase(GetConfigDocByKey ("LogViewAccess")) = "YES" Then
      LogViewAccess = True
   End If
Das

If Ucase(GetConfigDocByKey ("OpenLogEnabled")) = "YES" Then

wird auch dort schon gesetzt; daher ist das in der Funktion redundant.

Die Function selber reduziert sich dann auf

Sub LogUIView(ViewSource As NotesUIView)
   Dim session As New NotesSession
   
   If LogViewAccess Then
      xProc = ViewSource.ViewName
      xError = xProc  & ": " & session.UserName
      If UseOpenLog Then
         Call LogError
      Elseif LogScriptErrors Then
         Call ThrowException ( xProc, xError  )
      End If
   End If
End Sub

Und jetzt kann die Datenbank auch ohne den beschriebenen NSD im Debugger betrieben werden  ;D


EDIT: Mist, zu früh gefreut; NSD is running ...

NOCH EIN EDIT:

Die Verlagerung das Aufrufes vom PostOpen Event in das

Sub Queryopen(Source As Notesuiview, Continue As Variant)
   Call loguiview(source)
End Sub

schafft Abhilfe.
Titel: Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
Beitrag von: FC am 01.09.05 - 07:43:10
Zitat
Notes starten, Debugger starten, DB aufrufen, 1ter Aufruf Schritt ausführen, dann 2x Fortfahren --> NSD 

Ist ja schon manchmal lustig, auf welche Ideen man so kommen kann  ;D

Kommt nur daher, dass ich versucht hatte hier: http://www.atnotes.de/index.php?topic=25349.msg161826#msg161826

Den Aufruf zu finden, daher wollte ich mir die Anfangsaufrufe nicht im Detail ansehen, sondern nur grob wissen was aufgerufen wird.

Ich denke meine nsd-Files brauchst Du nicht mehr  ;)
Werde mal Deine Lösung einbauen, vielleicht habe ich auch nur ein gutes Händchen für NSD  8)
Titel: Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
Beitrag von: eknori am 01.09.05 - 07:54:17
HMM, ich sehe gerade, das

On Error Goto ERRHANDLE
   
   If Ucase(GetConfigDocByKey ("OpenLogEnabled")) = "YES" Then
      UseOpenLog = True
   End If
   
   If Ucase(GetConfigDocByKey ("LogScriptErrors")) = "YES" Or  Ucase(GetConfigDocByKey ("LogViewAccess")) = "YES" Then
      LogScriptErrors = True
   End If
   
   If Ucase(GetConfigDocByKey ("ResumeMethod")) = "NEXT" Then
      ResumeMethodNext = True
   End If   
   
   If Ucase(GetConfigDocByKey ("LogViewAccess")) = "YES" Then
      LogViewAccess = True
   End If


könnte man auch noch weiter zusammenstreichen und sich einen Zugriff auf die Konfigurationsdocs einsparen, wenn man das so umbaut:

   On Error Goto ERRHANDLE
   
   If Ucase(GetConfigDocByKey ("OpenLogEnabled")) = "YES" Then
      UseOpenLog = True
   End If
   
   If Ucase(GetConfigDocByKey ("LogViewAccess")) = "YES" Then
      LogViewAccess = True
   End If

   If Ucase(GetConfigDocByKey ("LogScriptErrors")) = "YES" Or  LogViewAccess Then
      LogScriptErrors = True
   End If
   
   If Ucase(GetConfigDocByKey ("ResumeMethod")) = "NEXT" Then
      ResumeMethodNext = True
   End If   
   
Titel: Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
Beitrag von: FC am 02.09.05 - 10:47:26
So habe jetzt getestet und auch bei mir keinen NSD mehr bekommen  ;D

Kleiner Zusatz:
Dim LogViewAccess As Boolean

unter Declarations muss natürlich rein.

Gruß
Djahan