Beiträge von broesel

    Hallo NotesFreunde,


    ich bastel gerade an einer Intranet-Anwendung mit Notes - auf diese Intranet Anwendung werden auch Leute zugreifen, die kein Notes haben.


    Die Anwender werden ein Formular über den Browser ausfüllen, das in einer NotesDB abgespeichert wird.


    Ich möchte, daß beim Öffnen oder Abspeichern automatisch der Anwendername aus der Anmeldung im Netzwerk (NT, bzw. 2000) übernommen wird.


    Ich hatte mir einen webqueryopen-Agenten überlegt, der mit LotusScript auf die Systemvariable username zugreift und diese übernimmt .... leider bekomme ich diese Variable nicht zu "packen" ...


    .
    .
    .
    Dim testvariable As String
    testvariable = NotesSession.GetEnvironmentValue(UserName,True)




    mit %UserName% geht es auch nicht ....


    kann mir bitte jemand weiterhelfen?



    Gruß und danke
    Brösel

    Hallo,


    hinter das Geheimnis mit dem Symbol bin ich auch noch nicht gekommen..... - wäre schön, wenn jemand mal dieses Geheimnis lüften könnte!



    Ich hole mal etwas weiter aus.


    Es gibt ja Schablonen (.ntf) und DB'en (.nsf).
    In beiden sollten sich die tupfengleichen Gestaltungselemente finden und in der .nsf zusätzlich die eigentlichen Dokumente für die Anwender dieser DB.
    In den DB Eigenschaften ist bei der .ntf angehakt:
    Datenbank ist eine Schablone + Name der Schablone (muß nicht mit dem Dateinamen übereinstimmen)


    Bei der .nsf ist angehakt:
    Gestaltung aus Schablone übernehmen + Name der Schablone


    Änderungen macht man normalerweise nur in der Schablone und aktualisiert dann die Datenbank....
    Testen kann man dann in einer Kopie der Datenbank und aktualisiert die Gestaltung - wenn alles paletti ist - die Gestaltung der EchtDB aktualisieren.


    Du kannst im Designer im einzelnen Gestaltungsdokument anhaken, daß von diesem einen Designelement die Gestaltung nicht aktualisierbar sein soll (Häkchen).


    Man kann auch mischen: Eine Datenbank kann Gestaltungselemente aus mehreren Schablonen bekommen. Dann im Designer in jedem einzelnen Element.
    Es ist dann ausreichend, den Überblick zu behalten, was von was die Gestaltung bekommt und was wann aktualisiert.....


    Ansonsten mache ich immer eine Sicherungskopie der OriginalDB und dann: nur Mut


    Reicht Dir das?


    Gruß
    broesel

    Hallo Dirk,


    das ist interessant und komisch!- Liegt es vielleicht an der NotesVersion?



    Wir haben die 6.5.1 auf dem Server und 5.0.10 auf dem Client.
    Und Ihr?



    Ich möchte das ganze mal mit 2 neuen Datenbanken testen, komme aber gerade nicht dazu.
    Werde das Ergebnis mal nächste Woche in das Forum stellen.
    Wäre schön, wenn wir uns nächste Woche noch mal austauschen könnten.



    Gruß
    broesel

    Hallo Dirk,


    .... habe ich probiert! - Hilft nicht weiter - bin völlig verwirrt!


    1.) welchen Sinn hat die Abfrage, ob die DB is open? - wenn der Agent mit den Serverrechten läuft und der Server in der ACL der DB eingetragen ist, kommt es nicht vor, daß die DB nicht offen ist.


    2.) So wie ich die Sache verstehe, wird durch "on Error resume next", der Error überdeckt, der entsteht, wenn der Agent keine Rechte auf die DB hat - es ist aber trotzdem ein Error.


    3.) Wenn der Agent keinen Zugriff auf die DB hat, bekomme ich leider kein db Object


    4.) Hast Du mal das
    On Error Resume Next
    weggelassen - dies ist ja für 'ne Ausnahme und nicht für den Normalfall gedacht.



    Gruß
    broesel

    Hallo Dirk,


    wir haben eine spezielle Entwickler ID mit der wir den Agenten unterschreiben. Was passiert, wenn Du in der ACL zusätzlich den Zugriff für denjenigen sperrst, der den Agenten unterschrieben hat? - dann müßte es doch knallen, oder?


    (und zwar hier: set db = session.GetDatabase(ServerName, DBName))



    Gruß
    broesel

    Hallo Dirk,


    ich beziehe mich auf folgendes (Beitrag 7):





    Läuft Dein Script auch noch, wenn der ausführende kein Recht hat, die DB zu öffnen?-Nach meinen Erfahrungen knallt es dann - aber


    wenn Du das


    On error resume Next


    nach set db Is Nothing setzt, macht er natürlich was - es ist die Frage was. Das macht natürlich meine anderen Fehlerabfragen zunichte....


    In meinen Error-Fehler-Abfragen hatte ich ein Exit sub vergessen - mein Fehler ist nicht ObjectVariable not set, sondern ein allgemeiner Fehler und zwar hier:
    Set db = Nothing
    Set db = session.GetDatabase( Server, DBName )
    beim 2. set db - ich habe mir nämlich die Rechte auf die DB weggenommen - dadurch komme es erst gar nicht zur Abfrage, ob die DB nothing ist, bzw. isopen - es knallt nämlich schon viel früher.
    Wenn ich die entsprechenden DB Zugriffsrechte habe, habe ich natürlich kein Problem - aber das ist ja nicht der Sinn von Fehlerabfragen.


    Wie ich oben schon sagte:
    Läuft Dein Script auch noch, wenn der Ausführende kein Recht hat, die DB zu öffnen?-



    Gruß
    broesel

    Hallo Diali,


    ich kann das leider nicht nachvollziehen:


    Wenn ich keine Rechte habe, eine DB zu öffnen (Agent) und ich eine If-Anfrage einbaue, ob die DB.isopen
    ist, dann bricht LS ab und ich erhalte die Fehlermeldung objectvariable not set!!!!!!!!!!


    D. h. daß der else Zweig nicht durchlaufen wird.



    db_a.isOpen Then


    usw.


    Else
    Goto Error_DB
    End If


    usw.



    Hast Du darüber mehr Infos? - Ich kann gerade so eine Möglichkeit gut gebrauchen!




    Gruß
    broesel

    danke devileye1, das stimmt leider - mit NS 4. 7 funktioniert "readonly" nicht - JavaScript kann ich leider nicht verwenden.


    Ich habe statt JavaScript einen webquerysave Agenten verwendet, der meine Felder so wie der webqueryopen agent noch mal überprüft und ggf. wieder "richtig" setzt und speichert.


    Natürlich leidet da die Performance - ist mir aber in diesem Fall wichtiger als 'ne Sicherheitslücke und wenn ich kein JavaScript verwenden darf, ist das für mich die beste Lösung.



    Gruß
    broesel

    ich habe nur Notes DB


    Es scheint was mit dem Zeitpunkt zu tun zu haben.


    Erst läuft der Queryopenagent und befüllt meine Felder erfolgreich - dann wird gespeichert und dann im Falle des berechneten Feldes läuft diese Berechnung danach ab also später und dann kommt es zu meinem Problem.

    ... das Feld wird perfekt per Agent gefüllt, aber
    entweder ist es sichtbar und dann vom User änderbar, was aber nbicht sein darf oder er wird nicht angezeigt, auch wenn ich das berechnete Feld so wie Du schreibst ausfülle.
    Nach dem Speichern in der Ansicht also ist das Feld nicht sichtbar "" - nur wenn es für den User änderbar ist ...

    Hallo Nutzer 81,


    oben schreibst Du, Du hättest eine Replik erstellt.
    Es ist so: Es gibt Repliken und Kopien von Datenbanken.
    Diese können jeweils auf verschiedenen Servern, bzw. auch lokal sein.


    Der Unterschied zwischen Replik und Kopie:
    Die Repliken haben alle die gleiche ID - alle Kopien haben unterschiedliche IDs.


    Wenn Du die Kacheloberfläche hast und Repliksymbole stapeln angehakt hast, liegen alle Repliken immer übereinander (in der oberen rechten Ecke gibt es das Dreieck zum Wechseln)



    Wichtig: packe niemals 2 Repliken einer DB auf den gleichen Server


    Gruß
    broesel