【问题标题】:Is it possible to extend an Alfresco 5 web-script for the post method?是否可以为 post 方法扩展 Alfresco 5 网络脚本?
【发布时间】:2015-09-02 01:18:26
【问题描述】:

我正在尝试通过创建web script 来为Alfresco 5site creation 形式添加一些额外的功能。我正在创建一个包含模块扩展名的 jar 文件。

我已通过添加新站点类型成功修改了实际站点创建(这仅用于测试目的)。我通过将以下内容添加到 extension-module.xml 文件来做到这一点:

<module>
    <id>Create Site Extension</id>
    <version>1.0</version>
    <customizations>
        <customization>
            <targetPackageRoot>org.alfresco.modules</targetPackageRoot>
            <sourcePackageRoot>create-site</sourcePackageRoot>
        </customization>
    </customizations>
</module>

/config/alfresco/web-scripts/create-site.get.js

model.sitePresets.push({
    id: "site-test",
    name: "TEST"
});

当添加到tomcat/webapps/share/WEB-INF/lib 并通过 Alfresco 模块管理页面激活时,它可以完美运行。我可以在网站类型列表中看到TEST

我正在尝试使用create-site.post.json.js 做完全相同类型的事情。无论我做什么,我都无法触发我的create-site.post.json.js web-script。是否可以为create-site 扩展.post.json.js 文件?

更新 如果有人想查看原始来源,这里是:Module Srouce

除了create-site.post.json.js 之外,模块中的所有内容都可以正常工作。我知道 .post.json.js 文件中的 deleteDashboard 方法可以正常工作,这是我一直用来尝试调试脚本的一个事实(以防调试器正在运行它但没有闯入它某种原因。如果它运行,它应该删除测试站点“good-site”的仪表板,所以如果它工作,仪表板将是空的/不存在。

【问题讨论】:

标签: alfresco alfresco-share alfresco-webscripts


【解决方案1】:

问题很明显。因为您正在使用扩展模块并覆盖开箱即用的 webscript。现在,如果您将 webscript 的类型从 get 更改为 post,它将不会覆盖它。因此,如果您真的想用您的 webscript 替换开箱即用的 webscript,那么您需要到达调用此组件的位置并覆盖它。您还需要创建完整的帖子 webscript(所有相关文件)

【讨论】:

  • 我不明白你的意思。 Alfresco 提供了这种精确的机制;它们允许您通过创建扩展模块来“扩展”而不是覆盖.get.js 控制器脚本。我不是试图将.get.js“更改”为.post.json.js,post 脚本已经存在,我试图以与扩展 .get.js 文件相同的方式扩展它。这是 Alfresco 概述该过程的方式,并且要求它不是以包括扩展模块在内的几种方式之一。
  • 当您在与 Alfresco 中的现有文件同名的扩展模块中创建 .get.js 文件时,它的脚本内容会在运行内置脚本后执行,几乎就像这两个文件一样连接在一起。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-24
  • 1970-01-01
  • 2018-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多