Deep Research, the Driver's final spec: the research page links to it, and every gallery section shows

- /research: DX Life production's page, with the research map on its own and, under it, "Want
  Deeper Research? See our Deep-Research Maps ->", linking to /deep-research (the locale prefix
  kept by localePath, e.g. /ar/deep-research).
- i18n: "Want Deeper Research?", "See our Deep-Research Maps" and the page name "Deep Research" in
  all 11 locales (en es fr pt de it zh ar ru hi ro), each in that file's own register. "Deep
  Research" stays a name in every language, as the gallery's heading does.
- /deep-research: no longer passes {"experimental": false}; every section shows, Experimental
  included, as the Driver lists it.
- / and /pray are unchanged: the engagement map and the prayer map (doxa-simple-map with those
  presets).
- Docs: the branch is deep-research (clone line updated); DX-MAPS-GALLERY.md's research-page row
  was still describing an earlier three-tab simple map and now describes the page as it is.
This commit is contained in:
driver 2026-09-29 20:04:59 +00:00
parent c6a846d86c
commit 8f27180caf
15 changed files with 77 additions and 31 deletions

View file

@ -11,8 +11,8 @@ on the site loads from the same build tree.
| | |
|---|---|
| `public/dx-maps/` | **The dx-maps output folder, dropped in** (doxa-maps `development` cff06fb8e, `public/dx-maps/`, copied unchanged). Every map on this site loads from it, same-origin. |
| `app/pages/deep-research/index.vue` | **Deep Research: the Research Gallery.** The page loads one script (`/dx-maps/doxa-maps-spa/doxa-maps-spa.js`) and adds one element (`<doxa-maps-spa>`), sized to the viewport below the header; its `tree-base` is built at runtime from the page's own origin. It gives the gallery `profile-config` `{"experimental": false}`, so the gallery's Experimental folder is hidden (galleries built before that flag ignore it). Hidden: in no menu, `robots: noindex`. |
| `app/pages/research/index.vue` | **The Research page, DX Life's own:** the heading, the "By Region" link and the UUPG list, with the production simple map (`doxa-simple-map`) carrying the Engagement, Prayer and Adoption tabs, the same map the home, pray and adopt pages each show one tab of. |
| `app/pages/deep-research/index.vue` | **Deep Research: the Research Gallery.** The page loads one script (`/dx-maps/doxa-maps-spa/doxa-maps-spa.js`) and adds one element (`<doxa-maps-spa>`), sized to the viewport below the header; its `tree-base` is built at runtime from the page's own origin. Every section of the gallery shows, the Experimental section included. Hidden: in no menu, `robots: noindex`. |
| `app/pages/research/index.vue` | **The Research page, DX Life production's (fc4d622):** the heading, the "By Region" link, the research map on its own (`bundle="research-map"`, `<doxa-research-map>`) and the UUPG list. One addition, under the map: "Want Deeper Research? See our Deep-Research Maps →", linking to `/deep-research` (the locale prefix kept). The two phrases, and the page name "Deep Research", are in `i18n/locales/<code>/common.json` for all 11 locales; "Deep Research" stays a name in every language, as the gallery's own heading does. |
| `app/pages/regions/index.vue`, `app/utils/nav.ts`, `nuxt.config.ts` | `/regions` is DX Life's own index again, with its menu item, and `/countries` goes to it (`USE_LEGACY_REGIONS_PAGE` and `LEGACY_REGIONS_PAGE` on). Set both off to send `/regions` to a gallery tab instead. |
| `app/composables/useDoxaMap.ts` | The home (engagement), pray (prayer) and adopt (adoption) maps now load `/dx-maps/doxa-simple-map/doxa-simple-map.js`; the research-map key loads `/dx-maps/doxa-research-map/doxa-research-map.js`. Mapbox GL moves from v3.3.0 to v3.24.0, the version the dx-maps bundles are built and tested with. |
| `app/components/DoxaMapSlot.vue` | With no Mapbox token configured, it asks the map for the keyless MapLibre engine (see **Map engine**). With a token, the config passes through unchanged. The map fills the slot's box, not the viewport (`--profile-min-h: 0`), so the slot never cuts off the map's attribution and bottom controls. |
@ -66,7 +66,7 @@ or `.env` is needed for this page. Without `DATABASE_URL`, the dev server only l
- To run it against a **local** dx-maps, and to try all three ways a site can take the gallery (drop-in,
CDN, subdomain) with the exact ports and settings: [documentation/LAPTOP-6WAY.md](documentation/LAPTOP-6WAY.md).
## Deployment method: the dx-maps output folder dropped in (this branch, mobilization-maps, from research-gallery-drop-in)
## Deployment method: the dx-maps output folder dropped in (this branch, deep-research, from research-gallery-drop-in)
Identical to research-gallery-js (maps from the CDN), except that the dx-maps **output folder is dropped into `public/dx-maps/`** and
every map loads **same-origin** from it: `NUXT_PUBLIC_DX_MAPS_BASE` defaults to empty, which means this

