Triggers provide a mechanism for doing something on a regular timed basis, or when a certain action occurs. Currently only time-based triggers are provided, but in the future we will add new types of triggers that perform some action whenever a database is modified, or a template is displayed.

Triggers do their work by simulating a browser hit to a URL. They act as if you had manually used a browser to reload a page at a particular time each day. This gives you the flexibility to create as much complex WebDNA as you like, and to test it by simply using a browser to visit that URL. Once you have finished creating and testing the template, then enter its URL into a trigger and it will be executed on schedule from then on.

The URL must be of the form (the same as you would see in a browser window -- in fact, it is probably easiest to simply copy the URL directly from your browser window). There is no restriction on the web site in the URL, so you can actually have triggers that hit any web server in the world.

Because it is possible that the URL will fail for some reason (timeout, bad connection, bad password), triggers have a timeout and retry interval. These numbers are used to tell the trigger how long it should wait before attempting the URL again. Triggers look for a string of text (which you specify) that tell them the trigger was successfully executed. Often the text "<html>" is sufficient, but you can put more sophisticated WebDNA into a page to create more detailed success information.

The single Triggers.db file must be in the main program folder (where Users.db, ErrorMessages.db, etc. reside). An example of a useful time-based trigger is one that looks through the ShoppingCarts folder once per hour and deletes any that are more than 24 hours old. Another example is a trigger that looks for new order files in the Orders folder and initiates a credit card transaction using credit card software such as ICVerify, MacAuthorize, or CyberCash. Once the transaction is cleared, the trigger URL's WebDNA could continue by sending fulfillment emails and updating an inventory database.

Note: Triggers will not execute until the first hit to the web site has been processed. This usually means that until the first web browser hit from the outside hits a URL ending in ".tpl" or one of the other WebCatalog-controlled suffixes, no triggers will execute.

Field Description


A unique number that makes it easier to identify a particular trigger


Currently only TIME is allowed here, but in the future we will add values like APPEND, DELETE, REPLACE, SHOWPAGE, etc.


For TIME triggers, this is a specially-formatted string of numbers and asterisks that represents the time the trigger should execute. For example, to cause a trigger to execute 5 seconds after each minute, the text would be

Y M D H M S (Year Month Day Hour Minute Second)
* * * * * 5

To cause a trigger to execute at 9:15 PM every day, the text would be
* * * 21 15 *
Year Month Day Hour Minute Second
* or actual year such as 1998 * or month of year such as 6 for June * or day of month such as 28 * or hour of day such as 23 (11 PM) * or minute of hour such as 59 * or second of minute such as 15


This value gets changed automatically each time a trigger is executed. It is changed to the date and time of the next scheduled executeion of this trigger. If you do not want a trigger to start until a future date, you can preset this to the first date you want it to execute. After that, it is updated automatically.


T or F to enable or disable the trigger


Full URL to the template that you want executed at trigger time


Optional username for this page. This is the same as an authenticated username that the [protect] tag uses. Requiring a username/password enables you to create triggers that outside visitors cannot view.


Optional password for this page. This is the same as an authenticated password that the [protect] tag uses. Requiring a username/password enables you to create triggers that outside visitors cannot view.


A string of text that is returned from the URL which indicates the trigger was successfully executed. The trigger looks for this text anywhere in the returned HTML from the URL page. Often <html> is sufficient to tell the trigger that it successfully received the page.


Number of seconds to wait for the URL to complete before giving up and trying again


Number of seconds to wait before retrying the trigger.