Autor Thema: Mittels Agent Doks in einer andern DB anlegen?  (Gelesen 3026 mal)

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Mittels Agent Doks in einer andern DB anlegen?
« am: 21.02.06 - 17:38:38 »
Hallo,
ich habe einen Agent gebaut, mit dem man in einer andern 'Ziel-DB' bestimmte Doks anlegen kann.
Das Problem ist, dass die User in der Regel nur Leserechte in der Ziel-DB haben. Wenn ich als Admin denn Agent ausführe ist alles super, aber andere User bekommen die Fehlermeldung "Sie sind nicht berechtigt diese Aktion auszuführen.".
Gibt es eine Möglichkeit, dass die Doks im Namen vom Signer des Agenten angelegt werden?
Gruß
Hitcher
« Letzte Änderung: 01.03.06 - 10:42:01 von Hitcher »
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Mittels Agent Doks in einer andern DB anlegen?
« Antwort #1 am: 21.02.06 - 17:42:57 »
Ja. Signiere ihn mit einer ID mit entspr. Berechtigungen oder lass ihn "in behalf of" laufen. Gestartet werden muss er mit NotesAgent.RunOnServer.

HTH,
Bernhard

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re: Mittels Agent Doks in einer andern DB anlegen?
« Antwort #2 am: 21.02.06 - 18:21:23 »
@Bernhard:
Danke, dass mit "in behalf of" hab ich gemacht und signiert ist er auch.
wie funktioniert dass mit dem NotesAgent.RunOnServer?
Der Agent fragt den User mittels Picklisten ect. nach bestimmten Informationen ab, funktioniert das dann weiter hin, oder ist das nur für Agenten geeignet die ohne Userinput arbeiten.
Gruß
Hitcher
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Mittels Agent Doks in einer andern DB anlegen?
« Antwort #3 am: 21.02.06 - 18:44:03 »
Da das nur auf dem Server funktioniert, verbieten sich natürlich sämtliche FrontEnd-Geschichten.
Ansonsten musst Du Dein Zugriffskonzept umbauen (schreiben, aber nicht schreiben dürfen - das ist schon ein bisschen schräg).

Bernhard

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re: Mittels Agent Doks in einer andern DB anlegen?
« Antwort #4 am: 22.02.06 - 12:56:46 »
@Bernhard:
Danke, hab es es jetzt hinbekommen. O0
Du hast recht, es hört sich schräg an, passt aber schon. ;)
Bis dahin
Hitcher
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re: Mittels Agent Doks in einer andern DB anlegen?
« Antwort #5 am: 01.03.06 - 10:54:58 »
Es klappt doch noch nicht so ganz...
Und zwar habe ich jetzt folgende Situation.
Der User kann mit hilfe des Agent1 auf der DB1 ein Dokument mit versch. Fronend-Abfragen erstellen. Ist das Dok. erstellt stößt der Agent1 den Agent2 mit NotesAgent.RunOnServer an und agent2 kopiert das Dok in eine andere DB2.
Da Agent2 mit Adminrechten signiert ist darf er auch das dok in die DB2 schreiben, obwohl der User nur Leserechte auf der DB2 hat.

Das funktioniert alles Super, bis das Ganze mit lokalen Repliken passieren soll.
Leider kann man die Agenten die mit NotesAgent.RunOnServer aufgerufen werden nicht debuggen, aber es sieht so aus als ob lokal der Agent2 einen Fehler produziert zumindest aber nicht richtig durchläuft.
Woran kann das liegen, kann man NotesAgent.RunOnServer lokal nich nutzen?
Gruß
Hitcher
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Mittels Agent Doks in einer andern DB anlegen?
« Antwort #6 am: 01.03.06 - 11:52:52 »
Hi.

Wo liegt die 2. Datenbank? Auch lokal oder auf dem Server?
Wenn die DB auf dem Server liegt, weis der Agent das?

Gruss

André
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re: Mittels Agent Doks in einer andern DB anlegen?
« Antwort #7 am: 01.03.06 - 13:04:52 »
@Andre:
Die db2 liegt auch lokal, der Agent kennt die DB.
Gruß Hitcher
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re: Mittels Agent Doks in einer andern DB anlegen?
« Antwort #8 am: 08.03.06 - 15:37:10 »
Hallo,
ich bekomme es einfach nicht hin, dass Agent2 Lokal die Dokumente in die in die DB2 schreibt.
Auch habe ich festgestellt, dass in der DB1 geschrieben werden kann, aber nicht doc.remove greift.
Wie gesagt auf dem Server klappt alles.
Also hier etwas Code:
Der Agent 1 erstellt mit Hilfe von Frontend Eingaben das Dok1 auf der DB1, dann startet er den Agennt2 mit hilfe von 
Code
Set agent = ndb.GetAgent("writetask")
			If agent.RunOnServer = 0 Then
			Else
				Messagebox "Agent did not run",, "Failure"
			End If
