Skip to content

novoid/tagstore

Repository files navigation


The tagstore research project was the PhD project of Karl Voit and his students. It was active in 2009-2013. the research platform tagstore will not be developed any further by us. However, if you find it interesting, you’re free to test and use the Python-based tagstore research prototype since it is free software.

If you are interested in the research result, please do read and cite the final PhD which can be found on the page with all the research papers. The PhD thesis document summarizes most of the other papers and puts them into context.

On Github, you can find multiple repositories such as the tagstore source code, and the data for the formal experiment one and for another formal experiment.

Karl Voit took the experience with this project and developed workflows and a series of open source tools for Personal Information Management for managing local files via tags. You may want to follow his blog posts about PIM.


This is the source code of http://Karl-Voit.at/tagstore/ which is a research platform to test certain aspects of file tagging in Personal Information Management.

The code of tagstore was developed 2010-2012 in a private SVN repository. For the sake of reproducible research, the complete source code history was scheduled to be migrated to here.

In the process of preparing the source code for the migration to GitHub I noticed that the history of the repository does not have a significant value since the latest and working version of tagstore contains its source code for everybody. Additionally, five co-authors wanted to stay anonymous. The other (non-anonymous) co-authors of this repository are in alphabetic order:

  • @geschob
  • @mpirrer
  • @novoid
  • @thefriedc
  • @wachjose88
  • @wintersw

Additionally, you can get the tool with installer packages at the homepage of the project. Each download option includes the Python sources.

Feel free to use the code according to the attached license.

README FOR TAGSTORE

This file is part of tagstore, an alternative way of storing and retrieving information.

This is a short description of how to configure and start the tagstore software.

Starting tagstore

STEP 0: prerequisites

a) open a commandline shell

b) test if python is available on your system path:

$python --version
(expected output, where 2.5 or higher is fine)
Python 2.5.0

if there is an output like this:

python: command not found

please check your system PATH variable and your python installation

STEP 1: create a new store

a) run the tagstore_manager file:

$/path_to_tagstore_installation/python tagstore_manager.py

OR

$/path_to_tagstore_installation/tagstore_manager.py	(make sure the executable flag is set for this file)

the manager window should appear

b) create a new store.

  • select the tab “Store Management”
  • click the button “New Tagstore” and select a directory where you want to create your new tagstore.
  • please make sure this directory is empty, so there can be no troubles with already existing files there. you can create a new directory directly at the selection dialog if you want to.
  • the selected directory should now appear in the list below the “New Tagstore” button.

c) check if the creation of the tagstore was successful:

  • go to the previously selected directory. check if there are following sub-directories:
    storage
    navigation
    categorization
    expired_items
        

d) close the manager by clicking the “Save” button in the bottom right corner.

STEP 2: start the daemon

Just run the tagstore.py file in the same way you ran the tagstore_manager file ($tagstore.py)

INFO: manually editing the store config file

Additional configuration of each store can be done by manually editing the store.cfg file it is located in the dir: $/path_to_store/.tagstore/store.cfg

Each line in this line represents a configuration parameter. Just the listed parameters are ment to by changed manually:

show_category_line

There are 4 different settings:

  • 0 … show just the describing tagline
  • 1 … show the describing tagline AND a categorizing tagline - freely selectable categorizing tags
  • 2 … show the describing tagline AND a categorizing tagline - only restricted vocabulary is allowed
  • 3 … show just the categorizing tagline - only restricted vocabulary is allowed

category_mandatory

  • true … if there is a categorizing tagline available there MUST be at least one tag provided
  • false … the categorizing tagline can be left empty

INFO: manually editing the application config file

General configuration of the tagstore application can be done by manually editing the tagstore.cfg file it is located in the dir: $/path_to_tagstore_installation/tsresources/conf/store.cfg

max_tags

Set the number of tags allowed to be used for tagging a single item up to 6 tags can be computed within a reasonable time.

WARNING: using higher numbers of tags can lead to incredible high computation time.

num_popular_tags

Set the number of recent/popular describing tags which should be shown as decision help.

In the same directory where this file is located, there is a file called tagstore.py. run tagstore.py -h for displaying optional starting parameters.

Known bugs

  • tagstore can not be installed and run from C:\Program files
    • Reason: tagstore needs writing permission to its config files which are located in the install directory
  • tagstore can not be installed in a folder which starts with an underline (_)

Releases

No releases published

Packages

No packages published

Languages