我正在撰写自定义操作按钮,我希望进入 javascript :
(function() {
YAHOO.Bubbling.fire("registerAction",
{
actionName: "onActionVerify",
fn: function JSC_onActionVerify(record) {
var ticket = sessiontickets.getTicket();
}
});
})();
我点击操作按钮的文件路径如下:
/数据字典/电子邮件模板/活动/活动-mail.ftl
验证票证。
我在共享客户端进行此操作。
两者都有解决方案吗?
我的问题没有重复,因为我想要操作中文件的路径,而我关于门票的问题是传递给Web服务......我需要的不仅仅是假设“重复”的问题..
答案 0 :(得分:3)
像往常一样,有不同的选择:
1)直接从浏览器调用您的外部服务。
在这种情况下,您可以生成故障单并将其传递给服务。该服务将使用它来访问露天。
要生成票证,您可以编写webscript。非常简单的webscript与ftl返回session.ticket
您不需要发送用户名和密码,因为您可以使用共享作为代理:您调用/ share / proxy / alfresco而不是/ alfresco / service,并且呼叫会自动进行身份验证。
2)浏览器调用Alfresco webscript(使用share作为代理),webscript调用您的外部服务。 webscript可以从会话中获取票证并将其传递给外部服务。
单击操作时接收事件的函数(如您在代码中所写的那样剪切)会收到一个参数:record。
此对象的一个字段是文件的nodeRef。 为什么你认为你需要这条路?是不是更容易直接使用这个nodeRef?
无论如何,如果你真的需要路径然后你选择了选项1),当你调用webscript获取票证时,也传递nodeRef并使webscript返回节点的路径和票证。所以你会打电话给:
/share/proxy/alfresco/your-custom-webscript?nodeRef=workflow://SpaceStore/xxx...
webscript会返回一个json,如:
{
"ticket": "TICKET_121321_...",
"qnamePath": "...."
}
如果您选择了选项2),请调用webscript传递nodeRef,如上例所示,webscript将获取必要的信息并将其传递给外部服务。