Need help streamlining a TW5 for cross-indexing by 4 different criteria

90 views
Skip to first unread message

David Gifford

unread,
Jan 14, 2015, 1:11:12 PM1/14/15
to tiddl...@googlegroups.com
Hi all

Today I was inspired by Tobias' catlist plugin, and started experimenting on a TW to cross index historical figures, events, documents, etc by location (Germany), century (19th), and topic (Philosophy). I found a way to do it - without the catlist filter, since I am not sure how I would implement it correctly. See my results at this link:

http://giffmex.org/experiments/history.crossindexing.html

But my way of doing it looks like it will slow down the file too quickly since it has the potential for many indexes, each with multiple list filters.

I would like to ask for your feedback on the best way(s) to streamline this idea.

Blessings, Dave

David Gifford

unread,
Jan 14, 2015, 1:50:30 PM1/14/15
to tiddl...@googlegroups.com
Okay, came up with one way to streamline: instead of centuries, have a date field, input the date of the person, event, etc, and use the sort filter to sort by date. This would actually be preferable to me than the centuries idea. But how would I do dates that are B.C.E.?

Dave

Tobias Beer

unread,
Jan 14, 2015, 6:44:02 PM1/14/15
to tiddl...@googlegroups.com
Hi David,

With xlist it would be very easy.

You don't even need any xlist (or catlistfield anymore
to get a cross listing for each of these....
Simply use the corresponding tagging filter with the new filter parameter...


You can even do all that automatically with a conditional view-template.

Best wishes, Tobias.

Tobias Beer

unread,
Jan 14, 2015, 6:57:41 PM1/14/15
to tiddl...@googlegroups.com
With xlist it would be very easy.
http://xlist.tiddlyspot.com 

Ok, trying to get something running in your wiki,
I realize I was a bit hasty with that suggestion
seeing as you are using fields and not tagging.

Pretty sure your case begs for
some generalization using the each filter.

So, the wee problem is,
that this opens up four possibilities of cross-listing...
  1. a tag-category by other category-tags
    • this is the only one xlist currently does
  2. a field-category by category-tags
  3. a tag-category by category-fields
  4. a field-category by other category-fields
    • this seems to be what you're after
      • avoiding tagging
        • why?
Best wishes, Tobias.

David Gifford

unread,
Jan 14, 2015, 7:04:33 PM1/14/15
to tiddl...@googlegroups.com
I could switch to tags. I am just at the experimental stage. Actually, I downloaded a new empty and started to create and tag tiddlers to experiment with xlist.

I do think I want date.ace and date.bce so I can sort by date, and replace centuries with time periods

Dave

--
You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/Jy4-aOoEi5U/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywiki.
For more options, visit https://groups.google.com/d/optout.

David Gifford

unread,
Jan 14, 2015, 7:30:23 PM1/14/15
to tiddl...@googlegroups.com
Well, to try your xlist macro, I have

1. the four category tiddlers (Time periods, Places, Domains and Topics) created as plain old tiddlers for now.

2. A few subcategory tiddlers created and tagged with the titles of the category tiddlers (Germany tagged Places, People tagged Domains, etc)

I know I will want at least two other kinds of tiddlers:

a) index tiddlers (Period x by domain index, Domain x by period, etc)
b) entries (John Calvin, tagged Reformation, Switzerland, Theology, People)

From there, what do I need to do to try this out? You have various instructions and examples, but the problem is there are so many things to look at, it is not easy to see the step-by-step process. You even have other macros and templates, so it looks like what you did in your file is more complicated than what you are asking the user to do.

Not being critical, just trying to point out stuff so you see where you can improve the docs.

Dave

David Gifford

unread,
Jan 14, 2015, 7:51:48 PM1/14/15
to tiddl...@googlegroups.com
I updated http://giffmex.org/experiments/history.crossindexing.html with a little more detail to show the direction I am going in on my original efforts using fields.

Dave

Tobias Beer

