我想执行一些服务器端 JavaScript(来操作存储库节点)。
我通过 Alfresco Share 拥有管理员访问权限,但我没有 Alfresco Explorer 或 SSH 访问权限。
- 最好是一种控制台,我可以在其中键入命令,例如JavascriptConsole,但如果没有 SSH 访问权限,它就无法安装。我不认为有这样的事情,但也许有涉及规则的技巧?
- 编写一次性 webscripts 听起来有点矫枉过正和不方便。
可能吗?
(露天 5.0)
我想执行一些服务器端 JavaScript(来操作存储库节点)。
我通过 Alfresco Share 拥有管理员访问权限,但我没有 Alfresco Explorer 或 SSH 访问权限。
可能吗?
(露天 5.0)
如果您无权访问存储库机器,我认为您最简单的选择是 Data Dictionary + dummy rule 选项
首先,在本地机器上创建 JavaScript 代码。接下来,将其上传到数据字典中。选择 Repository,然后是 Data Dictionary,然后是 Scripts,所以一个完整的
Repository > Data Dictionary > Scripts
. 上传时,确保内容/mime 类型设置为Mimetype: Java Script
,如果需要在编辑属性中更改它现在,在某处创建一个虚拟文件夹。在该文件夹上,选择
Manage Rules
,创建一个新规则。将其设置为运行Items are created or enter this folder
并执行操作Execute Script
并选择新上传的脚本作为要运行的脚本最后,每次要运行脚本时,在您的文件夹中创建一个随机文件!
编辑:如果您的脚本有任何问题,那么这些只会记录在回购端,您将无法看到。因此,您最好的选择可能是将整个事情包装在一个巨大的 try/catch 块中,并将异常记录到另一个文件中,在一个非规则文件夹中!
我认为一次性 webscript 是比规则方法更好的选择。这可以使用两个文件部署在数据字典/Web 脚本扩展中:
描述符(例如,output-data.get.desc.xml):
用 JavaScript 编写控制器,输出到存储库中的内容节点,最后一行将内容节点放入 webscript 模型中,以便将其流式传输到浏览器(“种类”属性的目的):
控制器(例如 output-data.get.js):
一个快速的“刷新 Web 脚本”(位于http://localhost:8080/alfresco/s/index底部的按钮),您的 Web 脚本现在可以轻松运行了。您甚至可以更改 JavaScript 代码,而不必再次刷新 webscript。
日志记录问题可以像其他答案一样处理,方法是将代码的主体包装在 try/catch 中,并将错误消息也写入输出文件。