Autor Thema: Starting with XPages  (Gelesen 24654 mal)

Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Re: Starting with XPages
« Antwort #20 am: 06.05.14 - 16:32:09 »
Zitat
Ich würde mich sehr freuen, wenn Du dazu erklären würdest wie mein Vorhaben denn funktionieren würde.
Mich kann man mieten ;-) Da erkläre ich dann ganz viel.

Aber ich gebe Dir gerne noch ein paar Tipps:
  • Man kann das mit Agents machen, ist aber nicht so flott wie XAgents.
  • Alternativ kann man eine REST Schnittstelle bauen. Das wäre genau das, was Du eigenlich möchtest
  • Falls Dir die Geschwindigkeit nicht ganz so wichtig ist, kannst Du auch eine View mit ?JSON-Parameter öffnen
  • "Allerdings erhalte ich auch hier immer eine Fehlermeldung." ist keine ausreichende Fehlerbeschreibung

Zitat
im Vergleich zur "herkömmlichen" Entwicklung mit HTML, Javascript, PHP etc. ist das einfach nur ein Graus.
Wenn du damit "schnell mal was hinfrickeln" meinen solltest, gebe ich Dir absolut recht. Dafür sind größere Frameworks nicht gedacht.

Offline yannick

  • Junior Mitglied
  • **
  • Beiträge: 94
Re: Starting with XPages
« Antwort #21 am: 06.05.14 - 16:58:28 »
Vielen Dank für die Tipps.

Angenommen die Geschwindigkeit ist eher unwichtig...Ich habe jetzt versucht eine View mit
...?ReadViewEntries&OutputFormat=JSON
zu öffnen. Was erscheint ist nur ein Login-Screen. Allerdings kann ich mich nicht authentifizieren. Bei jedem Login-Versuch wird einfach nur die Seite mit dem Login-Screen neu geladen. Ist das ein bekanntes Problem?
Und wie würde die Authentifizierung über Ajax funktionieren?
Zudem habe ich auch versucht einen Agent über den Browser aufzurufen
http://server.com/database.nsf/agent?OpenAgent
Vorher die Security Settings auf "Run as Web user", Default Access auf "Anonymous" (= Author), Allow Public Access...
Und wieder nur ein Fehler: "Error 404 HTTP Web Server: Couldn't find design note". Das Googlen nach dem Fehler hat auch keine Lösung gebracht.

Vielleicht sind das noch zwei Fragen, die du schnell beantworten könntest :)
...Ansonsten versuche ich meine XPage so aufzubauen wie auf S. 1 beschrieben, dann wird eben der Code direkt beim Laden ausgeführt...Damit muss man dann klar kommen :D So viel Zeit kann ich dann leider auch nicht dafür aufbringen, auch wenn ich die Entwicklung mit XPages wirklich gerne genauer lernen würde...
« Letzte Änderung: 06.05.14 - 17:01:12 von yannick »

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Starting with XPages
« Antwort #22 am: 06.05.14 - 20:34:22 »
Vielen Dank für die Tipps.

Angenommen die Geschwindigkeit ist eher unwichtig...Ich habe jetzt versucht eine View mit
...?ReadViewEntries&OutputFormat=JSON
zu öffnen. Was erscheint ist nur ein Login-Screen. Allerdings kann ich mich nicht authentifizieren. Bei jedem Login-Versuch wird einfach nur die Seite mit dem Login-Screen neu geladen. Ist das ein bekanntes Problem?
ACL Problem oder Passwort falsch. Oder Internet Lockout aktiv und Passwort 3x falsch eingegeben.
Das ganze geht gegen einen korrekten Server und nicht irgendwie "lokal"?

Und wie würde die Authentifizierung über Ajax funktionieren?
Ajax ist auch nur http. Also ist es eine http authentifizierung. entweder basic oder form based.

Zudem habe ich auch versucht einen Agent über den Browser aufzurufen
http://server.com/database.nsf/agent?OpenAgent
Vorher die Security Settings auf "Run as Web user", Default Access auf "Anonymous" (= Author), Allow Public Access...
Und wieder nur ein Fehler: "Error 404 HTTP Web Server: Couldn't find design note". Das Googlen nach dem Fehler hat auch keine Lösung gebracht.
Korrekte Syntax ist
http://Host/Database/AgentName?OpenAgent
Bei dem Fehler hast Du wo einen Typo (Tipp: Groß/Kleinschriebung ist durchaus relevant).
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline yannick

  • Junior Mitglied
  • **
  • Beiträge: 94
