Alfresco分享|以编程方式将dashlet用于自定义页面

时间:2013-01-24 10:31:22

标签: alfresco dashboard alfresco-share dashlet

我对Alfresco很新。我的问题是,我们如何使用dashlet(从头开始创建)到页面(从头开始创建)?要将dashlet包含到页面中,要处理的文件和配置是什么。

此外,新创建的页面必须与仪表板页面类似,但不需要身份验证。这里的想法是远离默认的“共享”仪表板登录流程。

感谢。

3 个答案:

答案 0 :(得分:2)

dashlet只是一种特殊类型的Web脚本,所以是的,很可能通过将相同的Web脚本绑定到组件区域来将其放入自定义页面。

如果您不熟悉共享开发,页面,模板,组件和区域之间的关系可能会有点复杂,所以我建议从去年11月的DevCon中查看Dave Draper和Erik Winlof的Share Customizations Live演示文稿,其中他们介绍了一个示例项目,包括一个Ant构建脚本,其中包括一个自定义Web脚本和页面定义。代码可以从此Git repo下载,作为您自己项目的基础。

如果您的dashlet网络脚本需要进行太多更改以使其在自定义页面内工作,则不应发现太多更改,但请记住,如果用户未经身份验证,那么您将无法访问有关它们的任何信息,也不会您是否能够从存储库中检索任何数据。

答案 1 :(得分:2)

让我试着用一些例子来回答这个问题:

Alfresco页面

要创建Alfresco共享页面(您使用共享?),您需要创建三个文件:

<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

第一个定义您的页面,第二个定义您将在页面上使用的组件(小面板),最后一个是安排组件的HTML模板(在Freemarker中)。

前两个文件是XML,有点露天,但是简单的XML,最后一个你可以放静态HTML并且它可以工作,或者你可以放一些freemarker宏。 每个文件(例子)中有什么内容,你可以阅读专门为你写的this page和这个问题:)(不要问,我想写一下这个文件)

无身份验证

要不使用身份验证,您只需输入&lt; authentication&gt; none&lt; / authentication&gt;在页面定义文件(第一个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的某个地方。下面的地方并不重要,但你想把它放在哪里在某个文件夹中更容易管理所有代码。 这个文件包含一个重要的东西:url。 Url定义您的dashlet将回答的url。当您在上面的页面定义中定义页面时,您可以将此URL放在那里以访问小面板。

您甚至可以使用链接http://localhost:8080/share/my/url/to/dashlet.

直接访问dashlet

另一个文件 dashlet.get.html.ftl 也是一个自由标记模板文件。你把HTML放在那里。您还可以为dashlet dashlet.get.js 创建一个 controller 文件,该文件准备一些动态内容(它是用服务器端javascript编写的,并且可以访问某些Alfresco Javascript API)。

最后,您可以将一些国际化文本(翻译)放入捆绑包中(基本上, dashlet.get.properties ,dashlet.get_DE.properties,dashlet.get_ES.properties等,通过浏览器语言)。

还有一些选项可以将客户端javascript或css文件包含在此dashlet中。

要了解如何组装所有这些,您可以尝试阅读this page。可能不是一个很好的阅读,但它有望清除一些事情。

答案 2 :(得分:1)

很抱歉,为了清楚起见,您想要在Alfresco存储库上重现共享界面,但没有登录? Dashlets和接口组件是webscripts,webscripts存储在存储库中,因此为了访问它们,您需要进行身份验证。您可以在webscript xml描述中使用标签runas =&#34; admin&#34;或者runas =&#34;客人&#34;为了实现某些目标。如果我误解了,请告诉我,我会尽力帮助..