legiongis / hmsf-md

Arches project for the Heritage Monitoring Scouts program, maintained by Florida Public Archaeology Network
https://hms.fpan.us
1 stars 0 forks source link

Re-add links for Site data #267

Open kkemp85 opened 11 months ago

kkemp85 commented 11 months ago

There were originally links for the culture periods and site types so that you could click on them and search for more sites with those same attributes. After a discussion with @mradamcox, we believe these were removed naturally through one of the updates to Arches. If possible, it would be nice to load these links back in, which could add to interesting searches for our scouts. Note: for arch sites, permissions settings should still be in place for these searches.

mradamcox commented 5 months ago

Did some research into this. The change would need to made in the widget for concept-select, in arches this template is /arches/app/templates/views/widgets/concept-select.htm. The following works for a generic url (~line 57):

<!-- ko foreach: valueObjects -->
    <dd>
        <a data-bind="attr: {href: 'https://example.com'}, text: name"></a>
    </dd>
<!-- /ko -->

Each valueObject has name and id properties. The id is a Value id, not a Concept id.

The tricky thing is anticipating the search url for a given Value. In the search page, a concept search has a term-filter that looks like:

[{"context"%3A"4a3ad641-116c-4ca0-a001-68bb166a0e1a"%2C"context_label"%3A"Exterior Plan"%2C"id"%3A0%2C"text"%3A"Exterior Plan"%2C"type"%3A"concept"%2C"value"%3A"4a3ad641-116c-4ca0-a001-68bb166a0e1a"%2C"inverted"%3Afalse}]

or, decoded:

[
  {
    "context":"4a3ad641-116c-4ca0-a001-68bb166a0e1a",
    "context_label":"Exterior Plan",
    "id":0,
    "text":"Exterior Plan",
    "type":"concept",
    "value":"4a3ad641-116c-4ca0-a001-68bb166a0e1a",
    "inverted":false
  }
]

As far as I can tell, all of that information would need to be supplied to a url from the report, meaning that it would have to be passed down through the valueObjects in the list. Ultimately, this could get really messy dealing with all these knockout variables, so I'm just going to put this issue on hold for now. Hopefully, upstream changes in Arches will make this easier down the road...