Interchange has a powerful paradigm for extending and enhancing its functionality. It uses two mechanisms, user-defined tags and user subroutines on two different security levels, global and catalog. In addition, embedded Perl code can be used to build functionality into pages.
User-defined tags are defined with the UserTag directive in either interchange.cfg or catalog.cfg. The tags in interchange.cfg are global and they are not constrained by the Safe Perl module as to which opcodes and routines they may use. The user-defined tags in catalog.cfg are constrained by Safe. However, if the AllowGlobal global directive is set for the particular catalog in use, its UserTag and Sub definitions will have global capability.