Complex tagging problem

65 views
Skip to first unread message

Aman

unread,
Jul 14, 2011, 12:45:56 PM7/14/11
to TiddlyWiki
Hello,

I have a tiddly wiki I am using to study and keep notes on a large
volume of data. I have articles that I have tagged a certain way based
on the topic that it is under (competency), the importance (priority)
and the number of times I have reviewed the topic (review). To help
illustrate, here is an example of three sepearte tiddlers:

---------------------------------
Name: Tiddler 1
---------------------------------
Article contents
---------------------------------
Tags: aaa must-know Review:1
---------------------------------


---------------------------------
Name: Tiddler 2
---------------------------------
Article contents
---------------------------------
Tags: ccc nice-to-know aux
---------------------------------


---------------------------------
Name: Tiddler 2
---------------------------------
Article contents
---------------------------------
Tags: nice-to-know Review:1
---------------------------------


The tags I am using are as follows

competency (this is a meta-tag, tagging other tags - not used on
articles themselves)
-> aaa (regular tags - used on articles)
-> bbb
-> ccc
-> ddd
-> and so on

priority (meta-tag)
-> must-know (regular tags)
-> nice-to-know
-> not-likely

review (meta-tag)
-> Review:1
-> Review:2
-> and so on - more will be added as articles are reviewed


So as you can see, the articles can have (or not have) various
combinations of tags from each of the meta tags, as well as have other
tags (ex: the "aux" tag on Tiddler 2)

Now given this article structure, I would like a list to be displayed
as follows:

