GNOME Bugzilla – Bug 380634
Note Tagging
Last modified: 2009-01-28 14:58:55 UTC
As mentioned on the mailing list, I've created a plugin adding tagging support to Tomboy. You add lines like this: Tags: Foo, Bar and get your notes categorized within some separate view. Want to get it merged into tomboy and don't want it to get lost, so I create this ticket.
Created attachment 77373 [details] The Tagging plugin
Created attachment 77374 [details] Current state of the tags view Quite rudimentary still. Don't know yet if it should stay as separate window or if there is a good way for merging it into the search view.
Pardon. I am stupid: Just read the patch name.
Plugin has been updated to use Tomboy.ActionManager (see https://taschenorakel.de/svn/repos/tomboy-tagging/trunk rev 446).
Created attachment 81024 [details] [review] Exact same code as before, but patch will apply to latest SVN Still needs some work to get tags to update quickly. Would be nice to have an improved UI for tagging (that standard users could use).
This has been chosen as one of the main features for Tomboy 0.8.0 (the next stable release). For a bit more information, please see the developer meeting notes: http://live.gnome.org/Tomboy/DevMeeting08Mar2007
I'm changing the summary of this bug because tagging is now scheduled to be a main feature of Tomboy (and not just a plugin).
Created attachment 86608 [details] [review] Draft at tagging subsystem This patch: 1. Adds a TaggingManger to give access to all the tags to any piece of code in Tomboy 2. Provides a first stab at a possible UI in the note for adding/removing tags 3. Reads and serializes the tags into the tomboy.note XML file It does not provide anything for the Search Window, which is where some good stuff will come for searching/filtering notes by tags.
Created attachment 86609 [details] Screenshot of what the previous patch does
I know Alex mentioned he liked the tagging UI on del.icio.us. I'm mentioning it here so that it's documented in the bug report. Personally, I prefer the UI in Blogger. You have a text box, which when you're done may look like this: [ work, cool stuff, tomboy, gnome, summer of code ] As you're typing, Blogger auto-completes existing tags (you can hit tab to complete, etc). I guess what I like is that I can just type a simple comma-separated list without clicking any buttons. Also I like that my tags can have spaces in them (unlike del.icio.us). Just my 2 cents... I actually haven't tried this patch out yet so don't consider this a criticism of the existing UI. ;-)
Created attachment 86653 [details] [review] Adds rudimentary tag panel to the search window This patch adds a basic TreeView to the Search All Notes window to display existing tags. You can then select them by checkbox and it will filter down your list of notes. In this implementation, selected tags use an OR instead of an AND. For example, if were to select the tag named "meeting" and the tag named "linux", notes with the "meeting" tag OR the "linux" tag will appear in the list. I'm not sure if I like it this way. This is how f-spot works, for example. iPhoto, from what I remember uses an AND. I'm not so concerned about the UI (yet)... Any comments/concerns/thoughts on the underlying TagManager tags subsystem that notes use (in this patch)? If it's solid enough, let's then move forward and explore the different UI alternatives. The UI in this patch is only there to let us get a feel for how tagging will/won't be beneficial in Tomboy. With tagging, what can we now do? How does it benefit the end-user? What operations should they be able to do? It would be wise to hack up a few of these features before spending a bunch of time figuring out the tagging UI (in my opinion).
Committed the patch from comment #11 so people can start trying the tagging stuff out easily (r1122).
Created attachment 86717 [details] Blogger tag entry and autocomplete screenshot I thought this might be useful, for reference.
Created attachment 86718 [details] Blogger tag entry with tag cloud selection (screenshot) The rest of the blogger UI for tagging (they call tags "labels").
Created attachment 86719 [details] [review] Patch fixing boxes in tag cloud I found a way to remove the ugly boxes that remain in the cloud when removing tags. The patch searches the anchor that has no widgets any more and deletes it from the buffer.
Created attachment 86726 [details] [review] Removes the TextChildAnchor in an O(1) operation Thanks Stefan for figuring that out! Adapted the patch so it doesn't have to search for the anchors and instead looks them up directly in a Dictionary. Committed to trunk (r1125).
Re Comment 11: I'd prefer if selected tags would do an AND-search. Doing an OR-query is easy anyhow: just run a separate search for each tag. Conversely it may currently be very bothersome to find all notes that have both a 'school' and a 'todo' tag. Other than that, I really dig the tag feature!
Created attachment 92727 [details] [review] Incomplete work on tag UI improvement The schedule and vacation time are gonna prevent me from completing this for the 0.8 release, so I'm just saving this off for now. If anyone else wants to finish it up, please do so!
Created attachment 96915 [details] [review] More work for applying to svn trunk Just saving off the little amount of work I started tonight. I added the ability for the user to add multiple tags at a time by separating by comma the different tags. This still needs a lot of work, but it's a teeny bit closer.
Given that notes can be searched by the text in them, what is the point of tags at all? The text search mechanism is much more general. If they want, users can already "tag" their notes by writing tag words in the title or the line under the title. A separate tag system would have a UI separate from the main notes, that would essentially create a mode; it would require using menus and mouse or keyboard shortcuts; it may be partly obscured while typing in a note, and will require understanding how to use. Lastly, it will make the program larger, and so less suitable for older computers, and the added code would increase the likelihood of bugs.
Ok, so I'm looking at wrapping this one up this friday as part of a hackfest, any known issues I should look out for?
Setting the default assignee and QA Contact to "tomboy-maint@gnome.bugs".
Closing. We opted to provide Notebook support instead. You can still tag notes programatically through an add-in, or through the dbus interface. Notebooks are, after all, just a special kind of tag. And the Tagging add-in we were working on is still in SVN, and probably still works. But I don't think we're going to add any UI to Tomboy for tagging at this point.