【问题标题】:Getting started with an extention for alfresco (4.x)开始使用 alfresco 的扩展 (4.x)
【发布时间】:2013-08-29 02:54:43
【问题描述】:

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

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

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

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

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

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

感谢您抽出宝贵时间阅读本文,如果您能回答 ofc,非常感谢您!

【问题讨论】:

    标签: alfresco alfresco-share


    【解决方案1】:

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

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

    首先,启动并运行 Maven,read about the Maven SDK here

    确保您已安装 Java 和 Maven 3。然后启动 AMP Archetype,instructions here。要清除它,请运行以下命令:

    mvn 原型:生成 -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,f.x "org.your.company"

    输入工件名称,f.x "alfresco"

    验证设置(按回车键)

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

    现在你可以开始了,启动它 (see this page for more info):

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

    mvn 集成测试-Pamp-to-war

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

    现在您可以开始行动并开始编码了。

    了解制作自定义模型、方面等的最佳方式可能是关注the knowledge tutorial in the docs

    更好的方法是在 http://ecmarchitect.com 上阅读 Jeff Potts 的优秀教程,他写了一篇优秀的 article about content modelling

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

    bean 定义将指向您的模型 xml 文件,您需要在其中定义命名空间和您的自定义类型、方面等。在此之后,就是让这些类型和方面可用于共享或露天探险家。

    我不会过多介绍细节,Jeff Potts 已经解释过了,比我做得更好 - specially in his article about content modelling.

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

    祝你好运!

    【讨论】:

    • 太棒了!我实际上已经找到了 Jeff Potts 的 55 页 pdf 并且已经阅读了其中的一些内容 ^_^ 所以很高兴听到我正在寻找正确的位置。您对 maven 入门的解释看起来不错,我会立即按照您的指示设置 maven!
    • 对于将阅读和使用此答案的其他人的一些更改:Select number 1 (org.alfresco.maven.archetype:alfresco-amp-archetype) 需要从代码 sn-p 中移出,以明确必须“键入 1 并按 Enter,然后..." 和 mvn integration-test -Pamp-to-war 需要在你 cd 到工件名称目录后运行,在示例情况下为 cd alfresco,否则它不会找到 pam.xml
    • 架构师指南中似乎有一个小错误,因此对于那些因为有多个露天/扩展目录而对放置一些文件的位置感到困惑的人,这里的链接描述了架构师指南文件的工作设置和命名更正forums.alfresco.com/forum/developer-discussions/… 我无法确认它在 atm 工作,因为我似乎有一个问题可能是由早期安装的模块引起的,但是线程的 OP 表示它对他有用,因为你可以在那里阅读它最近的一篇文章
    • 要更正上述问题,它实际上不起作用,但只是因为 1 个文件丢失/放置不正确,请参阅link 之后转到 ecmarchitect 指南的第 19 页和第 24 页让 web 客户端显示您创建的方面和属性。祝所有可能读到这篇文章的人好运:)
    猜你喜欢
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    相关资源
    最近更新 更多