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
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
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!
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
I can see using this to publish a revolving list of upcoming training
opportunities.
JeremySheeley, this is awesome! Thanks for your contribution.
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
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:
<<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.
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.
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