Merge pull request #580 from lblod/OP-3680-Indicate-whether-a-worship-service-is-a-customer-of-ReligioPoint-or

Op 3680 indicate whether a worship service is a customer of religio point or
This commit is contained in:
Damon Kennes
2025-12-08 16:02:59 +01:00
committed by GitHub
5 changed files with 120 additions and 2 deletions

View File

@@ -1,13 +1,20 @@
# Changelog
## Unreleased
### General
- [OP-3590]: OP is now master of "aantal houders" of mandates
- [OP-3699]: Update aantal houders for some mandates Hasselt and Antwerp
- [OP-3680]: Indicate whether a worship service is a customer of ReligioPoint or Loket voor Lokale Besturen
### Deploy instructions
```
drc restart migrations
drc restart delta-producer-publication-graph-maintainer resource
drc pull vendor-management-consumer; drc up -d vendor-management-consumer
drc restart db resource
```
## 1.37.3 (2025-11-14)
### Backend
- Added cleanup job to clean duplicated data of municipalities and provinces [OP-3676]

View File

@@ -177,6 +177,31 @@ drc up -d
sh scripts/reset-elastic.sh
```
#### Setup vendors sync
Note: this is assuming you have never ran this before.
```
drc down;
```
Update `docker-compose.override.yml` to:
```
vendor-management-consumer:
environment:
DCR_SYNC_BASE_URL: "https://dev.loket.lblod.info/" # or another endpoint
DCR_DISABLE_INITIAL_SYNC: "true"
BATCH_SIZE: "500"
DCR_SECRET_KEY: "<key>>" # fill in key for selected endpoint
DCR_SYNC_LOGIN_ENDPOINT: "https://dev.loket.lblod.info/sync/vendor-management/login" # login for selected endpoint
```
Then:
```
drc up -d migrations
drc up -d db vendor-management-consumer
```
Finally, put the stack back up.
```
drc up -d
```
### Setting up the delta-producers related services
To make sure the app can share data, producers need to be set up. There is an intial sync, that is potentially very expensive, and must be started manually

View File

@@ -89,6 +89,11 @@ defmodule Acl.UserGroups.Config do
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject"
]
@vendor_type [
"http://mu.semte.ch/vocabularies/ext/Vendor"
]
defp access_by_role(group_string) do
%AccessByQuery{
# vars: ["session_group","session_role"], todo we might have to create multiple graph depending on role
@@ -130,6 +135,12 @@ defmodule Acl.UserGroups.Config do
constraint: %ResourceConstraint{
resource_types: @org_type
}
},
%GraphSpec{
graph: "http://mu.semte.ch/graphs/vendor-management-data",
constraint: %ResourceConstraint{
resource_types: @vendor_type
}
}
]
},
@@ -143,6 +154,12 @@ defmodule Acl.UserGroups.Config do
constraint: %ResourceConstraint{
resource_types: @org_type ++ @error_type
}
},
%GraphSpec{
graph: "http://mu.semte.ch/graphs/vendor-management-data",
constraint: %ResourceConstraint{
resource_types: @vendor_type
}
}
]
},
@@ -156,6 +173,12 @@ defmodule Acl.UserGroups.Config do
constraint: %ResourceConstraint{
resource_types: @org_type ++ @error_type
}
},
%GraphSpec{
graph: "http://mu.semte.ch/graphs/vendor-management-data",
constraint: %ResourceConstraint{
resource_types: @vendor_type
}
}
]
},
@@ -169,6 +192,12 @@ defmodule Acl.UserGroups.Config do
constraint: %ResourceConstraint{
resource_types: @org_type ++ @worship_type
}
},
%GraphSpec{
graph: "http://mu.semte.ch/graphs/vendor-management-data",
constraint: %ResourceConstraint{
resource_types: @vendor_type
}
}
]
},
@@ -182,6 +211,12 @@ defmodule Acl.UserGroups.Config do
constraint: %ResourceConstraint{
resource_types: @org_type ++ @error_type ++ @worship_type
}
},
%GraphSpec{
graph: "http://mu.semte.ch/graphs/vendor-management-data",
constraint: %ResourceConstraint{
resource_types: @vendor_type
}
}
]
},
@@ -195,6 +230,12 @@ defmodule Acl.UserGroups.Config do
constraint: %ResourceConstraint{
resource_types: @org_type ++ @error_type ++ @worship_type
}
},
%GraphSpec{
graph: "http://mu.semte.ch/graphs/vendor-management-data",
constraint: %ResourceConstraint{
resource_types: @vendor_type
}
}
]
},

View File

@@ -30,7 +30,8 @@
"ext": "http://mu.semte.ch/vocabularies/ext/",
"geo": "http://www.opengis.net/ont/geosparql#",
"nacebel": "http://data.gift/vocabularies/nace-bel/",
"time": "http://www.w3.org/2006/time#"
"time": "http://www.w3.org/2006/time#",
"muAccount": "http://mu.semte.ch/vocabularies/account/"
},
"resources": {
"agents": {
@@ -473,7 +474,13 @@
"target": "kbo-organizations",
"cardinality": "one",
"inverse": true
}
},
"vendors": {
"predicate": "muAccount:canActOnBehalfOf",
"target": "vendors",
"cardinality": "many",
"inverse": true
}
},
"features": ["include-uri"],
"new-resource-base": "http://data.lblod.info/id/organisaties/"
@@ -559,6 +566,23 @@
},
"new-resource-base": "http://data.lblod.info/id/eredienstBestuurseenheden/"
},
"vendors": {
"class": "ext:Vendor",
"attributes": {
"name": {
"type": "string",
"predicate": "foaf:name"
}
},
"relationships": {
"organizations": {
"predicate": "muAccount:canActOnBehalfOf",
"target": "organizations",
"cardinality": "many"
}
},
"new-resource-base": "http://data.lblod.info/vendors/"
},
"worship-services": {
"class": "ere:BestuurVanDeEredienst",
"super": ["worship-administrative-units"],

View File

@@ -540,6 +540,27 @@ services:
- triplestore:virtuoso
logging: *default-logging
vendor-management-consumer:
image: lblod/delta-consumer:0.1.1
environment:
DCR_SYNC_BASE_URL: "https://loket.lblod.info/"
DCR_SYNC_LOGIN_ENDPOINT: 'https://loket.lblod.info/sync/vendor-management/login' # Add DCR_SECRET_KEY in docker-compose.override.yml
DCR_SERVICE_NAME: "vendor-management-consumer"
DCR_SYNC_FILES_PATH: "/sync/vendor-management/files"
DCR_SYNC_DATASET_SUBJECT: "http://data.lblod.info/datasets/delta-producer/dumps/VendorManagementCacheGraphDump"
DCR_INITIAL_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/initialSync/vendor-management"
DCR_JOB_CREATOR_URI: "http://data.lblod.info/services/id/vendor-management-consumer"
DCR_DISABLE_INITIAL_SYNC: "true"
DCR_KEEP_DELTA_FILES: "true"
DCR_DELTA_FILE_FOLDER: "/consumer-files"
DCR_DELTA_SYNC_JOB_OPERATION: "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/consumer/VendorManagementFileSyncing"
INGEST_GRAPH: "http://mu.semte.ch/graphs/vendor-management-data"
labels:
- "logging=true"
links:
- db:database
restart: always
logging: *default-logging
################################################################################
# DELTA CONSUMERS: END
################################################################################