The public registry (/registry, /registry/activities, /registry/certificates/…)
now calls GET /obp/dynamic-endpoint/dynamic-resource-doc/registry/activities-query
instead of the Scala Dynamic Resource Doc at …/registry/activities. The host still
comes from PUBLIC_OBP_BASE_URL; the response shape is unchanged.
Action required on each OBP instance the app points at, before deploying:
-
OBP-API must include the "Dynamic Query" commit (
fd8f70691). Older versions reject the doc withOBP-40049. -
Create the doc from OGCR-DynamicEntities, with
OBP_ENTITY_SPACE_IDset to the entity space (it is created at that bank):python3 dynamic_resource_docs.py create registry_activities_query
-
The
activity,country,operator,activity_verification,certificate_of_complianceandactivity_on_chainDynamic Entities must have public access. Otherwise signed-out visitors get a 403 and the registry pages show an error with no data. -
For acceptable speed, OBP must use its SQL indexes for the joins. Set
dynamic_entity.indexing.backend=autoin OBP's props (the default,inmemory, reads every record of every joined entity on each call), on Postgres or SQL Server, then restart OBP. The entities' join fields must be declared indexed (run the OGCR-DynamicEntities index/update scripts) and their indexes must reach statereadyin thedynamicentityindextable. Without this the registry with ~150 activities takes ~15s to load.
Check it with an anonymous call; it should return {"activities": [...], "count": N}:
curl "$PUBLIC_OBP_BASE_URL/obp/dynamic-endpoint/dynamic-resource-doc/registry/activities-query"Session cookies were previously signed with the hardcoded string 'secret', so
anyone could forge them. They are now signed with the value of the
SESSION_SECRET environment variable (commit 1f5f715).
- Production (
NODE_ENV=production): the app refuses to start unlessSESSION_SECRETis set to at least 16 characters. - Development: if unset or too short, the app logs a warning and falls back
to an insecure built-in default so
npm run devkeeps working. - Docker Compose:
docker compose upfails unlessSESSION_SECRETis set.
Action required: generate a secret and add it to your .env (see
.env.example):
openssl rand -hex 32Changing the secret invalidates existing sessions, so users will need to log in again after upgrading.