1

所以我一直在研究如何为 alfresco 创建扩展/模块,我对是否需要使用 Alfresco SDK、Ant、Maven 等感到有点困惑。

我将说明我的动机,这是我试图通过扩展实现的目标:

  • 创建一个添加两个属性(称为 AttachmentType 和 ItemID,其中 AttachmentType 描述类型(客户、任务、项目等)而 ItemID 包含该类型项目的名称)的自定义方面。
  • 这两个属性中的每一个都有一个 html 选择元素(即下拉选择菜单),AttachmentType 将包含一个静态类型列表。可以通过 select 元素选择一个类型,然后模块将查询远程服务器(通过我计划的 jquery json-rpc),该服务器将发回该特定 AttachmentType 的所有名称(=ID)(即对于客户发回所有客户的列表)然后用户可以从属于 ItemId 属性的第二个 html 选择中选择正确的 ID(即客户)。

完成后,另一个程序可以通过 CMIS 查询 alfresco share 以获取特定 AttachmentType 和 ItemID 的文档。

我应该用什么来实现这一点?是否将一些文件放入我制作的足以执行此操作的 amp 文件中?我应该为此使用Maven吗?SDK 和 Ant 呢?

希望有人能把我推向正确的方向。例如这个链接描述的东西,我是否将那些编辑过的文件放在放大器内的那些目录中,以便它们覆盖真实文件?我在哪里添加 html select & jquery 代码,以便将其添加到这些属性可见的露天页面上?

感谢您花时间阅读本文,如果您能回答 ofc,非常感谢您!

4

1 回答 1

4

我最好的建议是开始使用 Maven 设置。使用提供的原型,您将使用内置的 jetty 服务器和 H2 数据库快速启动并运行,因此您不必为开始工作而费力。

我不会给你所有的答案,但我可以为你指出正确的方向并让你开始。

首先,启动并运行 Maven,在此处阅读有关 Maven SDK 的信息

确保您已安装 Java 和 Maven 3。然后启动 AMP Archetype,此处的说明。要清除它一点运行此命令:

mvn archetype:generate -DarchetypeCatalog= https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml -Dfilter=org.alfresco.maven.archetype: 选择数字 1 (org.alfresco.maven .archetype:alfresco-amp-archetype)

选择最新版本的 SDK(选项 3、1.0.2)

输入组 ID,fx “org.your.company”

输入工件名称,fx "alfresco"

验证设置(按 Enter)

现在这将为您创建一个完整的项目,可以使用了。

现在你可以开始了,启动它(有关更多信息,请参阅此页面):

导出 MAVEN_OPTS="-Xms256m -Xmx1G -XX:PermSize=300m"

mvn 集成测试-Pamp-to-war

这可能需要一段时间,它会下载你所有的依赖项。

现在您已准备好开始行动并开始编码。

学习制作自定义模型、方面等的最佳方式可能是遵循文档中的知识教程

更好的方法是在http://ecmarchitect.com上阅读 Jeff Potts 的优秀教程,他写了一篇关于内容建模的优秀文章

给您一些提示:您需要为您的自定义模型定义一个 bean。这可以进入位于“src/main/amp/config/alfresco/module/alfresco/”的module-context.xml。

bean 定义将指向您的模型 xml 文件,您需要在其中定义名称空间和自定义类型、方面等。在此之后,需要使这些类型和方面可用于共享或 alfresco 资源管理器。

我不会详细介绍,Jeff Potts 已经解释过了,比我做的更好——特别是在他关于内容建模的文章中。

在熟悉了 maven 设置后,您只需使用 Maven 构建一个不错的 AMP,甚至可以将您自己的更改合并到其中进行完整的战争,您可以将其放入 Tomcat、jboss 等,但稍后再担心部署:)

祝你好运!

于 2013-08-27T20:01:06.013 回答