Autor Thema: feinere Zeitsteuerung bei Agenten  (Gelesen 3997 mal)

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
feinere Zeitsteuerung bei Agenten
« am: 28.11.05 - 08:23:49 »
Guten Morgen alle zusammen,

hab aktuell ein Problem von dem ich mir sicher bin daß der ein oder andere von euch schon sich dafür auch schon mal was hat einfallen lassen müssen.

Beim erstellen eines Agenten lassen sich Zeiträume für seine Ausführung festlegen. Ich finde es nur schade daß diese mit einer festen Auswahlliste von Notes so starr und weitgehend unfelxibel gehalten wurden. Denn Auswahlmöglichkeiten für wöchentlich, monatlich, etc. sind zwar ganz schön aber eine Eingabebox für eine Anzahl an Tagen hätte genau das und noch viel mehr ermöglicht.

Denn wie kann ich einen Agenten realisieren der alle zwei Tage (alle 6 Wochen) läuft? Mir fallen da im Moment nur so umständliche Sachen ein wie zwei ineinander verschachtelte Agenten, von denen der erste das aktuelle Datum mit einem beim letzten Durchlauf angelegten Darum vergleicht und bei mindestens zwei Tagen Unterschied den zweiten Agenten startet der dann die eigentliche Aufgabe erfüllt und das neue Referenzdatum speichert.

Ist das der Weisheit letzter Schluß?
Bitte sagt mir daß es eine bessere Möglichkeit gibt 8)


Viele Grüße,

Andreas

Offline Mandalor

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
Re: feinere Zeitsteuerung bei Agenten
« Antwort #1 am: 28.11.05 - 08:53:01 »
Mein Vorschlag:

in ein Profindokument wir das letzte durchlaufdatum geschrieben, der Agent läuft jeden Tag und sieht nach ob "er wieder ma dran ist". Wenn ja schreibt er das aktuelle Datu rein, wenn nein dann bleibt er ruhig.
mit besten Grüßen

Markus Petzold

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: feinere Zeitsteuerung bei Agenten
« Antwort #2 am: 28.11.05 - 11:35:08 »
Danke für den Tipp, Mandalor. Habe ein Einstellungsdokument das ich jetzt noch etwas erweitert habe. An zwei verschachtelten Agenten komm ich aber im Moment nicht herum.

Agent CoAgent:

CoAgentIntervall := @DbLookup("":"NoCache"; ""; "AnsKonfiguration";"1";"ZahlCoAgentIntervall");
CoAgentDat := @DbLookup("":"NoCache"; ""; "AnsKonfiguration";"1";"datCoAgentDat");
NowDat := @Now;


@If(

@IsTime(NowDat) & @IsTime(CoAgentDat) ;
@If(@ToNumber( (@Date (NowDat) - @Date (CoAgentDat)) / 86400) >= CoAgentIntervall;       @Command([RunAgent];"CoordAgent") ;"") ;
0

);

Bei diesem Agenten mußte ich nach einer Fehlermeldung das Ziel auf "keines" ändern, um @-Befehle verwenden zu können.



Agent CoordAgent:

_Subject :="ERINNERUNG:    " + "Kunde:   " + Customer + "  / Kein 'Coordinator' eingetragen ";
_Email := @DbLookup("":"NoCache"; ""; "AnsKonfiguration";"1";"txtCoordinatorErinnerung");

@If(
   Coordinator = "" | Coordinator = "undefiniert" ;
   @Prompt([OK];"fas";"sdg")  & @MailSend(_Email;"";"";_Subject;"Document link:  ";"";[IncludeDoclink]) & @SetField("datCoAgentDat";@Now)  ;
   ""
);

Dieser Agent hat das Ziel "alle ausgewählten Dokumente" und bei der Dokumentenauswahl "Benutzt Maske ..."


Ein Beispiel:
CoAgentIntervall = 2
CoAgentDat = 24.11.2005
NowDat = 28.11.2005

NowDat - CoAgentDat = 4 (-> größer 2)
Ein Prompt an dieser Stelle springt an, der Vergleich ist also erfolgreich.

Der Prompt im zweiten Agenten wird allerdings nicht ausgegeben, der Agent scheint also nicht anzulaufen (Es gibt Dokumente  mit Coordinator = "undefiniert").


Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: feinere Zeitsteuerung bei Agenten
« Antwort #3 am: 28.11.05 - 13:56:12 »
Ok, hab das Problem jetzt in den Griff bekommen.

