project-lux / lux-marklogic

Code, issues, and resources related to LUX MarkLogic
Other
3 stars 2 forks source link

Create Place Related To Event Related List - supports FE 9 #95

Closed clarkepeterf closed 2 months ago

clarkepeterf commented 3 months ago

Problem Description: We want to display related locations on event pages

Expected Behavior/Solution: Given an event, Marklogic will be able to return a list of related places

Requirements: As part of this ticket, the related list and search term configurations will have to be updated

Needed for promotion: If an item on the list is not needed, it should be crossed off but not removed.

- [ ] Wireframe/Mockup - Mike - [ ] Committee discussions - Sarah - [ ] Feasibility/Team discussion - Sarah - [ ] Backend requirements - TBD - [ ] Frontend requirements- TBD

UAT/LUX Examples:

Reviewable via frontend issue: https://github.com/project-lux/lux-frontend/issues/9

Dependencies/Blocks:

Related Github Issues:

- Issues that contain similar work but are not blocking or being blocked by the current issue.

Related links:

- These links can consist of resources, bugherds, etc.

Wireframe/Mockup: Place wireframe/mockup for the proposed solution at end of ticket.

clarkepeterf commented 3 months ago

@azaroth42 these are all of the relationships that were generated for Places related to Events - do we want all of these relationships? Do you think there is anything that is missing?

"relatedToEvent": {
            "targetScope": "place",
            "searchConfigs": [
                {
                    "relationKey": "createdHere-carriedBy-memberOf-usedForEvent",
                    "relationScope": "work",
                    "mode": "values",
                    "criteria": {
                        "createdHere": {
                            "carriedBy": {
                                "memberOf": {
                                    "usedForEvent": {
                                        "id": "@@RUNTIME_PARAM@@"
                                    }
                                }
                            }
                        }
                    }
                },
                {
                    "relationKey": "encounteredHere-memberOf-usedForEvent",
                    "relationScope": "item",
                    "mode": "values",
                    "criteria": {
                        "encounteredHere": {
                            "memberOf": {
                                "usedForEvent": {
                                    "id": "@@RUNTIME_PARAM@@"
                                }
                            }
                        }
                    }
                },
                {
                    "relationKey": "producedHere-memberOf-usedForEvent",
                    "relationScope": "item",
                    "mode": "values",
                    "criteria": {
                        "producedHere": {
                            "memberOf": {
                                "usedForEvent": {
                                    "id": "@@RUNTIME_PARAM@@"
                                }
                            }
                        }
                    }
                },
                {
                    "relationKey": "publishedHere-carriedBy-memberOf-usedForEvent",
                    "relationScope": "work",
                    "mode": "values",
                    "criteria": {
                        "publishedHere": {
                            "carriedBy": {
                                "memberOf": {
                                    "usedForEvent": {
                                        "id": "@@RUNTIME_PARAM@@"
                                    }
                                }
                            }
                        }
                    }
                },
                {
                    "relationKey": "subjectOfPlace-carriedBy-memberOf-usedForEvent",
                    "relationScope": "work",
                    "mode": "values",
                    "criteria": {
                        "subjectOfPlace": {
                            "carriedBy": {
                                "memberOf": {
                                    "usedForEvent": {
                                        "id": "@@RUNTIME_PARAM@@"
                                    }
                                }
                            }
                        }
                    }
                }
            ]
        },
azaroth42 commented 3 months ago

That all looks correct and good to me. Can't think of any other sane place <--> event links.

roamye commented 2 months ago

Approved per UAT

roamye commented 2 months ago

Looks good in prod, closing.