I'll try to keep this short and sweet...
Yesterday, I did some work on the Tagger package of the Nine Worlds Desktop Software. The front end didn't change at all, the goal is a refactoring of commonality that I have wanted to do for quite some time.
For anyone forking or cloning the current repo (NineWorldsDeep) the relevant commits from yesterday are be79665, 874eb81, c45885a, and 424ddbb.
I created a controller class (TaggerGridController) to encapsulate the common functionality of HorizontalTaggerGrid (used in Audio media tagging) and VerticalTaggerGrid (used for Image media tagging).
The motivations for this were to implement some functionality common to both, and previously this involved a lot of copy/paste between the two UserControls.
Going forward we are working to implement a multi tag filter system, which will retain the partial matching of the current implementation, while adding support for both intersections and unions of multiple specified filters.
Stay tuned for further updates as to what that looks like in action. See you soon...