Describes the breaking changes and steps required to upgrade to a more recent version of Core Data Places.
If you're using an embedded map that was exported from the map search, re-export the map and update the GeoJSON data in your post.
1.5.0 changes detail_pages from an array to a object with nested fields.
For a value such as:
{
"detail_pages": [
"people",
"places"
]
}The updated value should be:
{
"detail_pages": {
"models": {
"people": {},
"places": {}
}
}
}- The
Herocomponent has been removed. Replace it withBanner. - The
Textcomponent has been removed. Replace it withColumns.
v1.2.0 will add two new content collections: “branding” and “pages”
- Add a new directory for
/content/brandingand create a branding.json file - Add a new directory for
/content/pages- Create a
Home.mdxfile and mimic the “About” page configuration- See PSS Scavenger Hunt for an example
- Create a
- Remove the
/content/aboutdirectory
v1.2.0 will also make some changes to the config.json file
- Remove the
brandingoption; This will now be handled within the content collection - Re-structure the
contentoption- See PSS Scavenger Hunt for an example
- The
contentoption will now allow alocalize_pagestrue/false property (default: false)- If set the “true”, content pages should be nested in a localized directory (e.g.
/content/en/Home.mdx)
- If set the “true”, content pages should be nested in a localized directory (e.g.
v1.1.0 adds the timeline feature to the map search. To enable this feature it must be configured in config.search by specifying a timeline.date_range_facet value giving the path to the Typesense field containing the date range facet field that the timeline will be based on. If event is not the primary model for the search, you must also specify the timeline.event_path, the path to the event relation in Typesense. For example:
"search": {
"timeline": {
"date_range_facet": "event_range_facet",
"event_path": "<uuid of event relationship to primary model>"
}
...
}
Version v1.0.0 of Core Data Places is released 🚀!
Here are some notes to assist with updating websites on Netlify:
- Add
MONGODB_COLLECTION_NAMEenvironment variable in Netlify- This will allow the production version of the site to use a different MongoDB collection than the deploy previews
- Add
brandingproperty toconfig.json- Default values should be:
"branding": {
"header_hide_title": false,
"footer_hide_title": false,
"footer_login": true
}
- Move
max_zoomandzoom_to_placeproperties fromsearchtomapinconfig.json - Remove
cluster_radiusproperty in config.json- There is currently a bug with using clustering
- Add
geometryproperty tomapinconfig.json- This value should contain the path from the root Typesense document to the property that contains the GeoJSON data to plot on the map
- e.g.
2ee9481e-3469-4c12-8b2e-78c8a814d175.geometry
- Add
routeproperty tosearchinconfig.json- This value should correspond to the root Typesense document type
- e.g.
/placesor/organizations
- If using Keycloak SSO (currently only GBoF projects), add the following environment variables on Netlify (the
AUTH_SECRETis just any random token):
AUTH_KEYCLOAK_ID=tinacms
AUTH_KEYCLOAK_ISSUER=https://keycloak.archivengine.com/realms/GBoF
AUTH_KEYCLOAK_SECRET=wmWNCBZghjlvsQsQZLLedWpMV4DF6Ztr
AUTH_SECRET=<your special secret code here>
AUTH_TRUST_HOST=true
PUBLIC_BASE_URL=<url of site>
TINA_PUBLIC_AUTH_USE_KEYCLOAK=true
- Make sure all desired users are added to the GBoF realm in Keycloak
- Create new Typesense collection if necessary and update config:
- The model that's indexed should be the model type specified in
search.route - Update the config file with the correct
typesenseconfig, e.g.:
- The model that's indexed should be the model type specified in
"typesense": {
"host": "mk0zu5rvf46oa2h7p-1.a1.typesense.net",
"port": 443,
"protocol": "https",
"api_key": <search key for this collection>,
"index_name": <your index name>,
"query_by": "name",
"facets": {
"exclude": [
"all_projects.name_facet",
"owner_project.name_facet",
"names_facet"
]
}
}
- Checklist for project customization options in config:
typesense.facets.exclude- list of facets to suppress from the faceted search interface- Alternatively, can use
typesense.facets.includeto provide a complete list of facets to include
- Alternatively, can use
search.results_card- customize which field shows up as the main title and any other fields you want to show up in the result list, e.g.
"result_card": {
"attributes": [{
"name": "40de3d57-c3d0-4152-ab61-f970c0ada2a0.0.name",
"icon": "location"
}],
"title": "name"
}
search.result_filtering- an object specifying fields to exclude on the detail panel for different model types, e.g.
"result_filtering": {
"organizations": {
"exclude": ["da725d0a-df8d-44c6-92ee-c16c2acb342a"]
}
}
search.timeline- boolean value that specifies whether to include the timeline feature (this should befalsefor now until the feature is supported in a future version!)