Mit einem Agenten Gruppen auslesen und ein Feld ändern.

  • Moin moin zusammen, ich habe folgendes problem. Ich will in der Names.nsf einen Agenten erstellen der die MItglieder einer Gruppe auslesen soll und dann im Personendokument ein Feld ändern soll.
    Die Formel sieh so aus: @If(@IsMember("BerechtigteBenutzer";@UserName));@SetField("businessCategory"; "1");SELECT @All
    Leider wird nicht die Gruppe BerechtigteBenutzer ausgelesen, sondern es wird bei allen Personendokumenten das Feld businessCategory geändert.
    Hat jemand einen Tipp für mich?
    Viele Grüße
    MROSN

  • Das wirst du nur per Skript erreichen können, weil du die Prüfung über Gruppendokumente machst und das Ändern aber in Personendokumenten geschehen soll.


    Die obige Formel kann aber auch gar nicht funktionieren, weil du ja weder eine Ja noch eine nein Aktion hast

  • Hallo Taurec, vielen Dank für die Rückmeldung. Deshalb ja auch meine Frage ans Forum. Wie kann ich das realisieren?
    Ich habe es auch schon mit @ExpandNameList versucht. Dort fehlen mir aber auch leider die Kenntnisse. Das habe ich mal getestet und ich erhalte die erwünschten Ergebnisse.
    thenames := @ExpandNameList("lsdomki01":"names.nsf"; "&LD_Admins");
    thenames := @Trim(@Unique(thenames));
    @For(
    n := 1;
    n <= @Elements(thenames);
    n := n + 1;
    @Prompt([Ok]; "Name Nr. " + @Text(n); thenames[n])
    )


    Das ist aber nur ein Button. Ich habe den Befehl auch schon in die obige Formel eingebettet, aber dann wird das Feld businessCategory leider nicht geändert. Bin ratlos.

  • Erwartest du hier fertigen Code, den du einfach einsetzen kannst oder Unterstützung dabei es selber hinzubekommen.


    Daß es nur mit Script möglich ist hatte ich ja geschrieben, also musst du es damit probieren.


    Und wenn du da dann konkrete Fragen hast helfen wir dir auch gerne weiter.

  • Hallo Taurec, da ich mit Domino Script gar nicht zu tun habe, fällt es mir sehr schwer überhaupt einen Anfang zu finden. Geschweige denn eine Idee zur einer funktionalen Lösung. Mal ein kleiner Agent Okay, aber das war es schon.
    Dachte ja das ist so weiter komme:
    @If(@ExpandNameList("Server":"names.nsf"; "Gruppe"));@UserName));@SetField("businessCategory"; "1")
    Aber auch das brachte mir nicht den Erfolg.

  • Das ist halt keine ganz simple Aufgabe.


    Generell verstehe ich aber deine angepasste Formel nicht wirklich, denn wie gesagt: Du hast dort weder eine Ja Aktion noch eine Nein Aktion für dein @IF.
    Da deine Klammer viel zu früh schliesst.

  • Da siehst Du wie viel Ahnung ich davon habe. Mein Ziel wäre es die Mitglieder einer Notes Gruppe zu ermitteln. Wenn derjenige in der Gruppe ist soll in seinem Personen Dokument die businessCategory auf 1 gesetzt werden. Wenn nicht 0. Meine verschiedensten Ansätze in meiner Unwissenheit haben leider nicht zum Erfolg geführt. Wüsste auch ehrlich gesagt nicht weiter.

  • Einen Grundkurs in Formelsprache bzw LotusScript Programmierung können wir einfach nicht geben.
    Das sprengt den Rahmen eines Forums.


    D.h. es gibt eigentlich nur zwei Möglichkeiten: Du besorgst dir eine Einführung in die Programmierung oder jemanden der die Aufgabe für dich lösen kann.


    Eine andere Alternative wäre, daß du mal den genaue Use Case schilderst, d.h. wofür das Flag letztendlich überhaupt verwendet werden soll. Vielleicht gibt es da ja auch eine alternative Lösung, die ohne Programmierung oder so auskommt.

  • Es gibt eine dritte Applikation. Das Feld wird dort genutzt zur Lizenzüberwachung für die andere Applikation. Die Fragt das Feld businessCategory ab. Bei einer 1 darf der User zugreifen, bei einer 0 nicht. Ich kann die User auch direkt in eine Gruppe packen. Dann geht es auch. Aber Gruppe in Gruppe ist mir lieber. Dann läuft bei Benutzer Löschungen und einrichten alles automatisiert. Ich muss dann nicht ständig diese Gruppe extra pflegen. Sondern über das Rollenkonzept passiert die Pflege der Gruppe von allein.

  • N'Abend,


    Zugriffssteuerung sollte über Gruppen erfolgen. Lizenzüberwachung ist i.d.R. wieder was anderes.


    In dem Konstrukt (btw. warum dritte Applikation ?) sehe ich kein Gruppe in Gruppe. Und egal ob Gruppe oder Gruppe in Gruppe, Benutzerlöschungen laufen automatisch, wenn korrekt gestartet.


    Und m.E. sollte niemand ohne Kenntnis von Script bzw. Formelsprache Designrechte am NAB haben.


    CU,
    Axel


    P.S. und Crosspostings (https://atnotes.de/index.php/t….msg390088.html#msg390088) sind nicht gerne gesehen, weder hier noch bei atnotes.

  • Es gäbe womöglich noch den Weg, über notesSession.UserGroupNameList zu gehen und das Array auf die gesuchte Gruppe zu prüfen.


    Grundsätzlich lässt sich dazu sagen, dass es recht mutig ist einen Auftrag anzunehmen, wenn man noch gar nicht weiß, wie man zum Ziel kommt. Geschweige denn: ob man überhaupt da hin kommen kann. Besteht Schulungsbedarf, muss dieser auch angemeldet und ggf. eingefordert werden.
    Was die unvollständige Syntax deiner @-Formel betrifft: F1 geht auch in Notes und damit ist nicht eine Fahrzeugklasse im Automobilrennsport gemeint. Spezielles Wissen die Notes-Programmierung betreffend hin oder her: für F1 brauchts keine Schulung, das ist überall gleich.


    Weiters scheinen mir noch an anderer Stelle Defizite zu lauern:


    Zitat

    Aber Gruppe in Gruppe ist mir lieber. Dann läuft bei Benutzer Löschungen und einrichten alles automatisiert.

    Das ist unabhängig von Gruppenkaskadierungen. Entweder Defizit oder unsauber beschrieben.


    Zitat

    Ich muss dann nicht ständig diese Gruppe extra pflegen.

    Könnte man bspw. über Policies ebenso gut abfackeln. Ob man nun Gruppenmitgliedschaften pflegt, oder Richtlinien zuordnet, das nimmt sich nichts; Pflegeaufwand besteht in jedem Falle. Defizit oder unsauber beschrieben.


    Zitat

    Sondern über das Rollenkonzept passiert die Pflege der Gruppe von allein.

    Rollen haben mit Gruppen zunächst einmal nur am Rande zu tun. Wenn du nicht die Rollen meinst, die es in ACLs hat, dann verstehe ich diesen Zusammenhang nicht. Bitte verdeutlichen.


    Zudem schau dir bitte einmal an, wofür das Feld "businessCategory" eigentlich gut ist. Selbst wenn ihr kein LDAP aktiv haben solltet, halte ich es nicht gerade für eine gute Idee, da drin rumzuschreiben. Es kann funktionieren, es wird womöglich auch funktionieren. Es kann aber auf der anderen Seite auch side effects geben, die sich ganz fies debuggen lassen (hauptsächlich, weil in Monaten oder Jahren niemand mehr daran denkt). Euer Konstrukt scheint mir überarbeitungswürdig.


    Warum es verschiedene Foren gibt? atnotes.de und dominoforum.de sind zwei unabhängige Foren, die sich nur mit dem selben Thema befassen. Es gibt auch mehr als nur ein Forum fürn Golf oder Astra.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Falls ein Anderer mal so ein Problem haben sollte, wäre er sicherlich auch an der Lösung interessiert.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Will ja nicht ungerecht sein. Aber so wie es aussieht, wurde mein Problem nicht verstanden. Ich wurde zu Crospostings usw. belehrt. Das mit der Unterstützung habe ich ernst gemeint, wir hätten uns ja gemeinsam ran arbeiten können. Das hätte ich gut gefunden. Jetzt habe ich Geld dafür gezahlt, und soll alles sofort veröffentlichen. Das ist genau das was ich von einem Forum nicht erwarte. Trotzdem vielen Dank das ihr eure Zeit für mich geopfert habt. Ein paar der Befehle stehen ja schon oben das Ergebnis in eine Liste, diese auslesen und dann daraus die Einträge erstellen. Ein paar Variablen und schon läuft es. Als ich das Script gesehen habe war es für mich nachvollziehbar. Alleine hätte ich es nicht gekonnt. Ist auch nicht mein Job. VG
    MROSN