This is a web-based interface to the relational registry. ... TODO: developer docs ... Adding new constraint types --------------------------- To add a constraint, (1) in main.html, add templates for the any new operator or operand you may require. See operator-contains and operand-waveband as examples (2) in static/wirr.js, add a _CONSTRAINTDEF. The key you use there is the constraint name, the values are the templates for the operand and the operator(s), respectively. (3) in bin/dbadapter.py, add a _CONSTRAINTDEF with the constraint name as key. The value is a function makeConstraint(constraint, sqlPars, addTables) -> sql-fragment. There is some documentation on what all that means. In particular, there are some factory functions that may save you the work of defining a function of your own. (4) back in main.html, locate the constraint-selector element (and ul/li hierarchy). Find an appropriate place for your new constraint and put its name in there. The human-readable label will be taken from the _CONSTRAINTDEF in wirr.js.