Search »

Module Development

This is the Form Tools 3 module development documentation. Please click here for Form Tools 2.


No script the size of Form Tools can accommodate all functionality without becoming bloated and unusable. To prevent this, many larger scripts turn to some form of module / plugin architecture that keeps the core code small, but still allows for extensibility. Form Tools is one of those scripts. Developers can extend the core functionality in whatever way they need without needing to tamper with the core script.

The modules were structured with the following goals in mind:

  • Simple to install and remove. Regardless of a users' technical level, nobody like fussing around with complicated installation instructions. If it's tough to install, people are going to give up, and they're likely to make mistakes - potentially causing the main script to stop working.
  • Consistent. Consistency is king. Modules can't look radically different from the rest of the script or they've force the user doesn't have to re-learn the interface for each and every module. They need to be consistent so they can be translated to other languages in the same manner; consistent in the way the information is stored in the database and the way they tie into the core.
  • International. All modules need to be able to support multiple languages.
  • Simple to develop and write. Let's not forget the poor developer here! If a module isn't easy to write, no-one's going to want to do it.

We've developed a modular system to allow you, the developer, to add your own functionality that are compatible with the above rules - just by following the required module structure.