aaa (1) <--- number of articles in this competency; if possible please
> must-know (1)
> Review:1 (1)
> Tiddler 1 <--- the example article 1
> Review:2 (0)
> Not reviewed (0)
> nice-to-know (0)
> Review:1
> Review:2
> Not reviewed
> not-likely
> Review:1
> Review:2
> Not reviewed
> not categorized (all articles that are in aaa competency but do
not have a priority tag)
> Review:1
> Review:2
> Not reviewed
bbb
(// just saving space here but bbb would be the same as aaa and ccc
examples //)
ccc
> must-know
> Review:1
> Review:2
> Not reviewed
> nice-to-know
> Review:1
> Review:2
> Not reviewed
> Tiddler 2 <--- the example article 2
> not-likely
> Review:1
> Review:2
> Not reviewed
> not categorized
> Review:1
> Review:2
> Not reviewed
and so on
Others (articles that don't have a competency tag assigned)
> must-know
> Review:1
> Review:2
> Not reviewed
> nice-to-know
> Review:1
> Tiddler 3 <--- the example article 3
> Review:2
> Not reviewed
> not-likely
> Review:1
> Review:2
> Not reviewed
> not categorized
> Review:1
> Review:2
> Not reviewed

As you can see the tree gets big with branches pretty fast, so
solution that hides all the branches that don't have any articles
would be great. A slider or menu system would be ideal so it can be
thrown in the MainMenu tiddler and not take up vertical space until
one of the items is expanded, or a table if that is not possible.
Really if all you can teach me to program is an html list, I can style
it myself.

Just as an aside, I am starting off with just a few articles but will
be adding up to hundreds. Scalability, crosslinking and referencing is
the reason I decided to go the TW way. I am willing to learn and try
to come up with the solution myself, if someone can please point me
towards other plugins, or something else I may not have considered.

I understand this may be a tall order, but I have tried
TiddlerListPlugin, TagGrid, ForEachPlugin (although I don't understand
it well) and a few other plugins out there that I though could do
this, but have not come up with an acceptable solution. I appreciate
any help you folks can provide. Thanks.

Dave Parker

unread,
Jul 14, 2011, 6:46:25 PM7/14/11
to TiddlyWiki
I may not completely understand what you want, but I'm pretty sure the
sitemap display you can select with tagglytagging will do that

http://mptw.tiddlyspot.com/

not all the tiddlers on the site have a lot of sub tiddlers, but if
you click on "group" in the tagging area, I think the next one is
sitemap.

Aman

unread,
Jul 14, 2011, 11:35:25 PM7/14/11
to TiddlyWiki
Hi,

Thanks for replying. I have tried the mptw sitemap view and it is not
what I need. Here is a blank MPTW example file I made for the scenario
described above (http://sharesend.com/gnnyd). If you look at the
competency, priority and review tag tiddlers as sitemap, they do not
cascade in the fashion I want. They simply show the tiddlers under
each tag. What I would like, using the three tiddlers in the example
is as follows (using a list, maybe that is more apparent to what I
need):

*aaa
**must-know
***Review:1
******New Tiddler (1)
*ccc
**nice-to-know
***No review tag
****New Tiddler (2)
*No competency tag
**nice-to-know
***Review:1
******New Tiddler (3)

So basically, with the sitemap in mptw, I can get each of the meta
tags (competency, priority and review) separately, but I cannot get
them in a hierarchy (competency -> priority -> review -> tiddlers)

Hope that was better. Once again thanks for reading and responding.
Appreciate the tip regardless.

HansBKK

unread,
Jul 15, 2011, 3:34:11 AM7/15/11
to tiddl...@googlegroups.com
I don't find your hierarchy needs at all complex - if you do some searching in this group's archives (http://groups.google.com/d/msg/tiddlywiki/Ov4LjtQVWPw/YcVIb6Wni7sJ) you'll find this is very much a pet topic of mine, but I'm afraid I don't have quick and easy answers for your actual question, but hope you find the below somewhat helpful in a larger context.


I have been doing exactly what you're seeking for many years, but using Evernote rather than TW. As you're discovering, TW does let you set up the facility to tag anyway you like, and easily retrieve based on single tags, but I haven't found any canned solution that gives you good hierarchical summary display and navigation "out of the box". I'm sure it can be done, but I'm sure it would take a competent and TW-familiar javascript programmer a reasonable amount of time to accomplish, and of course different people have different ideas as to how such a scheme should work.

What I do is use Evernote for my "collection and processing" of random snippets from texts and the web, brainstorming notes etc, and evolved over time the content-specific topic tagging index terms hierarchy. Evernote's very very flexible and forgiving of changing meta-organizing schemes as you go along, there really isn't anything stopping you from setting up as many different ways as you like for slicing/dicing the content, the ability to select a sub-branch of your tag hierarchy, then do various AND/OR combinations simply by clicking/shift-ctrl-clicking on the other branches or single tags is really a thing of beauty from a UI ease-of-use POV.

Once a given topic area and it's organizational taxonomy has started to gel in my brain, I then start moving the content over to Tiddlywiki, which truly excels at cross-platform and portable storage and presentation, but I've found you have to have a reasonably well-developed idea of how you want the end-user to navigate through the data, set up a traditional, not-too-deep navigation hierarchy, perhaps coupled with a listing of all content-indexing terms for them to browse, along of course with intra-TW tiddler linking from within the inline content.

I really like "true hierarchical" tag navigation, where you can select a parent tag and all its children get selected/filtered at the same time. That is why I have stuck with Evernote v2.2 over the years, as when they went to their cloud-model newer versions, they implemented a tagging scheme that could be made to look hierarchical but in fact didn't work that way under the covers.

However there's little support and it can be difficult to find, probably will be issues with future OS versions, etc. So I'd advise checking out the current version of Evernote and see if you can make it work for you. If not contact me and I'll set you up with the older version to see if you want to go that route. Or of course feel free to ask specific questions on what I'm doing in TW in this area here.

Aman

unread,
Jul 15, 2011, 10:20:41 AM7/15/11
to TiddlyWiki
Okay, I have not looked at Evernote so thanks for the idea. I already
have about quite a lot of articles in TW and due to the benefits of TW
you mentioned, I don't want to be switching for this project but I
will definitely keep in mind for future.

I looked at that thread you pointed to but it seems for folks merging
multiple TWs and you are right, my needs seem relatively less
"complex". Thanks for acknowledging that there may not be a simple
solution that exists. Therefore, I took a shot at scripting a function
for this and making a plugin but my javascript skills are rudimentary
so I am wondering if the following approach will work.

pass metatags to a plugin in the order I want such as <<myPlugin
competency priority review>>
load all tags that are tagged with competency in an array -> array
looks like [aaa, bbb, ccc, ddd, and so on]
load all tags that are tagged with priority in an array -> array [must-
know, nice-to-know, not-likely]
load all tags that are tagged with review in an array -> array [Review:
0, Review:1, Review:2]

for loop (each item in competency[c] array) {
for loop (each item in priority[p] array) {
for loop (each item in review[r] array) {
if (tiddlers with tags competency[c] priority [p] and review
[r] > 0) {
*make headings for competency[c] priority [p] and review
[r]
***list tiddlers with tags competency[c] priority [p] and
review [r]
}
}
}
}

This way will not make the "Others" item but that can be worked on. If
a developer can tell me whether I am on the right track here, I will
pursue this further. As an aside, is there a way of doing this within
the ForEachTiddler plugin?

PMario

unread,
Jul 15, 2011, 11:22:36 AM7/15/11
to TiddlyWiki
There was a thread about project management some time ago [1].
I fiddled together a little project template TW, using several
plugins. [2]

It may be usefull.

-mario

[1] http://groups.google.com/group/tiddlywiki/browse_thread/thread/d771f5d335540498/e8c81032b72332f7
[2] http://a-project.tiddlyspot.com/

HansBKK

unread,
Jul 15, 2011, 12:14:11 PM7/15/11
to tiddl...@googlegroups.com
I'd really like to see such capabilities for TW, wish I could help on the coding side. . .

In looking over past discussions on this topic, this bit was also relevant, maybe you'll find useful ideas or pointers to existing plugins you can check out to crib ideas from.

>> I found that google's search isn't using the different grammar forms of "hierarchy" as synonyms, so here's a more "global" search.
>> http://groups.google.com/forum/#!searchin/tiddlywiki/hierarchy$20OR$20hierarchical$20OR$20hierarchies
>> My particular interest in this topic is allowing for an arbitrary group of imported tiddlers to auto-magically create a well-structured navigation tree menu, rather than forcing the user to manually create the menu.


Reply all
Reply to author
Forward
0 new messages