Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Bruce Willis am 14.10.11 - 13:10:15

Titel: Periodische Agenten über Profildokument aktivieren
Beitrag von: Bruce Willis am 14.10.11 - 13:10:15
Hallo,

wer weiß, wie man periodische Agenten über Profildokument aktivieren und deaktivieren kann?
(ohne für jeden Agent ein eigenes Feld im Profildokument zu erstellen)

Es gibt zwar im Forum zwei Themen, aber die Links zu den Lösungen nicht mehr gültig:  :(

1.
Zitat
Gehe mal auf www.eknori.de und dann in meine Werkstatt. Dort findest du einen Eintrag " Periodische Agenten unter Kontrolle...

2.
Zitat
versuch es mal mit http://www.eknori.de/downloads.htm

Gruß
Leo
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: koehlerbv am 17.10.11 - 20:06:04
Mehr Infos, Leo! Warum willst Du das über ein Profildokument machen? Suchst Du vielleicht einfach nur eine Möglichkeit, alle periodischen Agents wahlweise zu aktivieren / deaktivieren?

Bernhard
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: Bruce Willis am 17.10.11 - 22:51:21
Hi Bernhard,

Warum willst Du das über ein Profildokument machen?

Ich kenne (noch) keinen anderen Ansatz... ;)


Suchst Du vielleicht einfach nur eine Möglichkeit, alle periodischen Agents wahlweise zu aktivieren / deaktivieren?

Ja, genau!
Hast Du evtl. sowas in der Schublade? :)
Ich hab zwar inzwischen schon etwas Ähnliches gefunden, bin aber mit der Lösung nicht ganz glücklich...

Gruß
Leo
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: ata am 18.10.11 - 08:41:27
... periodische Agenten einfach immer aktiviert lassen, und im Agent eine Einstellung einlesen lassen, ob ausgeführt werden soll. Dazu braucht man aber kein Profildokument, da reicht auch ein normales Dokument - wo auch immer abgelegt...
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: Bruce Willis am 18.10.11 - 09:09:20
... periodische Agenten einfach immer aktiviert lassen, und im Agent eine Einstellung einlesen lassen, ob ausgeführt werden soll. Dazu braucht man aber kein Profildokument, da reicht auch ein normales Dokument - wo auch immer abgelegt...

1. Danke.
Gbit's Vorteile eines normalen Dokuments gegenüber dem Profildokument?

2. Mein eigentliches Problem war das Einlesen und Anzeigen aller periodischen Agenten in einem einzigen Feld (statt 20 Felder für 20 Agenten zu erstellen) und das entsprechende Schalter-Feld mit 20 "Ja" und "Nein".
Wie löst Du das?

Gruß
Leo
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: DAU-in am 18.10.11 - 09:27:17
Ja.

es wird nicht gecacht  (Gott was für ein Deutsch!)
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: Bruce Willis am 18.10.11 - 09:52:57
Gut, das Erste ist jetzt geklärt.
Was ist mit dem Zweiten?
 ;)
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: ata am 18.10.11 - 10:45:38
... Anita hat es bereits erwähnt, Profildokumente werden gecacht, d.h. sie sind eventuell nicht auf dem aktuellen Stand. Ausserdem gehen sie ab und zu verloren ;)

Zum zweiten kannst du das durchaus mit einer Liste lösen. Dazu muß die Liste im Dokument gespeichert sein. Die Liste stellst du dann mittels einer embeddedView dar. In dieser View kannst du dann Icons in bearbeitbaren Spalten dazu verwenden, den Agenten in deiner Liste ein Flag zu verpassen, ob sie aktiv sind oder nicht.
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: Bruce Willis am 18.10.11 - 12:47:41
Die Liste stellst du dann mittels einer embeddedView dar. In dieser View kannst du dann Icons in bearbeitbaren Spalten dazu verwenden, den Agenten in deiner Liste ein Flag zu verpassen, ob sie aktiv sind oder nicht.

Nochmals Danke.
Welche Auswahl-Formel kann man für diese Ansicht verwenden, um die Agenten anzuzeigen?
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: ata am 18.10.11 - 13:21:29
... du nimmst die UNID zur Kategorisierung, die Liste mit den Agenten setzt sich pro-Zeile-ein-Agent mit einem Trennzeichen für Mehrfachwerte zusammen:
Agent_1[:]activ[:]... => "[:]" fungiert hier als Trennzeichen

=> also @Text( @DocumentUniqueID ) für die erste kategorisierte Spalte.
=> die zweite Spalte stellt die Liste dar, in der Sortierung die du brauchst. Dies ist deine Liste mit den Agenten. Nenne sie "$SORT"
=> die dritte Spalte berechnet parallel zu deiner Liste den Index der Einträge
=> alle weiteren Spalten nicht mehr sortieren - aber Mehrfachwerte als neue Einträge anzeigen
=> die einzelnen Werte kannst du dann mit @Word($SORT ; "[:]" ; 2 ) anzeigen => für den zweiten Wert in der Zeile
=> Icon-Spalte als editierbar markieren

