从 Alfresco 的操作按钮获取文档路径和票证
Get document path and ticket from action button of Alfresco
我正在写一个自定义操作按钮,我想进入我的javascript:
(function() {
YAHOO.Bubbling.fire("registerAction",
{
actionName: "onActionVerify",
fn: function JSC_onActionVerify(record) {
var ticket = sessiontickets.getTicket();
}
});
})();
我点击操作按钮的文件路径,如:
/Data Dictionary/Email Templates/activities/activities-email.ftl
以及身份验证的票据。
我正在共享客户端上做这个。
两者都有解决方案吗?
我的问题没有重复,因为我想要操作中文件的路径,而我关于门票的问题是传递给网络服务...我需要的不仅仅是假设的问题 "duplicated"...
和往常一样,有不同的选择:
1) 直接从浏览器调用您的外部服务。
在这种情况下,您可以生成票证并将其传递给服务。该服务将使用它来访问 alfresco。
要生成票证,您可以编写网络脚本。非常简单的 webscript,带有 returns session.ticket
的 ftl
您不需要发送用户名和密码,因为您可以使用共享作为代理:您调用 /share/proxy/alfresco 而不是 /alfresco/service 并且调用会自动进行身份验证。
2) 浏览器调用 Alfresco 网络脚本(使用共享作为代理),网络脚本调用您的外部服务。
webscript 可以从会话中获取票证并将其传递给外部服务。
点击操作时接收事件的函数,如您在代码片段中所写,接收参数:记录。
这个对象的字段之一是你的文件的nodeRef。
为什么你认为你需要这条道路?直接用这个nodeRef不是更方便吗?
无论如何,如果你真的需要路径然后你选择了选项 1),当你调用 webscript 获取票证时,还要传递 nodeRef 并使 webscript return 一起成为节点的路径与门票。所以你会调用:
/share/proxy/alfresco/your-custom-webscript?nodeRef=workflow://SpaceStore/xxx...
Webscript 会 return 一个 json 像:
{
"ticket": "TICKET_121321_...",
"qnamePath": "...."
}
如果您选择选项 2),调用传递 nodeRef 的网络脚本,如前例所示,网络脚本将获取必要的信息并将其传递给外部服务。
我正在写一个自定义操作按钮,我想进入我的javascript:
(function() {
YAHOO.Bubbling.fire("registerAction",
{
actionName: "onActionVerify",
fn: function JSC_onActionVerify(record) {
var ticket = sessiontickets.getTicket();
}
});
})();
我点击操作按钮的文件路径,如:
/Data Dictionary/Email Templates/activities/activities-email.ftl
以及身份验证的票据。
我正在共享客户端上做这个。
两者都有解决方案吗?
我的问题没有重复,因为我想要操作中文件的路径,而我关于门票的问题是传递给网络服务...我需要的不仅仅是假设的问题 "duplicated"...
和往常一样,有不同的选择:
1) 直接从浏览器调用您的外部服务。
在这种情况下,您可以生成票证并将其传递给服务。该服务将使用它来访问 alfresco。
要生成票证,您可以编写网络脚本。非常简单的 webscript,带有 returns session.ticket
的 ftl您不需要发送用户名和密码,因为您可以使用共享作为代理:您调用 /share/proxy/alfresco 而不是 /alfresco/service 并且调用会自动进行身份验证。
2) 浏览器调用 Alfresco 网络脚本(使用共享作为代理),网络脚本调用您的外部服务。 webscript 可以从会话中获取票证并将其传递给外部服务。
点击操作时接收事件的函数,如您在代码片段中所写,接收参数:记录。
这个对象的字段之一是你的文件的nodeRef。 为什么你认为你需要这条道路?直接用这个nodeRef不是更方便吗?
无论如何,如果你真的需要路径然后你选择了选项 1),当你调用 webscript 获取票证时,还要传递 nodeRef 并使 webscript return 一起成为节点的路径与门票。所以你会调用:
/share/proxy/alfresco/your-custom-webscript?nodeRef=workflow://SpaceStore/xxx...
Webscript 会 return 一个 json 像:
{
"ticket": "TICKET_121321_...",
"qnamePath": "...."
}
如果您选择选项 2),调用传递 nodeRef 的网络脚本,如前例所示,网络脚本将获取必要的信息并将其传递给外部服务。