Emptying the Recent tab

I would like to empty the Recent tab. I understand the list is dynamically built from the timeline macro and so there is no tiddler whose text I can empty (as far as I am aware). Searching this archive has not shed any light on the issue. Can anyone shed some light please.

I want to do this as part of my releasing the TW for general use.

bobj

You could modify the recent tabs filter not to list any tiddlers younger than todays date when you made your last change. However if you or someone else installs tiddlers with a modified date before that it will not show either.

you could remove the created and and modified fields

<$button> remove times
<$list filter="[!is[system]!field:created[]]">
<$action-deletefield $timestamp="no" created modified/>
</$list>

Usually in a wiki, that I visit from time to time the only really interesting element is the Recent tab. So why do you want to remove info from there? It is extremely valuable.

If users do not see, that something has changed since they visited last time they will go away immediately.

I personally consider an empty Resent tab as an empty wiki.

Just my thoughts

Do you want that tab to still be there, but just show nothing? (Wouldn’t it make more sense to just remove the tab?)

If you do still want it there, one idea would be to modify the content by wrapping the timeline macro in a revealwidget that shows/hides depending on some state tiddler that you can control. (But, again, the same could be said for the whole tab - i.e some button or so that toggles for it to show or not.)

I have not explained my idea well enough. I do not want to remove the Recent tab, I just want, when I publish the TW on my server, to have the tab start empty. Users can then use the Recent info as they see fit after their deliberations, etc, but they will not see all the stuff I have done setting the TW up.

bobj

The problem this is not what the recent tab is about. It lists the most recent modified tiddlers even if they were two years ago. To change your tiddlers to stay out of here involves clearing their modified field. yet these are important values.

I suggest hiding the existing one and presenting a pseudo one that has some kind of limiting filter like only list recent items, after the wiki published date or better yet the solution below.

  • Although this will be driven by what changes the users are likely to make, are they read only or will they continue to add content to the wiki?

You could do something like tag all your changed tiddlers, or have the modifier field set to your username for them all, then add a subfilter to the timeline macro used in the recent tab $:/core/ui/SideBar/Recent to exclude your tiddlers so marked, whist retaining the modified fields on your tiddlers.

  • any modified tiddlers created, installed or changed by the user will then appear in the recent tab.

Maybe the now macro can be called at startup and used as a cutoff date in the timeline macro.

This is what I normally do! I have a button to remove some fields when I publish to public.

thanks everyone, you have given me many things to ponder. So now, pondering away…

If this is the only reason, then you can pack your setup as plugin, like I do GitHub - tiddly-gittly/itonnote-plugin: Heavy lifting for new users to set up a powerful and opinionated knowledge management system in TidGi Desktop.

So they won’t show up, and user can get update from plugin library.

IMO we should make the number of the tiddlers listed in the Recent tab configurable (since the timeline macro has a limit parameter). So that we can set the limit to 0 to make the tab empty.

1 Like

Many good ideas here so far. Let me just add that for some purposes, one might want not to strip away created/modified fields (maybe they’re useful for your own troubleshooting down the line, etc.). You could also, over time, find that some older end-user content-type tiddlers still deserve a place in the timeline, so that an date cutoff on the timeline is not the right solution.

In my own case, I do have many such older tiddlers. And I’m not interested in converting my administrative infrastructure into plugins (I do too much on-the-fly modifications to go through such rituals of closure), nor do I always want to sweep away my modified timestamps. But I do want lots of admin-related tiddlers to stay out of the recents tab that students and most other web-visitors see. Obviously system tiddlers are already left out, but lots of templates and tag-homes can’t conveniently live in system-name-space.

You can instead add a field such as excludeTimeline — and tweak your timeline so that if a tiddler has the excludeTimeline field, that tiddler doesn’t appear in the Recent tab.

I’ve modified my timeline macro this way (note two insertions of !has[excludeTimeline] — without the first one, some date headings show up even though they have nothing listed beneath):

\define timeline-title()<$view field=title/>
\define timeline-link()<$link><<timeline-title>>
\define timeline(limit:100 format:[[DDth MMM YYYY]]subfilter dateField:modified)<div class=tc-timeline><$list filter="[!is[system]$subfilter$has[$dateField$]!has[excludeTimeline]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]"><div class=tc-menu-list-item><$view field="$dateField$"template="$format$"format=date/><$list filter="[sameday:$dateField${!!$dateField$}!is[system]!has[excludeTimeline]$subfilter$!sort[$dateField$]]"><div class=tc-menu-list-subitem><<timeline-link>>

Note the !has[field] filter step is excluding tiddlers based on finding a value in the field. So I make sure not just to create the field but to toss some value in there (perhaps in a batch operation with Commander), such as “template” or “troubleshooting” or “meta-tag” (or whatever) so that the excludeTimeline field has a value in each case.

@Springer , like this idea and will think it through.

From your answer, I assume that your ‘public’ TW’s are not updated to later versions of TW, or are they? If they are how do you keep track of changes to shadow/system tiddlers, etc, as those changes would need to be remade?

I do update things (and I’m not sure what about my answer would have suggested otherwise) :thinking:

It’s for precisely such reasons (future troubleshooting) that I don’t want to remove my modified field from custom templates, data-entry console tiddlers, etc., even though I do want them out of the timeline that students see. Troubleshooting requires being able to reconstruct what was done when, so that I can restore my important customizations without too much confusion.

Every time I modify a shadow, or add something to a cascade (etc.) I’ve learned to add a notes field which details what was changed and why. (And there’s a view template that displays the content of any notes field so that it’s visually salient. There’s also a dynamic table overview of all tiddlers with such notes. :slight_smile: )

1 Like

Of note the recent tab is a system tab, clone it, remove the tag from original to hide it and modify your new tiddler. This means you can always restore the system provided recents tab, perhaps tag it to appear behind the more tab.

The caption will retain the same tab name, now modify it to hide the modified tiddlers you want such as all those with your username as the modifier and or @Springer’s suggestion.

  • You will in fact be displaying a curated recents tab to visitors.
1 Like