Bei einer anderen kleinen Sache könnt ihr mir aber helfen...

Wie ihr gesehen habt verschicke ich die Emails mit:
@MailSend(_Email;"";"";_Subject;

_Email enthält eine normal formatierte Emailadresse, also name@domain.suffix

Wenn ich das ersetzte durch ein Feld (Name: Sales und Typ: Name):
@MailSend(Sales;"";"";_Subject;

Dann erhalte ich die Fehlermeldung:
Kein 'SendTo'-Feld im Dokument. Verwenden sie stattdessen 'Weiterleiten' im Menü 'Aktionen'.

Die Email kommt daraufhin aber trotz der Meldung an!

Was hat die Meldung zu bedeuten? Wie kann ich sie abstellen?


Viele Grüße,

Andreas

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: feinere Zeitsteuerung bei Agenten
« Antwort #4 am: 28.11.05 - 14:44:29 »
... das hat ja mit dem eigentlichen Thema des Threads nicht mehr soviel zu tun.. denkt ihr ich sollte einen neuen Thread dafür aufmachen?

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: feinere Zeitsteuerung bei Agenten
« Antwort #5 am: 28.11.05 - 15:16:53 »
Ich verstehe das einfach nicht! Wenn ich in einer Testmaske das mit einem (Names-)Feld und einer Hotspot-Schaltfläche nachstelle dann funktioniert der Mailversand ohne Fehlermeldung. In meinem Agenten aber nicht. Ich dreh noch durch... Habe es schon mit allen möglichen Formelumstellungen versucht und in der DesignerHelp nachgelesen und gegoogelt und ....  Bitte helft mir wenn ihr sehr was ich falsch mache.

Viele Grüße,

Andreas

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: feinere Zeitsteuerung bei Agenten
« Antwort #6 am: 29.11.05 - 08:10:44 »
Gestern vor dem gehen nochmal getestet, ohne Erfolg. Dann gespeichert und beendet.
Heute gleich nach dem öffnen getestet, alles funktioniert wie es soll ohne Fehlermeldung. Ohne daß ich irgendetwas geändert hätte.
Soetwas werd ich an Notes wohl nie verstehn...

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: feinere Zeitsteuerung bei Agenten
« Antwort #7 am: 29.11.05 - 09:15:44 »
Hoffe der Thread ist noch nicht Tod...

Derzeit arbeite ich mit einer lokalen Kopie. Wenn Agenten Emails verschicken bin ich der Absender.

Wie wird das sein wenn die db erstmal auf dem Server ist? Wessen Email-Adresse wird dann als Absender angezeigt werden? (zeitgesteuerte Server-Agenten)

MfG

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: feinere Zeitsteuerung bei Agenten
« Antwort #8 am: 29.11.05 - 09:40:41 »
Hi,

das hatten wir hier schon öfters. Sogar erst vor kurzem.

Guckst du hier: http://atnotes.de/index.php?topic=27255.0


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: feinere Zeitsteuerung bei Agenten
« Antwort #9 am: 29.11.05 - 10:13:26 »
Gute Morgen Axel,

hab den Thread sogar gesehen gehabt, aber nicht so recht das rausgelesen was ich wollte. Hab mich nun ein bischen durchgelesen und es ist ein wenig klarer geworden.

Die Mails tragen als Absender also die Adresse dessen der den Agenten signiert hat. Richtig? Dabei wird ein Agent anscheinend signiert wenn er gespeichert wird UND / ODER wenn man in der Agentenübersicht den Knopf "Signieren" betätigt. Stimmts? Aber welchen zusätzlichen Sinn erfüllt das signieren noch? Sollte ich meine Agenten grundsätzlich signieren? Warum oder warum nicht?

... das konnte ich weder aus dem Addison-Wesley Buch richtig in Erfahrung bringen noch aus dem IBM Redbook und in der DesignerHelp mangelt es mir an guten Suchtreffern.

Gruß,

Andreas

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: feinere Zeitsteuerung bei Agenten
« Antwort #10 am: 29.11.05 - 10:22:29 »
Zitat
Aber welchen zusätzlichen Sinn erfüllt das signieren noch? Sollte ich meine Agenten grundsätzlich signieren? Warum oder warum nicht?

Grundsätzlich solltest du dAgenten nie mit einer UserID signieren; der User könnte das Unternehmen verlassen und der Agent würde nicht mehr laufen, weil der Account ebenfalls gelöscht wurde.
Lege dir eine ID an, mit der du Agenten signierst. Dieser ID kannst du dann im Serverdokument die notwendigen Rechte bezüglich der Berechtigungen zum Ausführen von Agenten geben.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: feinere Zeitsteuerung bei Agenten
« Antwort #11 am: 29.11.05 - 10:28:21 »
Die Mails tragen als Absender also die Adresse dessen der den Agenten signiert hat. Richtig? Dabei wird ein Agent anscheinend signiert wenn er gespeichert wird UND / ODER wenn man in der Agentenübersicht den Knopf "Signieren" betätigt. Stimmts?

Richtig. Eine weitere Möglichkeit ist noch über den Admin-Client. Dort kannst du die gesamte DB signieren.

Aber welchen zusätzlichen Sinn erfüllt das signieren noch? Sollte ich meine Agenten grundsätzlich signieren? Warum oder warum nicht?

Das Signieren ist eine Sicherheitsfunktion von Notes. Über die ECL (Execution Control List) der Workstation wird überprüft, ob der Signierer der DB berechtigt ist, bestimmte Funktionen auszuführen. So wird verhindert, dass Datenbanken aus unbekannten Quellen, die eventuell "bösartigen" Code enthalten können, Schaden anrichten können.

Das ist ein Thema, zu dem man Romane schreiben könnte. Ich hoffe es ist, trotz der Kürze, verständlich geworden.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: feinere Zeitsteuerung bei Agenten
« Antwort #12 am: 29.11.05 - 11:00:13 »
Hallo Ulrich,

das ist ein wichtiger Hinweis. Das trifft in meinem Fall nämlich ganz sicher zu. Werde also schaun daß die Agenten mit einer ID signiert werden die etwas dauerhafter ist als meine.

@ Axel,
zum Stichwort ECL hab ich schon etwas brauchbarere Sachen gefunden. Und im Gesamtkonzept gibt das ganze auch Sinn, das stimmt. Für mich war die Erklärung erstmal vollkommen ausreichend, danke. Zu ECL hab ich auch noch genug zu lesen.

Vielen Dank für die Infos, ihr beiden!

Gruß,

Andreas

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: feinere Zeitsteuerung bei Agenten
« Antwort #13 am: 29.11.05 - 11:13:14 »
Werde also schaun daß die Agenten mit einer ID signiert werden die etwas dauerhafter ist als meine.

Notfalls kannst du auch mit der Server-ID signieren.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: feinere Zeitsteuerung bei Agenten
« Antwort #14 am: 29.11.05 - 11:27:51 »
Werde also schaun daß die Agenten mit einer ID signiert werden die etwas dauerhafter ist als meine.

Notfalls kannst du auch mit der Server-ID signieren.


Axel


Hm... wie müsste ich das anstellen?

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: feinere Zeitsteuerung bei Agenten
« Antwort #15 am: 29.11.05 - 11:32:44 »
ist eine Option in der Dialogbox
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: feinere Zeitsteuerung bei Agenten
« Antwort #16 am: 29.11.05 - 14:05:53 »
Danke Ulrich. Hab mir grad nen Wolf nach diesem Dialog gesucht. Nun hab ich rausgefunden daß er über den "Domino Administrator" aufgerufen werden kann.

Zitat
Domino Administrator öffnen
Wechseln Sie zur Registrierkarte "Dateien"
Wählen Sie eine entsprechende Datenbank od. Schablone aus
Wählen Sie aus der Werkzeugleiste "Datenbank, Signieren..."

Diesen kann ich jedoch als Anwendung bei mir weder im Startmenü noch über das \..\Lotus\Notes Verzeichnis finden. Ist auf meiner Arbeitsstation anscheinend nicht installiert. Mal schaun daß ich den bekomme.

Grüße,

Andreas

Offline Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re: feinere Zeitsteuerung bei Agenten
« Antwort #17 am: 29.11.05 - 14:49:04 »
noch einmal zum ursprünglichen Betreff:

Hier ist eine gute Lösung für das Starten von Agenten:

http://www.jnotes.de/JNotes/jnotes_webware.nsf/0/C23C4FD8E6E9DD1AC1256E16003006FF?openDocument
sagt Mark.



slowfood.de

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz