Triggers Format File Formats - Triggers

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 performing 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 http://www.server.com/folder/file.ext (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.

New for WebDNA 5.1
The URL can now also take the form https://www.server.com/folder/file.ext. In this case WebDNA will open a secure SSL connection (on port 443), to 'execute' the trigger.

Because it is possible 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) to 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 WebDNA-controlled suffixes, no triggers will execute.


Field Description
SKU
A unique number making it easier to identify a particular trigger.
Trigger
Currently only TIME is allowed here, but in the future we will add values like APPEND, DELETE, REPLACE, SHOWPAGE, etc.
Param
For TIME triggers, this is a specially-formatted string of numbers and asterisks representing 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

NextExecute
This value gets changed automatically each time a trigger executes. It changes to the date and time of the next scheduled execution 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.
Enable
T or F to enable or disable the trigger.
ExecuteURL
Full URL to the template you want executed at trigger time.
User
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 outside visitors cannot view.
Pass
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 outside visitors cannot view.
WasGood
A string of text returned from the URL indicating 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.
TimeoutSeconds
Number of seconds to wait for the URL to complete before giving up and trying again.
RetrySeconds
Number of seconds to wait before retrying the trigger.

User Contributed Notes
TriggersFormat  

Kenneth Grome - webdna@kengrome.com 
06/14/2004 at 01:53:12
It appears that when you change the server's time zone on OSX all your webdna v6 triggers will stop working.

Copyright © 2008 WebDNA Software Corporation, Inc.