In den Events der Ansicht musst du dann bei TargetFrame(single click) und TargetFrame(DoubleClick) den Index mit einem Schlüssel ins Environment schreiben
Die Angeklickte Spalte erhälst du mit @Text(@GetViewInfo([ColumnValue] ; 2 ) ) => Achtung die dritte Spalte wird mit 2 zurückgegeben.
Im InViewEdit fängst du dann die Icon-Spalte ab, der du am Besten auch einen Namen zum besseren ansprechen verpasst.

Der Index aus dem Enviromnment gibt dir den Eintrag zurück aus deiner Liste, der bearbeitet werden soll. Jetzt entsprechend die Werte setzen und speichern, dann funzt es - oder auch nicht ;)))

Ich denke das sollte es gewesen sein...



Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: Bruce Willis am 18.10.11 - 13:53:27
du nimmst ...
das sollte es gewesen sein.


Wow !!!

Vielen Dank!
Ich probiere's mal...
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: Glombi am 18.10.11 - 14:12:22
Mit einem kleinen Trick kann man sich die Agenten auch als "normale" Notes-Dokumente anzeigen (Stichwort $FormulaClass). Wenn ein Agent aktiviert hat, ist das Item "$AssistFlags" = "Es", wenn der Agent deaktiviert ist hat das Item den Wert "s".
Das kann man also bspw. in einer Symbolspalte anzeigen.

Mit $TITLE erhält man den Namen des Agenten, mit $MachineName den Server, auf dem der Agent läuft.

Achtung: Es sind zwar "normale" Dokumente, die darf man aber nicht mit einem normalen Agenten manipulieren. Ein
FIELD $AssistFlags := "Es"
sorgt dafür, dass die Signatur beschädigt wird.

Also so eine Ansicht nur zu Anzeige verwenden.

Aber eigentlich ist sowas nur was für echte Kerle ...  ;D

Andreas
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: Peter Klett am 18.10.11 - 14:40:08
Zum Aktivieren der Agenten kann man NotesAgent.IsEnabled setzen, und den Servernamen mit NotesAgent.Servername, da braucht man nicht das Gestaltungsdokument anzufassen.

Ansonsten schreiben wir auch direkt in die Dokumente (zum Sperren der Gestaltungsvererbung) und signieren die Datenbank im gleichen Script. Natürlich sollte man dann mit dem richtigen Benutzer angemeldet sein.
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: ata am 18.10.11 - 14:56:08
In meinem Fall ändere ich nichts am Agenten - der ist immer aktiviert. Ich verzweige im Agenten zuerst auf mein Config-Dokument und schaue nach, ob der Agent laufen soll. Soll er nicht wird der Lauf eben abgebrochen. So kann ich Design ausliefern und zuvor steuern, ob die Agenten dann beim Schablonenwechsel zur Ausführung kommen.

Toni
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: ata am 18.10.11 - 14:57:59
@Leo (Bruce Willis)

... viel Erfolg ... ;)))
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: ata am 18.10.11 - 15:07:24
... so sieht das in etwa aus:
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: Bruce Willis am 18.10.11 - 16:54:55

... viel Erfolg ... ;)))


Vielen Dank!   ;D

Auch für das Screenshot.

Der Vollständigkeit halber wäre an der Stelle zusätzlich nur noch ein Attachment mit einer sehr kleinen fast leeren Datenbank angebracht...
;)
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: ata am 18.10.11 - 17:04:47
... die bestehende Datenbank fast leer zu machen wäre ein Riesenaufwand - außerdem lernt man am lebenden Objekt immer noch am Besten ;) - copy paste kann jeder - verstehen kann man es über Learning by doing...

Da bist du schneller beim Ausprobieren - glaub mir ;)

Toni
Titel: Re: Periodische Agenten über Profildokument aktivieren
Beitrag von: ata am 18.10.11 - 17:16:00
... was ich dir noch beisteuere ist die Formel zur Berechnung des Index's für das Feld "AgentList":

_source := AgentList ;
_a := "0" : "1" : "2" : "3" : "4" : "5" : "6" : "7" : "8" : "9";
_b := _a *+ ( _a *+ ( _a *+ _a ));
_res := @TextToNumber( @Subset( _b ; @Elements( _source ) ) );

@If( @IsError( _res ) ; @TextToNumber("-1") ;  _res )

Bei dieser Berechnung erscheint bei einer leeren Liste als erster Eintrag ein "-1" => und damit der Möglichkeit einen Sonderfall steuern zu können, wie zum Beispiel die Liste der Agenten einlesen zu wollen.

Das müsstest du dann bei den anderen Spalten ebenfalls berücksichtigen...