Und hier der Agent2, er soll das Dok1 in der DB2 anlegen und danach Dok1 auf der DB1 löschen:
Code
	Set ns = New notesSession
	Set ndb = ns.currentDatabase
	Set dbnameview			= ndb.getview("A Replik ID")
	Set dbnamedoc				= dbnameview.getdocumentbykey("Aktuell")
	dbnamestring				= dbnamedoc.DB_Name_ZeiterfassungStammdaten	
	server = ndb.server
	Set db_stamm = ns.GetDatabase(server, dbnamestring(0))
	Set tview = ndb.GetView("RTempTasks")
	tview.Refresh
	tview.AutoUpdate=False
	Set ndoc = tview.GetFirstDocument
	Do Until ndoc Is Nothing
		id= ndoc.task_ParentUNID(0)
		Set pdoc=db_stamm.GetDocumentByUNID(id)
		Set tDoc = New NotesDocument(db_stamm)
		With Tdoc
			.Form=ndoc.task_DocTyp(0)
			.task_PrjId=nDoc.task_PrjId(0)
			.task_Prj=nDoc.task_prj(0)
			.task_ValidFrom=nDoc.task_ValidFrom(0)
			.task_ValidTo=nDoc.task_ValidTo(0)
			.task_main=ndoc.task_main(0)
			If ndoc.task_DocTyp(0)="PTask" Then
				.task_part=ndoc.task_part(0)
			End If
			.task_titel=ndoc.task_title(0)
			Call .MakeResponse(pdoc)
			Call .Save(True,True)
			Set rdoc = ndoc
			Set ndoc= tview.GetNextDocument(ndoc)
			rdoc.Remove(True)
		End With
	Loop
	tview.AutoUpdate=True

Beide Agenten sind mit Managerrechten signiert.
Agent2 läuft on behalf mit einer Gruppe die Managerrechte hat
Runtime Security Level ist 3
default access ist All Readers an above
consistent ACL ist aktiviert

Bitte helft mir auf die Sprünge ich verstehe einfach nicht, warum es auf den Servern läuft und auf den Lokalen Repliken nicht.
Übrigens wenn ich das Lokal laufen lasse geht es (Entwicklerrechte) normale User scheitern.
Kann es sein, das die Signierung des Agenten auf lokalen Repliken nicht mehr greift?
 
Gruß
Hitcher
« Letzte Änderung: 08.03.06 - 15:40:53 von Hitcher »
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Mittels Agent Doks in einer andern DB anlegen?
« Antwort #9 am: 08.03.06 - 16:00:07 »
Tut mir leid, das geht meines Wissens nach nicht. Du kannst lokal keine Agenten mit on Behalf laufen lassen. Das ist, aber eine gute Sache, da es sonst eine große Securitylücke gibt. Kannst du des nicht zeitlich entkoppeln. Sprich du schreibst die Dokumente in eine Zwischendatenbank, die auf den Server repliziert wird und dann vom Server regelmäßig in die Zieldatenbank übertragen wird, oder ist das so zeitkritisch.

Ausserdem muß ich Bernhard recht geben, warum erlaubst du keinen Schreibzugriff wenn du schreiben willst. Eventuell könnte man ja als Zugriff Einlieferer machen dann kann eigentlich nicht viel passieren. Der Benutzer darf dann schreiben, kann aber trotzdem keine Dokumente ändern.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re: Mittels Agent Doks in einer andern DB anlegen?
« Antwort #10 am: 08.03.06 - 16:47:24 »
@Ralf:
Ich habe jetzt mal eine Gruppe Depositor-Rechte gegeben und in der Form Available for public Users ein gestellt und die Gruppe darf doks mit dieser Form erstellen, aber es kommt die Meldung: You are not authorized to perform this operation.
Wo muss ich noch was einstellen?
Gruß
Hitcher
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Mittels Agent Doks in einer andern DB anlegen?
« Antwort #11 am: 08.03.06 - 17:19:37 »
Bei welcher Code Zeile bekommst du diese Meldung?

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re: Mittels Agent Doks in einer andern DB anlegen?
« Antwort #12 am: 08.03.06 - 17:24:31 »
Ich habe jetzt einfach das Dokument Direkt in der Db2 über Create und dann die Form gewählt, erstellt.
Habe nichts im Querysave oder so und der Debugger springt nicht an.
Rätzel??
Gruß
Hitcher
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Mittels Agent Doks in einer andern DB anlegen?
« Antwort #13 am: 08.03.06 - 17:28:47 »
Verstehe ich das richtig, du machst Erstellen und wählst die Maske und dann bekommst du die Fehlermeldung. Das kann ich mir nicht vorstellen. Müsste ich jetzt nachstellen. Vielleicht komme ich morgen dazu.

Grüße

Ralf

Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline LisaS

  • Senior Mitglied
  • ****
  • Beiträge: 429
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
    • [WCM4U]
Re: Mittels Agent Doks in einer andern DB anlegen?
« Antwort #14 am: 08.03.06 - 17:30:32 »
Eh, ich bekomme die Meldung wenn ich speichern möchte...
Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.
Server Windows , Domino 8.5.2, Workstation Win 7, Client 8.5.2, Designer 8.5.2 Browser IE 9, Firefox

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Mittels Agent Doks in einer andern DB anlegen?
« Antwort #15 am: 10.03.06 - 10:05:06 »
nein, kein Rätsel, sondern ein Problem mit Deinem "Depositor":

Ein Depositor darf ein Dokument "einliefern", es danach aber nicht mehr verändern (also abspeichern). Du musst also

ERST das Dokument komplett erstellen (in DB1) und DANN in DB2 kopieren (depositen...).
Anders funktioniert das nicht.

HTH
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz