Start with the skeleton at lib/WebGUI/Form/_control.skeleton.
To allow the form control to be accessible to Thingy, DataForm, and Profile forms for any site return 1 for isDynamicCompatible method.
Sometimes it's necessary to add a custom form control to a server which hosts other WebGUI sites. You can create your custom library outside the WebGUI source then load it from preload.custom.
To control the form from being loaded by other sites, the following technique will work (for 7.x series; tested in 7.9.13):
Keywords: forms