Has anyone investigated Hierarchical Facets and Parent-Child taxonomies? (Discussion: http://www.mail-archive.com/general@simile.mit.edu/msg02723.html Samples and limited documentation: http://simile-widgets.org/wiki/Exhibit/Hierarchical_Facet ) . This would be a huge win for complex taxonomy browsing.

If there were a way to (in the module settings) select Taxonomies to be "available" for parsing. The module would then build )and cache?) the relationships (by tid? name? both?).

In each exhibit node, an author would select from this list and then how the View is presenting it (tids vs names? Would anyone use tids in a UI?), and the module would build out the json snippit to create the structure for exhibit, like below:

{
    items: [
        {   type: "ArtworkSubject", label: "nature" },
        {   type: "ArtworkSubject", label: "landscape",             subtopicOf: "nature" },
        {   type: "ArtworkSubject", label: "valley",                subtopicOf: "landscape" },
        {   type: "ArtworkSubject", label: "hill",                  subtopicOf: "landscape" },
        {   type: "ArtworkSubject", label: "seascapes and coast",   subtopicOf: "nature" },
        
        {   type: "ArtworkSubject", label: "people" },
        {   type: "ArtworkSubject", label: "adults",                subtopicOf: "people" },
        {   type: "ArtworkSubject", label: "man",                   subtopicOf: "adults" },
        {   type: "ArtworkSubject", label: "woman",                 subtopicOf: "adults" },
    }
}

(Snagged from the samples above; http://people.csail.mit.edu/dfhuynh/projects/hierarchical-facets/data.json)

Comments

jcamfield’s picture

A bit of mucking around in Views makes this seem like possibly less difficult with a bit of style plugin work; I fear it's still beyond my skills though.

{ "types":
{ "term_data":
{ "label": "cuisine", "pluralLabel": "cuisines" } }, "properties": { "name": { "label": "label" }, "name_1": { "label": "subtopicOf" } },

"items": [
{ "label": "539", "type": "term_data", "name": "African" },
{ "label": "395", "type": "term_data", "name": "BBQ", "name_1": "North American" },
{ "label": "549", "type": "term_data", "name": "Belgian", "name_1": "European" },
{ "label": "166", "type": "term_data", "name": "Caribbean", "name_1": "Central and South American" },
{ "label": "540", "type": "term_data", "name": "Ethiopian", "name_1": "African" },
{ "label": "151", "type": "term_data", "name": "Greek and Mediterranean", "name_1": "Near and Middle Eastern" },
{ "label": "153", "type": "term_data", "name": "Japanese", "name_1": "Asian" },
{ "label": "587", "type": "term_data", "name": "Vegetarian", "name_1": "Other" },
{ "label": "336", "type": "term_data", "name": "Cajun", "name_1": "North American" },
{ "label": "152", "type": "term_data", "name": "Chinese", "name_1": "Asian" }
] }

For now, I might just take that into an editor and regex through it, but ideally this could be live-updated from the taxonomy.