ドキュメントの保存時に、.save()を実行しているSSJSを実行していて、context.getUrl()を使用して送信される通知メールの本文にドキュメントリンク(URL)を含めたいと考えています。
これは、ドキュメントを開いたときにURLにドキュメントIDが含まれているために既に保存されているドキュメントに対しては機能しますが、新しいドキュメントに対しては機能しません。IDをまだ持っていない新しいドキュメントに対してこれを達成する方法はありますか?
ドキュメントの保存時に、.save()を実行しているSSJSを実行していて、context.getUrl()を使用して送信される通知メールの本文にドキュメントリンク(URL)を含めたいと考えています。
これは、ドキュメントを開いたときにURLにドキュメントIDが含まれているために既に保存されているドキュメントに対しては機能しますが、新しいドキュメントに対しては機能しません。IDをまだ持っていない新しいドキュメントに対してこれを達成する方法はありますか?
(すでにご存知のように)context.getUrl()メソッドは使用できないため、URLを自分で作成する必要があります。
したがって、.save()の後で、次のようなことを行うことができます。
var docUrl = context.getUrl().toString().split(view.getPageName())[0] + "/" + database.getFilePath() + view.getPageName() + "?action=openDocument&documentId=" + document.getNoteID();
この部分は、 David Leedys xpagescheatsheet.comのURLテストcontext.getUrl().toString().split(view.getPageName())[0]
に従って、ホスト名とデータベースのファイルパスを提供する必要があります。次に、現在のXPage名と、openDocumentおよびdocidパラメーターを追加します。
別の可能性:ドキュメントの背後にフォームがあり、プロパティ「代わりにXPagesを開く」がある場合は、http://server/database.nsf/0/universalid
構文を使用できます。ドキュメントに一意の識別子がある場合は、その識別子で並べ替えられたビューを使用して、を使用することもできますhttp://server/database.nsf/sortedview/sortkey
。ソートされたビューを使用すると、保存する前にURLを予測できます。