【问题标题】:How to retrieve a folder from the repository in alfresco?如何从露天的存储库中检索文件夹?
【发布时间】:2013-05-15 17:38:07
【问题描述】:

我有以下代码试图检索位于 alfresco 存储库根目录中的文件夹: test-folder.get.json.ftl:

<#escape x as jsonUtils.encodeJSONString(x)>
{"data" : 
        {
           <#if folder??>
           "folderName" : "${folder.name}",
           "folderPath" : "${folder.displayPath}/${folder.name}",
           </#if>
           "status" : "${status}"

        }
}
</#escape>

test-folder.get.json.js

main();

function main()
{
    var folder = companyhome.childByNamePath("Photo");
    if (folder == undefined || !folder.isContainer){
       logger.log("\n\n==>Folder is undefined<===\n\n");
       status.code = 404;
       status.message = "Folder " + url.extension + " not found.";
     }
     else{
         logger.log("\n\n==> Got the folder path: "+ folder.displayPath);
         model.folder=folder;
     }
    model.status=status;    
}

当我检查 repo 中的 webscripts 时,我只得到状态代码。此外,日志中不会打印任何记录器消息,日志中也不会显示任何错误。 我有什么遗漏吗?

【问题讨论】:

  • 您的“照片”空间是在 companyhome 下吗?你的代码看起来不错。状态中的另一件事是您仅获得 404 吗?我的意思是,当您始终在脚本中设置状态时,也要保留一个默认值
  • 你说的一件事......你只得到状态码?你的意思是,你得到一个错误状态码?
  • 没有成功状态码

标签: alfresco alfresco-share


【解决方案1】:

我可以建议您的一件事是使用 Florian Maul 开发的 JavaScript 控制台。

对我来说,这是一个非常有用的工具。

您可以在一毫秒内知道您的“var folder = companyhome.childByNamePath("Photo");”的结果。您只需登录“文件夹[cm:name]”即可查看结果.

这个链接很有用。 JavaScript Console

【讨论】:

  • 谢谢。我遇到过这个并安装它进行测试,但忘记了这个工具。
【解决方案2】:

几个可能的问题:

  • 调用此网页脚本时您是否已登录?未登录的用户可能无法访问“照片”空间。
  • 您的日志记录启用了吗?尝试使用 logger.error 而不是 logger.log(或检查 log4j.properties 中的日志记录级别)。

【讨论】:

  • 对您的两个问题都是肯定的,并且日志中也没有显示任何内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-10
  • 1970-01-01
相关资源
最近更新 更多