The example form related to this article uses the iCM API worker and iCM_obj_articleUpdate to turn a form submission into an article.
Many of the properties of
Note that in this example the Default template (template ID 1) has a single field in the article extras, listed in the Extension property.
The example form also uses .utilCreateAction to create a custom confirmation message.
The Script Action
The main business of creating the article is carried out by a single script action.
function(helper, processor, props, context) {
let result = helper.utilServerAPIServerCall("icmapi", "iCM_obj_articleUpdate", {
"attributes": {
"ArticleStruct": {
"ArticleID": 0,
"ArticleHeading": helper.queryFieldValue("HEADING"),
"ArticleIntroText": helper.queryFieldValue("INTRO"),
"ArticleText": helper.queryFieldValue("BODY"),
"ArticleTemplateID": 1,
"ArticleDisplay": "",
"ArticleDate": "",
"ArticleParentID": 2927,
"ArticleDisplayDate": "",
"ArticleDisplayEDate": "",
"Archiveable": "",
"ArchiveDate": "",
"ArchiveParentID": "",
"ArticleReviewDate": "",
"ArticleReviewInterval": "",
"Extension": {
"ENGLISHARTICLEID": ""
}
}
}
}, {
"options": {
"apiKey": "B9772652-XXXX-XXXX-XXXX-F9621EEB295E"
},
"rawMode": false
});
let msg = "";
if (result.CONTENT && result.CONTENT.Status && result.CONTENT.Status == "Live") {
msg = "Article created with ID: " + result.CONTENT.ArticleID;
} else {
msg = JSON.stringify(result);
}
helper.setVariable("ACTIONMSG", msg);
return true;
}
Our API Key supplies the credentials of an iCM user with sufficient privileges to create articles beneath article ID 2927.