Name
global.KnowledgeWikiProcessorSNC
Description
Processor for handling knowledge wiki pages Customers should not change this class directly This class is never called directly.
Script
var KnowledgeWikiProcessorSNC = Class.create();
KnowledgeWikiProcessorSNC.prototype = Object.extendsObject(WikiProcessor, {
processWikiPage: function() {
//Fetch the dependent field setup for linking to other Knowledge Articles
//By default it is short_description
var depField = 'short_description';
var dicEnt = new GlideRecord('sys_dictionary');
dicEnt.addQuery('name', 'kb_knowledge');
dicEnt.addQuery('element', 'wiki');
dicEnt.query();
if(dicEnt.next() && !gs.nil(dicEnt.dependent))
depField = dicEnt.dependent;
var kb = new GlideRecordSecure('kb_knowledge');
var title = this.getPageName();
var titleWithSpaces = title.replaceAll('_',' ');
// match for dependent field containing the supplied link text
kb.addEncodedQuery(depField + '='+title+'^OR' + depField + '='+titleWithSpaces);
kb.query();
if (kb.next()) {
if(pm.isActive('com.snc.knowledge_advanced')){
var record = new KBVersioning().getLatestAccessibleVersion(kb.number,true);
if(record)
g_processor.redirect("kb_view.do?sys_kb_id=" + record.sys_id);
else{
gs.addInfoMessage(gs.getMessage('The selected wiki page does not yet exist.'));
g_processor.redirect(this.getTable() + ".do?sys_id=-1&sysparm_query=article_type=wiki^" + this.getDependentField() + "=" + this.getPageName() + "^short_description=" + this.getPageName());
}
}
else
g_processor.redirect("kb_view.do?sys_kb_id=" + kb.sys_id);
}else {
gs.addInfoMessage(gs.getMessage('The selected wiki page does not yet exist.'));
g_processor.redirect(this.getTable() + ".do?sys_id=-1&sysparm_query=article_type=wiki^" + this.getDependentField() + "=" + this.getPageName() + "^short_description=" + this.getPageName());
}
},
type: 'KnowledgeWikiProcessorSNC'
});
Sys ID
7bf2647bb712230026778d78ee11a90c