I’m exploring the possibility of using TiddlyWiki as an academic database to manage journals, papers, books and scholars information, I’am trying to write a plugin in which there is a page to search all papers by using filter, I find that it became sluggish after importing around 1,000 tiddlers.
In my design, I wanted scholars, journals, and years to be mutually filterable. My wikitext code achieves this, but it appears to be very inefficient, here is a part of my code
<$select tiddler=<<state>> field='year' default='Year'>
<option disabled>Year</option>
<option>any</option>
<$list filter='[subfilter<author-filter-variable>subfilter<journal-filter-variable>get[year]unique[]!sort[]]' variable="year">
<option><<year>></option>
</$list>
</$select>
and there are similar codes filtering scholars and journals. Then the following wikitext show all the papers filterd.
<ol>
<$list filter="[subfilter<author-filter-variable>subfilter<journal-filter-variable>subfilter<year-filter-variable>subfilter<search-filter>!nsort[year]limit[50]]">
<li>{{||$:/plugins/shenzhy/academic-lib/templates/ref-styles/paper}}</li>
</$list>
</ol>
So it seems that it’s not a good design, or there is any method to optimize filter performance, for example, having a button that triggers the filter only when pressed, this might improve performance since it’s not real-time?