Bereitstellung eines Skripts für anwenderdefinierte Aufgabenempfehlungskriterien
Richtlinien zum Erstellen von Skripts in Empfehlungskriterien für eine Richtlinie für intelligente Aufgabenempfehlung.
Rückgabeobjekt für Anpassungsskript
Ihr Skript sollte ein JavaScript-Objekt in folgender Mindestform zurückgeben:
{
"<task sys_id1>":
{
"rating": <rating1>
},
"<task sys_id2>”:
{
"rating": <rating2>
},
…
}Legen Sie für Filterbeschränkungen die Bewertung der Rückgabeobjekte auf eins fest, um das Filterbeschränkungsergebnis der Empfehlungskriterien mithilfe von sn_task_recommend.TaskRecommendationUtil.setRatingToOne(Ihr Objekt) zu vereinheitlichen. Methode.
Um das Bewertungsergebnis der Rangfolgekriterien zu normalisieren, sollte das zurückgegebene JavaScript-Objekt Normalisierungsinformationen enthalten.
{
"<task <sys_id1>":
{
"rating": <rating1>,
"normalizationData":
{
"numerator": <numerator value1>,
"denominator": <denominator value1>
}
},
"<task <sys_id2>":
{
"rating": <rating2>,
"normalizationData":
{
"numerator": <numerator value2>,
"denominator": <denominator value2>
}
},
...
}Für Rangfolgekriterien kann das Rückgabeobjekt Daten für die endgültige Normalisierung enthalten.
Hinweis:
Wenn Ihre Skripts Normalisierungsdaten enthalten, können Sie auf die standardmäßigen Skripteinbindungen in den vordefinierten Empfehlungskriterien verweisen:
- Die Filtereinschränkung Aufgaben ausschließen zu: sn_fsm_task_rec.TaskRecommendationDistanceRuleProcessor
- Die Rangfolgekriterien Entfernung zur Aufgabe: rankTaskOnDistance()
Anwenderdefiniertes Skript in Empfehlungskriterien
Das folgende Beispiel zeigt, wie Sie ein Skript für die Empfehlungskriterien schreiben.
var customizedScript = <your-script>;
var customizedResult = customizedScript.<your-method>();
ruleResult = TaskRecommendationFSMUtil.parseRuleResult(customizedResult, "<customized-rule>");Die folgende Beispielkonfiguration bietet eine Filtereinschränkung des Typs „Abstand von Aufgabe“.
var distanceRule = new TaskRecommendationDistanceRuleProcessor(args);
var ruleProcessResult = distanceRule.processRule(user, tasks, timeStart, timeEnd, 'ranking');
ruleResult = TaskRecommendationFSMUtil.parseRuleResult(ruleProcessResult, "Distance from task");
Hinweis:
Ersetzen Sie das Anwendungsstichwort
ruleResult für Aufgabenempfehlung im Skript nicht durch andere Wörter. Andernfalls kann die Anwendung das Ergebnis der Regelausführung nicht verarbeiten.