Autor Thema: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?  (Gelesen 4811 mal)

Offline FC

  • Aktives Mitglied
  • ***
  • Beiträge: 120
  • Geschlecht: Männlich
  • Auch ich liebe dieses Forum, welches sonst ;-)
1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
« 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.
« Letzte Änderung: 02.09.05 - 10:47:41 von FC »
--------------------------------------------------
Wer arbeitet macht Fehler.
Wer viel arbeitet macht viele Fehler.
Manche Leute machen nie Fehler ......

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
« Antwort #1 am: 31.08.05 - 16:20:48 »
Die hat ulrich mal eingebaut. Ich weis mir allerdings auch nicht zu und hab damit keine Probleme.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline FC

  • Aktives Mitglied
  • ***
  • Beiträge: 120
  • Geschlecht: Männlich
  • Auch ich liebe dieses Forum, welches sonst ;-)
Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
« Antwort #2 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  :-:
« Letzte Änderung: 31.08.05 - 16:29:39 von FC »
--------------------------------------------------
Wer arbeitet macht Fehler.
Wer viel arbeitet macht viele Fehler.
Manche Leute machen nie Fehler ......

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.710
  • Geschlecht: Männlich
Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
« Antwort #3 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 ?
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.710
  • Geschlecht: Männlich
Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
« Antwort #4 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
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.710
  • Geschlecht: Männlich
Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
« Antwort #5 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   

Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.710
  • Geschlecht: Männlich
Änderung in der lib.appl.functions
« Antwort #6 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.
« Letzte Änderung: 31.08.05 - 19:06:11 von eknori »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline FC

  • Aktives Mitglied
  • ***
  • Beiträge: 120
  • Geschlecht: Männlich
  • Auch ich liebe dieses Forum, welches sonst ;-)
Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
« Antwort #7 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)
--------------------------------------------------
Wer arbeitet macht Fehler.
Wer viel arbeitet macht viele Fehler.
Manche Leute machen nie Fehler ......

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.710
  • Geschlecht: Männlich
Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
« Antwort #8 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   
   
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline FC

  • Aktives Mitglied
  • ***
  • Beiträge: 120
  • Geschlecht: Männlich
  • Auch ich liebe dieses Forum, welches sonst ;-)
Re: 1.0.10 : Wo wird die Userrolle DEBUG verwendet ?
« Antwort #9 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
--------------------------------------------------
Wer arbeitet macht Fehler.
Wer viel arbeitet macht viele Fehler.
Manche Leute machen nie Fehler ......

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz