Рекурсивно получить все имена файлов содержимого в папке в Alfresco 5.0 (по WebScripts)
Пока я нашел сценарий, чтобы показать детям:
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 ответа
Вот пример веб-скрипта, который может вам помочь. Создайте этот веб-скрипт на свежем воздухе.
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: // локальный: 8080 / под открытым небом / услуги / GetChildren имя_папки = Test_Folder
Примечание. Это приведет к получению дочерних сведений о папках только в доме компании. Измените запрос lucene в файле javascript в соответствии с вашими требованиями.
Вы можете создать свой собственный веб-скрипт вместо того, который вы указали выше. Настройте веб-скрипт в соответствии с вашими требованиями.
Ниже ссылка полностью используется для создания веб-скрипта на свежем воздухе.