HierTag: een hiërarchisch en taggebaseerd bestandssysteem voor Linux.

HierTagEen hiërarchisch bestandssysteem groepeert bestanden in mappen, welke op zich weer in andere mappen gegroepeerd worden. Zo wordt een boomstructuur gecreëerd. Dit is wat zowat iedereen momenteel gebruikt.

Een taggebaseerd bestandssysteem sorteert bestanden niet langer in een boomstructuur. Tags, beschrijvende kernwoorden, worden toegekend aan bestanden. Door tags vervolgens te combineren kunnen bestanden teruggevonden worden.

HierTag combineert beide systemen. Bestanden zijn nog steeds opgeslagen in een hiërarchie. Er zijn echter ook tags mee geassocieerd. Daardoor kan vanuit elke map gezocht worden naar bestanden binnen die map (en diens submappen) op basis van tags.

In het volgende stuk wordt dieper ingegaan op de werking van HierTag. Om HierTag meteen uit te testen kan je naar de download sectie gaan onderaan de pagina.

Hoe werkt HierTag?

HierTag wordt geladen in de bestaande hiërarchie. Binnen HierTag zijn mappen en bestanden beschikbaar net zoals in de bestaande hiërarchie. In elke map worden echter 3 speciale submappen toegevoegd: +ADD, +FIND en +REMOVE. Deze zorgen voor de tagfunctionaliteit.

Tags toevoegen

De map +ADD kan gebruikt worden om tags toe te voegen aan een bestaand bestand of tags toe te kennen tijdens het opslaan. Om tags toe te kennen aan een bestaand bestand wordt het bestand verplaatst naar een map (die een tag voorstelt) binnen de map +ADD. Om aan het bestand /Foto's/Londen.jpg de tag londen toe te voegen, wordt het bestand verplaatst naar /Foto's/+ADD/londen. Om meerdere tags toe te kennen wordt de map +AND gebruikt: /Foto's/+ADD/londen/+AND/foto.

Aan een nieuw bestand tags toekennen kan door vanuit de map in de hiërarchie waarin het bestand opgeslagen moet worden de map +ADD te openen, de tags die je wilt toekennen te selecteren (gescheiden door +AND) en ten slotte de map +SAVE te selecteren. Een voorbeeld: /Foto's/+ADD/parijs/+AND/eiffeltoren/+SAVE/parijs.jpg. Hierbij wordt het bestand parijs.jpg opgeslagen in de map /Foto's. De tags parijs en eiffeltoren worden ook meteen aan het bestand toegekend.

Tags verwijderen

Tags verwijderen verloopt vrij synchroon aan het toevoegen van tags. Een bestaand bestand wordt verplaatst naar de map +REMOVE, gevolgd door de te verwijderen tags, gescheiden door +AND. Wanneer het bestand /Foto's/londen.jpg verplaatst wordt naar de map /Foto's/+REMOVE/londen/+AND/jpg, worden de tags londen en jpg niet langer geassociëerd met het bestand.

Zoeken op basis van tags

Eénmaal tags geassociëerd zijn met bestanden kunnen ze gebruikt worden om bestanden terug te vinden door de map +FIND te openen. Er wordt enkel gezocht naar bestanden in de map (en diens submappen) van waaruit de map +FIND geopend werd. /Foto's/+FIND zoekt zo bijvoorbeeld op alle bestanden in de map /Foto's en diens submappen.

Wanneer de map +FIND geopend is, is een lijst van alle relevante tags te zien. Door een tag te selecteren krijgt de gebruiker de volgende mogelijkheden: +AND, +OR, +COMBINE_WITH en +FILES. Door deze laatste map te openen is het resultaat van de tagselectie zichtbaar. /+FIND/londen/+FILES geeft zo bijvoorbeeld alle bestanden die getagged zijn als londen.

De andere opties (+AND, +OR en +COMBINE_WITH) geven de mogelijkheid om tags met elkaar te combineren. Met +AND worden enkel bestanden geselecteerd die getagged zijn met beide tags. Met +OR de bestanden die getagged met één van beide tags. Met +COMBINE_WITH ten slotte wordt het resultaat van 2 losse tagselecties gecombineerd. Dit kan best verduidelijkt worden aan de hand van enkele voorbeelden.

/+FIND/foto/+AND/londen/+FILES

Dit levert alle bestanden getagged als foto en londen.

/+FIND/foto/+OR/film/+FILES

Dit levert alle bestanden getagged als foto, alsook alle bestanden getagged als film.

+AND heeft voorrang op +OR:

/+FIND/foto/+AND/londen/+OR/parijs/+FILES

Dit levert alle bestanden getagged als londen of parijs, maar ook als foto. Anders omschreven:

foto AND ( londen OR parijs )

Het is dus niet hetzelfde als alle bestanden getagged als foto en londen, alsook alle bestanden getagged als parijs.

/+FIND/foto/+AND/londen/+COMBINE_WITH/muziek/+AND/uk/+FILES

Dit levert alle bestanden getagged als foto en londen, alsook alle bestanden getagged als muziek en uk. Doordat +COMBINE_WITH 2 volledig losse tagselecties combineert heeft het voorrang op zowel +AND als +OR.

Beperkingen

Sommige applicaties werken niet goed samen met het taggedeelte van HierTag. Het gaat hierbij om applicaties die achterliggend niet rechtstreeks naar een bestand schrijven maar een aantal operaties doen met back-up bestanden en dergelijke. Dit is puur een gevolg van de logica van HierTag, niet de achterliggende code.

Een andere beperking is dat sommige bestandsbeheer-applicaties (onder andere Nautilus) aan caching doen. Wanneer een bestand verplaatst wordt voor het toevoegen of verwijderen van tags, lijkt dat succesvol te gaan. De bestandsbeheer-applicatie toont daarom het bestand niet meer op zijn originele locatie, ook al bestaat het daar nog wel! De inhoud van de originele map refreshen lost dit op.

Uitgebreide info

Meer gedetailleerde informatie, alsook informatie over de technische aanpak van HierTag, is terug te vinden in het verslag van mijn eindwerk: download pdf.

Download

De huidige versie: HierTag v1.0

Vereisten