Das Notes Forum
Lotus Notes / Domino Sonstiges => Tools & Downloads => Thema gestartet von: eknori am 13.10.09 - 07:52:26
-
xTalk is a PHP style discussion forum template similar to the many other web forums you might encounter. It is a flat thread based system and designed with the ability for you to create multiple forums within a single database with granular security controls at both the category, forum and even thread levels.
As the application is 100% XPages based it also configured and setup through your web browser or Lotus Notes 8.5.1 client. so you can get from the initial homepage
http://www.openntf.org/blogs/openntf.nsf/d6plinks/NHEF-7WRN8M
-
Geht ausschliesslich mit Domino 8.5.1 oder auch mit 8.5 ?
-
Wenn ich auf meinem WebServer (Domino 8.5.1) ein Forum mit xTalk erzeuge, dann erhalte ich im Browser (IE8 unf FF3.5) folgende Fehlermeldung:
---------------------------------------------------------------------------
The runtime has encountered an unexpected error.
***Error source
Page Name:/home.xsp
Property: beforePageLoad
***Exception
Error while executing JavaScript action expression
Script interpreter error, line=39, col=25: Exception occurred calling method NotesDocument.save() null
----------------------------------------------------------------------------
Ich habe die Designelemente mit meiner ID signiert.
Ich habe im Serverdokument im Feld
- "Agenten signieren, die im Namen anderer ausgeführt werden:"
meinen Namen reingeschrieben
Ich habe mit Project > Clean
die Application neu aufgebaut (?).
Aber der Fehler bleibt.
Im Designer werden mir in der JSS-Library
"xpgroupFunctions" mehrere Fehler gemeldet, in der Function
- "isNameInList", aber ob die in einem Zusammenhang mit dem im browser gemeldeten Fehler hängen weiß ich nicht.
In der Anleitung steht:
"Sign the NTF with an ID file with the ability to run XPage Applications."
woran kann ich erkennen, ob meine ID XPages laufen lassen kann?
Hat irgendwer eine weitere Idee?
Vielen Dank im Voraus!
Peter
-
Das Problem hat sich mittlerweile erledigt - eventuell liegt es an der mittlerweile neuen Version (V09).
-
Hallo,
ich habe ein Problem mit der xtalk V0.9-Schablone (Domino 8.5.1).
Wenn ich im benutzerdefinierten Element
"content_newTopic"
den Code, der sich hinter dem Element
"saveTopicLink"
nur anfasse, z.B. ein Leerzeichen einfüge, wieder wegnehme und dann abspeichere erhalte ich immer folgende Fehlermeldung beim Anlegen eines neuen Topics:
"Fehler beim Ausführen eines von JavaScript berechneten Ausdrucks.
Script-Interpreterfehler, Zeile=49, Spalte=10: Beim Aufrufen der Methode NotesDocument ist ein Fehler aufgetreten. copyItem(null) null"
Ich poste das Script mit, das hinter
"saveTopicLink"
verbirgt, und dass in der Fehlermeldung auch angezeigt wird:
var thisUID = @Unique();
var customUNID = session.evaluate("@middle(@password(\"" + thisUID + "\");1;32)").elementAt(0);
var curDate = session.createDateTime("Today");
curDate.setNow();
var topDoc:NotesDocument = newTopicDoc.getDocument(true);
var faDoc:NotesDocument = database.getDocumentByUNID(sessionScope.forumID);
topDoc.replaceItemValue("form","content_Topic");
topDoc.replaceItemValue("topic_TopicUID",thisUID);
topDoc.replaceItemValue("topic_TopicUNID",customUNID);
topDoc.replaceItemValue("topic_Author",@UserName());
topDoc.replaceItemValue("topic_DateTime",curDate);
topDoc.replaceItemValue("topic_ForumUNID",faDoc.getUniversalID());
topDoc.replaceItemValue("topic_ForumUID",faDoc.getItemValueString("forum_UID"));
topDoc.replaceItemValue("topic_LastTitle",getComponent("topic_Title").getValue());
topDoc.replaceItemValue("topic_LastAuthor",@UserName());
topDoc.replaceItemValue("topic_LastDate",curDate);
topDoc.replaceItemValue("topic_LastTopicUNID",thisUID);
topDoc.replaceItemValue("topic_Replies",0);
topDoc.replaceItemValue("topic_Views",0);
topDoc.replaceItemValue("topic_IsSticky","0");
topDoc.replaceItemValue("topic_IsHot","0");
topDoc.replaceItemValue("topic_IsLocked","0");
topDoc.replaceItemValue("CGI_RemoteAddr",facesContext.getExternalContext().getRequest().request.getRemoteAddr());
topDoc.replaceItemValue("CGI_RemoteHost",facesContext.getExternalContext().getRequest().request.getRemoteHost());
topDoc.replaceItemValue("HTTP_Referer",facesContext.getExternalContext().getRequest().request.getHeader("Referer"));
topDoc.replaceItemValue("HTTP_UserAgent",facesContext.getExternalContext().getRequest().request.getHeader("User-Agent"));
topDoc.setUniversalID(customUNID);
topDoc.save();
// Recreate the topic doc as a response to itself
var replyUID = @Unique();
var replyUNID = session.evaluate("@middle(@password(\"" + replyUID + "\");1;32)").elementAt(0);
var replyDoc:NotesDocument = database.createDocument();
replyDoc.setUniversalID(replyUNID);
replyDoc.replaceItemValue("topic_replyUID",replyUID);
replyDoc.replaceItemValue("topic_replyUNID",replyUNID);
replyDoc.replaceItemValue("topic_replyMaster",1);
replyDoc.replaceItemValue("form","content_TopicReply");
replyDoc.replaceItemValue("CGI_RemoteAddr",facesContext.getExternalContext().getRequest().request.getRemoteAddr());
replyDoc.replaceItemValue("CGI_RemoteHost",facesContext.getExternalContext().getRequest().request.getRemoteHost());
replyDoc.replaceItemValue("HTTP_Referer",facesContext.getExternalContext().getRequest().request.getHeader("Referer"));
replyDoc.replaceItemValue("HTTP_UserAgent",facesContext.getExternalContext().getRequest().request.getHeader("User-Agent"));
// replyDoc.copyItem(newTopicDoc.getDocument().getFirstItem("$MIMETrack"));
// replyDoc.copyItem(newTopicDoc.getDocument().getFirstItem("$NoteHasNativeMIME"));
// replyDoc.copyItem(newTopicDoc.getDocument().getFirstItem("MIME_Version"));
replyDoc.copyItem(newTopicDoc.getDocument().getFirstItem("topic_Author"));
------Die folgende Zeile wird im Browser rot dargestellt.
------Ich vermute aber, das die vorherige Zeile schon das Problem verursacht.
replyDoc.copyItem(newTopicDoc.getDocument().getFirstItem("topic_Title"));
replyDoc.copyItem(newTopicDoc.getDocument().getFirstItem("topic_Body"));
replyDoc.copyItem(newTopicDoc.getDocument().getFirstItem("topic_DateTime"));
replyDoc.copyItem(newTopicDoc.getDocument().getFirstItem("topic_ForumUNID"));
replyDoc.copyItem(newTopicDoc.getDocument().getFirstItem("topic_ForumUID"));
replyDoc.copyItem(newTopicDoc.getDocument().getFirstItem("topic_TopicUID"));
replyDoc.copyItem(newTopicDoc.getDocument().getFirstItem("topic_TopicUNID"));
replyDoc.makeResponse(newTopicDoc.getDocument());
replyDoc.save();
// Update the ForumArea document
faDoc.replaceItemValue("forum_LastTitle",getComponent("topic_Title").getValue());
faDoc.replaceItemValue("forum_LastAuthor",@UserName());
faDoc.replaceItemValue("forum_LastDate",curDate);
faDoc.replaceItemValue("forum_LastTopicUNID",thisUID);
var faThreads = faDoc.getItemValueInteger("forum_Threads")
faDoc.replaceItemValue("forum_Threads",faThreads + 1);
var faPosts = faDoc.getItemValueInteger("forum_Posts")
faDoc.replaceItemValue("forum_Posts",faPosts + 1);
faDoc.save();
// Increase The Posters 'New Topic' count by one.
var userView:NotesView = database.getView("lkp_UserProfiles");
var userDoc:NotesDocument = userView.getDocumentByKey(sessionScope.userCommon);
var userPosts = userDoc.getItemValueInteger("user_Posts");
userDoc.replaceItemValue("user_Posts",userPosts + 1);
userDoc.save();
// Redirect to the new Topic page.
context.redirectToPage("/listTopics.xsp?forumID=" + faDoc.getItemValueString("forum_UID"));
Irgendeiner eine Idee?
Mit besten Grüßen und Dank im voraus
Peter T.
-
Vermutlich wäre es sinnvoller, die Frage auf OpenNTF in der Diskussion zum Projekt zu posten. I.d.R. lesen die Entwickler dort auch mit und können Fragen besser beantworten.