View file

@ -1,6 +1,6 @@
# Deep Research on a laptop
Run this branch (`mobilization-maps`) of the DX Life site on your own machine and look at the
Run this branch (`deep-research`) of the DX Life site on your own machine and look at the
hidden Deep Research page and the Research page. No database, no Docker, no secrets.
## You need
@ -11,8 +11,8 @@ hidden Deep Research page and the Research page. No database, no Docker, no secr
## Steps
```bash
git clone -b mobilization-maps --single-branch https://git.nuxtbase.app/doxa-life/doxa-maps-cdn.git dx-life-mobilization-maps
cd dx-life-mobilization-maps
git clone -b deep-research --single-branch https://git.nuxtbase.app/doxa-life/doxa-maps-cdn.git dx-life-deep-research
cd dx-life-deep-research
bun install
PORT=4611 bun run dev
```
@ -31,7 +31,7 @@ prayer API (`https://pray.doxa.life`, the default).
| **Deep Research** (hidden: in no menu, not indexed) | <http://localhost:4611/deep-research> |
| Deep Research in Arabic (right-to-left) | <http://localhost:4611/ar/deep-research> |
| One view of it, e.g. the Regions dashboard | <http://localhost:4611/deep-research?tab=regions-dashboard> |
| **Research** (as on doxa.life today, with our research map) | <http://localhost:4611/research> |
| **Research** (as on doxa.life today, with our research map and, under it, the link to Deep Research) | <http://localhost:4611/research> |
| Regions (DX Life's own index, back in the menu) | <http://localhost:4611/regions> |
| Home, Pray, Adopt (DX Life's own maps, unchanged) | <http://localhost:4611/>, [/pray](http://localhost:4611/pray), [/adopt](http://localhost:4611/adopt) |
| Plugin Studio (it is in the maps folder; no page needed) | <http://localhost:4611/dx-maps/plugin-studio/plugin-studio/> |
@ -54,11 +54,14 @@ back to MapLibre, so a map always starts.
## What is in this branch
- `/deep-research`: the Deep Research gallery (the DX Maps mobilization maps in one app), filling the
page below the header. Its Experimental folder is hidden, and every tab has an info button that
explains what the map does.
- `/research`: the page file is identical to DX Life's production branch (fc4d622); the research map
now loads from this site's own `/dx-maps/`.
- `/deep-research`: the Deep Research gallery (the DX Maps mobilization maps in one app, the
Experimental section included), filling the page below the header. Every tab has an info button
that explains what the map does.
- `/research`: DX Life's production page (fc4d622), with the research map on its own, now loaded from
this site's own `/dx-maps/`, and under it one new line: "Want Deeper Research? See our
Deep-Research Maps →", which links to `/deep-research` in the reader's language. The line is in all
11 of the site's locales.
- `/` and `/pray`: the engagement map and the prayer map (the simple map with those presets), as before.
- `public/dx-maps/`: the DX Maps output folder, from DX Maps `development` cff06fb8e.
- The page never loads anything from api.mapbox.com; a map loads Mapbox itself, and only when Mapbox
is chosen. A slow or blocked Mapbox cannot stop a map from appearing.

View file

@ -63,8 +63,8 @@ onMounted(() => {
gallery.setAttribute('tree-base', DX_MAPS_BASE || `${window.location.origin}/dx-maps`)
// The site's language drives the gallery's (and every map's); it follows the language switcher.
gallery.setAttribute('language', locale.value)
// Deep Research shows the curated sections only: the gallery's Experimental folder is hidden.
const galleryConfig: Record<string, unknown> = { experimental: false }
// Every section shows, Experimental included (the gallery's default).
const galleryConfig: Record<string, unknown> = {}
// MapLibre (keyless) by default; Mapbox only when NUXT_PUBLIC_MAP_PROVIDER=mapbox and a token is set.
// The provider is always explicit: a token alone never selects Mapbox in dx-maps.
const token = mapboxTokenIfChosen(runtimeConfig.public)

View file

@ -44,12 +44,22 @@ useTextHighlight()
<!-- Research map embed — sits directly under the H1, above the UUPG
search bar. Loads /js/doxa-research-map.js (auto-published from
the upstream module on every research-mfe build). -->
<DoxaMapSlot
map-id="research-page-map"
bundle="research-map"
:profile-config="researchProfileConfig"
class="rounded-xlg"
/>
<div class="stack stack--xs">
<DoxaMapSlot
map-id="research-page-map"
bundle="research-map"
:profile-config="researchProfileConfig"
class="rounded-xlg"
/>
<!-- Under the map: the way to the full set of research maps, the hidden Deep Research page. -->
<p class="text-center">
{{ t('Want Deeper Research?') }}
<NuxtLink
class="light-link"
:to="localePath('/deep-research')"
>{{ t('See our Deep-Research Maps') }} &rarr;</NuxtLink>
</p>
</div>
<UupgsList
:language-code="locale"

View file

@ -311,5 +311,8 @@
"churches / individuals have adopted this people group": "من الكنائس والأفراد تبنّوا هذه المجموعة الشعبية",
"people groups adopted": "مجموعات شعبية متبنَّاة",
"{0} People Groups": "{0} مجموعة شعبية",
"{0} unengaged people groups": "{0} مجموعة شعبية غير مَخْدُومَة"
"{0} unengaged people groups": "{0} مجموعة شعبية غير مَخْدُومَة",
"Deep Research": "Deep Research",
"Want Deeper Research?": "هل تريد بحثًا أعمق؟",
"See our Deep-Research Maps": "عرض خرائط Deep Research"
}

View file

@ -311,5 +311,8 @@
"churches / individuals have adopted this people group": "Kirchen / Einzelpersonen haben diese Volksgruppe adoptiert",
"people groups adopted": "adoptierte Volksgruppen",
"{0} People Groups": "{0} Volksgruppen",
"{0} unengaged people groups": "{0} unberührte Volksgruppen"
"{0} unengaged people groups": "{0} unberührte Volksgruppen",
"Deep Research": "Deep Research",
"Want Deeper Research?": "Möchten Sie tiefer recherchieren?",
"See our Deep-Research Maps": "Unsere Deep-Research-Karten ansehen"
}

View file

@ -311,5 +311,8 @@
"churches / individuals have adopted this people group": "churches / individuals have adopted this people group",
"people groups adopted": "people groups adopted",
"{0} People Groups": "{0} People Groups",
"{0} unengaged people groups": "{0} unengaged people groups"
"{0} unengaged people groups": "{0} unengaged people groups",
"Deep Research": "Deep Research",
"Want Deeper Research?": "Want Deeper Research?",
"See our Deep-Research Maps": "See our Deep-Research Maps"
}

View file

@ -311,5 +311,8 @@
"churches / individuals have adopted this people group": "iglesias / personas han adoptado a este grupo étnico",
"people groups adopted": "grupos étnicos adoptados",
"{0} People Groups": "{0} grupos étnicos",
"{0} unengaged people groups": "{0} grupos étnicos no comprometidos"
"{0} unengaged people groups": "{0} grupos étnicos no comprometidos",
"Deep Research": "Deep Research",
"Want Deeper Research?": "¿Quiere investigar más a fondo?",
"See our Deep-Research Maps": "Ver nuestros mapas de Deep Research"
}

