Tinderbox Forum

Set up 4 timelines & attributes


I’m creating a Tinderbox file to review certain legal case, and I’m trying to capture four discrete dates per case. One of TB’s greatest users (and a real mensch) helped me set up a timeline label for previous TB files. Now I’ve created four timeline labels for these discrete dates, e.g.,

7A.TIMELINE:2018/01/16 - [Apprehension date]

7B.TIMELINE:2018/01/18 - [Separation date]

7C.TIMELINE:2018/02/11 - [Referral date]

7D.TIMELINE:2018/03/12 - [Last Action date]

I only need to create a singular date, and not a date range , per timeline label. So, I’m wondering if it would be better to to make 4 Date-type user attributes: $ApprehensionDate, $SeparationDate, $ReferralDate, $LastActionDate or should I use and alter the default TB dates? To be honest, I’m a bit lost as to to how to do either of these things, so I’d appreciate whatever guidance you could provide. Thanks!

BTW, there are two things I’d like to do with these labels as well, just in case it affection any set up advice:

(1) Group these labels in a container (or agent) together, and then be able to view them collectively, and individually, in a timeline view, and;

(2) Be able to tabulate the time span between 7C.TIMELINE:2018/02/11 - [Referral date] & 7D.TIMELINE:2018/03/12 - [Last Action date], per each case, so that I can determine what the mean duration is for all of these cases.

I think I should aid readers by stating the ‘timeline labels’ above are markers in the source data generated in another app. These ‘labels’ are to aid the processing of the dates into the correct attribute in the Tinderbox document. IOW, the ‘Apprehension’ date for this note is 16 Jan 2018 whereas the ‘Separation’ date is 18 Jan 2018, etc… If the labels are simply left as part of the $Text of the source note, it makes most of the tasks asked about much harder. If the dates are captured to Date-type attributes it aids date calculation, plotting timelines, though it doesn’t preclude still retaining the labels in the source text.

So there’s no ‘right’ way, but several choice depending on what best suits @jprint714’s tasks and style of works. Conversely, there are some wrong choices (or sub-optimal) choices, e.g. only leaving the labels as part of $Text.

So @jprint714 needs to store between one (zero?) and four dates per note. Tinderbox has 3 event-related System Date-type attributes ($StartDate, $EndDate, $DueDate) and the sandbox $MyDate. However, those names don’t help indicate what the data signifies. Thus, I’d suggest making 4 user Date-type attributes: $ApprehensionDate, $SeparationDate, $ReferralDate, $LastActionDate. Now, when querying or using actions, there’s less chance of referencing the wrong attribute. Plus if used in KAs, again the purpose is clearer.

Another benison of this approach is it leaves $StartDate and $StopDate free to apply to any of the above. For instance, for a Timeline view you might set $StartDate to the earliest data and $EndDate to the latest (excluding $LastActionDate). Although a timeline will let you plot Date attributes other than $StartDate and $EndDate, you can plot only two. So, what if the earliest date is Apprehension for some and Separation for others (perhaps the Apprehension date is unrecorded). Anyway, this approach allows flexibility of analysis combined with clarity of source data purpose.

Q#1. Any container could be a timeline view - including an agent. So, set the query for the (types of?) dates you need and display them. If using only one pair of the 4 custom dates as above, set the timeline to use those two date attributes (rather than the defaults). Or, set $StartDate and $EndDate as described above.

Q#2. There are several methods. You can use Interval-type attributes and calculate the interval(date1,date2). Or you may prefer to work in one ‘unit’ such as days, using days(date1,date2). These could then be used in a Table Expression for an agent (in map view).

Thanks so, so much for this, and apologies for the belated reply…

Ok, I’ve set up everything as you’ve suggested, namely: I’ve created 4 user Date-type attributes: $ApprehensionDate, $SeparationDate, $ReferralDate, $LastActionDate – all with date data-type attributes.

Next, I’ll set up the following labels agents:


Per our earlier discussion for using the proper date format an syntax, there’s supposed to be one space between _TIMELINE: and year, and then month + day.

Is there’s anything I need to do in the formatting set up to ensure that this formulation will successfully work for each of the Timeline labels?

I assumed that I just need to select each of the Timeline labels, go to Action inspector -> Query -> and type in:

$Prototype=="pImport" & $Text.contains("\n#")

Is that correct? Do I need to do anything else?

Many thanks again!

Please post a specimen document showing the process - just this bit not everything. Include specimen data that both matches your criteria above and some which doesn’t (e.g. the whitespace issue). You may find that just that simple exercise will answer the question for you.

Either way, the sort of question as above is more easily discussed with a small reference model TBX. Not least, it helps draw out unstated assumptions and confounding factors.