Xpages 需要通过SSJS在新数据库上设置启动属性

Xpages 需要通过SSJS在新数据库上设置启动属性,xpages,xpages-ssjs,Xpages,Xpages Ssjs,我正在从一些SSJS代码创建一个新的数据库,然后将选定的设计元素复制到其中,设置ACL和其他一些东西。我想为Notes和Web客户端设置启动以打开特定的XPage,而不是让用户在Designer中打开并手动设置它(他们可能没有Designer权限)。我可以在应用程序属性/数据库属性中找到它们,但在SSJS中找不到设置它们的方法。我查看了Notes数据库的方法和函数,但没有看到一个看起来可以做到这一点的方法和函数。据我所知,这不是“应该”做的事情-API中没有真正的入口点 但是,我希望可以通过修改

我正在从一些SSJS代码创建一个新的数据库,然后将选定的设计元素复制到其中,设置ACL和其他一些东西。我想为Notes和Web客户端设置启动以打开特定的XPage,而不是让用户在Designer中打开并手动设置它(他们可能没有Designer权限)。我可以在应用程序属性/数据库属性中找到它们,但在SSJS中找不到设置它们的方法。我查看了Notes数据库的方法和函数,但没有看到一个看起来可以做到这一点的方法和函数。

据我所知,这不是“应该”做的事情-API中没有真正的入口点

但是,我希望可以通过修改数据库的图标注释来实现这一点,它存储了此类信息。您可以通过ID为“FFFF0010”的文档获取任何数据库中的图标注释(它在数据库中是一致的)。一旦到了那里,您就可以研究如何调整标志和字段来实现这一点

从我刚才的浏览中,似乎web的“launch Specified XPage”在图标注释的$Flags字段中添加了“!”,而XPinC的变体是(合适的)“?”。然后,XPage名称分别存储在“$DefaultXPage”和“$DefaultClientXPage”中。所以你可以试试(我还没有这样做,所以我不知道它是否真的有效):


您可能需要一个“iconNote.sign()”;老实说,我不确定这是否是必需的,或者是否有任何作用,但这是我在不久前编辑设计说明时养成的习惯。

我在一个论坛中发现了这一点:所有旗帜说明:

Flag = Meaning / Action
4 = Allow Soft Deletes 
Z = Enable LZ1 Compression
f = Do Not Allow Stored Forms
z = Do Not Maintain Unread Marks
h = Mark Parent Document on Reply or Forward
J = Use JavaScript when generating Web Pages
F = Launch Designated Frameset
n = Never Show Policy (ie. Never show About Database when first opened)
7 = Large UNK Table (ie. allow more fields in database)
6 = Allow Design Locking
K = Restore as lasted viewed by user
c = Show About Database if Modified
Q = Replicate Unread Marks to Clustered Servers Only
U = Replicate Unread Marks to All Servers (appears with Q set)
2 = Optimise Document Table Bitmap
3 = Maintain LastAccessed Property
1 = Don't Support Specialised Response Hierarchy
M = Multilingual Database
X = Web Access Requires SSL Connection
8 = Web Access Don't Allow URL Open
i = Display Images After Loading
5 = Allow Document Locking
g = Database Type = Library
j = Database Type = Personal Journal
b = Database Type = Domino Directory
B = Database Type = Directory Catalog
m = Database Type = Multi DB Search
u = Database Type = Portfolio
A = Database Type = Mailbox
r = Database Type = Mailfile
p = Always Show About Database Document (ie. When Opened in the Client Property)
l = Launch Designated Navigator
s = Launch Designated Navigator in Own Window (used in conjuction with l above)
a = Launch First Attachment in About Database Document
d = Launch First DocLink in About Database Document
P = Web Launch = Show About Database Document
S = Web Launch = Open Designated Frameset
E = Web Launch = Open Designated Page
L = Web Launch = Open Designated Navigator in its Own Window
D = Web Launch = Open First DocLink in About Database Document
T = Web Launch = Open Designated DocLink
V = Web Launch = Open First Document in Designated View
不过,XPages的“新”启动选项缺失

编辑(Sven Hasselbach)

e = Refresh on Admin Server 
G = Copy profile documents
H = Support response thread history
I = Inherit OS theme 
k = Launch composite application
N = Compress data docs
o = Launch outline
O = OOS Enabled
q = Compress design
t = -> marked as obsolete
v = No show view
W = Launch Webpage
9 = Is a web application
Y = DAOS enabled
w = Preview Pane Big Folder
x = Preview Pane Small View
y = Preview Pane Maximized
0 = Disable Automatic view update
其他字段

$TITLE: Array: 1. Title of the Database, an entry for every Category,  "#1Name of the inheriting Template", "#2Master template name".
$DefaultLanguage: Default DB language
$DefaultCollation: Default sort order
$AllowPost8HTML: "1" = Enabled enhanced HTML generation
$CollationType: "@UCA" = Unicode sorting
$LaunchXPageRunOnServer: "1"  = yes / "0" = no
$AllowRESTDbAPI: "0" = disabled / "1" = views / "2" = Views and documents
$DefaultClientXPage: Name of the XPage to open in the client
$DisableExport: "1" = disables export of view data 
$Daos: "0" = disabled / "1" = enabled
$UpdatedByLimit: Limit of updated by entries
$RevisionsLimit: Limit of revision entries
$DefaultXPage: Name of the XPage when opened in browser

jesse-它可以在现有数据库上工作,但是当我创建一个新数据库时,没有iconNote,我也不知道如何动态创建一个。在这种情况下,我会尝试通过DXL导入一个新的图标注释。我在这里导出并清理了一个示例注释:。如果使用带有“setReplicaRequiredForReplaceOrUpdate(false)”和“setDesignImportOption(importer.DXLIMPORTOPTION\u REPLACE\u ELSE\u CREATE)”的DxlImporter,则可能会这样做。我想你也可以在导入时将标志和XPage名称扔到那里;不在新数据库中创建iconNote。我在一个现有的数据库中搜索了一下,我非常肯定你的代码和下面的一些信息,我可以得到我需要的工作,但是我没有看到任何数据库函数或方法来创建/指定一个数据库图标,我想其余的东西都挂在上面。
$TITLE: Array: 1. Title of the Database, an entry for every Category,  "#1Name of the inheriting Template", "#2Master template name".
$DefaultLanguage: Default DB language
$DefaultCollation: Default sort order
$AllowPost8HTML: "1" = Enabled enhanced HTML generation
$CollationType: "@UCA" = Unicode sorting
$LaunchXPageRunOnServer: "1"  = yes / "0" = no
$AllowRESTDbAPI: "0" = disabled / "1" = views / "2" = Views and documents
$DefaultClientXPage: Name of the XPage to open in the client
$DisableExport: "1" = disables export of view data 
$Daos: "0" = disabled / "1" = enabled
$UpdatedByLimit: Limit of updated by entries
$RevisionsLimit: Limit of revision entries
$DefaultXPage: Name of the XPage when opened in browser