AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 694679
Accepted
Nicolas Raoul
Nicolas Raoul
Asked: 2015-05-28 00:43:41 +0800 CST2015-05-28 00:43:41 +0800 CST 2015-05-28 00:43:41 +0800 CST

如何通过 Alfresco Share 执行服务器端 JavaScript?

  • 772

我想执行一些服务器端 JavaScript(来操作存储库节点)。

我通过 Alfresco Share 拥有管理员访问权限,但我没有 Alfresco Explorer 或 SSH 访问权限。

  • 最好是一种控制台,我可以在其中键入命令,例如JavascriptConsole,但如果没有 SSH 访问权限,它就无法安装。我不认为有这样的事情,但也许有涉及规则的技巧?
  • 编写一次性 webscripts 听起来有点矫枉过正和不方便。

可能吗?
(露天 5.0)

javascript
  • 2 2 个回答
  • 3061 Views

2 个回答

  • Voted
  1. Best Answer
    Gagravarr
    2015-05-28T01:40:50+08:002015-05-28T01:40:50+08:00

    如果您无权访问存储库机器,我认为您最简单的选择是 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 块中,并将异常记录到另一个文件中,在一个非规则文件夹中!

    • 1
  2. Eric
    2018-03-31T11:36:05+08:002018-03-31T11:36:05+08:00

    我认为一次性 webscript 是比规则方法更好的选择。这可以使用两个文件部署在数据字典/Web 脚本扩展中:

    描述符(例如,output-data.get.desc.xml):

    <webscript kind="org.alfresco.repository.content.stream">
        <shortname>Output metadata</shortname>
        <description>Output data on content files</description>
        <url>/output-data.txt</url>
        <format default="">extension</format>
        <family>Eric</family>
        <authentication>user</authentication>
        <transaction>required</transaction>
    </webscript>
    

    用 JavaScript 编写控制器,输出到存储库中的内容节点,最后一行将内容节点放入 webscript 模型中,以便将其流式传输到浏览器(“种类”属性的目的):

    控制器(例如 output-data.get.js):

    // just some text to output for demonstration purposes
    var contentString = "Output";
    
    // create a text document in company home
    var outputDoc = companyhome.createNode('output-data.txt', 'cm:content');
    outputDoc.content = contentString;
    outputDoc.save();
    
    //stream the document
    model.contentNode = outputDoc;
    

    一个快速的“刷新 Web 脚本”(位于http://localhost:8080/alfresco/s/index底部的按钮),您的 Web 脚本现在可以轻松运行了。您甚至可以更改 JavaScript 代码,而不必再次刷新 webscript。

    日志记录问题可以像其他答案一样处理,方法是将代码的主体包装在 try/catch 中,并将错误消息也写入输出文件。

    • 1

相关问题

  • 使用大量 javascript 的页面上的鱿鱼速度很慢

  • HTTP gzip压缩不适用于tomcat 6中的css或javascript

  • 客户端 Javascript --> 服务器端 Java --> 为用户提供 .doc

  • 是否有将 Virtual Server 2005 管理网站与 Internet Explorer 8 一起使用的解决方法?

  • 安装的 SP3 与集成的 SP3,默认安全设置有何不同?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve