Alfresco Webscript, чтобы получить список всех файлов и папок с их размером
Вам нужен js-файл на открытом воздухе, чтобы получить список всех папок и файлов, рекурсивно и по размеру.
2 ответа
CMIS Query:
select cmis:objectId, cmis:name, cmis:contentStreamLength
from cmis:document
where cmis:contentStreamLength>0
order by cmis:contentStreamLength desc
HTTP GET:
http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser/ ?cmisselector=query &succinct=true &q=select cmis:objectId, cmis:name, cmis:contentStreamLength from cmis:document where cmis:contentStreamLength>0 order by cmis:contentStreamLength desc
JavaScript:
Используйте поиск корневого объекта:
search - org.alfresco.repo.jscript.Search - корневой объект, обеспечивающий доступ к различным интерфейсам поиска Alfresco, таким как результаты FTS-Alfresco, Lucene, XPath и Saved Search.
var rs=search.query({ query:"select * from cmis:document where cmis:contentStreamLength>0 order by cmis:contentStreamLength desc", language:"cmis-alfresco" }); for (var r in rs){ logger.log(rs[r].parent.nodeRef.id+"/"+rs[r].nodeRef.id+"\t"+rs[r].parent.name+"/"+rs[r].name+"\t"+rs[r].size); }
Да, это возможно. Вы можете получить все папки, подпапки и все файлы, используя javascript репозитория. Пожалуйста, попробуйте этот код дать правильные значения пути
var path="Data Dictionary/***";
var documentLibrary = companyhome.childByNamePath("path");
var children = documentLibrary.children;
traverse(children);
function traverse(nodes){
for each(var node in nodes) {
if (node.isContainer){
logger.log(node.name + " is a folder, traversing down");
traverse(node.children);
}else {
logger.log(node.name );
logger.log(node.size);
}
}
}