2013-01-24 32 views
1

我很新的露天。我的问题是,我们如何使用一个Dashlet(从头开始创建)进入一个页面(也是从头开始创建的)?为了在页面中包含一个Dashlet,需要处理哪些文件和配置。Alfresco分享|使用dashlet到自定义页面编程

此外,新创建的页面有类似仪表盘的页面,但没有认证。这里的想法是远离默认的“共享”仪表板登录流程。

谢谢。

+0

我已经写了一个如何创建一个非认证页面的答案。但是,也许你会有一个更简单的方法,通过使用一点点的JavaScript来自动验证用户作为guest或某事。作为一个经过验证的用户,您可以访问更多 - 网站,搜索内容,真的很多。如果这样做,你甚至可以从界面上隐藏“帐户”功能。 – Zlatko

回答

2

一个dashlet仅仅是一种特殊类型的网页脚本的,所以是的,它很可能通过结合成一个部件区域相同的Web脚本放在一个自定义页面。

页,模板,组件和区域之间的关系可以是一个有点复杂,如果你是新来共享的发展,所以我建议审查达沃·德雷珀和Erik Winlof的从去年11月份的开发者大会,在那里他们介绍Share Customizations Live演示样本项目包括一个Ant构建脚本,其中包含一个自定义Web脚本和页面定义。该代码可以从此Git repo下载,作为您自己项目的基础。

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

1

对不起,只是要清楚,要复制的露天仓库共享接口,但没有登录? Dashlets和界面组件是web脚本,web脚本存储在仓库中,因此为了访问它们,您需要进行身份验证。您可以在webscript xml描述中使用标记runas =“admin”或runas =“guest”以实现某些功能。如果我误解了,请让我知道,我会尽力帮助..

+0

这不完全正确。您可以使用共享页面和dashlets无需身份验证,等待我的博客文章和即将到来的答案:) – Zlatko

+0

或等待,OP是否希望它/露天?您仍然可以访问webscript作为身份验证=无,在那里没有问题,甚至可以使用 none来访问受保护的数据,对吗? – Zlatko

2

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

露天页

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

<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。可能不是一个很好的阅读,但它会希望清除一些事情。

+0

确定你可以做到这一点,我的声明是关于使用webscripts与根对象或类似的东西。实际上,你可以创建与认证没有露天/股webscript,但你不能访问任何内容/根的对象/动作/规则等,取决于你怎么在webscript需要显示。 – Teqnology

+1

这正是一个初学者的书应该如何解释强制页面创建组件 –

+0

从初学者初学者:) – Zlatko

相关问题