Re: Starting with XPages
« Antwort #23 am: 07.05.14 - 12:47:28 »
Korrekte Syntax ist
http://Host/Database/AgentName?OpenAgent
Bei dem Fehler hast Du wo einen Typo (Tipp: Groß/Kleinschriebung ist durchaus relevant).
Ich habe einfach in Domino eine View geöffnet und auf "Preview in Web Browser" geklickt. Bei der URL habe ich einfach das Ende ausgetauscht. Das sollte doch dann so stimmen, oder?
Wie gesagt, am Ende habe ich dann eine URL, die wie folgt aussieht:
http://server.com/directory/database.nsf/myAgent?OpenAgent

Allerdings kann ich mich immer noch nicht im Lotus iNotes Fenster authentifizieren, wenn ich bei einer View "Preview in Browser" klicke. Die Datenbank liegt auf einem Server (siehe URL). In der ACL stehe ich als einzelne Person drin und habe Manager Access Level. Auch Anonymous hat Author Access.

Auch wenn ich mir die Datenbank lokal kopiere und im Browser öffne muss ich mich authentifizieren. Das Fenster ist kein iNotes mehr und es kommt die Meldung A username and a password are being requested by http://localhost. The site says: "". Gebe ich hier meinen Notes-Namen und Notes-PW ein, passiert ebenfalls nichts. Die Seite wird einfach nur mit der Passwort-Abfrage neugeladen.

Mir ist jetzt aufgefallen, dass ich XPages, die vom Server signiert sind, öffnen kann im Browser. XPages, die von mir geändert/signiert wurden kann ich allerdings nicht öffnen, obwohl ich Manager Access habe...Gibt es eine Möglichkeit die XPage wieder vom Server signieren zu lassen?
« Letzte Änderung: 07.05.14 - 14:33:18 von yannick »

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Starting with XPages
« Antwort #24 am: 07.05.14 - 16:40:06 »
Acl - maximaler Internetzugriff unter erweitert zu gering...
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)

Offline yannick

  • Junior Mitglied
  • **
  • Beiträge: 94
Re: Starting with XPages
« Antwort #25 am: 07.05.14 - 20:37:53 »
Acl - maximaler Internetzugriff unter erweitert zu gering...
Okay, danke für den Tipp. Ist jetzt auf "Editor" gesetzt. Die Views kann ich nun anschauen, bei einem Versuch einen Agent zu öffnen (http://server.com/directory/database.nsf/myAgent?OpenAgent) bekomme ich dennoch weiterhin diese Fehlermeldung:
Error 500
HTTP Web Server: Lotus Notes Exception - Error validating user's agent execution access


Ich bin mittlerweile bei dieser Lösung angekommen:
Code
<xp:button id="button" value="button" style="display:none;">
	<xp:eventHandler event="onclick" submit="true"
		refreshMode="partial" refreshId="computedField">
		<xp:this.action><![CDATA[#{javascript:
			var db = session.getCurrentDatabase();
			nav = db.getView("myview").createViewNav();
			entry = nav.getLast();
			value = entry.getColumnValues()[0];		    
			viewScope.test = '<p>Value:</p><h1>'+value+'</h1>';
		}]]></xp:this.action>
		<xp:this.onComplete>
			<![CDATA[$("#computedField").show();]]>
		</xp:this.onComplete>		    
		<xp:this.onError><![CDATA[alert("error")]]></xp:this.onError>
	</xp:eventHandler>
</xp:button>
Wenn ich das richtig sehe wird der SSJS-Code auch wirklich erst beim Click-Event ausgeführt. Beim computedField habe ich die Darstellung auf "HTML" umgestellt (bzw. escape=false). Oder bin ich wieder auf dem Holzweg?

