【问题标题】:Does Alfresco Share provide any mecanism for Inter Dashlet Communication?Alfresco Share 是否为 Inter Dashlet 通信提供任何机制?
【发布时间】:2011-10-19 16:32:38
【问题描述】:

我正在尝试弄清楚如何与 Alfresco Share 进行一些仪表板间的通信。 这里是一个简单的用例:

我们确实有 2 个 dashlet,我们称它们为 A 和 B。我希望能够在 A 中填写字段“名称”(假设值为“Toto”),然后单击提交按钮。单击 A.B 中的提交按钮后,应使用“早安托托”之类的问候语进行更新。

感谢您的回答。

感谢您的回答。您能否详细说明“让 dashlet_b.get.html.ftl 向 dashlet_a.post.html.ftl 发布一些内容”?

我猜在 dashlet_b.get.html.ftl 你有类似的东西:

<form id="..." action="" method="POST">
     <input  id="name" type="text" name="name" value=""/>
     <input type="submit" id="send" value="Send" /></form>

当您提交表单时,它会寻找 dashlet_b.post.js 对吗?您实际上如何告诉将表单发送到 dashlet_a.post.js ?

【问题讨论】:

  • 您还在寻找其他答案吗?要回答目标 webscript 的更新问题:
    但这只会将数据发布到服务器,不会更新浏览器中的 dashlet A。

标签: share alfresco


【解决方案1】:

要创建这些动态 dashlet,仅使用服务器端 dashlet webscript 是不够的。您需要浏览器中的 javascript 逻辑来通知其他 dashlet 的更改。这就是 Alfresco 通常这样做的方式:

浏览器 Javascript Dashlet A:

YAHOO.Bubbling.fire("interDashletMessage",
{
    message: "Hello World."
});

浏览器 Javascript Dashlet B:

YAHOO.Bubbling.on("interDashletMessage", function(layer, args) {
    var message = args[1].message;
    alert(message); // or write it to the dashlets HTML content
});

这将使用名为“interDashletMessage”的自定义事件将消息从仪表板 A 发送到仪表板 B。

如果您的 dashlet B 仅显示几条消息,则使用事件发送数据就足够了。如果更复杂,您的 dashlet A 需要先将其数据发布到存储库,然后触发“刷新”事件并让 dashlet B 从存储库刷新它的内容。这将涉及您可能需要编写的多个 Web 脚本。

【讨论】:

    【解决方案2】:

    我猜这很简单。

    每个 Dashlet 实际上都是一个 webscript。所以你可以有多个 webscript 用于不同的用途。就像我有 dashlet_a.get.html.ftl 和 dashlet_a.post.html.ftl。 其实这两个是同一个webscript,一个只作用于post,另一个作用于get。

    所以你可以做的是让 dashlet_b.get.html.ftl 向 dashlet_a.post.html.ftl 发布一些内容。因此,您将值从 b 提交到 a。

    下一步是刷新dashlet_a,一种方法是进行整页刷新,但这并不好。 更好的是以下内容: 在 dashlet_a.post.html.ftl 中,您只需通过 YUI/JQuery 设置在 dashlet_a.get.html.ftl 中定义的字段的值。

    看看默认的可配置 dashlet 是如何做到的,比如 webview。如果你在 config 中放了一些东西,值会直接显示出来。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多