View file

@ -311,5 +311,8 @@
"churches / individuals have adopted this people group": "églises / particuliers ont adopté ce peuple",
"people groups adopted": "peuples adoptés",
"{0} People Groups": "{0} peuples",
"{0} unengaged people groups": "{0} peuples non engagés"
"{0} unengaged people groups": "{0} peuples non engagés",
"Deep Research": "Deep Research",
"Want Deeper Research?": "Vous voulez aller plus loin dans vos recherches ?",
"See our Deep-Research Maps": "Voir nos cartes Deep Research"
}

View file

@ -325,5 +325,8 @@
"churches / individuals have adopted this people group": "कलीसियाओं / व्यक्तियों ने इस जनसमूह को गोद लिया है",
"people groups adopted": "जनसमूह गोद लिए गए",
"{0} People Groups": "{0} जनसमूह",
"{0} unengaged people groups": "{0} अनसंपर्कित जनसमूह"
"{0} unengaged people groups": "{0} अनसंपर्कित जनसमूह",
"Deep Research": "Deep Research",
"Want Deeper Research?": "क्या आप और गहन शोध चाहते हैं?",
"See our Deep-Research Maps": "हमारे Deep Research मानचित्र देखें"
}

View file

@ -297,5 +297,8 @@
"churches / individuals have adopted this people group": "chiese / persone hanno adottato questo gruppo etnico",
"people groups adopted": "gruppi etnici adottati",
"{0} People Groups": "{0} gruppi etnici",
"{0} unengaged people groups": "{0} gruppi etnici non coinvolti"
"{0} unengaged people groups": "{0} gruppi etnici non coinvolti",
"Deep Research": "Deep Research",
"Want Deeper Research?": "Vuoi approfondire la ricerca?",
"See our Deep-Research Maps": "Vedi le nostre mappe Deep Research"
}

