This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <h1>Rules Gadget Architecture</h1> | |
| <h2>Executive Summary</h2> | |
| <p>The Curriculum Rules feature adds four capabilities to the Kuali Platform's rules system:</p> | |
| <ol> | |
| <li><strong>Token-based rule authoring</strong> — PMs author rules at the <strong>product level</strong> (shared across all gadgets in a product) and at the <strong>per-gadget level</strong> using token types. 8 built-in types (<code>{courses}</code>, <code>{number}</code>, <code>{excluding}</code>, etc.) are code-level constants that cover most cases; PMs can also create custom tokens. Rules use natural-language text with <code>{token}</code> placeholders (<code>"Complete {number} of {courses:electives}"</code>). Product Admins can create their own custom rules using available tokens, and extend with their own token definitions.</li> | |
| <li><strong>Standard Rules protection</strong> — PM-created rules (product-level and per-gadget) are marked <code>isKualiRule: true</code>. Product Admins can reorder, hide, or edit surrounding text, but |