Customization, Scripting, and Extensibility
Customization questions reward knowledge of JavaScript in Campaign (server-side, E4X-style) and where it runs: JavaScript activities, JSSP pages, form scripts, and schema event scripts. Know the xtk API objects (xtk.queryDef, xtk.session, xtk.ctx) and the logInfo/logWarning logging. Understand form customization (input forms, containers, visibility conditions), enumeration and schema extensions, and client-side vs. server-side execution boundaries. Candidates must know event scripts (before/after insert/update/delete) and their performance cost.
Traps: assuming arbitrary modern JS features are available (the engine is older and E4X-flavored); forgetting that event scripts run on every write and can slow bulk imports; and confusing form scripts (UI) with workflow scripts (batch). Another classic: relying on client-side validation for security - always validate server-side.
Rule of thumb: keep event scripts minimal and guard with conditions; do heavy logic in workflows, not triggers. Worked example: auto-tagging new recipients - instead of a heavy onCreate event script doing lookups, use a lightweight event to set a flag and a scheduled workflow to enrich in batch, avoiding per-row overhead during large imports.