Template Scripts vs. Custom Scripts

When working with applications created from templates in Tabidoo, you might encounter two types of scripts: Template Scripts and Custom Scripts. Understanding how they work and interact is essential to correctly customizing and maintaining your logic.

What Are Template Scripts?

Template Scripts are predefined scripts included by the author of a shared or published template.

  • They are read-only — you can view but not edit them.
  • They are part of the original application logic designed by the template creator.
  • They help standardize behavior across multiple deployments of the same application.
  • You also have the option to disable the template script if you want to completely override its behavior

What Are Custom Scripts?

Custom Scripts are scripts that you create or modify in your own instance of the application.

  • They are fully editable and customizable.
  • They allow you to extend, adjust, or override the default logic from the template.
  • You can add them to any scriptable part of your form/record scripts.

 

Execution Order: Which Script Runs First?

If both Template Scripts and Custom Scripts are defined for the same event (e.g., On Model Load), Tabidoo executes them in the following order:

  1. Template Script runs first.
  2. Custom Script runs second.

This allows you to build on top of the template’s logic, or even override it when needed.

Why This Separation Matters

  • Safe template updates: Updates to the template won’t overwrite your custom logic.
  • Transparency: You can inspect the original logic to understand how the app works.
  • Flexibility: You decide whether to use or replace parts of the template’s behavior.

Best Practices

  • Always review Template Scripts before writing your own.
  • Use Custom Scripts to inject changes or extend functionality without altering the original.
  • Avoid duplicating logic that’s already handled in the template unless you need to override it.

This separation between Template and Custom Scripts ensures that shared applications can be reliably reused while still allowing full customization for specific needs.