unread,
Jan 15, 2015, 8:12:49 AM1/15/15
to tiddl...@googlegroups.com
Hi Dave,
 
1. the four category tiddlers (Time periods, Places, Domains and Topics) created as plain old tiddlers for now.
2. A few subcategory tiddlers created and tagged with the titles of the category tiddlers (Germany tagged Places, People tagged Domains, etc)

As I said in my above comment, xlist currently only supports tag-categories, not field matching.

I know I will want at least two other kinds of tiddlers: 
a) index tiddlers (Period x by domain index, Domain x by period, etc)

The index tiddlers are exactly those for which there is xlist.
That is what it's made for, preferably via an automagic view-template.
 
b) entries (John Calvin, tagged Reformation, Switzerland, Theology, People)

Index tiddlers using xlist show precisely these entries ...grouped by defined category tags.
Only, now, in your case, your categories are implicitly derived from field values, not tags.

From there, what do I need to do to try this out?

There are two angles...
  1. you
    • change your wiki to one using tags, not fields
  2. I
    • invent variants of xlist that handle fields instead
You have various instructions and examples, 
but the problem is there are so many things to look at, 
it is not easy to see the step-by-step process.

The examples are ordered in a simple to complex manner,
the most powerful being last.

Right now, your design doesn't work with xlist as it is,
since you would first have to discard using fields at your entries
and to use tags instead.

However, I don't really want you to do that,
I actually want you to get a variant of xlist from me
that allow you to keep using those fields as list fields.

You even have other macros and templates, 
so it looks like what you did in your file 
is more complicated than what you are asking the user to do.

It is not more complicated... the opposite is true.
If you eventually get to have your index tiddlers to
automagically show the right entries by the right groups,
things couldn't possibly get any simpler.

New period, e.g. Dark Ages,
bam there are your indexs doing the right thing,
e.g. in the form of domain tabs.

All you needed to do is specify somewhere
which categories you wish to cross index at some index tiddler,
e.g. Renaissance by Domain would need to specify
that Domain provides the categories to look for,
currently via tagging tiddlers, in your case via field values (big difference!).

Also, instead of a tiddler Renaissance by Domains,
I would first start with a tiddler Renaissance.
In that tiddler I would link all the possible index tiddlers,
tagged, of course, Index,
Renaissance being tagged Period,
so that — at some other Foo by Period index tiddler —
you could use all tiddlers tagging to Period in just the same manner.
These categorization tags for your index tiddlers are essential for xlist to work.

That's why xlist by default uses categories from the core list field,
so that — at some point — you can reorder your Periods by their start time....
and then have any index Foo by Period automagically show periods
in the right chronological order, provided it knows that Period is the thing to group by.

In fact, with the filter parameter you can already do that right now,
assuming each Period had a field called begin,
containing a valid (hence sortable) date format, e.g. 18900101 => 01. Jan 1890.

Of course, automatic indexes do need some more brain-power invested in the setup,
rather than the kind of typng power you are using in your current setup,
i.e. a lot of repetition of lists and many things to tweak if you want to change anything.

Not being critical, just trying to point out stuff so you see where you can improve the docs.

Not sure where exactly you were lost.

Can you formulate one or more precise questions,
that you would hope to find an answer for ...but didn't?

Best wishes, Tobias. 

Tobias Beer

unread,
Jan 16, 2015, 8:55:19 AM1/16/15
to tiddl...@googlegroups.com
Hi Dave,
 
However, I don't really want you to do that,
I actually want you to get a variant of xlist from me
that allow you to keep using those fields as list fields.

To allow for exactly that, I have completely rewritten xlist, again...


So, now it can handle all of these...
    1. a tag-category by other category-tags
    1. a field-category by category-tags
    2. a tag-category by category-fields
    3. a field-category by other category-fields
      Meaning: you can keep using your fields or tags, whichever you prefer!
      So, at this point, I'm pretty confident that
      xlist can give you any of the indexes you wanted.

      Best wishes, Tobias.
      Reply all
      Reply to author
      Forward
      0 new messages