0 0 2008-11-25T07:20:52-05:00 2008-11-25T07:20:52-05:00 Tinderbox Cookbook 1 3.5 0 2008-11-25T07:21:04-05:00 2008-11-25T07:21:04-05:00 to do 27 0 0 2008-11-25T07:21:02-05:00 2008-11-25T07:21:02-05:00 templates 21 Prototype=template;IsTemplate=true false 17 0 Rect[ 50 50 699 345] 2008-11-25T07:25:59-05:00 2008-11-25T16:10:46-05:00 page 53 62 true <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>^title^</title> ^include(/boilerplate/styles) ^include(/boilerplate/scripts) </head> <body> <div id="header"> ^include(nav) </div> <div id="main"> <h1>^title^</h1> ^text ^justChildren </div> <div id="footer"> ^include(/boilerplate/footer) </div> </body> </html> 20.5 0 Rect[ 127 274 927 574] 2008-11-25T07:37:40-05:00 2008-11-29T18:03:24-05:00 test template 89 124 false true <tr> <td class="description">^text</td> <td class="expression">^value($Try)</td> <td class="expected">^value($Expected)</td> <td class="result">^value(eval($Try))^</td> <td class="test ^get(TestClass) ">not yet</td> </tr> 21 0.5 Rect[ 127 274 927 574] 2008-11-25T14:31:19-05:00 2008-11-25T14:31:55-05:00 test for export 71 103 false true <tr> <td class="description">^text</td> <td class="expression">^^^get(Try)</td> <td class="expected">^get(Expected)</td> <td class="result">^value(eval($Try))^</td> <td class="test ^get(TestClass) ">not yet</td> </tr> 24 0 2008-11-25T08:01:28-05:00 2008-11-25T08:01:49-05:00 text only 3 15 true ^text 27.5 0 2008-11-25T09:05:10-05:00 2008-11-26T11:05:29-05:00 suite 24 78 true /templates/suite <div class="suite"> <h2 class="suite">^get(TestName)</h2> ^text </div> <table class="results"> ^include(/boilerplate/tableHeader) ^justChildren </table> 28 0.5 2008-11-25T14:28:38-05:00 2008-11-26T11:05:36-05:00 suite for export 24 82 true /templates/suite <div class="suite"> <h2 class="suite">^^^get(TestName)</h2> ^text </div> <table class="results"> ^include(/boilerplate/tableHeader) ^justChildren </table> 31.5 0.5 2008-11-26T10:51:00-05:00 2008-11-26T11:33:38-05:00 dataTable 18 33 true <table class="figure"> <tr> <th>Name</th> <th>UserFlag</th> <th>UserNum</th> </tr> ^justChildren(/templates/dataTableRow) </table> 33.5 0.5 2008-11-29T12:53:16-05:00 2008-11-29T12:53:43-05:00 dateTable 1 5 true <table class="figure"> <tr> <th>Name</th> <th>Date</th> </tr> ^justChildren(/templates/dateTableRow) </table> 35 0.5 2008-11-26T10:51:45-05:00 2008-11-26T10:53:00-05:00 dataTableRow 1 9 true <tr> <td>^title^</td> <td>^get($UserFlag)</td> <td>^get($UserNum)</td> </tr> 35.5 1 2008-11-29T12:53:44-05:00 2008-11-29T12:54:05-05:00 dateTableRow 2 12 true <tr> <td>^title^</td> <td>^get($Date)</td> </tr> 7 0 2008-11-25T07:21:08-05:00 2008-11-25T07:21:08-05:00 prototypes 10 IsPrototype=true false cool gray American Typewriter 0 0 2008-11-25T07:22:29-05:00 2008-11-25T07:23:50-05:00 template 1 20 true /templates/text only lightest blue 3.5 0 2008-11-25T07:23:55-05:00 2008-11-25T07:23:55-05:00 memo 12 true true false orange 7 0 2008-11-25T07:29:11-05:00 2008-11-25T07:29:11-05:00 page 3 35 Prototype=test suite true /templates/page false magenta 20.5 0.5 2008-11-25T15:04:18-05:00 2008-11-25T15:04:18-05:00 doc 5 48 Prototype=test true TestName;Template /templates/text only <p > <p > green 10.5 0 2008-11-25T07:35:15-05:00 2008-11-25T07:35:15-05:00 test 8 48 true TestName;Try;Expected;TestClass /templates/test template 17.5 0 2008-11-25T14:27:29-05:00 2008-11-25T14:27:29-05:00 export test 13 true /templates/test for export magenta 14 0 2008-11-25T09:04:55-05:00 2008-11-25T09:04:55-05:00 test suite 7 49 Prototype=test true TestName;Template /templates/suite <p class="suite"> <p class="suite"> 17.5 0 2008-11-25T14:28:18-05:00 2008-11-25T14:28:18-05:00 export suite 1 11 Prototype=export test true /templates/suite for export 0 2 2008-11-26T10:47:31-05:00 2008-11-26T10:47:31-05:00 data 2 10 true UserNum;UserFlag 10.5 0 2008-11-25T07:21:28-05:00 2008-11-25T07:21:28-05:00 boilerplate 6 12.5 0 Rect[ 312 76 1112 476] 2008-11-17T16:47:57-05:00 2008-11-29T12:30:46-05:00 nav 62 110 <ul class="nav"> * cookbook * expressions  * operators  • export templates * help 14.5 0 2008-11-25T09:16:53-05:00 2008-11-26T11:34:50-05:00 tableHeader 14 24 <tr> <th class="description">description</th> <th class="expression">try</th> <th class="expected">expect</th> <th class="result">result</th> <th >ok</th> </tr> 16 0 2008-11-17T16:52:27-05:00 2008-11-29T12:45:40-05:00 footer 31 76 /templates/text only Tinderbox Cookbook Contact: Mark Bernstein bernstein@eastgate.com • Eastgate Systems, Inc. 134 Main Street, Watertown MA 02472 USA Copyright &copy; 2008 Eastgate Systems, Inc. All Rights Reserved. 19.5 0 2008-10-24T12:46:28-05:00 2008-11-25T07:39:35-05:00 scripts 15 67 <script type="text/javascript" src="^root^js/prototype.js"></script> <script src="^root^js/scriptalicious/scriptaculous.js" type="text/javascript"></script> <script src="^root^js/cookbook.js" type="text/javascript"></script> 23 0 2008-10-24T12:52:35-05:00 2008-11-25T08:02:32-05:00 styles 21 79 <link rel="stylesheet" href="^root^css/cookbook.css" type="text/css" /> 26 0 2008-11-28T16:36:11-05:00 2008-11-29T12:35:29-05:00 version 2 14 /templates/text only 0.9.2 12.5 0 2008-11-26T10:46:38-05:00 2008-11-26T10:46:38-05:00 data 7 0 0 2008-11-26T10:46:47-05:00 2008-11-26T10:46:47-05:00 fruit 1 13 true 12 0 0 2008-11-26T10:47:13-05:00 2008-11-26T10:47:13-05:00 apple 3 14 3 3.5 0 2008-11-26T10:47:18-05:00 2008-11-26T10:47:18-05:00 pear 2 12 3 4 0.5 2008-11-28T14:55:13-05:00 2008-11-28T14:55:13-05:00 lemon 3 15 true 2 7 0 2008-11-26T10:47:24-05:00 2008-11-26T10:47:24-05:00 lime 2 11 3.5 0 2008-11-26T12:25:58-05:00 2008-11-26T12:25:58-05:00 people 12 1 3 -1 0.5 2008-11-26T12:26:14-05:00 2008-11-26T12:26:14-05:00 Amy 21 false 1 3 5.5 -1.5 2008-11-26T12:26:19-05:00 2008-11-26T12:26:19-05:00 Beth 7 false 1 3 0.5 2.5 2008-11-26T12:26:22-05:00 2008-11-26T12:26:22-05:00 Jo 6 false 1 3 -4 2.5 2008-11-26T12:26:29-05:00 2008-11-26T12:26:29-05:00 Ralph 7 false 1 3 0.5 -3 2008-11-26T12:26:33-05:00 2008-11-26T12:26:33-05:00 David 6 false 1 3 -4.75 -2.11111 2008-11-26T12:26:39-05:00 2008-11-26T12:26:39-05:00 Louisa 5 false 1 3 4.55556 1.58333 2008-11-26T12:26:44-05:00 2008-11-26T12:26:44-05:00 Bronson 5 false 7 0 2008-11-29T12:50:06-05:00 2008-11-29T12:50:06-05:00 dates 7 0 0 2008-11-29T12:50:13-05:00 2008-11-29T12:50:13-05:00 Bread and Roses strike settled 3 9 Date 1912-03-12T11:00:00-05:00 1 3 3.5 0 2008-01-31T15:45:32-05:00 2008-01-31T15:45:32-05:00 Titanic sinks 3 10 false Date 1912-04-15T15:00:00-05:00 1 3 7 0 2008-01-31T16:14:29-05:00 2008-01-31T16:14:52-05:00 Fenway Park opens 2 7 false Date 1912-04-20T11:30:00-05:00 Tiger stadium opens same day 10.5 0 2008-08-23T17:13:56-05:00 2008-08-23T17:14:31-05:00 August Strindberg dies 3 12 Date 1912-05-14T22:00:00-05:00 of stomach cancer in Stockholm 1 3 14 0 2008-01-31T16:16:30-05:00 2008-01-31T16:16:30-05:00 Holbrook, AZ meteor 2 7 false Date 1912-07-19T03:00:00-05:00 1 3 17.5 0 2008-01-31T15:44:49-05:00 2008-01-31T15:44:49-05:00 Election Day 4 11 false Date 1912-11-05T00:00:00-05:00 14 0 Rect[ 152 227 952 527] 2008-11-25T07:21:34-05:00 2008-11-29T17:25:42-05:00 Tinderbox Action and Export Cookbook 45 535 false Name index This is Tinderbox Cookbook version ^text(/boilerplate/version), created in conjunction with Tinderbox ^version. ^do(tbx) is a tool for making, analyzing, and sharing notes. Tinderbox works on Macintosh computers; a version for Microsoft Windows is under development. One of Tinderbox's interesting features is that you can make notes that take an active role in helping you keep your work organized. For example, Tinderbox agents can automatically add tags to new notes that contain specified words or phrases, or can change the color of overdue tasks. These actions may be simple, but Tinderbox can also communicate with many powerful Web services. Tinderbox also provides very flexible export facilities for HTML, XML, and other formats. This Cookbook site provides brief examples of some of the many commands that Tinderbox provides for actions and exporting. It provides actual usage examples which were actually evaluated by Tinderbox when this document was exported. (Occasionally, improvements in the program may change the way Tinderbox hands an expression; this cookbook should also help to identify and confirm such changes). This page collects some useful examples of common tasks and may serve as an introduction to the most common and useful tools. Other pages in the Cookbook examine Tinderbox expressions, operators, and export elements, providing examples of each element in use. You can download the Tinderbox file that creates this site here. Want to contribute? We'd love a hand! The final column in the test table is green if the result matched what we expected, red if the result didn’t match, and yellow if we don’t care. (For example, a random number might be any number, so we don’t know what to expect) In some cases, a red bar may indicate a testing problem rather than a problem with Tinderbox. Working With Dates 0 0 2008-11-29T12:37:19-05:00 2008-11-29T12:59:02-05:00 Working with dates 6 24 Many Tinderbox agents and actions need to consider dates. Date arithmetic can be tricky — especially when different notations of date and time may be involved. This section describes some common tasks. Many examples here use the following data: ^include(/data/dates/,/templates/dateTable) false Date=date("11/29/2008 5:00 PM") 0 0 2008-11-29T12:38:06-05:00 2008-11-29T12:44:24-05:00 Due Today 17 34 TestName;Try;Expected;TestClass;Date 2008-11-29T12:38:45-05:00 The = operator, when comparing dates, ignores the time of day. Other date comparisons do consider the time of day, so $Date1=$Date2 and $Date1<$Date2 can both be true at the same time if both dates are on the same calendar day Bread and Roses strike settled collect_if(child(/data/dates),Date<4/1/1912,$Name) 3.5 0 2008-11-29T13:01:54-05:00 2008-11-29T13:01:54-05:00 date comparison 2 12 Titanic sinks between($Date,date(4,1,1912),date(5,1,1912)) 4 0.5 2008-11-29T13:09:43-05:00 2008-11-29T13:09:43-05:00 date between 7 24 Titanic sinks; Fenway Park opens collect_if(child(/data/dates),between($Date,date(4,1,1912),date(5,1,1912)),$Name) 4.5 1 2008-11-29T13:13:30-05:00 2008-11-29T13:13:30-05:00 date between 2 15 45 16 0 2008-11-28T13:54:53-05:00 2008-11-29T12:29:15-05:00 Expressions 15 202 Prototype=test suite;TestName=$Name false This is Tinderbox Cookbook version ^text(/boilerplate/version), created in conjunction with Tinderbox ^version. This page explores Tinderbox expressions, used in actions, rules, and with the export templates <code>^^action()</code> and <code>^^value()</code>. abs 0 0 2008-11-28T13:58:17-05:00 2008-11-28T13:58:52-05:00 abs 2 15 computes the absolute value of a number. 5 abs(5) 0 0 2008-11-28T13:58:30-05:00 2008-11-28T13:58:30-05:00 positive 7 28 5 abs(-5) 3.5 0 2008-11-28T13:59:14-05:00 2008-11-28T13:59:14-05:00 negative 1 7 5 abs(1-6) 7 0 2008-11-28T14:00:15-05:00 2008-11-28T14:00:15-05:00 expression 1 5 any() 3.5 0 2008-11-28T14:11:05-05:00 2008-11-28T14:25:23-05:00 any 9 39 scans each item of a group to see whether any of those items meets a criterion. Data are taken from the following example: ^include(child,/templates/dataTable)^ any(child,$UserNum>100) 0 0 Rect[ 76 120 876 420] 2008-11-28T14:12:15-05:00 2008-11-28T14:12:15-05:00 numeric 9 30 true 12 0.5 0.5 2008-11-26T10:47:13-05:00 2008-11-26T10:47:13-05:00 apple 2 18 3 4 0.5 2008-11-26T10:47:18-05:00 2008-11-26T10:47:18-05:00 pear 1 11 true 2 7.5 0.5 2008-11-26T10:47:24-05:00 2008-11-26T10:47:24-05:00 lime 1 14 true any(child,$UserNum>10) 0.5 0.5 Rect[ 76 120 876 420] 2008-11-28T14:16:52-05:00 2008-11-28T14:16:52-05:00 numeric 2 13 41 true 12 3.5 0 2008-11-26T10:47:13-05:00 2008-11-26T10:47:13-05:00 apple 2 15 3 7 0 2008-11-26T10:47:18-05:00 2008-11-26T10:47:18-05:00 pear 1 9 true 2 10.5 0 2008-11-26T10:47:24-05:00 2008-11-26T10:47:24-05:00 lime 1 11 true any(child(/data/fruit),$UserFlag) 4 0.5 Rect[ 74 112 874 412] 2008-11-28T14:22:07-05:00 2008-11-28T14:22:07-05:00 reference 2 9 any(child(/data/fruit),$UserNum<0) 4.5 1 Rect[ 74 112 874 412] 2008-11-28T14:23:38-05:00 2008-11-28T14:23:38-05:00 reference 2 17 23 atan() 7 0 2008-11-28T14:26:30-05:00 2008-11-28T14:26:59-05:00 atan 3 15 compute the arctangent of a number; the result is reported in radians. 0.785398 atan(1) 0 0 2008-11-28T14:27:02-05:00 2008-11-28T14:27:02-05:00 atan(1) 36 53 brightness() 10.5 0 2008-11-28T14:35:48-05:00 2008-11-28T14:37:49-05:00 brightness 1 14 return the relative brightness, on a scale of 0-100, of a color. 99 beginsWith brightness(white) 0 0 2008-11-28T14:35:55-05:00 2008-11-28T14:35:55-05:00 white 7 21 0 brightness(#000) 3.5 0 2008-11-28T14:37:03-05:00 2008-11-28T14:37:03-05:00 black 1 10 99 beginsWith brightness(bright red) 5.5 0 2008-11-28T14:39:58-05:00 2008-11-28T14:39:58-05:00 bright red 2 14 #7f7f7f brightness(#ffffff,50) 7 0 2008-11-28T14:38:21-05:00 2008-11-28T14:39:18-05:00 grey 3 9 compute the color that is 50% as bright as white collect() 14 0 Rect[ 307 74 1107 374] 2008-11-28T14:53:52-05:00 2008-11-28T14:58:26-05:00 collect 9 24 Construct a set of the unique values of an attribute of a collection of notes. Sample data are taken from the following: ^include(/data/fruit,/templates/dataTable)^ apple;pear;lemon;lime collect(child(/data/fruit),$Name) 17.5 0 Rect[ 113 292 913 592] 2008-11-28T14:55:28-05:00 2008-11-28T14:55:28-05:00 names 1 11 12;3;2 collect(child(/data/fruit),$UserNum) 21 0 2008-11-28T14:58:53-05:00 2008-11-28T14:59:48-05:00 values 4 14 Note that only three values are reported, since pears and lemons have the same $UserNum. pear;lemon collect_if(child(/data/fruit/),$UserNum=3,$Name) 24.5 0 2008-11-28T15:02:25-05:00 2008-11-28T15:03:35-05:00 collect_if 4 15 Collect only those items of the group that match the criterion cos() 17.5 0 2008-11-28T15:04:46-05:00 2008-11-28T15:05:04-05:00 cos 2 13 Compute the cosine of an angle, in radians 0 cos(3.1415927/2) 0 0 2008-11-28T15:05:08-05:00 2008-11-28T15:05:08-05:00 cos(3.1415927/2) 1 5 count() 0 1.5 2008-11-28T15:07:29-05:00 2008-11-28T15:07:44-05:00 count 1 12 counts the number of items in a set 3 count("lions;tigers;bears") 0 0 2008-11-28T15:07:46-05:00 2008-11-28T15:07:46-05:00 count 1 5 date() 3.5 1.5 2008-11-28T15:09:09-05:00 2008-11-28T16:00:39-05:00 date 11 41 TestName;Template;Date 2009-01-20T00:00:00-05:00 convert a string to a date, or construct a date from numeric values for year, month, and day. For the purposes of this test, $Date is ^get(Date) 28 Nov 2005 3:10:00 date("28 November 2005 3:10") 0 0 2008-11-28T15:09:28-05:00 2008-11-28T15:09:28-05:00 a specified date 8 26 21 Jan 2009 beginsWith date($Date+1 day) 0.5 0.5 2008-11-28T15:13:19-05:00 2008-11-28T15:13:19-05:00 a date expression 51 73 TestName;Try;Expected;TestClass;Date 2009-01-20T00:00:00-05:00 27 Jan 2009 beginsWith date($Date+1 week) 1 1 2008-11-28T15:24:39-05:00 2008-11-28T15:24:39-05:00 a date expression 2 33 81 TestName;Try;Expected;TestClass;Date 2009-01-20T00:00:00-05:00 3 Feb 2001 4:05:00 date(2001,2,3,4,5) 4.5 1 2008-11-28T15:57:39-05:00 2008-11-28T15:57:39-05:00 date() 6 14 day() 7 1.5 2008-11-28T16:00:59-05:00 2008-11-28T16:02:05-05:00 day 2 16 TestName;Template;Date 2009-01-20T00:00:00-05:00 extract the day of the month from a date. Also, construct a date from an existing date, specifying the day of the month. For the purposes of this test, $Date is ^get(Date) 20 day($Date) 10.5 1.5 2008-11-28T16:02:08-05:00 2008-11-28T16:02:08-05:00 day 1 12 TestName;Try;Expected;TestClass;Date 2009-01-20T00:00:00-05:00 17 Jan 2009 0:00:00 day($Date,17) 14 1.5 2008-11-28T16:03:01-05:00 2008-11-28T16:03:01-05:00 long form day 4 18 TestName;Try;Expected;TestClass;Date 2009-01-20T00:00:00-05:00 24 Jan 2009 0:00:00 day($Date,$UserNum) 24 17.5 1.5 2008-11-28T16:04:56-05:00 2008-11-28T16:06:32-05:00 long form day 2 51 26 TestName;Try;Expected;TestClass;Date;UserNum 2009-01-20T00:00:00-05:00 $UserNum is ^value($UserNum) days() 10.5 1.5 2008-11-28T16:07:55-05:00 2008-11-28T16:08:12-05:00 days 3 18 compute the number of days between two dates. 366 days($Date2,$Date) 0 0 2008-11-28T16:08:14-05:00 2008-11-28T16:17:41-05:00 days 37 50 TestName;Try;Expected;TestClass;Date;Date2 2009-01-20T00:00:00-05:00 2008-01-20T00:00:00-05:00 $Date=^get(Date). $Date2=^get(Date2). Note that this span includes a leap-year day in 2008. -366 days($Date,$Date2) 3.5 0 2008-11-28T16:13:42-05:00 2008-11-28T16:14:43-05:00 days backward 9 22 TestName;Try;Expected;TestClass;Date;Date2 2009-01-20T00:00:00-05:00 2008-01-20T00:00:00-05:00 $Date=^get(Date). $Date2=^get(Date2) 366 days("1/20/2008","1/20/2009") 7 0 2008-11-28T16:15:56-05:00 2008-11-28T16:15:56-05:00 strings 1 5 escapeHTML() 14 1.5 2008-11-28T16:18:58-05:00 2008-11-28T16:19:54-05:00 escapeHTML 1 12 encode a string in a form suitable for HTML, replacing characters such as '<' and '&' with HTML entities. &lt; escapeHTML("<") 0 0 2008-11-28T16:19:55-05:00 2008-11-28T16:19:55-05:00 string 4 12 Gilbert &amp; Sullivan escapeHTML("Gilbert & Sullivan") 3.5 0 2008-11-28T16:21:43-05:00 2008-11-28T16:21:43-05:00 string 2 1 7 Third & 3 escapeHTML("Third "+"& "+ (1+2)) 7 0 2008-11-28T16:22:59-05:00 2008-11-28T16:25:06-05:00 evaluate 2 10 The expression may be constructed from attribute references or strings. eval() 23.5 0 2008-11-29T12:15:52-05:00 2008-11-29T12:15:52-05:00 eval() 5 eval() every() 27 0 2008-11-29T12:15:52-05:00 2008-11-29T14:01:44-05:00 every() 24 37 scan each item of a group to see whether all items meets a criterion. Compare any() and collect_if(). Data are taken from the following example: ^include(/data/fruit,/templates/dataTable)^ true every(child(/data/fruit),$UserNum>0) 0 0 2008-11-29T13:38:44-05:00 2008-11-29T13:40:44-05:00 numeric 4 11 every note has a positive $UserNum every(child(/data/fruit),$UserNum>10) 0.5 0.5 2008-11-29T13:39:34-05:00 2008-11-29T13:41:06-05:00 numeric 2 7 23 but some notes have $UserNum less than ten true every(child(/data/fruit),$Name>"aardvark") 4 0.5 2008-11-29T13:41:08-05:00 2008-11-29T13:42:15-05:00 alphabetic 1 8 string comparison exportedString() 30.5 0 2008-11-29T12:15:53-05:00 2008-11-29T17:56:22-05:00 exportedString() 4 23 applies an export template to a note and returns the result as a string. exportedString() is occasionally useful as a bridge between the export template syntax and Tinderbox's action syntax. example 1 exportedString(this,"^title^") 0 0 2008-11-29T13:44:07-05:00 2008-11-29T13:45:28-05:00 example 1 18 35 This test has the title "^title^". placeholder exportedString() exportedString(this,"^title^ ^title(parent)") 3.5 0 2008-11-29T17:56:26-05:00 2008-11-29T17:56:26-05:00 placeholder 4 12 format() 32.5 0 2008-11-29T17:19:17-05:00 2008-11-29T17:20:09-05:00 format() 1 8 converts dates, strings, numbers, and sets to strings, with various options to determine the presentation of the formatted string. 3.14 format(3.1415927,2) 0 0 2008-11-29T17:20:10-05:00 2008-11-29T17:27:38-05:00 floating point 2 9 set the number of digits after the decimal point * 3.14* "*"+format(3.1415927,2,6)+"*" 3.5 0 2008-11-29T17:26:23-05:00 2008-11-29T17:28:52-05:00 field width 3 12 the second argument is optional, and sets the total width of the field. Here, two spaces are added before the '3' to pad the field. dogs•cats•rabbits format($UserSet,"•") dogs;cats;rabbits 7 0 2008-11-29T17:30:02-05:00 2008-11-29T17:33:22-05:00 sets 14 30 TestName;Try;Expected;TestClass;UserSet format a set, using the delimiter you prefer. The value of $UserSet is ^get($UserSet). Tuesday format($Date,"W") 10.5 0 2008-11-29T17:34:16-05:00 2008-11-29T17:36:14-05:00 format($Date,"W") 5 16 TestName;Try;Expected;TestClass;Date 2009-01-20T00:00:00-05:00 format a date, using the date format string described in Appendix 5 of the Tinderbox User’s Manual. Here, $Date is ^get(Date). hue() 23.5 1.5 2008-11-29T12:15:53-05:00 2008-11-29T12:15:53-05:00 hue() 1 7 hue(color) hue(color,value) 27 1.5 2008-11-29T12:15:53-05:00 2008-11-29T12:15:53-05:00 hue(color,value) 3 hue(color,value) idEncode() 30.5 1.5 2008-11-29T12:15:53-05:00 2008-11-29T17:51:34-05:00 idEncode() 1 10 HTML and XML ID's must begin with a number or an underscore. Tinderbox's idEncode() makes it easy to use a $Name or other convenient text attribute as an ID. _33 idEncode("33") 39 1 2008-11-29T17:49:47-05:00 2008-11-29T17:49:47-05:00 number 3 21 try_this_ idEncode("try this!") 42.5 1 2008-11-29T17:51:37-05:00 2008-11-29T17:51:37-05:00 space 7 17 links 47 0.5 2008-11-26T12:24:49-05:00 2008-11-26T12:31:11-05:00 links 3 15 creates a set of values among a colection of linked notes. The data are taken from the following example: ORgAAAAAAQ4CAgARAv8MAP/+AAAASAAAAEgAAAAAAAABDgICAAAAAAAeAAEACgAAAAABDgICggAA ACcoAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAQAAA AAABDgICAAADAAAAAAAAAABWanBlZwAAAAAAAAAAAAEAAWFwcGwAAAAAAAABAAICAQ4ASAAAAEgA AAAAJo4AAQxQaG90byAtIEpQRUcAAAAAAAAAAAAAAAAAAAAAAAAAABj////Y/+AAEEpGSUYAAQEB AEgASAAA//4ADEFwcGxlTWFyawr/2wCEABYPERMRDhYTEhMZFxYaITYjIR4eIUIvMic2TkVSUU1F TEpWYXxpVlx1XUpMbJNtdYCEi4yLVGiYo5eHoXyIi4UBFxkZIR0hPyMjP4VZTFmFhYWFhYWFhYWF hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhf/EAaIAAAEFAQEBAQEBAAAA AAAAAAABAgMEBQYHCAkKCwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUE BAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1 Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOk paanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIB AgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEX GBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKT lJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX2 9/j5+v/AABEIAQ4CAgMBIgACEQEDEQH/2gAMAwEAAhEDEQA/AOuooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKM0m4UALRSbhRuFAC0Um4UbhQAtFJuF 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 UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/2QAHAK4A fAAHAAEAAQADAAMABAAAAA0ADAAQAgICAgICAgIAKAB7AMwQUXVpY2tUaW1lqiBhbmQgYQAAKACH ALEZUGhvdG8gLSBKUEVHIGRlY29tcHJlc3NvcgAoAJMApx9hcmUgbmVlZGVkIHRvIHNlZSB0aGlz IHBpY3R1cmUuAAAAoQDgESAAAAAAAAARHGFwcGwCAAAAbW50clJHQiBYWVogB9gACQAPABMAOQAb YWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1hcHBsAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOclhZWgAAASwAAAAUZ1hZWgAA AUAAAAAUYlhZWgAAAVQAAAAUd3RwdAAAAWgAAAAUY2hhZAAAAXwAAAAsclRSQwAAAagAAAAOZ1RS QwAAAbgAAAAOYlRSQwAAAcgAAAAOdmNndAAAAdgAAAYSbmRpbgAAB+wAAAY+ZGVzYwAADiwAAABk ZHNjbQAADpAAAAI+bW1vZAAAENAAAAAoY3BydAAAEPgAAAAkWFlaIAAAAAAAAGUaAAA5nQAAB5JY WVogAAAAAAAAbY0AALEsAAAk7VhZWiAAAAAAAAAkLwAAFVEAAKalWFlaIAAAAAAAAPNSAAEAAAAB Fs9zZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1cnYAAAAAAAAA AQHNAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAADAQAAAgAA AB0AZQDSAVEB5AKbA20EWQVhBoMHuAkECmQL2A1dDvUQlRJJFAkVzhehGXobWB1CHyghESL+JOgm 0yi4Kpssdy5IMBQx1jOINTQ2zThYOdU7SDyxPhM/ckDPQixDikTqRkpHpEj9SlBLokzwTj5PiFDS UhxTbFTJVi9Xn1kJWm5bxl0YXmZfr2D4Yj9jhGTIZg5nWGisagRrXGynbeRvGnBNcYNyvHP0dSx2 Y3eaeNp6JnuGfQR+iX/+gWKCqoPjhRuGUoeLiLyJ24rki9WMt42Ujn+PepB8kX6Se5NwlGKVVpZP l06YUZlYmmGbbZx6nYWejJ+OoIuhgqJyo1ykRKUuphunDagCqPqp86rwq/Os+64Frw2wD7EKsgCy 8rPitM+1ubagt4m4c7lfukq7M7wVvO69vb6Hv1XAK8EIwezC08O6xJ7FfsZdxzvIGMj4ydnKucuU zGnNN84CzsvPmNBo0TrSDtLh07DUetVC1gjWz9eZ2GbZNNoB2snbhdw83O/dod5Z3xbf1+CZ4Vvi G+LZ45bkU+US5dLmkudP6Abop+kr6ZzqCup26uHrcOwE7KLtQO3f7oDvIe/E8GbxCfGr8k3y7vOB 9Aj0Z/TH9R31a/W69hH2gfbx92b33PhQ+MX5Ovmu+iT6mvsR+4/8D/yZ/ST9tf5H/tn/bP//AAAA HABiAMoBRwHWAoEDRgQkBSEGNQdfCJwJ6QtLDMIOQw/REXITFxTKFoMYRBoQG9wdrB97IVIjJCTz Jr0ohCpILAAtsS9ZMPMygDQFNXY22zg3OYg60jwZPV8+pD/pQTFCeEO9RQJGR0eGSMZKAUs7THVN q07jUB5RWlKdU+BVIlZkV6NY31oaW1Ncil3BXvVgKmFgYpdj0GUJZkBncWifacxq+WwmbVJufW+o cNFx/HMrdGF1oXbkeCN5WnqJe7R83X4IfzOAXYGEgqKDuYTJhdOG2ofgiOWJ54rni+SM343ajteP 1ZDWkduS5JPxlQCWC5cRmBCZCpoAmvCb3pzJnbSeop+SoIShdqJqo2GkXaVdpl+nYaheqVaqS6s+ rC6tHa4Krvav4rDOsbuyqLOWtIW1d7Zst2G4VblHuja7I7wOvPm94r7Jv6/AlMF5wl7DRMQsxRXG AMbsx9jIwMmhyn7LWMwxzQnN4c66z5PQa9FD0hrS8NPF1JfVZ9Y11wDXytiU2WDaLdr728nclt1i 3i3e+N/C4IzhWOIj4u7jt+R85Tzl9+aq51zoDejA6XLqI+rV64fsOezt7aHuVe8K777wcfEk8dXy f/Mk88D0VPTk9XL2APaQ9yH3sfhC+NL5Yvny+oH7D/uc/CX8p/0k/ZX+Bv5s/tL/N/+b//8AAAAU AEQAjgDuAV0B3QJyAxsD1QShBX0GawdmCG0JhAqnC9ENBw5ED4kQ0hIjE3sU1RYwF48Y7BpKG6Ud Ah5WH6kg+CI+I3wksyXiJwYoISkwKjgrOSw0LS8uJi8iMCAxIjImMy80ODVANkY3SjhLOUs6SztH PEQ9Pz45PzRAMEEtQilDJEQfRRhGD0cGR/tI7kneSspLskyYTX5Oak9gUF1RXFJeU11UXFVZVlZX UFhJWUFaNVsoXB1dFV4RXw9gD2ENYgljAWP1ZN9lv2aVZ2doRGkwaiprLGwzbTtuQm9IcE1xUnJW c110bHWGdql3zHjjeel64HvMfLJ9ln54f1qAO4EbgfuC24O6hJmFeIZWhzaIFoj4iduKv4uijIaN aI5JjyuQDJDskcySq5OJlGGVMJX1lrKXapgtmPuZ1pq7m6ScjZ13nmGfSqAyoRqiAaLno8qkqaV+ pk6nHqfzqM+ptaqgq46sfK1prlWvQbAtsRiyA7Lts9e0v7Wltoi3abhMuTO6H7sRvAa8/L3yvui/ 3MDQwcTCt8OrxJ7FkMaAx23IVck7yiTLE8wMzQ7OFc8f0CrRNNI800TUS9VR1lfXXNhh2WXaadtr 3G7ddd6C35nguuHk4xLkQeVw5p7nzej76ijrVeyE7bvvAPBt8fnzwPWq96/5wPvU/er//wAAbmRp bgAAAAAAAAY2AACYCQAAV9UAAFDEAACKawAAJ08AABVgAABQDQAAVDkAAuFHAAKZmQABqPUAAwEA AAIAAAAbADsAWQB3AJUAsgDQAO4BDAEqAUkBZwGGAaUBxAHkAgQCJAJEAmUChwKoAsoC7AMPAzID VgN6A54DwwPpBA8ENgRdBIUErQTXBQEFKwVXBYMFsAXeBg0GPQZvBqEG1QcKB0AHeQezB+4ILAhs CK8I9Ak8CYYJ0gohCnIKxAsYC20LwwwaDHIMyg0kDYAN3g49Dp8PAg9nD84QNhCgEQwReBHmElMS vhMnE5AT9xRhFMwVOhWsFiEWmRcTF48YDRiMGQ0ZkBoUGpobHxukHCccqR0sHbAeOh7KH18f+CCS ISwhxiJhIv4jnCQ8JN0lfCYYJq8nQCfIKFAo1ilhKfMqiysvK9ssii06LesunS9TMBMw4jHIMscz zjTINbM2mTeCOHI5azppO2Y8Xz1UPkc/OEApQRlCCkL/Q/lE+kYCRxJILElQSndLnUy+TdtO+FAV UTBSRlNYVGdVeVaSV7VY4VoTW0tciV3NXxdgYWGqYvNkP2WVZvxofGoJa4xs/25mb8lxL3KbdA91 iXcGeIN5/nt9fQZ+ooBQggSDs4VahwCIqYpcjB6N64+5kYGTQ5UHltyY0prlnPue/aDxouOk3Kbg qOqq9Kz7rwSxHrORtxy62r2gwDfCzMVbx+nKec0Pz67SlNcP3JPgd+Q26AHr1e+j8zv2ifmz/Nf/ /wAAABwAPQBdAH0AnAC7ANoA+QEZATkBWQF5AZkBugHbAf0CHgJAAmMChgKpAs0C8QMWAzsDYAOG A60D1AP8BCUETgR3BKIEzQT5BSYFVAWDBbMF4wYVBkkGfQazBuoHIwdeB5sH2ggbCF4IpQjvCTsJ igncCjEKiArhCzsLlwv0DFIMsQ0RDXMN1g47DqEPCg90D+AQTxC/ETARpBIZEo8TBRN8E/IUaRTh FVsV1hZTFtMXVBfXGFwY4xlrGfYaghsPG50cLBy7HUsd3R5xHwkfpCBAIN4hfiIeIsEjZSQLJLMl XCYFJq0nUif0KJYpOSnhKo0rPyv0LKwtZC4cLtcvkzBTMRkx5TK4M5I0cDVRNjQ3GzgFOPU56Dre O9Q8yz3BPrU/p0CXQYVCdkNuRG1FdEaCR5hItEnWSvpMHU0/TmBPg1ClUcVS4VP6VRJWL1dTWH5Z r1rlXB9dXl6gX+VhLGJzY7tlBWZOZ5Vo2moha2xsvW4Ub29wznIxc5l1BXZ1d+Z5WXrMfD59r38e gJGCC4OThSaGwIhfigCLoo1GjuyQl5JIk/2VuZd+mU2bJJz8ntGgpaJ7pFamN6gdqgar8K3br8ix vrPEteO4HrpjvKi+8cE/w47F3MgpynnMzs8o0YzUEdbR2dDc3d/j4uzl/OkT7DLvZvLe9t77Xv// AAAAKABTAH0ApwDRAPsBJQFQAXsBpgHSAf8CLAJaAogCuALoAxkDSgN9A7AD5QQaBFEEiQTCBP0F OQV2BbYF9wY6Bn8GxwcSB18HsAgECF0IugkdCYQJ8AphCtQLSwvCDDoMsg0rDaQOHw6cDxwPnxAl EK4RORHIElkS7RODFBsUtBVPFewWjBcuF9MYfBknGdUahxs+G/scvh2DHkYfAx+8IHUhLiHrIqoj bCQwJPglwyaRJ2QoOikQKeUquCuLLGAtOC4ULvUv3jDWMd8y8jP6NPA12ja/N6M4iTlxOls7SDw3 PSg+GD8CP+VAwkGfQoRDdkR7RZFGs0faSQZKNUtnTJxN008OUExRjFLOVBFVVFaXV9tZIVppW7Vd BF5VX6phAmJdY71lJ2aqaE1p/2uXbQ9udW/VcTZymXP+dWZ20Xg/ebB7KHyrfkF/5YGIgxuEnYYX h4+JCYqGjAaNiI8NkJWSH5OtlT6W1ph2mhubvJ1VnuSgbqH4o4OlEKahqDSpyqtirPuul7A2sduz irVDtv+4sbpUu+e9c777wIPCDcObxSvGvshTyevLhc0hzr/QX9ID06nVT9bu2ILaCduG3PvebN/d 4U/iw+Q45a7nJuig6hvrlu0O7n7v4PEk8lTzdPR39XT2YvdM+C75D/nt+sv7qPyG/WP+Qv8g//8A AGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAABIA AAAMbmJOTwAAABIAAADocHRQVAAAABYAAAD6c3ZTRQAAABAAAAEQZmlGSQAAABAAAAEgZGFESwAA ABwAAAEwemhDTgAAAAwAAAFMZnJGUgAAABIAAAFYamFKUAAAAA4AAAFqZW5VUwAAABIAAAF4cGxQ TAAAABIAAAGKcHRCUgAAABgAAAGcZXNFUwAAABIAAAG0emhUVwAAAA4AAAHGcnVSVQAAACQAAAHU a29LUgAAAAwAAAH4ZGVERQAAABAAAAIEbmxOTAAAABYAAAIUaXRJVAAAABQAAAIqAEYAYQByAGcA ZQAtAEwAQwBEAEwAQwBEACAAYQAgAEMAbwByAGUAcwBGAOQAcgBnAC0ATABDAEQAVgDkAHIAaQAt AEwAQwBEAEwAQwBEAC0AZgBhAHIAdgBlAHMAawDmAHIAbV9pgnIAIABMAEMARADJAGMAcgBhAG4A IABMAEMARDCrMOkw/AAgAEwAQwBEAEMAbwBsAG8AcgAgAEwAQwBEAEsAbwBsAG8AcgAgAEwAQwBE AEwAQwBEACAAQwBvAGwAbwByAGkAZABvAEwAQwBEACAAYwBvAGwAbwByX2mCcm2yZnaYb3k6VmgE JgQyBDUEQgQ9BD4EOQAgBBYEGgAtBDQEOARBBD8EOwQ1BDnO7LfsACAATABDAEQARgBhAHIAYgAt AEwAQwBEAEsAbABlAHUAcgBlAG4ALQBMAEMARABMAEMARAAgAGMAbwBsAG8AcgBpAABtbW9kAAAA AAAABhAAAJxzAAAAAMJIbQAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABDb3B5cmlnaHQgQXBwbGUs IEluYy4sIDIwMDgAAKEA4AAEAAAAAgD/ Beth;Louisa links(/data/people/Amy).outbound.special.Name 39.5 0.5 2008-11-26T12:28:52-05:00 2008-11-26T12:34:08-05:00 links.outbound 3 21 Collect the names of notes linked to Amy by links of type "special" Ralph;Jo;David;Beth;Louisa links(/data/people/Amy).outbound..Name 40 1 2008-11-26T12:34:11-05:00 2008-11-26T12:35:47-05:00 links.outbound untyped 6 30 Collect the names of notes from Amy regardless of type Amy;Louisa links(/data/people/David).inbound..Name 43.5 1 2008-11-26T12:36:35-05:00 2008-11-26T12:49:01-05:00 links.inbound 14 15 Collect the names of notes that link to David log(argument) 37.5 1.5 2008-11-29T12:15:54-05:00 2008-11-29T12:15:54-05:00 log() 4 log(argument) max() 41 1.5 2008-11-29T12:15:54-05:00 2008-11-29T12:15:54-05:00 max() 3 max() min() 23.5 3 2008-11-29T12:15:54-05:00 2008-11-29T12:15:54-05:00 min() 3 min() mod 53 0.5 2008-11-26T12:18:07-05:00 2008-11-26T12:22:02-05:00 mod 5 38 Modulo arithmetic: divides the first argument by the second argument and returns the remainder. 1 mod(5,2) 0 0 2008-11-26T12:19:46-05:00 2008-11-26T12:19:46-05:00 numeric 2 13 0 mod(4,2) 0.5 0.5 2008-11-26T12:23:15-05:00 2008-11-26T12:23:15-05:00 numeric 2 3 17 3 mod(3,100) 1 1 2008-11-26T12:23:34-05:00 2008-11-26T12:23:34-05:00 numeric 3 4 22 month(theDate) 30.5 3 2008-11-29T12:15:54-05:00 2008-11-29T12:15:54-05:00 month(theDate) 4 month(theDate) month(theDate,value) 34 3 2008-11-29T12:15:54-05:00 2008-11-29T12:15:54-05:00 month(theDate,value) 3 month(theDate,value) radians(argument) 37.5 3 2008-11-29T12:15:54-05:00 2008-11-29T13:35:05-05:00 radians() 1 7 radians() rand(argument) 41 3 2008-11-29T12:15:55-05:00 2008-11-29T12:15:55-05:00 rand() 6 rand(argument) rgb(red,green,blue) 23.5 4.5 2008-11-29T12:15:55-05:00 2008-11-29T12:15:55-05:00 rgb(red,green,blue) 3 rgb(red,green,blue) round(argument) 27 4.5 2008-11-29T12:15:55-05:00 2008-11-29T13:21:00-05:00 round() 1 11 round() 4 round(4.3) 0 0 2008-11-29T13:21:01-05:00 2008-11-29T13:21:01-05:00 positive 1 5 -4 round(-4.3) 3.5 0 2008-11-29T13:21:25-05:00 2008-11-29T13:21:25-05:00 negative 1 5 runCommand() 30.5 4.5 2008-11-29T12:15:55-05:00 2008-11-29T13:24:04-05:00 runCommand() 4 15 provides a link between Tinderbox actions and external programs. Executes a command-line process. The second argument, if supplied, is passed to the new process’ standard input, and the process' standard output is the result of the command. Applications beginsWith runCommand('ls','') 32.5 4.5 2008-11-29T13:24:07-05:00 2008-11-29T13:24:07-05:00 ls 10 26 4.5 beginsWith runCommand("curl "+$URL) 36 4.5 http://www.eastgate.com/Tinderbox/config/version 2008-11-29T13:28:32-05:00 2008-11-29T13:31:47-05:00 curl 8 20 TestName;Try;Expected;TestClass;URL $URL is ^get(URL) saturation(color) 34 4.5 2008-11-29T12:15:55-05:00 2008-11-29T12:15:55-05:00 saturation(color) 4 saturation(color) saturation(color,saturation) 37.5 4.5 2008-11-29T12:15:55-05:00 2008-11-29T12:15:55-05:00 saturation(color,saturation) 3 saturation(color,saturation) sin(argument) 41 4.5 2008-11-29T12:15:55-05:00 2008-11-29T12:15:55-05:00 sin(argument) 3 sin(argument) sqrt(argument) 23.5 6 2008-11-29T12:15:55-05:00 2008-11-29T12:15:56-05:00 sqrt(argument) 3 sqrt(argument) sum() 50 0 2008-11-26T10:49:09-05:00 2008-11-26T12:02:33-05:00 sum() 31 82 Adds a numeric attribute for a group of notes. The data are the following: ^include(child,/templates/dataTable)^ 17 sum(child,$UserNum) 0 0 Rect[ 49 50 849 350] 2008-11-26T11:51:12-05:00 2008-11-26T11:58:20-05:00 sum 7 34 Add the numeric attribute of each child true 12 7 0 2008-11-26T10:47:13-05:00 2008-11-26T10:47:13-05:00 apple 3 18 3 10.5 0 2008-11-26T10:47:18-05:00 2008-11-26T10:47:18-05:00 pear 1 11 true 2 14 0 2008-11-26T10:47:24-05:00 2008-11-26T10:47:24-05:00 lime 1 10 157 sum(child,$UserNum*$UserNum) 0.5 0.5 Rect[ 49 50 849 350] 2008-11-26T12:05:49-05:00 2008-11-26T12:07:20-05:00 sum with expression 11 48 We may sum an expression; here, we sum the squares of UserNum true 12 4 0.5 2008-11-26T10:47:13-05:00 2008-11-26T10:47:13-05:00 apple 3 23 3 7.5 0.5 2008-11-26T10:47:18-05:00 2008-11-26T10:47:18-05:00 pear 1 14 true 2 11 0.5 2008-11-26T10:47:24-05:00 2008-11-26T10:47:24-05:00 lime 1 13 14 sum_if(child,$UserFlag,$UserNum) 0.5 0.5 Rect[ 49 50 849 350] 2008-11-26T11:58:23-05:00 2008-11-26T12:03:07-05:00 sum_if 29 63 Add the numeric attributes of selected children true 12 4 0.5 2008-11-26T10:47:13-05:00 2008-11-26T10:47:13-05:00 apple 3 26 3 7.5 0.5 2008-11-26T10:47:18-05:00 2008-11-26T10:47:18-05:00 pear 1 15 true 2 11 0.5 2008-11-26T10:47:24-05:00 2008-11-26T10:47:24-05:00 lime 1 13 5 sum_if(child,$UserNum<12,$UserNum) 1 1 Rect[ 49 50 849 350] 2008-11-26T12:03:10-05:00 2008-11-26T12:04:21-05:00 sum_if with expression 31 72 sum_if may also use an expression; here, we have the sum of those fruits of which we have less than a dozen true 12 4.5 1 2008-11-26T10:47:13-05:00 2008-11-26T10:47:13-05:00 apple 3 33 3 8 1 2008-11-26T10:47:18-05:00 2008-11-26T10:47:18-05:00 pear 1 20 true 2 11.5 1 2008-11-26T10:47:24-05:00 2008-11-26T10:47:24-05:00 lime 1 16 2 sum_if(child,$UserNum<12,1) 4.5 1 Rect[ 49 50 849 350] 2008-11-26T12:03:10-05:00 2008-11-26T12:09:17-05:00 sum_if for counting 33 80 sum_if can count notes that meet a criterion; here, we count fruits of which we have less than a dozen. true 12 4.5 1 2008-11-26T10:47:13-05:00 2008-11-26T10:47:13-05:00 apple 3 33 3 8 1 2008-11-26T10:47:18-05:00 2008-11-26T10:47:18-05:00 pear 1 20 true 2 11.5 1 2008-11-26T10:47:24-05:00 2008-11-26T10:47:24-05:00 lime 1 16 tan(argument) 34 6 2008-11-29T12:15:56-05:00 2008-11-29T12:15:56-05:00 tan(argument) 3 tan(argument) time() 37.5 6 2008-11-29T12:15:56-05:00 2008-11-29T12:20:33-05:00 time() 9 21 TestName;Template;Date 2009-01-20T11:00:00-05:00 extract the time of day, as a string, from a date or date expression. Also, modify a date to set a specific time of day. In these examples, $Date is ^get($Date,"l"). 11:00 time($Date(parent)) 41 6 2008-11-29T12:19:25-05:00 2008-11-29T12:19:25-05:00 time 1 13 14:00 time($Date(parent)+"3 hours") 44.5 6 2008-11-29T12:21:19-05:00 2008-11-29T12:21:19-05:00 time with expression 3 9 20 Jan 2009 10:15:00 time($Date(parent),10,15) 48 6 2008-11-29T12:22:27-05:00 2008-11-29T12:22:27-05:00 setting the time 1 10 20 Jan 2009 8:15:00 time($Date(parent),$UserNum,5+10) 8 48.5 6.5 2008-11-29T12:23:47-05:00 2008-11-29T12:26:16-05:00 setting the time with expressions 3 18 TestName;Try;Expected;TestClass;UserNum $UserNum=^get($UserNum) urlEncode 44 0 2008-11-25T15:10:57-05:00 2008-11-25T15:13:05-05:00 urlEncode 3 25 URLs may only contain a restricted character set. urlEncode() converts any illegal characters in a string to the appropriate representation; for example, a space is converted to the string <code>%20</code>. my%20test encoding urlEncode("my test") 0 0 2008-11-25T15:13:08-05:00 2008-11-25T15:13:08-05:00 example 11 30 foo%20bar urlEncode($Name(child)) 3.5 0 2008-11-25T15:15:12-05:00 2008-11-25T15:22:00-05:00 argument is evaluated 2 16 the argument to urlEncode() should be evaluated before the string is encoded. 7 0 2008-11-25T15:22:07-05:00 2008-11-25T15:22:07-05:00 foo bar 3 utf8("theString") 27 7.5 2008-11-29T12:15:56-05:00 2008-11-29T12:15:56-05:00 utf8("theString") 3 utf8("theString") 17 0 2008-11-29T12:28:48-05:00 2008-11-29T12:29:26-05:00 Operators 2 25 This is Tinderbox Cookbook version ^text(/boilerplate/version), created in conjunction with Tinderbox ^version. This page explores Tinderbox operators, used in actions, rules, and with the export templates <code>^^action()</code> and <code>^^value()</code>. * 23 0 2008-11-25T09:47:09-05:00 2008-11-25T09:48:09-05:00 * 3 20 Multiply numbers and repeat strings 15 3*5 0 0 2008-11-25T09:47:42-05:00 2008-11-25T09:48:44-05:00 numeric 3 14 Multiplying numbers AAAAA 5*"A" able baker 3.5 0 2008-11-25T09:48:31-05:00 2008-11-25T09:49:03-05:00 strings 4 15 TestName;Try;Expected;TestClass;UserSet repeating strings + 19.5 0 2008-11-25T09:04:37-05:00 2008-11-25T16:09:42-05:00 + 7 49 false Add numbers, add items to sets, and concatenate strings. 2 + 1+1 21 0 2008-11-25T08:09:24-05:00 2008-11-25T08:10:38-05:00 numeric 4 26 Adding numbers ablebaker string "able"+"baker" 24 0.5 2008-11-25T08:55:00-05:00 2008-11-25T09:13:21-05:00 string 8 37 concatenating strings able27 mixed "able"+27 27.5 0.5 2008-11-25T09:35:56-05:00 2008-11-25T09:46:31-05:00 mixed 8 39 false mixing strings and numerals able;baker;dog $UserSet+"dog" able;baker 31 0.5 2008-11-25T15:53:56-05:00 2008-11-25T15:54:59-05:00 set 3 11 TestName;Try;Expected;TestClass;UserSet Adding a string to a set adds a new element to the set able;baker $UserSet+"baker" able;baker 31.5 1 2008-11-25T15:55:00-05:00 2008-11-25T15:55:56-05:00 set #2 3 11 TestName;Try;Expected;TestClass;UserSet If you add an element to a set that already contains the element, the set does not change. - 26 0 2008-11-25T15:58:53-05:00 2008-11-26T14:15:17-05:00 - 8 62 subtract numbers, or remove elements from a set 2 5-3 0 0 2008-11-25T15:58:59-05:00 2008-11-25T16:09:12-05:00 numeric 3 12 subtracting numbers able $UserSet-"baker" able;baker 3.5 0 2008-11-25T15:59:19-05:00 2008-11-25T16:00:17-05:00 set 1 7 TestName;Try;Expected;TestClass;UserSet Subtracting an element from a set removes that element. able;baker $UserSet-"dog" able;baker 4 0.5 2008-11-25T16:00:18-05:00 2008-11-25T16:01:13-05:00 set #2 2 13 TestName;Try;Expected;TestClass;UserSet Subtracting an element from a set has no effect if the set did not contain the element. undefined "charlie"-"ch" 7.5 0.5 2008-11-25T16:01:38-05:00 2008-11-25T16:02:19-05:00 strings 4 18 String substraction is undefined ! 29.5 0 2008-11-29T13:16:10-05:00 2008-11-29T13:16:31-05:00 ! 2 12 logical negation !(5=2+3) 0 0 2008-11-29T13:16:33-05:00 2008-11-29T13:16:33-05:00 simple negation 1 6 true !(5>1) 0.5 0.5 2008-11-29T13:17:29-05:00 2008-11-29T13:17:29-05:00 simple negation 2 11 25 17.5 0 2008-11-29T12:30:03-05:00 2008-11-29T12:32:44-05:00 Export Templates 2 12 This is Tinderbox Cookbook version ^text(/boilerplate/version), created in conjunction with Tinderbox ^version. This page explores Tinderbox export elements, used in export templates. Export templates can also be used in some actions, but this syntax is now deprecated. Export template elements begin with the character ^^. version 26.5 0 2008-11-25T14:03:44-05:00 2008-11-25T14:04:32-05:00 ^^version 8 57 Exports the Tinderbox version string 4.5 beginsWith version ^version 0 0 2008-11-25T14:04:50-05:00 2008-11-25T14:12:13-05:00 version 4 26 The version string may vary as fixes and test versions are released. This test confirms that the version is 4.5.x 17.5 0 2008-11-25T13:42:12-05:00 2008-11-25T14:59:51-05:00 Help 51 94 Prototype=doc false <h2>What's this?</h2> The Tinderbox Cookbook is a Tinderbox document that helps explore details of Tinderbox actions, rules, and export template. It is a useful supplement to the manual, letting you see exactly what Tinderbox does in a variety of situations. 0 0 2008-11-25T14:59:51-05:00 2008-11-25T15:06:52-05:00 How it Works 10 32 <h2>How it works</h2> The Cookbook builds an HTML page you can view in a Web browser. This page contains a number of tests, which include: * a description of some facet of Tinderbox * an example of typical use * the expected result of the example * the actual result of the example * a status marker, indicating whether the actual result is acceptable Thus, the Cookbook provides many examples of Tinderbox's expected behavior, and also displays whether the version you’re using is, in fact, behaving as expected. Your version of Tinderbox may well be newer than the Cookbook, and might conceivably contain corrections that improve Tinderbox's behavior from the Cookbook’s baseline. 1 0 2008-11-25T15:45:16-05:00 2008-11-25T15:50:18-05:00 What can I test for? 5 12 <h2>What can I test for?</h2> Most often, we can anticipate exactly what the result of a Tinderbox expression will be. For example, the result of "1+2" will be "3". In these common cases, you typically use test equal, which confirms that the result is exactly the same as the expected result. The test class test beginsWith tests whether the result begins with the expected string. For example, version numbers may change, and we don’t want to generate a warning when using the Cookbook with version 9.5.3 just because the Cookbook was written for 9.5.2. Additional test classes may be added in the future. Test classes are not very difficult to write -- they are simply Javascript routines -- and you may add your own. 2 0 2008-11-25T15:06:56-05:00 2008-11-25T15:07:32-05:00 What does it cover 1 5 <h2>What does the Cookbook cover?</h2> The Cookbook can potentially cover almost all Tinderbox agent queries, actions, and export templates. 3 0 2008-11-25T15:07:34-05:00 2008-11-25T15:52:11-05:00 How do I extend the Cookbook 2 8 <h2>How do I extend the Cookbook?</h2> The Cookbook document provides three key prototypes. Page adds an entire new page. A page may contain one or more Test Suites. A test suite describes a set of related operations, such as "+" or "^^title^^". A test suite may, in turn, contain one or more tests. A test attempts a single operation, and generates one line of information including: * a brief description of the task ($Text) * the expression the test will evaluate ($Try) * the expected result ($Expected) * the actual result * the test status Test status is computed in Javascript when the page is loaded in the browser. The script looks for elements that have class test, typically <code><td class="test equal"></code>. The second class in this example indicates that the result should be identical to the expected result. If this is true, we add the class "right" which styles the test green; if this is not true, the script adds the class "wrong" which styles the test red. 3.5 0 2008-11-25T15:00:09-05:00 2008-11-25T15:00:24-05:00 How can I contribute? 1 17 <h2>How can I contribute?</h2> Write new examples. Improve the descriptions of current examples, making them clearer and easier for other users to understand. Send us your improvements to share with others. <h2>Cookbook and Export Elements</h2> Cookbook provides separate prototypes for testing actions and expression (test suite) and for testing export elements (export suite). The templates are nearly identical, but export suite (and its helper export test) escape the caret symbol ^^ in order to display export expressions properly. &#x2619; <a href="http://www.eastgate.com/Tinderbox/">Tinderbox</a> &#x25b8;&nbsp; system 1 0 1 0 1 1 2 -2 2 1 Verdana 3 0 0 1 0 26112 52224 26112 0 52224 65535 0 0 1 7 4 65535 65535 65535 0 0 0 1 1 0 0 0 0 65535 65535 65535 Lucida Grande 1 2 1 1 1 1 3 65535 65535 65535 56797 61166 56797 Lucida Grande 1 2 1 1 1 0 0 1 1 http:// 1 Coda 0 1 Lucida Grande 2 plain Macintosh HD:Users:markbernstein:plain Macintosh HD:Users:markbernstein:outline 0 0 1 Lucida Grande 2 outline TextEdit 1 1 0 0 Tinderbox™ 2.2.1d12 © Copyright 2003-4 Eastgate Systems Inc. 4 6 -16896 Andale Mono -15360 Verdana 4 Monaco 21 Helvetica 1024 Lucida Grande 2013 Hoefler Text 300 50 Mark Bernstein Eastgate Net AutoFetch 1 Macintosh HD:Users:markbernstein:Documents:briefcase:Tbx Cookbook:Cookbook 4:export folder: 0 0 0 0 <files > <file >Macintosh HD:Users:markbernstein:Documents:briefcase:Projects</file> <file >Macintosh HD:Users:markbernstein:Library:Mail Downloads:DayFile test sample.tbx</file> <file >Macintosh HD:Users:markbernstein:Desktop:markpaul.tbx</file> <file >Macintosh HD:Users:markbernstein:Documents:briefcase:MarkBernstein.tbx</file> <file >Macintosh HD:Users:markbernstein:Documents:briefcase:Stretch:Stretch.tbx</file> <file >Macintosh HD:Users:markbernstein:Documents:briefcase:TbxWknd:Tbx Wknd OPML:OPML 01.tbx</file> <file >Macintosh HD:Users:markbernstein:Documents:briefcase:TbxWknd:Tbx Wknd Books:Books 19.tbx</file> </files> http://rpc.weblogs.com/RPC2 weblogUpdates.ping your weblog name weblog URL 1 1 1 http://your_host/cgi-bin/mt/mt-xmlrpc.cgi 1 2 3 0 1 1 20 656 410 93 321 44 22 Nov 2008 12:58:54 outline 2 -2 2 1 1 0 0