Ansonsten habe ich jetzt noch einen Versuch mit Ajax gestartet. Wenn ich im Browser eine URL in diesem Format eingebe
http://server.com/dir/database.nsf/myview?ReadViewEntries&OutputFormat=JSON&count=300
bekomme ich das korrekte Ergebnis angezeigt. Wenn ich eine Ajax Request an diese URL schicke erhalte ich wieder einen Error (Error type = 0 -> No connection)...Woran kann das jetzt wieder liegen?
Code
request = $.ajax({
	url: "http://server.com/dir/database.nsf/myview?ReadViewEntries",
	data: {Count:"300",OutputFormat:"JSON"},
	dataType: "json",
	beforeSend: function(jqXHR, settings) {
		$("#url").html(settings.url);
	},
	error: function(jqXHR, exception) {
		if (jqXHR.status === 0) {
			alert('Not connect.\n Verify Network.');
		} else if (jqXHR.status == 404) {
			alert('Requested page not found. [404]');
		} else if (jqXHR.status == 500) {
			alert('Internal Server Error [500].');
		} else if (exception === 'parsererror') {
			alert('Requested JSON parse failed.');
		} else if (exception === 'timeout') {
			alert('Time out error.');
		} else if (exception === 'abort') {
			alert('Ajax request aborted.');
		} else {
			alert('Uncaught Error.\n' + jqXHR.responseText);
		}
	}							
});	
request.done(function(data) {
	$("#text").html(data);
});
Bei beforeSend habe ich mal den konstruierten URL-String ausgeben lassen, der passt.
« Letzte Änderung: 07.05.14 - 21:56:16 von yannick »

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Starting with XPages
« Antwort #26 am: 08.05.14 - 00:02:07 »
Gebe ich hier meinen Notes-Namen und Notes-PW ein....
Du musst deinen Notes-Namen (darf keine Umlaute enthalten, alternativ emailadresse verwenden) und dein HTTP-Passwort eingeben. Das HTTP-PW hinterlegst du in deinem Personendokument und dieses PW muss, bzw sollte aus Sicherheitsgründen nicht gleich dem Notes-PW sein.
Außerdem solltest du neben der ACL noch die "Maximum internet access" Einstellung prüfen.
Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline yannick

  • Junior Mitglied
  • **
  • Beiträge: 94
Re: Starting with XPages
« Antwort #27 am: 14.05.14 - 13:09:20 »
Jetzt bin ich mit der Entwicklung ziemlich weit gekommen und auch zufrieden mit dem Ergebnis. Kurz zur Situation. Die XPage wird über einer Maske dargestellt (On Open > Display XPage instead). Über ein Menüpunkt (als Outline) wird diese Maske geöffnet.
Wenn ich die XPage öffne funktioniert alles wunderbar. Jetzt wollte ich das einem Kollegen zeigen, bei ihm kommt allerdings nur die Fehlermeldung "Error 500 Unexpected Error Condition". Es handelt sich um eine Notes-DB, die auf einem Server liegt. Beide User haben Manager-Access. Übersehe ich etwas? Wieso kann ich die Page öffnen und mein Kollege nicht? Liegt es eventuell daran, dass die XPage von mir signiert ist?

Thanks in advance.

EDIT:
Okay, mein Fehler. Ich vergaß, dass dieser tolle Fehler existiert (Sametime Plugin installed):
http://www-01.ibm.com/support/docview.wss?uid=swg21454498
Beim Kollegen die .config angepasst, und jetzt kann auch er XPages anschauen. :)
« Letzte Änderung: 14.05.14 - 13:24:36 von yannick »

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Starting with XPages
« Antwort #28 am: 14.05.14 - 17:57:45 »
Auch hier müsste ein Fehler in der error-log.xml zu finden sein

Gruß Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline yannick

  • Junior Mitglied
  • **
  • Beiträge: 94
Re: Starting with XPages
« Antwort #29 am: 14.05.14 - 18:59:04 »
Genau da habe ich geschaut und den Fehler gefunden, aber danke pram!

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Starting with XPages
« Antwort #30 am: 14.05.14 - 22:05:56 »
In der Datei müsste noch ein Stack trace drin stehen, der mehr Infos liefert an was es liegen könnte.
Aber evtl lässt du deinen Kollegen einfach mal signieren um das Problem einzugrenzen.

Gruß Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz