Alfresco:Javascript 数据列表创建
Alfresco: Javascript data list creation
我正尝试在我的 Alfresco 工作流程中执行一些 Javascript 以在我的站点中创建一个名为 "Testing" 的自定义数据列表类型。但在我填写我的自定义数据列表类型信息之前,我尝试根据我发现的示例简单地创建一个联系人列表数据列表以确保它有效。
这是我的代码:
var site = siteService.getSite("Testing");
var dataLists = site.childByNamePath("dataLists");
if (!dataLists) {
var dataLists = site.createNode("dataLists", "cm:folder");
var dataListProps = new Array(1);
dataListProps["st:componentId"] = "dataLists";
dataLists.addAspect("st:siteContainer", dataListProps);
dataLists.save();
logger.log("Created new datalists folder.");'
}
var contactList = dataLists.childByNamePath("contactlist1");
if (!contactList) {
var contactList = dataLists.createNode("contactlist1","dl:dataList");
// tells Share which type of items to create
contactList.properties["dl:dataListItemType"] = "dl:contact";
contactList.save();
var contactListProps = [];
contactListProps["cm:title"] = "My Contacts";
contactListProps["cm:description"] = "A contact list generated by a javascript.";
contactList.addAspect("cm:titled", contactListProps);
logger.log("Created contact datalist.");
}
var contact = contactList.createNode(null, "dl:contact")
contact.properties["dl:contactFirstName"] = "Florian";
contact.properties["dl:contactLastName"] = "Maul";
contact.properties["dl:contactEmail"] = "info@fme.de";
contact.properties["dl:contactCompany"] = "fme AG";
contact.properties["dl:contactJobTitle"] = "Senior Consultant";
contact.properties["dl:contactPhoneMobile"] = "not available";
contact.properties["dl:contactPhoneOffice"] = "not available";
contact.properties["dl:contactNotes"] = "Alfresco Expert";
contact.save();
logger.log("Created new contact: " + contact.nodeRef);
我的猜测是它没有选择正确的站点,但我不确定如何将站点变量设置为 "Testing" 站点。另外,我知道这段代码在我的 .bpmn 文件中的正确位置,因为那里的其他 Javascript 正确执行。
我的代码有什么问题?
有 2 个 javascript 对象,其中 confusion.One 是 site
,另一个是 node
。站点对象没有名为 childByNamePath
的方法.
而不是使用下面的方法获取数据列表。
var dataLists = site.getContainer("dataLists");
您用于检索站点的代码是 correct.The 唯一的变化是数据列表。
我正尝试在我的 Alfresco 工作流程中执行一些 Javascript 以在我的站点中创建一个名为 "Testing" 的自定义数据列表类型。但在我填写我的自定义数据列表类型信息之前,我尝试根据我发现的示例简单地创建一个联系人列表数据列表以确保它有效。
这是我的代码:
var site = siteService.getSite("Testing");
var dataLists = site.childByNamePath("dataLists");
if (!dataLists) {
var dataLists = site.createNode("dataLists", "cm:folder");
var dataListProps = new Array(1);
dataListProps["st:componentId"] = "dataLists";
dataLists.addAspect("st:siteContainer", dataListProps);
dataLists.save();
logger.log("Created new datalists folder.");'
}
var contactList = dataLists.childByNamePath("contactlist1");
if (!contactList) {
var contactList = dataLists.createNode("contactlist1","dl:dataList");
// tells Share which type of items to create
contactList.properties["dl:dataListItemType"] = "dl:contact";
contactList.save();
var contactListProps = [];
contactListProps["cm:title"] = "My Contacts";
contactListProps["cm:description"] = "A contact list generated by a javascript.";
contactList.addAspect("cm:titled", contactListProps);
logger.log("Created contact datalist.");
}
var contact = contactList.createNode(null, "dl:contact")
contact.properties["dl:contactFirstName"] = "Florian";
contact.properties["dl:contactLastName"] = "Maul";
contact.properties["dl:contactEmail"] = "info@fme.de";
contact.properties["dl:contactCompany"] = "fme AG";
contact.properties["dl:contactJobTitle"] = "Senior Consultant";
contact.properties["dl:contactPhoneMobile"] = "not available";
contact.properties["dl:contactPhoneOffice"] = "not available";
contact.properties["dl:contactNotes"] = "Alfresco Expert";
contact.save();
logger.log("Created new contact: " + contact.nodeRef);
我的猜测是它没有选择正确的站点,但我不确定如何将站点变量设置为 "Testing" 站点。另外,我知道这段代码在我的 .bpmn 文件中的正确位置,因为那里的其他 Javascript 正确执行。
我的代码有什么问题?
有 2 个 javascript 对象,其中 confusion.One 是 site
,另一个是 node
。站点对象没有名为 childByNamePath
的方法.
而不是使用下面的方法获取数据列表。
var dataLists = site.getContainer("dataLists");
您用于检索站点的代码是 correct.The 唯一的变化是数据列表。