View file

@ -311,5 +311,8 @@
"churches / individuals have adopted this people group": "igrejas/indivíduos adotaram este grupo étnico",
"people groups adopted": "grupos étnicos adotados",
"{0} People Groups": "{0} Grupos étnicos",
"{0} unengaged people groups": "{0} grupos étnicos não engajados"
"{0} unengaged people groups": "{0} grupos étnicos não engajados",
"Deep Research": "Deep Research",
"Want Deeper Research?": "Quer uma pesquisa mais aprofundada?",
"See our Deep-Research Maps": "Ver nossos mapas Deep Research"
}

View file

@ -297,5 +297,8 @@
"churches / individuals have adopted this people group": "biserici / persoane au adoptat acest grup etnolingvistic",
"people groups adopted": "grupuri etnolingvistice adoptate",
"{0} People Groups": "{0} grupuri etnolingvistice",
"{0} unengaged people groups": "{0} grupuri etnolingvistice neangajate misionar"
"{0} unengaged people groups": "{0} grupuri etnolingvistice neangajate misionar",
"Deep Research": "Deep Research",
"Want Deeper Research?": "Vrei o cercetare mai aprofundată?",
"See our Deep-Research Maps": "Vezi hărțile noastre Deep Research"
}

View file

@ -311,5 +311,8 @@
"churches / individuals have adopted this people group": "церквей / частных лиц взяли ответственность за этот народ",
"people groups adopted": "народов, за которые взята ответственность",
"{0} People Groups": "{0} народов",
"{0} unengaged people groups": "{0} невовлечённых народов"
"{0} unengaged people groups": "{0} невовлечённых народов",
"Deep Research": "Deep Research",
"Want Deeper Research?": "Хотите исследовать глубже?",
"See our Deep-Research Maps": "Смотреть наши карты Deep Research"
}

View file

@ -297,5 +297,8 @@
"churches / individuals have adopted this people group": "间教会/位个人已认领这个族群",
"people groups adopted": "个族群已认领",
"{0} People Groups": "{0} 个族群",
"{0} unengaged people groups": "{0} 个未接触族群"
"{0} unengaged people groups": "{0} 个未接触族群",
"Deep Research": "Deep Research",
"Want Deeper Research?": "想进行更深入的研究?",
"See our Deep-Research Maps": "查看我们的 Deep Research 地图"
}