It's a fairly basic prototype for now, but I think it's useful nonetheless.
I've wanted this for a while (years, in fact - early concepts were
called TagNav*), but somehow never got around to it until now.
FWIW, being able to make use of jQuery made this significantly easier -
I probably would not have bothered otherwise.
-- F.
* not that the new name was any better...
JQuery :D
Mike
Thanks. It could certainly do with some improvements, as it doesn't seem
very intuitive at the moment - so I'm hoping someone with a better sense
of UI design will come along and offer suggestions...
> was your concept to use it as a menu? Or as a new way to navigate?
The basic idea is that tags are awesome, but easily under-used.
Large collections of tiddlers can be very intimidating, for authors and
readers alike. Tagging helps, but the usual single-level constraint is
limiting - especially because it constitutes a certain asymmetry between
assignment and retrieval.
The ability to drill into such collections by gradually refining the
filter should lighten the cognitive load. In addition, I expect this to
reveal relationships and "emergent hierarchies" among tiddlers.
(This is not an original idea of mine, of course - sites like Delicious
have long allowed multi-tag browsing. Nevertheless, the concept seems
exceptionally well-suited to the tiddler model and dynamic presentation
in a TiddlyWiki.)
I've started experimenting with this on TiddlyWeb documentation, which
proved useful and led to some unexpected insights:
http://tiddlyweb.peermore.com/wiki/#Navigation
(One of these insights is that more consistent tagging would be useful.)
-- F.
I've now also applied this to the jQuery API docs*, which seems even
more useful (due to the excellent metadata):
http://fnd.lewcid.org/misc/jQueryAPI.html
-- F.
* http://groups.google.com/group/tiddlywikidev/t/4974fa9717f669ab
So it creates a tags filter showing relevant information, with the
option to
add additional filters to drill down further (from menu bar via new
button)
or remove filters to drill out (from menu bar via click tag name)
somehow I got a prompt box instead of drop down from the first
example, can't seem to get it to replicate (not sure what I did)
I like the drop down much better ! (might be why I was initially
confused)
Any plan for excludeLists support? (or was it a feature to leave that
out?)
Awesome !
Mike
I guess that's how I should have explained it in the first place...
Thanks.
> somehow I got a prompt box instead of drop down from the first
> example, can't seem to get it to replicate (not sure what I did)
That was the earlier version (0.1); I added the "intelligent" selection
later in the day (v1.0).
> Any plan for excludeLists support?
I hadn't thought of that - would probably be worth doing, but I'm not
too keen on implementing it myself right now (though it should be easy,
especially if one decides to ignore the tag selection).
Obligatory: Feel free to submit a patch.
-- F.
My coding is beginner at best, (compared to others around here)
luckily it was pretty simple. . .
Unless you were thinking of adding it as a parameter to the macro,
which is possibly beyond me (not that I wouldn't give it a whirl)
Mike
Tobias.
On Mar 21, 10:50 pm, Tobias Beer <beertob...@googlemail.com> wrote:
> Only careful observation of the tooltips made me understand what the
> "exploring" bits are actually about. I guess it's not so much the
> interface but the name which was a bit confusing to me. Wouldn't
> something like TagListFilter go better with it?
I second this.
The name is a bit confusing, but the Plugin is great!
If you include excludeLists by default, __please__ make it
configurable.
-m
the more I play with the plugin the more I like it. . .
After initial hurdle it is very intuitive
Mike
Mike
- [+]
- filter
- add (filter)
- select (filter)
Tobias.
I think it might be quite powerfull to have a different dropdown (or
alternatively more than one)... one that can be configured in a way so
that one can (optionally) define a bracketed list of toplevel-tags or
main-tags... which will then give you a kind of "treelike" dropdown
with all those tags tagging to those toplevel tags. That way, it would
actually be more of an "exploring" process, whereas there'd be a
meaningful hierarchy and not just an alphabetically ordered tagsoup.
I tend to forget to mention these things, but this little plugin is
easy to work with and quite powerful stuff in what it does.
Tobias.
another way to explore various combinations of tags is:
http://www.TiddlyTools.com/#MatchTagsPlugin
Usage:
<<matchTags panel ...>>
renders an interactive form for you to enter a *boolean tag
expression*, as well as optional output format, separator, title, and
tags. You can use any combination of tags, with AND, OR, and NOT, as
well as nested parentheses as needed, to create complex selections,
such as:
(foo AND baz) OR NOT (bar OR mumble) OR (frotz AND NOT gronk)
The output (a list of matching tiddler titles) is generated into a
separate tiddler (default name = [[MatchingTiddlers]]), so that the
most recent results can be saved or copied/pasted into other tiddler
content.
enjoy
-e
Mike
> any other thoughts on excludeLists?
> I am going to have some spare time this week and might play with it
Your suggested patch seems quite elegant. (I haven't actually tested it
yet.)
I agree that it needs to be an optional parameter (not entirely sure
about the default behavior though), but that shouldn't be too hard:
http://tiddlywiki.org/wiki/Dev:Macro_Parameters#Named_Parameters
> Also, I think "new" isn't the best label for that button. Perhaps any
> of the following would be more intuitive. [...]
I agree, and have already changed my local copy to use "[+]" - not
perfect either, but certainly an improvement.
Also, selected tags should have an "X" icon to clarify that they can be
removed again.
Some styling of the container element would probably help as well.
> I guess it's not so much the interface but the name which was a bit
> confusing to me. Wouldn't something like TagListFilter go better with
> it?
Well, I'm the last person you'd want naming things - but I kinda like
the silly word play (I didn't realize it was that obscure though).
FWIW, I'd be happy for someone to fork this plugin and go their own way.
Apart from the name, I guess a better concise description would also be
useful. But I have a feeling adding the "faceted navigation" label will
only lead to more confusion...
> I think it might be quite powerfull to have a different dropdown
I can't quite visualize this at the moment - but it sounds like a
separate (yet worthwhile) plugin?
I'm rather busy this week, so there will be some latency on my part.
-- F.
Great plugin though.
Will work on excludeLists parameter tomorrow :P (Finishing may be
another subject)
Mike
Let me know if this is a taboo solution.
(might also be a solution for adding sort order options, see commented
code by overett1)
Mike (a little excited I found a solution, a little perplexed by
parameters)
On Mar 23, 8:03 pm, Mike <eris...@gmail.com> wrote:
> Starting here. . .http://www.strm.us/tw/examples_twgg/tagsplorer.h1
the demo shows the macro with some filters already in place, by
removing all of the filters you can see the full tiddler list.
The plugin does not change the tags on current tiddlers.
Seeing it in action with FND's (2) full examples shows the usage
better than the limited demo.
Hope that helps,
Mike
On Mar 24, 8:07 pm, Mike <eris...@gmail.com> wrote:
> I feel like I cheated. . .
> I was having problems adding a parameter (and not messing up the tags
> parameter)
> so I opted for a configuration cookie. . .http://www.strm.us/tw/examples_twgg/tagsplorer.h1
Maybe I am in left field with my approach, but I was thinking to
#add some sort orders in a similar manner (concept from code shared by
overett1)
#then add a dropdown options panel to change the settings from where
the macro is invoked. . .
Similar to http://www.tiddlytools.com/#SiteMenuSearch (search options
used in ToolbarCommands)
And what sort orders would be considered standard? (or desired?)
Alpha, Alpha reversed
Created, Created reversed
Modified, Modified reversed
Would it desired to also change the sort order of the tags list (from
the + (new) dropdown)
Any thoughts or guidance? (still not sure if this is the correct path
to pursue. . .)
Mike
> 1. In the demo tiddler, when i remove a tag by clicking on it, it gets
> added to the list below, which is fine.
I guess this is another case of the purpose being unclear. Hopefully the
new presentation will mitigate that issue.
> 2. When one 'adds' a new tag in the tagsplorer, isnt it supposed to be
> added to the containing tiddler's tag list?
See above.
> I opted for a configuration cookie. [...]
> Let me know if this is a taboo solution.
Well, I think it's less than ideal, because it's a global setting. For
example, I might want a version of the macro ignoring excludeLists right
next to one excluding such tiddlers.
Having said that, done is better than perfect.
> If using the config.options method to change variables [...]
> how can I specify that when the status of the cookie changes to
> refresh Display
I believe the propagateOption method takes care of this - you might
wanna ask on the dev group though.
> I was thinking to #add some sort orders in a similar manner
Sounds a bit like feature creep to me - but that might be because I
can't quite visualize it yet.
-- F.
I like the additions, and I would still like to add a excludeLists
parameter, but it is beyond my capabilities right now, I need to spend
some time building some simple macros w/ parameters before I can
tackle this
walk before running :D
the Dev:Macros is a good starter, but after a few hours of
experimenting I felt like I was missing something, but I don't know
enough yet to ask what I am doing wrong.
A great plugin ! and getting better. . .
Mike
Expand the concept to become a kind of semi-visual boolean filter for
tags, i.e other than just the current "AND" operator, start off the
drop down tags list by listing the basic boolean operators, including
brackets, as options to choose from. Then instead of just listing the
chosen tags (with the current implied AND between them), show the full
expression. A bit like modern calculators. If no booleans are chosen,
then AND is the presumed default (and a NOT for excludeLists).
Perhaps a little slider as the first list element in the tags drop
down list, that expands into this boolean list.
I guess I'm also suggesting this to Mr.ELS (or anyone else) as an
optional interface for matchtagsplugin?
Just an idea. I'm tired, LOL.
Thanks for making this available FND!
Isolating the problem sounds like a good plan.
I was gonna give you some sample code, but then went ahead and added it
directly to the macro:
http://trac.tiddlywiki.org/changeset/11906
I haven't tested it extensively, but it seems like that results in the
desired behavior (as far as I understood the request).
> Expand the concept to become a kind of semi-visual boolean filter
That sounds useful - however, it goes beyond the scope of this
particular plugin, so I recommend forking the code to extend it.
-- F.
Great Work, need to compare v1.1 vs v1.2 to figure how you did it :P
Have a good day,
Mike
On Mar 27, 5:07 am, FND <F...@gmx.net> wrote:
I'm guessing this should addess that issue:
http://trac.tiddlywiki.org/changeset/11907
http://svn.tiddlywiki.org/Trunk/contributors/FND/plugins/TagsplorerMacro.js
> Found a minor bug in the v1.2.0
> <<tagsplorer>> (no parameters)
> returns a error. . .(type error: tags is undefined)
Oops - should be fixed now. Good catch.
> one more addition. . . can you exclude multiple tags?
Nope - I didn't wanna make it too complex. (In fact, I was considering
just hardcoding the "excludeLists" tag, making the parameter a simple
boolean value.)
> need to compare v1.1 vs v1.2 to figure how you did it
That's why I linked you to the diff (changeset) before.
Seems like adding support for multiple exclude tags as per above would
be a good exercise.
-- F.
Cheers
Jonathan
Good catch - those returns got lost in some early refactoring.
Fixed now:
http://trac.tiddlywiki.org/changeset/11913
-- F.
I appreciate your patience,
Mike
P.S. Can anyone reccomend a good JQuery book - websites are good, I
just learn better from a old school book (which will probably be
slightly out dated)
Again, thank you for a wonderful little plugin.
On Mar 29, 11:39 am, FND <F...@gmx.net> wrote:
> > Would like to se a re-focus onto that top field, ie. to where the
> > chosen tags are listed. Currently, after selecting a second tag from
> > a longer(!) list as in your supplied example, the focus is set to the
> > top of the resulting list.
>
> I'm guessing this should addess that issue:http://trac.tiddlywiki.org/changeset/11907http://svn.tiddlywiki.org/Trunk/contributors/FND/plugins/TagsplorerMa...
Tobias.
On Mar 31, 12:41 am, twgrp <matiasg...@gmail.com> wrote:
> Another minor suggestion;
> The problem becomes particularly obvious when viewinghttp://fnd.lewcid.org/misc/jQueryAPI.html
> and adding e.g the tag "DOM Insertion, Inside" resulting in a tags
> list that looks like;
> jQuery API DOM Insertion, Inside
> Unless placing the mouse directly over a tag there, it is very
> difficult to tell how many tags this is and exactly what they are.
> I suggest a separator between tags, such as pipe surrounded by spaces,
> i.e: _|_
> but in a very faint color.
>
> Again, thank you for a wonderful little plugin.
>
> On Mar 29, 11:39 am, FND <F...@gmx.net> wrote:
>
> > > Would like to se a re-focus onto that top field, ie. to where the
> > > chosen tags are listed. Currently, after selecting a second tag from
> > > a longer(!) list as in your supplied example, the focus is set to the
> > > top of the resulting list.
>
> > I'm guessing this should addess that issue:http://trac.tiddlywiki.org/changeset/11907http://svn.tiddlywiki.org/T......
Still think some color contrast is a good idea.
(Procrastinating something? Who, me? Are these 5 pixels NOT of
uttermost importance? LOL)
I'd experimented with this, but didn't come up with a satisfying solution.
Instead of adding an extra character (separation of concerns and all), I
added a border and padding:
.tagsplorer .tagSelection li {
float: left;
margin-right: 0.5em;
border-left: 1px solid [[ColorPalette::TertiaryLight]];
padding-left: 0.5em;
}
(this rule can be amended in the StyleSheetTagsplorer shadow tiddler)
A different approach might be to make tags look like buttons - this can
be tested with the following line of JavaScript:
jQuery(".tagSelection a").addClass("button");
(e.g. executed via Firebug, or with a "javascript:" prefix in the
browser's address bar)
Even nicer would be an approach similar to Delicious's arrows:
http://delicious.com/tag/tiddlywiki+plugins
This is tricky to implement without images - though not impossible:
http://www.jonrobson.me.uk/static/development/css_arrows/arrow.html
If we can agree on a particular style here, I'd add it to the plugin.
-- F.
and it would add a bit of style w/ function.. ..
Mike
Tobias.
var tiddlers = store.reverseLookup("title", excludeTag);
I've also added a cross after the tags by amending refreshTags as
follows:
createTagElement(clone, tag+" ×", self.locale.delTagTooltip,
self.delTag);
and delTag as follows:
tags.remove(btn.text().replace(/ ×$/, ""));
Jonathan
I haven't had time to look into this yet, and probably won't for a
while. CSS wizardry contributions (or research into prior art) would be
most welcome...
> The new css border styling looks good + it's much cleaner than hard-
> coding, semantically useless separators.
So should we settle for that until someone comes along to implement
those fancy image-less arrows?
> To ensure tiddlers included using IncludePlugin are listed, it would
> be good if the first line of the getTiddlers function could use
> reverseLookup
Is there any particular reason why the IncludePlugin doesn't support
getTiddlers - it sounds like perhaps it should? (I'm not intimately
familiar with that particular plugin.)
> I've also added a cross after the tags by amending refreshTags
As previously mentioned, I'm not too keen on adding magic characters for
presentational purposes, so I probably won't adopt this change. (Though
I gotta admit that I currently don't have a better solution.)
Of course it's perfectly fine for you to keep your own little fork. You
might want to amend the Name slice though to avoid confusion.
-- F.
According to the comments in the source code it's because getTiddlers
is used for saving, and the idea of ImportPlugin is that external
tiddlers are imported but not saved.
> As previously mentioned, I'm not too keen on adding magic characters for
> presentational purposes, so I probably won't adopt this change. (Though
> I gotta admit that I currently don't have a better solution.)
> Of course it's perfectly fine for you to keep your own little fork. You
> might want to amend the Name slice though to avoid confusion.
Fair enough, it was the reference to delicious above that made me
think it might work.
J
It seems there is no clean (as in KISS) way to achieve this.
So I settled for subtle rounded corners (supported by modern browsers,
degrades gracefully) - not perfect, but an improvement I guess:
http://fnd.lewcid.org/misc/jQueryAPI.html
-- F.
After thinking about this some more, I'm not comfortable with such a
change (for one thing, reverseLookup seems less performant than
getTiddlers).
So I suggest you create a simple fork, replacing just one line:
- var tiddlers = store.getTiddlers("title", excludeTag);
+ var tiddlers = store.reverseLookup("tags", excludeTag, false, "title");
Does that seem acceptable?
-- F.
That's fine with me, thanks for considering it!
Jonathan
Not sure if you have already addressed this, but in my document the
tag selection popup was not closing after a selection was made
(I assume you can find a better way to patch this) (ff3.5 winXP - in
case it is a browser related issue)
My Patch:
onTagClick: function(ev) {
macro.refreshTags(data.tags, data.container);
macro.refreshTiddlers(data.tiddlers, data.container);
macro.refreshTags(tags); //added to close popup after tag selection
return false;
From: TagsplorerMacro v1.3.2 stable
Mike
I had noticed this as well - while it is strange, it turned out to be
quite useful sometimes, so I didn't fix it immediately.
Thanks for the reminder though, as that prompted me to fix it properly:
http://trac.tiddlywiki.org/changeset/12013
(I'm not sure whether this works across browsers; it's possible
stopPropagation should be used instead.)
FWIW, this is consistent with the core's behavior:
http://trac.tiddlywiki.org/ticket/426
-- F.
Mike
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To post to this group, send email to tiddl...@googlegroups.com.
To unsubscribe from this group, send email to tiddlywiki+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
As you've discovered, the latest version of my plugins is usually
available via SVN.
That's mostly because I can't be bothered to clean up my DevPad site or
to set up a new distribution site. (Perhaps TiddlySpace will serve that
purpose eventually.)
> I am very impressed with the possibilities and functionality of the
> one linked to in the first email, in this thread !
FWIW, I've just updated that demo site to use the latest version. I've
also changed the canonical URL:
http://fnd.lewcid.org/misc/TagsplorerDemo.html
> Has the question been put to add a Not Tag list that you could also
> remove or add tag names from that will filter out particular tags.
I intentionally only support excludeLists to reduce complexity. I
believe there was talk of someone forking the plugin to allow for more
sophisticated exclusion, but that hasn't happened yet.
> *I understand the current behavior to be* [...]
That sounds about right, except:
> Once a tag is selected it shows you all tiddlers tagged with it (and
> nothing else)
That last part is not accurate. There might be any number of additional
tags on any of the matching tiddlers (that's kind of the point;
gradually refining the results).
> *My desired behavior would include*
> a NOT button
As with previous suggestions, I believe this is interesting - but
possibly outside the scope of my own implementation.
Patches and forks welcome...
-- F.
feel free to create a patch and post it here if you have the time,
otherwise I will continue to work in that direction. . . (no specific
timeline)
Mike
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To post to this group, send email to tiddl...@googlegroups.com.
To unsubscribe from this group, send email to tiddlywiki+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.