Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: LuckyMan am 24.09.13 - 10:56:45
-
Hallo Leute...
Ich habe ein Problem...bei uns zickt wohl der Abwesenheits-Agent in einigen oder auch vielen Fällen.
Beim Aktivieren kommt eine Fehlermeldung und es passiert weiter nix.
Nun soll das Problem behoben werden können, indem das OutofOffice-Profil und der OutOfOffice-Agent gelöscht werden und über Nacht von der Designer-Task neu verteilt werden.
Nun habe ich einen Agenten gebastelt, der eigentlich genau dies bewerkstelligen soll. Dummerweise bekomme ich eine Fehlermeldung, dass der Agent nicht gelöscht werden darf. "You are not allowed to remove an Agent belonging to another User" oder so ähnlich.
Versucht haben wir es den Lösch-Agenten von Hand zu starten mit voller administrativer Berechtigung und auch signiert mit der ID des aktiven Servers als periodischen Agenten.
Beides brachte das gleiche Ergebnis.
Hat jemand eine schlaue Idee für mich?
Danke euch..
-
Als FullAdmin anmelden, DB im Designer öffnen, Agent löschen :)
-
Hallo,
Eventuell hilft ja auch das hier schon ein wenig weiter.
Agent loeschen (http://www-01.ibm.com/support/docview.wss?uid=swg21266826)
Andreas
-
@ascabg: Danke für den Tipp :-)
Muß ich bei der zu löschenden Maske wohl den gleichen Weg wählen?
-
Eigentlich nicht.
Dieses geschilderte Verhalten ist typisch beim Loeschen von Agenten.
btw.
Welche Maske willst Du denn loeschen?
Du loescht hier keine Maske, sondern Du loescht ein Profil.
Andreas
-
Ich muß die Maske zum OutOfOffice-Profil löschen...also nicht das Profil selbst, sondern das Gestaltungselement.
-
Warum denn das? ???
Andreas
-
Ist ein Wunsch von einem unserer Admins...wie gesagt...viele User können den Abwesenheitsagenten nicht aktivieren und durch das Löschen des Agenten und der Maske, und anschließender Gestaltungsaktualisierung durch die Designer-Task soll das Problem beseitigt sein.
-
Waere jetzt natuerlich mal interessant zu wissen, was die User denn ueberhaupt fuer eine
Fehlermeldung erhalten.
Eventuell habt ihr ja ain Problem an einer vollkommen anderen Stelle.
Andreas
-
Beim Aktivieren kam die beliebte Fehlermeldung "Object Variable not set"..aber wohl nur im BasicClient...
-
Ok.
Aber die Aussage Deiner Admins, auch den Agenten zu loeschen, halte ich in diesem
Zusammenhang fuer etwas gewagt.
Soweit ich das noch in Erinnerung habe, spielt der Agent beim Aktivieren noch keine
entscheidende Rolle.
(zumindest keine, die eine derartige Fehlermeldung provozieren kann)
Andreas
-
Der Agent kommt ja hinterher über die Gestaltungsaktualisierung wieder rein :)
-
Das ist schon klar.
Nur die Ausasge der Admins, das nur durch Loeschen der Maske fuer die Einstellungen fuer diesen Agenten und
dem Loeschen des kompletten Agenten, der Fehler beseitigt werden kann,
halte ich fuer sehr gewagt, da bei der Aktivierung ueber die Maske (das Profile) der Agent ja noch
ueberhaupt nicht involviert ist.
Andraes
-
Moin Moin...
Also...hier wurde ausprobiert das Problem nur durch Löschen des Profils zu lösen..das hat nicht gereicht..erst als der Agent auch gelöscht war, tauchte der Fehler nicht mehr auf.
Nun habe ich den Tipp von gestern umgesetzt...und bekomme leider eine Fehlermeldung...
25.09.2013 10:42:58 AMgr: 'Agent 'OutOfOfficeRemove' in 'names.nsf' will run on behalf of 'Serverxyz'
25.09.2013 10:42:58 AMgr: Agent ('OutOfOfficeRemove' in 'names.nsf') error message: Dokument wurde seit der Signierung geändert oder beschädigt! (Daten)
Ich komme also leider wieder keinen Schritt weiter :(
-
Das ist aber eine neue und komplett andere Baustelle:
1) Die Meldung betrifft einen Agenten im Domino Directory
2) Dieser Agent "OutOfOfficeRemove" gehört nicht zum Standard-Domino Directory.
Bernhard
-
Code !!!!
-
Der Agent ist von mir...und soll den Agenten "OutOfOffice" aus der Mail-Datei des Users, den ich gerade im Zugriff habe, löschen.
Hier ist Code dazu...
If Not MailDB.Getoption(DBOPT_OUTOFOFFICEENABLED) Then
Set theAgent = MailDB.GetAgent("OutOfOffice")
Set theForm = MailDB.GetForm("OutOfOfficeProfile")
theAgent.ServerName = Server
Call theAgent.Save
Set theAgent = MailDB.GetAgent("OutOfOffice")
Call theAgent.Remove
Call theForm.Remove
End If
Die Zeile
theAgent.ServerName = Server
verursacht die Fehlermeldung
-
Kann es sein, dass es in der Datenbank den Agenten nicht gibt?
Das solltest Du im Script überprüfen.
Set theAgent = MailDB.GetAgent("OutOfOffice")
If Not theAgent Is Nothing Then
'Agent vorhanden
End If
Warum setzt Du den Server in den Agenten und speicherst ihn, um danach den Agenten zu löschen?
Warum holst Du Dir den Agenten zweimal?
-
Hallo,
Eventuell hilft ja auch das hier schon ein wenig weiter.
Agent loeschen (http://www-01.ibm.com/support/docview.wss?uid=swg21266826)
Andreas
@Peter: Der Grund ist die Empfehlung von der IBM...ich habe es gerade in meiner eigenen Mailbox probiert..der Agent ist vorhanden, aber die Fehlermeldung ist die gleiche :-(
-
Ah, interessant ...
Welche Fehlermeldung bekommst Du? Diese? "Dokument wurde seit der Signierung geändert oder beschädigt!"
Die Fehlermeldung kenne ich, wenn ein Agent "von außen" manipuliert wurde, wie in Deinem Fall mit dem Servernamen. Allerdings kommt die dann erst, wenn der manipulierte Agent periodisch gestartet wird. Geholfen hat mir damals, nach der Änderung des Agenten die Datenbank per Script zu signieren.
Ist vielleicht der Agent schon vorher irgendwie verändert worden und die Fehlermeldung kommt daher beim Speichern? Versuch doch mal, vor der Änderung des Agenten die db zu signieren (besser nur den Agenten, ich weiß aber nicht, ob man das so gezielt kann).
-
@Peter: NotesDatabase.Sign kann man die NoteID oder den Programmatischen Namen des zu signierenden Elements mitgeben...
-
Jepp..ich habe es gerade probiert und im Test scheint es zu funktionieren...
Dann werde ich morgen mal weitersehen.
Edit: Ein wenig auf die Euphorie-Bremse lässt mich der folgende Hinweis
This method executes only on a client.
aus der Designer-Hilfe treten... ???
-
Ja, stimmt, bei mir war das damals eine vom User angestoßene Aktion, periodisch signieren ging m.W. nicht. Eigentlich auch gut so, denn was hätte man da für Möglichkeiten des Missbrauchs ...