2012-12-03 42 views
1

我想知道是否可以通過Xpages中的客戶端腳本處理備註視圖和文檔集合?我可以通過客戶端JS訪問Notes文檔/集合嗎?

到目前爲止的故事....我正在建立一個人力資源系統,包括一個完整的缺席部分(假期,疾病,其他缺席等)。我在Notes客戶端中編寫了一個按鈕,該按鈕創建一個Excel電子表格,根據缺席文檔(getview,getalldocumentsbykey到集合中)顯示當前用戶最近12個月缺席的日曆。它在每個文檔中使用各種字段(包括多值字段)來循環收集,以計算缺失長度,全天/半天等,並使用超鏈接以不同的顏色將它們標記在工作表上以訪問文檔。

它還計算其他事情,如布拉德福德因素評分,並圍繞用戶工作日進行計算。

任何人,我一直在挑戰整個系統在瀏覽器中工作,消除任何需要的筆記客戶端,所以....回到我原來的問題,我需要能夠得到文檔從筆記視圖通過一個關鍵字,然後我可以通過客戶端JavaScript訪問該字段。

這可能嗎?如果需要,我可以提供更多信息...

+3

您可以使用XPage完成所有這些(例如使用服務器端JS或使用Java)。您是否已經使用XPage進行此解決方案? –

+0

我敢肯定,即使沒有xPages,也可以使用LotusScript Web代理完成大部分操作,但關鍵問題是您使用什麼API將數據放入Excel中。你能告訴我們一些實際的代碼嗎?如果Excel的API必須是客戶端的,那麼DXL可能是最好的選擇 - 但我不想把它當作給定的。 –

+0

lotusscript版本正在使用:'Set xlApp = CreateObject(「Excel.Application」)'來創建Excel對象並從那裏構建它。 CSJS版本使用:var xlApp = new ActiveXObject(「Excel.Application」)'來實現相同的結果。我假設它是客戶端在用戶計算機上啓動Excel對象而不是在服務器上彈出Excel打開的對象? @PerHenrikLausten @RichardSchwartz – CodenameSnugs

回答

1

您是否考慮過Notes Browser Plugin?它應該允許您通過瀏覽器運行基於Notes的應用程序,而無需修改代碼。

Here is a write up about it

+0

它尚未發佈。 –

+0

測試版可用。將在不到30天的時間內完成。 – DaBaer

+0

除了這部分,整個應用程序是Xpages的基礎,所以我不認爲這將是任何使用.. – CodenameSnugs

1

您可以訪問所有Domino從客戶端的JavaScript聖維特Java和CORBA對象。你只需要一個小程序,將Session返回給javascript。下面是來自設計師的幫助說明:

http://www-12.lotus.com/ldd/doc/domino_notes/rnext/help6_designer.nsf/9/0d05bb3cec358f7085256c54004bdbff

然而,由於每時下建議客戶端和服務器端JavaScript的XPages中的結合通常被用來代替CORBA。 Domino Data Service是從服務器獲取數據到(例如)客戶端JavaScript的最新方式。

您可能還想看看Apache POI,您可以使用它在服務器端創建Excel文件。 ActiveX只適用於IE,儘管有些插件可以讓它在其他瀏覽器上運行。

編輯

我通常用「的客戶端和服務器端JavaScript組合」做的是在客戶端使用dojo.xhrGet(或xhrPost)。在服務器上,我有一個XPage(早期代理),它收集數據並以JSON格式返回。

  • PANU
+0

CORBA看起來很有前途,但我對Java一無所知。看起來我需要創建一個包含'import lotus.domino。*; public class dummy extends AppletBase(){}'?然後,我是否可以將其添加爲Xpage的資源? (似乎沒有Java的選項).. @Panu – CodenameSnugs

+0

是的,小程序需要返回Notes會話。小程序代碼位於我鏈接的頁面上的「示例」鏈接下。將設計器的小程序添加到:Recources/Applets。使用HTML加載頁面上的applet:https://eyeasme.com/Shayne/HTML5_APPLETS/。在這個解決方案中,CORBA/IIOP需要在服務器上啓用,它可能不是默認的。 –

+0

你可以做到這一點,並用javac.exe進行編譯。在Designer Eclipse中創建一個Java項目並從那裏開始可能會更容易。 –

1

編輯以注重& ReadViewEntries並添加細節

純粹做它在瀏覽器端很可能最好通過獲取DXL或使用& JSON完成ReadViewEntries URL命令,然後編寫Javascript來處理數據,並在本地執行等同於CreateObject的調用。你可以找到& ReadViewEntry here的文檔。(@Panu已經提到了DDS,這也是一個好主意。)

或者參見here瞭解一些示例代碼,該代碼展示了用LotusScript編寫的Domino Web代理可以用來創建將發送到瀏覽器帶有內容類型的標題,導致它在Excel中打開。我還沒有驗證這個特定的代碼,但我已經看到了對該技術的其他參考。這個特定的代碼可能不會給你儘可能多的控制權 - 例如顏色和鏈接,但我認爲它也可以用xlsx格式實際生成XML格式的數據,並以類似方式發送。

1

我認爲你應該去REST。在Domino中,它可以以JSON格式提供來自視圖/文檔的數據,您可以在本地使用客戶端JavaScript。 欲瞭解更多信息,請嘗試在谷歌搜索和ddwiki,例如this tutorial video

相關問題