New macros for reminders

5 views
Skip to first unread message

Jeremy Sheeley

unread,
Aug 10, 2005, 10:50:27 PM8/10/05
to TiddlyWikiDev
This may only be of use to the folks who use TiddlyWiki for GTD, but
others may be interested in this as well. You can get the code and an
overview of this plugin at
http://shared.snapgrid.com/gtd-forum/viewtopic.php?p=275

rdevarona

unread,
Aug 10, 2005, 11:40:49 PM8/10/05
to TiddlyWikiDev
Jeremy,

As I mentioned on the GTD TW forums, great work! I've been meaning to
do something similar to your showReminders for the check box function I
added (http://shared.snapgrid.com/gtd-forum/viewtopic.php?t=96). I'd
like to be able to have one tiddler show me all of the actions (check
boxes) that I have open in every tiddler.

Someday I may actually get to it.

rdv

Chris

unread,
Aug 11, 2005, 2:45:01 AM8/11/05
to TiddlyWikiDev
Just tried it out on 1.2.29: it's very cool. I suspect I'll find it
useful. Many thanks!

AlanH

unread,
Aug 11, 2005, 2:56:39 AM8/11/05
to TiddlyWikiDev
It'd be great if you could post a "ready to view" sample of this.

Jim Barr

unread,
Aug 11, 2005, 9:21:03 AM8/11/05
to TiddlyWikiDev
WOW! It works great in v1.2.31!

By all means, take the time to read the detail of how each reminder
works, and they really begin to make sense. The only real trick that I
see is in understanding how the "leadtime" in a "reminder" affects the
"leadtime" in "showReminders". Other than that, it's pretty simple.

An application for this that I may try implementing is using this to
create a sort of "pre-programmed" auto-display News Items on my
http://TiddlyWikiTips.com site. ie: I could write News items as
Reminders, assign them specific days, and then let the showReminder
Macro handle displaying them.

At work, I am going to use this to create a number of reminders and
then use the showReminders to display those items that upcoming in
n-days out.

OK, as always, my mind reels with ideas, so here are some enhancement
ideas:


ENHANCEMENT IDEA #1:
Currently, you can specify the number of "days out" in showReminders
with a leadtime setting. This very is useful. How about enhancing it by
allowing a "leadtime range" that would display Reminders within a lead
time range.

For example:
Currently:
<<showReminders leadtime:7>> displays Reminders in the next 7 days
<<showReminders leadtime:30>> displays Reminders in the next 30 days

I'd love to see something like this added:
<<showReminders leadtime:8-30>> display Reminders between 8 and 30 days
out
<<showReminders leadtime:31-60>> display Reminders between 31 and 60
days out


ENHANCEMENT IDEA #2:
How about adding some leadtime "keywords" like thisWeek, nextWeek,
thisMonth, nextMonth, etc. that would display reminders through the end
of this week, next week, this month, next month, etc.? Maybe even work
in Enhancement #1 somehow such that nextMonth would display either from
now through the end of next month, or just the Reminders occurring
within nextMonth.

Again, very cool!

-Jim Barr
http://TiddlyWikiTips.com

Jeremy Sheeley

unread,
Aug 11, 2005, 10:04:11 AM8/11/05
to TiddlyWikiDev
Jim Barr wrote:
> WOW! It works great in v1.2.31!

Thanks.

> The only real trick that I
> see is in understanding how the "leadtime" in a "reminder" affects the
> "leadtime" in "showReminders". Other than that, it's pretty simple.

I did that so that some reminders would only show up when they are the
most pressing. This is good for frequently recurring reminders, like
"Bill Day" in the examples. I don't need two weeks warning for that.

> ENHANCEMENT IDEA #1:
> ...


> <<showReminders leadtime:8-30>> display Reminders between 8 and 30 days
> out

I'm confused as to the benefit of a lower bound. Why would you want to
filter out the nearest reminders? Those are the ones that I would want
to see the most.

>
> ENHANCEMENT IDEA #2:
> How about adding some leadtime "keywords" like thisWeek, nextWeek,
> thisMonth, nextMonth, etc. that would display reminders through the end
> of this week, next week, this month, next month, etc.?

This is especially tricky with thisMonth when you check your reminders
on the 29th. If someone's birthday is on the 2nd, you won't see the
reminder until it's too late. I do see the benefit of not worrying
about Monday's reminders on Friday, so thisWeek is probably a good
idea. Specifying a leadtime in the reminder would override the
leadtime in showReminders anyway. So <<reminder month:10 day:2
leadtime:14>> would give 14 days notice, even if it was September 29th
and you used <<showReminders thisMonth>>.

Thanks for the feedback!

Jim Barr

unread,
Aug 11, 2005, 11:45:48 AM8/11/05
to TiddlyWikiDev
Jeremy Sheeley wrote:
> > ENHANCEMENT IDEA #1:
> > ...
> > <<showReminders leadtime:8-30>> display Reminders between 8 and 30 days
> > out
>
> I'm confused as to the benefit of a lower bound. Why would you want to
> filter out the nearest reminders? Those are the ones that I would want
> to see the most.
>

It could help in "grouping" Reminders. For example, say I set up a
Tiddler with the following enteries:

!Upcoming Events:
''Within next 7 Days:''
<<showReminders leadtime:7>>
''Within next 30 Days:''
<<showReminders leadtime:30>>

The resulting Tiddler would display duplicates entries (ie: All those
with a leadtime of 7 in the first list would also show in the second
list.)

But if we could have leadtime ranges, we could group like this:

Upcoming Events:
Within next 7 Days:
Reminder #1
Reminder #2
Reminder #3

Within next 30 Days:
Reminder #4
Reminder #5
Reminder #6
...

Mostly aesthetic, but functional.

> > ENHANCEMENT IDEA #2:
> > How about adding some leadtime "keywords" like thisWeek, nextWeek,
> > thisMonth, nextMonth, etc. that would display reminders through the end
> > of this week, next week, this month, next month, etc.?
>
> This is especially tricky with thisMonth when you check your reminders
> on the 29th. If someone's birthday is on the 2nd, you won't see the
> reminder until it's too late.

Hmmm. Maybe if you set the leadtime on the birthday reminder to, say 7,
it could show up because the date of the leadtime would fall within the
thisMonth? Yes, this does get tricky...

> I do see the benefit of not worrying
> about Monday's reminders on Friday, so thisWeek is probably a good
> idea.

Cool!

> Specifying a leadtime in the reminder would override the
> leadtime in showReminders anyway. So <<reminder month:10 day:2
> leadtime:14>> would give 14 days notice, even if it was September 29th
> and you used <<showReminders thisMonth>>.
>

So if I understand you correctly, then the thisMonth concept would work
because Reminders occurring later than thisMonth with a leadtime that
falls within thisMonth would show up, which is what we would want,
right?

> Thanks for the feedback!

Glad to help!

-jim barr
http://TiddlyWikiTips.com

AlanH

unread,
Aug 11, 2005, 12:05:16 PM8/11/05
to TiddlyWikiDev
I also like this idea but in for different use. A website TW could use
this to effectively "Google-fy" the site...meaning that on certain
dates special messages could appear using the DefaultTiddlers and this
Reminders macro. ~AlanH

Clint Checketts

unread,
Aug 11, 2005, 12:09:45 PM8/11/05
to Tiddly...@googlegroups.com
By Google-fy I assume you mean this: http://www.google.com/intl/en/holidaylogos.html

Customised content depending on the date.

-Clint

AlanH

unread,
Aug 11, 2005, 12:22:25 PM8/11/05
to TiddlyWikiDev
Yep, that's what I mean by Google-fy. I tried it, and it works pretty
well. You set up a DefaultTiddler with a reminder leadtime macro and
all your upcoming event reminders. Voila!

I can see using this to publish a revolving list of upcoming training
opportunities.

JeremySheeley, this is awesome! Thanks for your contribution.

Jeremy Sheeley

unread,
Aug 11, 2005, 1:53:08 PM8/11/05
to TiddlyWikiDev

Jeremy Sheeley

unread,
Aug 11, 2005, 2:00:00 PM8/11/05
to TiddlyWikiDev
I think that to get the true Google-fy experience, we would need a
openTiddlersWithReminders, which opened all of the tiddlers, instead of
printing them in a list. That way, custom content would be shown,
instead of just a countdown. Again, good idea.

AlanH

unread,
Aug 11, 2005, 3:15:45 PM8/11/05
to TiddlyWikiDev
I agree with you that this approach would be best if the custom content
were itself "tiddler based." I just wanted a simple one line message
(like "Happy New Year" or "Last Day to Register for Classes"), and the
existing functionality works pretty well for that.

Although, I currently have to delete the code that adds the TiddlerLink
to the end of a leadtime reminder or put up with "Today:" showing up at
the beginning. Maybe a parameter could be added to give a "clean"
reminder with no pre or post elements.
~AlanH

AlanH

unread,
Aug 11, 2005, 3:50:25 PM8/11/05
to TiddlyWikiDev
I agree with no need for a lower bound in term of personal toDo lists,
but to reiterate Jim's point another way...if you were to use reminders
in the Google-fy way we talked about, you might not want a message
displaying x days before the event.

For instance, let's say I have training session planned and want to put
a notice on my TW page. But people need to register for the session at
least a week ahead of time. In that case, I want the event to
disappear if it's 7 days out or less. However, <<showReminders
leadtime:8-30>> still won't do it as I don't want this "a week out"
preference to apply to ALL my reminders.

So I guess I'd just be better off just offsetting the reminder date by
a week but having the title reflect the actual training date.
~AlanH

Jeremy Sheeley wrote:

Jeremy Sheeley

unread,
Aug 11, 2005, 4:02:34 PM8/11/05
to TiddlyWikiDev
My intent in the case you describe would be to have two reminders, one
with the registration deadline, and one with the class date.

<<reminder month:9 day:14 title:"Training Session" leadtime:7>>
<<reminder month:9 day:7 title:"Registration deadline for September
14th training session.">>

It makes more sense, because the title of each reminder gives the
needed information.

Jeremy Sheeley

unread,
Aug 14, 2005, 10:40:59 PM8/14/05
to TiddlyWikiDev
I've put up a new version of the reminder macros, which incorporate all
the good ideas I've heard, and hopefully make integration with Steve
Rumsby's calendar macro easier. The new plugin code and documentation
are at http://www.geocities.com/allredfaq/reminderMacros.html

Here's the changelog:

1. showReminders now takes an optional tag parameter that limits the
search to tiddlers with the given tag.
2. New macro <<displayTiddlersWithReminders>>, which takes all the same
arguments as showReminders, but opens the matching tiddlers, instead of
listing them.
3. The display messages are now easily editable at the top of the
plugin code.
4. showReminders now takes an optional limit argument that prevents
reminder leadtime from overriding the showReminders leadtime.
5. showReminders now takes an optional nolinks argument that removes
the link to the matching tiddler at the end of the countdown.
6. reminder takes an optional hidden argument that prevents it from
displaying inside the tiddler. That way, tiddlers opened with
displayTiddlersWithReminders don't have to have the regular countdown
display of a reminder.

I appreciate any more comments that you have for me.

Lflorindo

unread,
Aug 19, 2005, 4:33:19 AM8/19/05
to TiddlyWikiDev
Hello,

Thks for the macro, very useful.

It does not work when called from inside a table though. I think it
applies to all other macros. Is there a way to make it work or is it a
TW limitation?

LF

Jeremy Sheeley

unread,
Sep 1, 2005, 11:21:04 PM9/1/05
to TiddlyWikiDev
I've put up another update to the reminder macros, which include some
features requested here.

1. Ranges for leadtime. You can specify leadtime:7...14 or even
leadtime:-3...-1 for reminders that you're late on. :)
2. Tag-based exclusion for showReminders. You can now specify
tag:"!examples !holidays" to exclude holidays and examples.
3. A user-supplied format string which can override the default "N
days: TITLE...". Also, every string that is displayed to the user
should be changeable. This should make it really easy for people to
translate to other languages.
4. Documentation. :)

As always, I welcome comments and bug reports.

Reply all
Reply to author
Forward
0 new messages