Adding even finer granularity to Categories' context is an excellent idea. So when creating a category_tree, one could define it to be:
- site-wide: visible to all subsites and applications ie all packages (subsites are packages themselves, but conceptually users see them as containers of packages/applications)
- subsite: visible to all applications installed within a subsite (ie below a given subsite in the site map -- whether the main site or any other subsite)
- application: visible to only a particular package
I think implementing this beyond what is already done will be fairly trivial -- just modify /lib/tree-form.tcl to provide an appropriate UI listing these various options for user selection. Also changing "subsite_id" to "context_id" throughout the package so as to make clearer that any package_id can be used for the context. I'll give this a bash in the next few days.