如何创建javascript以在Alfresco共享中作为规则条件执行

如何创建javascript以在Alfresco共享中作为规则条件执行,javascript,alfresco,Javascript,Alfresco,我不熟悉Alfresco,尤其是Javascript 我有一堆与正在上载的文档类型相关的自定义模型表单,每个表单都有4个属性:client.name、doc.subtype、doc.year、doc.month 我需要一些脚本作为“文件夹规则”应用,这些规则必须以编程方式重新分发收到并上载到收件箱文件夹的每个文件 要应用于收件箱文件夹,必须检查是否已经存在名为“client.name”属性的站点,并且必须将上载的文件重命名为“client.name+自定义模型名+doc.month+doc.ye

我不熟悉Alfresco,尤其是Javascript

我有一堆与正在上载的文档类型相关的自定义模型表单,每个表单都有4个属性:client.name、doc.subtype、doc.year、doc.month

我需要一些脚本作为“文件夹规则”应用,这些规则必须以编程方式重新分发收到并上载到收件箱文件夹的每个文件

要应用于收件箱文件夹,必须检查是否已经存在名为“client.name”属性的站点,并且必须将上载的文件重命名为“client.name+自定义模型名+doc.month+doc.year”,然后将其移动。如果站点尚不存在,则必须创建它,然后移动相应的文件

#2 Script:
要应用于客户端.name创建的文件夹,将收到相应的重命名文件,并检查是否已存在名为'custom-model-name'的文件夹,然后相应地移动该文件夹。如果该文件夹尚不存在,则必须创建该文件夹,然后将其移动到已创建的文件夹中

#3 Script:
#4 Script:
#5 and last script: 
要应用于'custom-model-name'创建的文件夹,将收到相应的重命名文件,并检查是否已存在名为doc.subtype属性的文件夹,然后将其相应移动。如果该文件夹尚不存在,则必须创建该文件夹,然后将其移动到已创建的文件夹中

#3 Script:
#4 Script:
#5 and last script: 
要应用于doc.subtype创建的文件夹,将收到相应的重命名文件,并检查是否已存在名为doc.year属性的文件夹,然后相应地移动该文件夹。如果该文件夹尚不存在,则必须创建该文件夹,然后将其移动到已创建的文件夹中

#3 Script:
#4 Script:
#5 and last script: 
要应用于doc.year创建的文件夹,将收到相应的重命名文件,并检查是否已经存在名为doc.month属性的文件夹,然后相应地移动它。如果该文件夹尚不存在,则必须创建该文件夹,然后将其移动到已创建的文件夹中

#3 Script:
#4 Script:
#5 and last script: 

下面是我的文件夹所需的树结构:

希望我能说清楚

PS:我知道我可以通过在每个文件夹中创建默认规则来实现这一点。但是,我无法用这种方法来测试文件夹是否已经创建


任何帮助都将不胜感激。问候

为什么不呢?您只需使用JSAPI并检查文件夹是否存在如下内容:
var folder=search.luceneSearch(“路径:\”/app:company\u home/cm:SomeFolder/*\”+类型:\“cm:folder\”);如果(folder null | | folder.length==0){…}或者{…}
您还想查看这本指南,它包含了实际创建脚本的所有信息(这是一项相当简单的任务),在这里您可以找到Alfresco JS APHI@Alch3mi5t的所有信息!谢谢你的提示。我忘了提到这些属性在大多数方面都与文档所指的月份和年份有关。我的所有属性都与约束(客户端、子类型、年、月)相关。关于条件的第一步,我想知道如何处理这些方面,例如,在本例中,var newfolder=userhome.createFolder(“{Client.name}”,“st:site”),如何替换这个{Client.name}以引用我的属性(方面)客户机?ThanksI只是阅读并通过这种方式创建网站,它不会完全可访问/有用,对吗?嗯,不确定我是否理解您的评论,但如果您希望能够将属性/方面添加到节点(内容或文件夹,这真的不重要),只需使用此:,您可以像这样更新您的属性:
document.properties[“my:property”]=“new value”;document.save();
一旦添加了包含它的方面。嘿@Alch3mi5t!如何在搜索查询中使用声明的变量?例如,var client\u folder=document.properties[“ext1:prop1\u aspect\u client”]。然后var folder=search.luceneSearch(“路径:\”/app:company\u home/st:sites/{我声明的客户端\u文件夹变量}/*\“+类型:\'cm:folder\”);谢谢。