以递归方式获取Alfresco 5.0中文件夹下的所有内容文件名(通过WebScripts)

时间:2015-01-19 19:41:49

标签: alfresco dms

到目前为止,我找到了向孩子们展示的剧本:

http://localhost:8080/alfresco/service/slingshot/datalists/lists/site/MyFakeSite/documentLibrary

它给我回复:

{
   "container": "workspace:\/\/SpacesStore\/8ef98a58-18f0-4f27-9fee-709f81ca0a65",
   "permissions":
   {
      "create": true
   },
   "datalists":
   [
      {
   "name": "MyPicture.jpg",
   "title": "My Awesome Picture File",
   "description": "Legen - wait for it - dary!!!",
   "nodeRef": "workspace://SpacesStore/54acabf9-bf6b-42f0-8b68-bbe9732b29b8",
   "itemType": "",
   "permissions":
   {
      "edit": true,
      "delete": true
   }
}
,
      {
   "name": "MyFirstLevelFolder",
   "title": "FirstLevel",
   "description": "",
   "nodeRef": "workspace://SpacesStore/181a36df-2892-4669-aac0-d13ff90457bb",
   "itemType": "",
   "permissions":
   {
      "edit": true,
      "delete": true
   }
}

这是关卡级别的子节点列表。

有没有办法:

  • 递归显示所有节点??

    不太重要:

  • 仅过滤答案的内容对象(文件夹循环但不是 回)?

  • 过滤所有元数据但名称,对我来说唯一重要的事情是什么?

2 个答案:

答案 0 :(得分:1)

您可以创建自定义的webscript而不是您指定的上面的webcript。根据您的要求自定义webscript。

以下链接用于在露天创建webscript。

https://wiki.alfresco.com/wiki/Web_Scripts

答案 1 :(得分:1)

以下是可能对您有所帮助的webscript示例。在alfresco中创建这个webscript。

<强> getChildren.get.desc.xml

<webscript>
    <shortname>Get Documents</shortname>
    <description>Display all Documents within Folder</description>
    <url>/getChildren</url>
    <format default="json">argument</format>
    <authentication>user</authentication>
</webscript>

<强> getChildren.get.js

function main()
{
    var node = [];
    var folderName = args["foldername"];
    node = search.luceneSearch("PATH:\"/app:company_home/cm:"+folderName+"/*\"");
    model.totalItems = node.length;
    model.results = node;

} main();

<强> getChildren.get.json.ftl

{
    "totalItems": "${totalItems}",
    "nodes":
    [<#list results as node>
        {
            "name" : "${node.properties["cm:name"]?trim}"
        }<#if (node_index + 1 < results?size)>,</#if>
     </#list>
    ]
}

在浏览器中创建此查询之后:

<强> http://localhost:8080/alfresco/service/getChildren?foldername=Test_Folder

注意:这将仅获取公司主页中文件夹的子详细信息。根据您的要求在javascript文件中更改lucene查询。