2012-09-24 58 views
2

我一直在阅读David Drapers' blog上的新功能 - 共享webscripts的扩展,但我没有找到任何工作的例子。什么是文件命名和结构约定?什么是共享Webscript扩展为Alfresco 4.0.3+的文件结构

从我所收集的,我有一个模块的配置文件,我不知道如何命名它或把它放在哪里(share/WEB-INF/classes/alfresco?)

而且,我明白了我的自定义客户端资源( .js和.css文件)转到JAR文件中的META-INF/custom-dashlet/extension/。它是否正确?最后,* .get.js和* .get.html.ftl转到webscripts/com/mycompany/mypackage/*

所以我现在有:

*share/WEB-INF/lib/mypackage.jar* 

,并在其中:

*META-INF/mypackage/extension/myfile.js 
webscripts/com/mycompany/mypackage/myfile.get.js 
webscripts/com/mycompany/mypackage/myfile.get.html.ftl 
* 

*share/WEB-INF/classes/alfresco/something.xml* 
+0

您是否正在尝试为您的定制或其他内容创建AMP(Alfresco模块包)?如果你不想创造一个AMP,是有原因的吗? – Gagravarr

+0

我真的不知道。我通过将代码复制到shared/classes/alfresco/web-extension/*然后添加我的东西来完成了以前的定制。现在他们说你不复制整个代码,你只需要扩展现有的Dashlet或者其他的东西。所以,也许我正在寻找一个AMP的结构,我只是不知道它:) – Zlatko

+0

我建议你阅读Alfresco模块管理工具(MMT)和Alfresco模块包(AMP),然后调整你的问题成为你无法理解的东西! – Gagravarr

回答

5

这个问题也被发布到露天论坛,在这里:https://forums.alfresco.com/en/viewtopic.php?f=48&t=46438

提供的答案如下:

一个扩展模块是一个Surf配置对象,因此您应该将包含模块配置的XML文件放置到Surf配置获取的任何位置。 <web-server>/webapps/share/WEB-INF/classes/alfresco/site-data(有很多地方的Surf配置被获取,但alfresco/site-dataclasspath是最常见的)。扩展配置文件应放置在目录中的extensions文件夹中。例如,您可以在以下位置放置扩展配置文件:alfresco/site-data/extensionsalfresco/web-extension/site-data/extensions

您可以创建一个包含此文件夹结构的JAR文件。扩展名引用的所有内容(例如Web脚本,其他Surf配置对象,如页面,模板实例,组件等)都应放置在其正常位置。这些也可以内置到JAR文件中。

如果您想从JAR文件访问资源(例如CSS,图像,JS),请将它们放入JAR的META-INF文件夹中。您应该将您的JAR文件放置在<web-server>/webapps/share/WEB-INF/lib目录中(显然,您的服务器需要重新启动以提取新的JAR内容)。

WebScripts应该是(在classpath):

alfresco/site-webscripts 
alfresco/web-extension/site-webscripts 
webscripts 

您还可以从中冲浪配置来配置其他位置加载配置冲浪objects/WebScripts。它几乎是无尽的可定制的,但你应该坚持为共享配置的默认位置。