Tagging and the new Tags Tree

This is a quick update on how the new Tagging system is coming along, and to show you the new Tags Tree. Without further ado here it is:

The Tags Tree

The first thing to note is the new Tags Tree button on the Knowledge Tree bar. The Tags Tree presents each Tag as a Folder, which in turn contains the Articles which include that Tag. Like the Knowledge Tree you click on a Folder and see all the articles in that folder in the content window, or select and display specific articles.

Next you can see the same article tagged into multiple folders. For example the article titled CodeProject: CppSQLite … is tagged with C++, Database, Library and SQL as shown in the next screen shot. If you look back at the first screen shot you will see three of the Tag folders expanded and this article in them. The fourth tag Library, is collapsed.

Example Article Tags field 

Editing an articles Tags in the content window, updates the Tags Tree accordingly. For example if you delete the tag SQL for this article, the article will be removed from the SQL folder. Similarly adding new tags to the article, will make it appear in the folders for those tags.

You can also edit the Tags themselves, either in the Tree or via. their Folder in the content window. When you rename a tag one of two things happen. If the new name doesn’t already exist, the tag simply changes to the new name and the tree is updated. If the new name does exist then all of the articles with the original tag are moved to the folder with the new name, and the original tag is deleted. Where an article has both the new and the original tag, the original tag is deleted from the articles tags field. A prompt is displayed allowing you to Cancel a rename where the new name already exists, preventing the articles from being moved and merged.

The ability to rename and merge tagged articles is an important one. For example if you had created the tags cattle and cow, used these these in lots of articles and then realized this was a mistake and you should have only used cattle, then all you need to do is rename the tag cow to cattle.

Tags can also be deleted via. the new Tags context menu.

The design of the the Tags system is such that rename and deletion of tags happens very quickly. In the case of  renaming a tag to a non-existing name, the entire knowledge base is updated instantly, even if that tag is used in a large number of articles.

As mentioned in recent posts the new tags system has been implemented using the a new SQL Database Engine and so far, I am very pleased with how this has come together and is how well it is working. But it is early days and so far only Tags use the new database. The design work for moving all existing Knowledge Base content to the SQL Database Engine is progressing smoothly.

There is still a bit more code to write and more testing to be done, but a release with Tagging isn’t far away now.

10 Replies to “Tagging and the new Tags Tree”

  1. The tag tree is simply beautiful! Now I can see what you meant sometime ago that more views are possible with the tree component you have created.

    I also like your attention to detail: “A prompt is displayed allowing you to Cancel a rename where the new name already exists, preventing the articles from being moved and merged.” Indeed, a powerful system should offer protection from the users themselves 🙂

    Cheers, keep up the great work!


  2. Neville, I’m thrilled at the fast progress you’re making – and I can’t wait to start using Surfulater with tags. Fantastic news!


  3. Great system tag. In the past sometime I left Surfulater to use Ultrarecall or MyBaseDesktop but always came back. Now with your tag I’ll never go away anymore. May I ask (but I don’t Know if it possibile) more icons and customizable fonts in the tree, they’re a little small now and I don’t know how make it bigger
    Many thanks indeed
    ciao Paola

  4. This will definitely add utility. Thank you.

    It may seem unfair immediately to ask for more but here goes anyway :

    Tagging would be most useful to me if it worked like an outline, where you could rearrange the order of the folders.

    Better yet would be the ability to nest folders within folders on the model of an outline.

    This would allow writers to collect and organize (i.e., outline) the information for an article or chapter. Some other programs that do this–but don’t do other things as well as Surfulater–are Zoot and the old Ecco Pro.

  5. Tagging looks great–can’t wait!
    Earlier versions of EverNote, which I dropped a long time ago in favor of Surfulater, did have one nice feature which would be useful if implemented in Surfulater. This was “auto-tagging” (not sure if they called it that): you could define a keyword and all articles which included that word would automatically be tagged. For instance, if you defined the word “China” as a keyword, any material containing that word that you clipped to the application would appear in the taglist for China.

  6. I am looking for a replacement for Evernote because their new direction removes the main features that made the application useful to me.

    For me tags have become necessary in an information manager. Besides the hierarchical tag-tree structure you show, and the auto-tagging feature mentioned by Josh, I also need to be able to form inclusion and exclusion sets of tags like Evernote 2.2’s ‘interaction panel’ (only hopefully more complete); and also be able to constrain searches to any particular set.

  7. @Mark, I would have thought the current Knowledge Tree would let you organize articles into an outline.

    @Joel, I have thought about auto-tagging and also allowing rules to be specified to control which folders (or tags) articles went into. However the system I personally favour is having a list of relevant tags deduced which you can select from.

    @Ed, Evernote seem to be making a major change in direction. The first pre-release of Surfulater out in the next few days includes a Tree with Tags along with the Tags associated with all articles for each Tag, displayed one level below each Tag. This is akin to the Delicious Firefox add-in mentioned on the forum by Taras here: http://www.softasitgets.com/forums/showthread.php?t=1547

    Prior to Taras’s post I was thinking of enabling users to specify Tag search expressions which would appear as virtual Tags in the tree. For example you could specify “car and ford and not 2006” and all matching articles would be displayed. This may well be added in the future, but first I want see what folks think of the current implementation.

Comments are closed.