Beiträge von tbahn

    Oder du hängst an deine Ansicht eine weitere Spalte an mit folgender Formel:
    Benutzer + " | " + patSwPort + " | " + patNumber + " | " + patPort


    und machst dann einen Evaluate:


    Dim tabelle As Variant


    tabelle = Evaluate(|@Implode(@DbLookup("Notes" : "NoCache"; ""; "Ansicht"; "| & swType & |"; 4); @NewLine)|


    If tabelle(0) <> "" Then
    msg = "Alle Benutzer die an " & swType & " hängen:" _
    & Chr(13) & Chr(13) & msg & Chr(10) _
    & Chr(13) & Chr(10) & "User | SPort | PFeld | PPort" & Chr(13) _
    & "------------------------------------------------" &Chr(13) _
    & tabelle(0)
    Messagebox (msg)
    End If


    Natürlich musst du den Namen der Ansicht, den Namen der Variable für den Software-Typ (2x) und die Spalte im DbLookup (im Beispiel 4) anpassen.


    HTH
    Thomas

    Auch wenn du es nicht mehr brauchst...


    Zur ersten Frage: Ich gehe davon aus, dass der Feldtyp ein Datums-/Zeitwert ist. Dann kannst du bei den Spalteneigenschaften einfach sagen: Datum-/Zeitwerte: Nur Datum anzeigen. Das schöne gegenüber einer Konvertierung in Text (und dann nur die ersten 10 Zeichen ausschneiden) ist, dass die Sortierung dann noch stimmt.


    Zum zweiten Problem: @TextToNumber(Feldname) wandelt in eine Zahl um, und die hat keine führenden Nullen.



    Ciao
    Thomas

    Du hast natürlich Recht, aber zumindest bei den Downloads (PartnerWorld for Software, wahrscheinlich auch Passport Advantage) gibt verschiedene Versionen, wovon einige "Limited Use" im Namen haben.


    Ciao
    Thomas

    Das ist doch die Sametime-Version, die man mit den Domino-Lizenzen (ab ND 6?) kostenlos benutzen darf?!


    Also nur Awareness und Chat, nicht Video und Application Sharing.


    Ciao
    Thomas

    Also, ich habe deinen Code eben mal ausprobiert:
    Ich habe eine Script Library erstellt, die nur die Klasse ProUIView enthält und die Oberklasse ProUIMultiLanguage aus der Deklaration entfernt.


    Ich habe die Sub queryOpenDocumentNotAllowed als Methode der Klasse implementiert.


    Dann habe ich eine Ansicht erstellt, die die Script Library einbindet und im QueryOpen ein Objekt von ProUIView erstellt.


    Bei mir funktioniert alles wie erwartet! (LN 6.5.4)


    Eine Messagebox in der Sub queryOpenDocumentNotAllowed wird auch ausgegeben.



    LN4ever:
    Deine Erklärung kann ich so nicht nachvollziehen.
    Während des Konstruktors ProUIView.New kann man auf die View-Aliase zugreifen und den Eventhandler für QueryOpenDocument installieren - oder eben nicht.


    Tritt dann später ein QueryOpenDocument-Event auf, wird in dem Moment nachgesehen, ob ein Handler dafür registriert ist oder nicht. Wenn ja, wird er aufgerufen, wenn nicht, dann nicht.
    Und da macht der Debugger - zumindest von der Theorie her - keinen Unterschied.




    Patrick:
    Um diese fest codierte Abfrage in deinem Konstruktor ProUIView.New zu vermeiden (beim späteren Umbenennen einer Ansicht ist nicht offensichtlich, dass es diese Abhängigkeit gibt!), könntest Du entweder eine Unterklasse von ProUIView erstellen, die immer das Öffnen des Dokuments verhindert, oder dem Konstruktor einen weiteren Parameter mitgeben, der in einer Objektvariablen gespeichert wird und im QueryOpenDocument-Handler das Continue beeinflusst.


    Mein Favorit wäre wahrscheinlich die zweite Variante (vermeidet eine weitere Klasse):


    Public Class ProUIView As ProUIMultiLanguage


    Dim ProhibitDocOpening as Boolean


    Public Sub New (Source As NotesUIView, Continue As Variant, ProhibitDocOpening as Boolean), ProUIMultiLanguage()


    Me.ProhibitDocOpening = ProhibitDocOpening


    'Define the Events
    On Event QueryOpenDocument From Source Call queryOpenDocumentNotAllowed
    End Sub


    Public Sub queryOpenDocumentNotAllowed(Source As Notesuiview, Continue As Variant)
    Continue = Not ProhibitDocOpening
    End Sub


    End Class



    Im Normalfall
    Set pView = New ProUIView (Source, Continue, False)


    Bei den Ansichten, wo das Öffnen von Dokumenten verboten sein soll:
    Set pView = New ProUIView (Source, Continue, True)



    So steht in der Ansicht selber, welches Verhalten gewünscht wird - und nicht in einem zentralen Element völlig getrennt und nur über den View-Alias verbunden.



    HTH
    Thomas

    Klar, http://www.assono.de und http://www.assono.com haben ein (und das gleiche) Zertifikat.


    Was mich aber wundert, ist: Bei der Erstellung eines Zertifikats wird doch keine numerische IP-Adresse angegeben, sondern die alphanumerische. Also kann SSL doch auch nur gegen die alphanumerische (z. B. http://www.assono.de) prüfen, oder habe ich da einen Denkfehler?


    Wenn das so wäre, dann könnte ich doch je ein Zertifikat auf http://www.assono.de und ein anderes auf http://www.assono.com ausstellen (lassen).


    Ich binde jeweils ein Zerifikat in einen eigenen Keyring ein.


    Den einen Keyring gebe ich in einem Internet Site-Dokument an, den anderen in das andere.


    Erhält der Server eine Anfrage an http://www.assono.de liefert er das eine Zertifikat aus, das der Browser gegen http://www.assono.de checkt, was ja auch so im Zerifikat drin steht.


    Erhält der Server eine Anfrage an http://www.assono.com liefert er das andere Zertifikat aus, das der Browser gegen http://www.assono.com checkt, was ja auch so im Zerifikat drin steht.



    An welcher Stelle soll SSL gegen die numerische IP-Adresse gehen? Die ist natürlich (in meinem Fall) identisch. Alles andere jedoch getrennt und zweifach vorhanden.



    Wie gesagt, keine Erfahrung, nur Theorie...


    Ciao
    Thomas

    taurec
    Hmm, aber im Beispiel sind http://www.assono.com und http://www.assono.de doch verschiedene Adressen. Und im SSL-Zerifikat werden doch nicht die numerischen IP-Adressen eingetragen. Auf alle Fälle kann ich in den beiden Internet Site-Dokumenten verschiedene Keyrings mit unterschiedlichen Zertifikaten angeben, z. B. eines auf die .com und eines auf die .de-Adresse.


    Ich habe das nicht getestet und wenn du dir sicher bist, dass es nicht geht, geht es wahrscheinlich auch nicht, aber... vielleicht doch?



    Ciao
    Thomas

    Sieh dir mal die Internet Site-Dokumente an (Im Domino Verzeichnis unter Konfiguration\Web).


    Du kannst damit unter einer IP-Adresse verschiedene logische Sites definieren, z. B. http://www.assono.com und http://www.assono.de.


    Wenn vom DNS beide Adressen auf die gleiche numerische IP-Adresse abgebildet werden, kann der Domino-Server mit unterschiedlichen Seiten antworten.


    Der Clou dabei ist, dass beide Sites verschiedene SSL-Einstellungen, also auch unterschiedliche Keyrings haben können.


    HTH
    Thomas

    Hallo Ferdi


    | ist kein Formelsprache-Operator, also statt
    _Anzval | _Spval
    besser
    _Anzval + "|" + _Spval


    Oder noch besser: 3. Spalte in der Ansicht, wo du
    {Anzeigewert} + "|" + {Speicherwert}
    machst ({Anzeigewert} und {Speicherwert} müssen durch die Feldnamen ersetzt werden!)


    HTH
    Thomas

    Hallo Zonk,


    hast du im Internet überhaupt einen "Server", sprich die Möglichkeit Skripte oder Programme auszuführen und Daten zu speichern?


    Dieses Programm hätte dann natürlich die Möglichkeit entweder nach jedem eingegangen GET-/POST-Request die übergebenen Daten in eine Mail zu schreiben und diese an den Domino-Server zu schicken.


    Alternativ könnte ein anderes Programm regelmäßig über die gespeicherten Daten gehen und neue Datensätze verschicken.


    Gibt es die vielleicht Möglichkeit, die Daten auf einem anderen, aus dem Internet erreichbaren Server zu parken, auf den auch der Domino-Server zugreifen kann?


    Ciao
    Thomas

    Das registrieren neuer Benutzer aus einer Textdatei geht. Suche mal in deiner Admin-Hilfe nach
    "Registering users from a text file"
    bzw.
    "Benutzer mit Textdateien registrieren"


    Es lohnt sich, auch sich noch die Setup-Policies/-Richtlinien vorher anzuschauen. Damit kannst du viele Voreinstellungen machen, die dann für alle oder bestimmte Benutzer gelten.


    HTH
    Thomas

    Das ist leider nicht ganz so einfach, aber es geht:


    Erstelle ein NotesDocument, wo du alle benötigten Daten rein schreibst.


    Wenn du den Agenten per Run oder RunOnServer aufrufst, kannst du ihm die NoteID (nicht die UniversalID!) des Dokuments mitgeben.


    Der Agent wiederum kann per ParameterDocID die NoteID des Parameter-Dokuments erfragen und per db.GetDocumentByID das Dokument selbst holen.



    HTH
    Thomas

    Du brauchst auf alle Fälle eine Ansicht, die nach Fehlernamen sortiert ist, z. B.: "(Fehler\nach FehlerNr)"


    (Ich verwende für Lookups gerne versteckte Ansichten, da die sichtbaren Ansichten häufiger mal verändert werden und dann ggf. Anpassungen an den @DbColumns, @DbLookups und den entsprechenden LotusScript-Aufrufen notwendig würden.)


    Zurück zur Ansicht:
    Erste Spalte: Fehlernummer, sortiert, Inhalt: Feld
    FehlerNr


    Zweite Spalte: Auswahl, unsortiert, Inhalt: Formel:
    Fehlername + "|" + FehlerNr


    Dritte Spalte: Details, unsortiert, Inhalt: Formel:
    @Text(@DocumentUniqueID) + "~" + FehlerNr + "~" + Fehlername + "~" + Bereich + "~" + FehlernameEnglisch + "~" + FehlernameLitauisch


    Dein Optionsfeld - nennen wir es einfach mal FehlerAuswahl - könnte folgende Auswahlformel haben:
    @DbColumn("Notes" : "NoCache"; ""; "(Fehler\nach FehlerNr)"; 2)
    Aktiviere das Kästchen für das automatische Aktualisieren der Maske nach einer Änderung des Feldwertes.


    Dann könnte deine Maske ein verstecktes Feld enthalten, z B.
    FehlerDetails_, Text, Berechnet zur Anzeige; Formel:
    @DbLookup("Notes" : "NoCache"; ""; "(Fehler\nach FehlerNr)"; FehlerAuswahl; 3)


    Das Feld für die (sichtbare) Fehlernummer könnte dann wie folgt aussehen:
    FehlerNr, Text, Berechnet, Formel:
    @Word(FehlerDetails_; "~"; 2)


    Entsprechend für den englischen Fehlernamen: FehlernameEnglisch heißen, Text, Berechnet, Formel:
    @Word(FehlerDetails_; "~"; 5)


    Entsprechend: FehlernameLitauisch, Text, Berechnet, Formel:
    @Word(FehlerDetails_; "~"; 6)



    HTH
    Thomas

    Wo bekommst du eigentlich deine Antworten her? Das ist nicht nur kein xhtml sondern auch sonst ziemlich fragwürdes HTML.


    Aber wenn du auf der Seite des Antworterzeugers keinen Einfluss hast, musst du halt selbst parsen.


    Mein Vorschlag wäre:
    <pre>
    anfangPosition = erstes Auftreten von "<INPUT"
    solange anfangPosition > 0
    endPosition = erstes Auftreten von "</INPUT>"
    inputString = Teilstring von response von anfangPosition bis endePosition
    wenn inputString enthält "userid"
    anfangWert = erstesAuftreten von "value=" in inputString + "value=".length
    endeWert = erstes Auftreten von " " in inputString ab anfangWert
    wert = Teilstring von response von anfangWert bis endeWert
    zurück mit wert
    ende wenn
    ende solange
    </pre>


    Ansonsten gilt immernoch, was ich in meinem letzten Artikel geschrieben habe (u. a. ";" fehlt).


    HTH
    Thomas

    Ähm, oder du kopierst die nsf-Datei auf deinen Rechner und öffnest sie lokal in deinem Notes-Client.


    Die Dateisystem-Kopie setzt aber voraus, dass die nsf-Datei nicht verschlüsselt auf dem Server liegt und möglichst keine konsistente ACL aktiviert ist.


    Ciao
    Thomas