gpt4 book ai didi

javascript - 使用 Alfresco 4.1 webscripts 查找站点中的所有文件

转载 作者:行者123 更新时间:2023-11-30 08:06:46 25 4
gpt4 key购买 nike

Alfresco Share 不会跟踪在其界面之外修改的内容,这使得最近修改的 RSS/Dashlet 变得无用。我正在努力创建一个 RSS,我可以在站点内使用它来提取最近修改的项目列表。

现在我正在努力获取文件列表,但由于我对 Webscripts 不是很熟悉,所以遇到了一些问题。我有这段代码可以检索站点的内容,然后构建一个文件数组,我遇到的问题是我可能有很多子文件夹,但我不确定如何正确遍历它们。

var folder = companyhome.childByNamePath("/Sites/foo/documentLibrary");

var docs = new Array();

print(folder);
print("iterating...");
var children = folder.children;
for (i=0; i<children.length; i++)
{
var c = children[i];
if (c.isContainer)
{
print(c.name + " is a folder, traversing...");
var subfolder = companyhome.childByNamePath("/Sites/foo/documentLibrary/" + c.name.toString());
var subchildren = subfolder.children;
for (j=0; j<subchildren.length; j++)
{
var d = subchildren[j];
if (d.isDocument) docs.push(d);
}
}
if (c.isDocument) docs.push(c);
}

print(docs);

最后,我将按修改时间排序,然后将其切碎以供展示,我假设获取内容是最困难的部分:)

最佳答案

我会编写一个递归函数来遍历文件夹层次结构,如下所示:

var documentLibrary = companyhome.childByNamePath("sites/foo/documentLibrary");

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 + "is a document, modified: " + node.properties["cm:modified"]);
}
}
}

关于javascript - 使用 Alfresco 4.1 webscripts 查找站点中的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16929858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com