我正在尝试创建一个OSGi插件来扩展XPage但不确定从哪里开始.
有谁能告诉我创建示例插件的简单方法?
我在哪里编写我的java代码,如何将其添加到updatesite?
我们在多个应用程序中使用了许多查找数据库,并且我正在尝试找出通过OSGi插件库中的java函数或bean提供这些查找数据库的最佳和最有效的方法.
我想要实现的是一些创建函数的方法,我可以在查找键和字段名称中传递,函数将返回正确的值和可能的对象类型(以处理数据时间值).它还需要在应用程序级别缓存大约一个小时的值,因为这些查找文档根本不会更改.
通常,我想将它们用于显示目的,这样我只需要将密钥存储在我的笔记文档中,然后使用类似下面的内容在屏幕上显示我需要的内容
<xp:text escape="true" id="computedField1">
<xp:this.value><![CDATA[#{javascript:com.mycompany.lookup.GetDoc("docID","fieldName")}]]></xp:this.value>
</xp:text>
Run Code Online (Sandbox Code Playgroud) 我有一个相当简单和常见的用例.一个面板,其中包含重复控件.重复控件从按键查看视图中获取其内容.下面的重复控制是另一个小组.此面板具有绑定到新notesdocument的数据.面板上有几个字段用于新文档和一个提交按钮.
这一切都有效,但是在提交之后(大概是在"postSaveDocument()"事件中)我想回调重复控件并让它重新执行查找并刷新其内容.
我希望从句法上理解,如何从文档的其他地方引用重复控件及其属性和方法 - 其次(虽然我可以在第一部分找到后查看)刷新()方法将是重复控制的方法.
理想情况下,我认为它类似于:xp:page.repeatcontrolname.refresh() - 虽然我知道这是不对的.
我敢肯定,一旦我看到一个例子,它将适用于无数其他事情.
更新:
我发现重复的元素实际上是令人耳目一新的,但我没有看到添加到列表中的新条目.最终的原因是,为了在重复列表中添加另一个条目,我需要一个新的"控件" - 但是我检查了那个"在页面创建时创建控件"的框(在重复控件上).它阻止我的XPage为新文档创建另一个条目!
我的问题:我无法使用语法[field_name] = text_value全文搜索视图.不在Lotus Script中,也不在客户端的"搜索视图"中. 附加信息:当搜索/ More/By字段/选择我的字段时,我得到一个组合框,其中"等于","大于"...意味着对于FT索引,我的字段是(实际上是)NUMBER .但是该领域多年前已经改为文本,现有数据转换为文本,全文索引重新创建,OSD改变(哼我应该检查一下).=>但旧的类型(数字)仍然写在Iris/Lotus systable(某种systable)中.
我的问题:如何更新FT引擎,或者现在告诉他类型是文本?
提前致谢!
我已经有多年相同的问题,但我找不到谷歌或这里的解决方案.
这是一个两部分问题.
我在许多应用程序中使用Tim Tripcony的Fancy XPage Typeahead脚本,根据特定数据库中的许多不同视图返回一个预先输入列表.
可以将该博客中列出的服务器端javascript转换为java类,以返回可由XPage中的本机预先输入函数获取的相同结果.
该类是否可以作为部署到所有服务器的扩展库的一部分,因此可供所有应用程序使用,以便立即使用,如果可以,将如何从XPage调用它.
我有一系列文件的重复控制,并且在同一个面板下面,但在重复控制之外,我有另一个新的绑定文档.新文档包含空白字段,但字段具有验证,在提交新文档时需要内容.
这样可行.
我在重复控件的重复输入面板上添加了一个"编辑"按钮.动作是弹出该入口编辑模式.
这是有效的 - 我可以确认重复上的各个行可以独立地在编辑模式之间切换,并且当切换时,下面的新文档不会切换.它是孤立的.
然而,
如果我在新文档上有验证代码,它会在新文档上触发(未通过验证),即使我正在切换重复中的其他绑定文档之一.
我试图确保按钮设置为部分刷新,并且仅设置为刷新重复内的单个输入面板,并且我已经尝试确保按钮仅绑定到正确的文档.
它似乎只是有争议的验证代码,因为如果我禁用它,所有切换工作正常,新文档区域不会在其目标数据库中创建一个空的新文档.
显然我错过了一些东西.有什么想法吗?
如果你想要代码,我发布了一个剥离,清理和注释版本,尽管我可以在不删除相关位的情况下完成:
<xp:repeat repeatControls="false" var="devices" id="ExistingDevicesList" rendered="true">
<xp:this.value><![CDATA[#{javascript: /* Some script that populates the repeat */ }]]>
</xp:this.value>
<xp:panel id="IndividualDevice"> <!-- ************ start of the individual device panel -->
<xp:this.data>
<xp:dominoDocument var="devDocument"
databaseName=" xxxxx.nsf" action="openDocument"
formName="device"
documentId="#{javascript:devices.getDocument().getUniversalID();}"
ignoreRequestParams="true" />
</xp:this.data>
<!-- ******************* The Edit Button ****************** -->
<xp:button value="Edit" id="button1">
<xp:this.binding><![CDATA[#{javascript:
var IndividualDevice:com.ibm.xsp.component.UIPanelEx = getComponent("IndividualDevice");
IndividualDevice}]]>
</xp:this.binding>
<xp:eventHandler event="onclick"
submit="true" refreshMode="partial"
refreshId="IndividualDevice">
<xp:this.action>
<xp:changeDocumentMode mode="edit" var="devDocument">
</xp:changeDocumentMode>
</xp:this.action>
</xp:eventHandler>
</xp:button> …Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,我不希望将默认类应用于xp:text控件和可能的其他控件.目前,我在我的代码中这样做:
<xp:text escape="false" id="computedField12" styleClass="noClass">
Run Code Online (Sandbox Code Playgroud)
注意上面的styleClass ="noClass",其中noClass不存在.有没有更好的方法有选择地为特定的XPage或作为应用程序属性实现这一点,是否可以打开/关闭其他控件?
我发现了这个:http://xpageswiki.com/web/youatnotes/wiki-xpages.nsf/dx/Work_with_themes
但我想要实现的是默认情况下不为特定控件设置任何类.
非常感谢您的帮助.
我花了好几天试图解决这个问题而且我放弃了.
我是一名LotusScript程序员,一直在努力学习XPages.我研究的所有示例和示例程序只涉及到这一部分.
有人可以一步一步地向我解释如何使用Extension Library Navigator控件的Selected属性吗?
我已根据扩展库中的布局控件创建了自己的自定义控件,并创建了一个名为navigationPath的自定义属性.我还创建了一个导航器自定义控件,它有5个页面链接节点.在每个页面链接节点的"选定"属性中,我放置了以下SSJS:
if(compositeData.navigationPath == "/Home/ApplicationPool"){
return true
}else{
return false
}
Run Code Online (Sandbox Code Playgroud)
/ Home/ApplicationPool对应于我在特定页面链接节点的"Selection"属性中放置的值.
在每个布局自定义控件中,我将"navigationPath"属性设置为compositeData.navigationPath.
我错过了什么?
我目前正在实施Mark Leusink的OpenNTF多文件上传器.
这个非常好的自定义控件使用xAgent将选定的文件附件嵌入到目标Notes文档中.一切都运行良好,直到我将作者和读者字段添加到Notes文档.现在我在上传文件时收到安全错误(402).
我的想法是上传xAgent无法编辑目标文件来附加文件.如果我删除安全字段,一切都会再次运行.
我的问题是,xAgent是否以与当前用户相同的安全性运行?如果没有,我可以像为Lotus Script代理一样为xAgent设置"run as"用户吗?
我正在构建这个搜索页面,我遇到了很多麻烦.
我有一个包含以下字段的文档的视图:foreignCompany,ourCompany,dateStarted,dateEnded,countryOfApplication.用户输入以下参数进行搜索:公司名称(foreignCompany),日期(我们称之为searchDate)和countryOfApplication.
结果显示公司在dateStarted - searchDate - dateEnded之间拥有有效合同.到目前为止,我已部分实现了这一目标.
问题是,如果公司名称是例如:Kompanija,但用户输入:Komp或Kom或Kompanij或其他什么,但不是Kompanija,搜索没有返回结果!?只有输入整个单词时才会返回结果.
我甚至按照IBM的帮助示例,如何构建一个Xpage进行搜索,同样的事情也发生了.
我非常感谢这里给予的任何帮助,因为我已经把头撞到了墙上很长一段时间了.谢谢!