我很新的露天。我的問題是,我們如何使用一個Dashlet(從頭開始創建)進入一個頁面(也是從頭開始創建的)?爲了在頁面中包含一個Dashlet,需要處理哪些文件和配置。Alfresco分享|使用dashlet到自定義頁面編程
此外,新創建的頁面有類似儀表盤的頁面,但沒有認證。這裏的想法是遠離默認的「共享」儀表板登錄流程。
謝謝。
我很新的露天。我的問題是,我們如何使用一個Dashlet(從頭開始創建)進入一個頁面(也是從頭開始創建的)?爲了在頁面中包含一個Dashlet,需要處理哪些文件和配置。Alfresco分享|使用dashlet到自定義頁面編程
此外,新創建的頁面有類似儀表盤的頁面,但沒有認證。這裏的想法是遠離默認的「共享」儀表板登錄流程。
謝謝。
一個dashlet僅僅是一種特殊類型的網頁腳本的,所以是的,它很可能通過結合成一個部件區域相同的Web腳本放在一個自定義頁面。
頁,模板,組件和區域之間的關係可以是一個有點複雜,如果你是新來共享的發展,所以我建議審查達沃·德雷珀和Erik Winlof的從去年11月份的開發者大會,在那裏他們介紹Share Customizations Live演示樣本項目包括一個Ant構建腳本,其中包含一個自定義Web腳本和頁面定義。該代碼可以從此Git repo下載,作爲您自己項目的基礎。
如果您的dashlet web腳本需要任何更改以使其在自定義頁面內工作,您不應該發現太多更改,但請記住,如果用戶未經身份驗證,則您將無法訪問任何關於它們的信息,您也不能從存儲庫中檢索任何數據。
對不起,只是要清楚,要複製的露天倉庫共享接口,但沒有登錄? Dashlets和界面組件是web腳本,web腳本存儲在倉庫中,因此爲了訪問它們,您需要進行身份驗證。您可以在webscript xml描述中使用標記runas =「admin」或runas =「guest」以實現某些功能。如果我誤解了,請讓我知道,我會盡力幫助..
讓我嘗試用一些例子來回答這個問題:
露天頁
要創建一個露天分享頁面(您使用共享),您需要創建三個文件:?
<TOMCAT>/webapps/share/WEB-INF/classes/alfresco/site-data/pages/my-page.xml
<TOMCAT>/webapps/share/WEB-INF/classes/alfresco/site-data/template-instances/my-page.xml
<TOMCAT>/webapps/share/WEB-INF/classes/alfresco/templates/org/alfresco/my-page.ftl
第一個定義了你的頁面,第二個定義,你會在頁面上使用了哪些組件(dashlets),最後一個是HTML模板(在Freemarker中)安排你的組件。
前兩個文件是XML,有點露天具體的,但簡單的XML,而最後一個,你可以把靜態的HTML,它會工作,或者你可以把一些FreeMarker的宏。 什麼是每個這些文件(例子),你可以閱讀this page,專門編寫了你和這個問題:)(不要問,我覺得寫吧)
無驗證
爲了不使用驗證,你可以把<認證>無< /認證>在頁面定義文件(第一個XML文件)。
Dashlet文件
基本上,dashlet可以在最少兩個文件,通常4-5或類似的東西。 dashlet.get.desc。xml文件表示了兩件事情:desc.xml部分表示這是針對一個新組件(dashlet),並獲取部分說該組件將回答HTTP GET調用。 通常放置在某個地方/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components。其實並不重要,其中波紋管,而是希望把它放在其他文件夾中管理所有的代碼更容易。 此文件包含一個重要的事情:網址。網址定義了您的dashlet將回答的網址。當你在上面的頁面定義中定義你的頁面時,你會把這個URL放在那裏來訪問這個dashlet。
你甚至可以直接訪問dashlet,使用鏈接http://localhost:8080/share/my/url/to/dashlet.
其他文件,dashlet.get.html.ftl是,同樣,一個Freemarker模板文件。你把HTML放在那裏。您也可以有一個控制器文件爲dashlet,dashlet.get.js其準備一些動態內容(這是寫在服務器端JavaScript,並已獲得了一些露天的Javascript API的)。
最後,你可以把一些國際化的文本(翻譯)成束(基本上,dashlet.get.properties,dashlet.get_DE.properties,dashlet.get_ES.properties等,通過瀏覽器lanugages)。
還有一些選項可以將客戶端JavaScript或css文件包含到此dashlet中。
要看到如何組裝所有這些,你可以嘗試閱讀this page。可能不是一個很好的閱讀,但它會希望清除一些事情。
我已經寫了一個如何創建一個非認證頁面的答案。但是,也許你會有一個更簡單的方法,通過使用一點點的JavaScript來自動驗證用戶作爲guest或某事。作爲一個經過驗證的用戶,您可以訪問更多 - 網站,搜索內容,真的很多。如果這樣做,你甚至可以從界面上隱藏「帳戶」功能。 – Zlatko