common-gateway / pdd-bundle
用于存储 OpenWoo 对象并从 OpenWoo & xxllnc zaaksysteem 同步这些对象的软件包。
Requires
- php: >=8.2
- commongateway/corebundle: ^1.3.18 | <2.0
- smalot/pdfparser: ^2.8
Requires (Dev)
- symfony/dependency-injection: ~3.4|~4.1|~5.0
- dev-main
- 0.0.160
- 0.0.159
- 0.0.158
- 0.0.157
- 0.0.156
- 0.0.155
- 0.0.154
- 0.0.153
- 0.0.152
- 0.0.151
- 0.0.150
- 0.0.149
- 0.0.148
- 0.0.147
- 0.0.146
- 0.0.145
- 0.0.144
- 0.0.143
- 0.0.142
- 0.0.141
- 0.0.140
- 0.0.139
- 0.0.138
- 0.0.137
- 0.0.136
- 0.0.135
- 0.0.134
- 0.0.133
- 0.0.132
- 0.0.131
- 0.0.130
- 0.0.129
- 0.0.128
- 0.0.127
- 0.0.126
- 0.0.125
- 0.0.124
- 0.0.123
- 0.0.122
- 0.0.121
- 0.0.120
- 0.0.119
- 0.0.118
- 0.0.117
- 0.0.116
- 0.0.115
- 0.0.114
- 0.0.113
- 0.0.112
- 0.0.111
- 0.0.110
- 0.0.109
- 0.0.108
- 0.0.107
- 0.0.106
- 0.0.105
- 0.0.104
- 0.0.103
- 0.0.102
- 0.0.101
- 0.0.100
- 0.0.99
- 0.0.98
- 0.0.97
- 0.0.96
- 0.0.95
- 0.0.94
- 0.0.93
- 0.0.92
- 0.0.91
- 0.0.90
- 0.0.89
- 0.0.88
- 0.0.87
- 0.0.86
- 0.0.85
- 0.0.84
- 0.0.83
- 0.0.82
- 0.0.81
- 0.0.80
- 0.0.79
- 0.0.78
- 0.0.77
- 0.0.76
- 0.0.75
- 0.0.74
- 0.0.73
- 0.0.72
- 0.0.71
- 0.0.70
- 0.0.69
- 0.0.68
- 0.0.67
- 0.0.66
- 0.0.65
- 0.0.64
- 0.0.63
- 0.0.62
- 0.0.61
- 0.0.60
- 0.0.59
- 0.0.58
- 0.0.57
- 0.0.56
- 0.0.55
- 0.0.54
- 0.0.53
- 0.0.52
- 0.0.51
- 0.0.50
- 0.0.49
- 0.0.48
- 0.0.47
- 0.0.46
- 0.0.45
- 0.0.44
- 0.0.43
- 0.0.42
- 0.0.41
- 0.0.40
- 0.0.39
- 0.0.38
- 0.0.37
- 0.0.36
- 0.0.35
- 0.0.34
- 0.0.33
- 0.0.32
- 0.0.31
- 0.0.30
- 0.0.29
- 0.0.28
- 0.0.27
- 0.0.26
- 0.0.25
- 0.0.24
- 0.0.23
- 0.0.22
- 0.0.21
- 0.0.20
- 0.0.19
- 0.0.18
- 0.0.17
- 0.0.16
- 0.0.15
- 0.0.14
- 0.0.13
- 0.0.12
- 0.0.11
- 0.0.10
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-MWest2020-OIN-SQL_Injection
- dev-MWest2020-match-.docx
- dev-fix/BEHEER-1846/publication-date
- dev-feature/BEHEER-2826/Add-convenant-parameter
- dev-fix/remove-deleted-cases
- dev-feature/WOO-186/refactor-xxllnc
- dev-feature/WOO-188/core-change
- dev-feature/WOO-195/openindex-tenants-federation
- dev-feature/pluginpage-update
- dev-test/woo-157/elastic
- dev-feature/documentation-2024-vragenlijst
- dev-feature/WOO-49/extract-text-from-docx
- dev-feature/backup-sourceid-unique-by-oin-and-id
- dev-feature/GW-1650/wildcard-search
- dev-fix/publicatie-source-id
- dev-feature/workflow
- dev-fix/catch-error-fetching-objects
- dev-fix/woo-command
- dev-feature/zaaksysteem-notifications
- dev-feature/XW-33/sync-zgw
- dev-feature/WOO-104/roosendaal-acc
- dev-feature/GW-1595/test-symfony64
- dev-feature/WOO-22/conduction-zaaksysteem
- dev-feature/XW-152/sitemaps-combined
- dev-feature/XW-136/Gouda-config
- dev-feature/property-descriptions
This package is auto-updated.
Last update: 2024-09-28 19:20:23 UTC
README
OpenWoo 服务通过将组织资源与 Open Index 无缝同步,根据《开放政府法》(Woo)加强了政府发布的可访问性。该核心服务支持在 Woo 类别中进行有效的搜索操作,并通过 Common Ground OpenServices 框架促进数据交换。它促进了与地方和国家级发布平台的集成,包括与知识利用中心官方出版物(KOOP)的连接。OpenWoo.app 设计用于开源和专有平台,因此它为政府信息的管理和可搜索性提供了一个中心解决方案。
核心功能
- 自动同步:通过与 Open Index 无缝集成来自动更新和同步政府发布。
- 高效搜索:通过与 Open Index 的数据交换,在 Woo 类别中实现高级搜索操作。
- 多功能支持:适用于地方和国家级发布平台,包括与知识利用中心官方出版物(KOOP)的连接。
- 联邦搜索:通过 koophulpje.nl 支持联邦搜索,确保政府发布的广泛覆盖和可访问性。
- OpenServices 框架:与 Common Ground OpenServices 框架集成,实现标准化的数据交换和互操作性。
安装
要求
- PHP 7.4 或更高版本
- Symfony 5 或更高版本
- Docker(用于容器化和本地开发)
在 Common Gateway 中的逐步安装指南
- 克隆 OpenWoo 仓库:
git clone https://github.com/OpenWoo/OpenWooService.git
- 使用 Composer 安装依赖项:
composer install
- 调整
.env
文件,以包含数据库和其他服务的特定配置。 - 使用 Docker 启动 OpenWoo 服务:
docker-compose up -d
Docker 容器
还有一个用于 OpenWoo 服务的 docker-compose.yml 文件,可以快速构建上述内容。此文件位于此存储库的根目录中。要运行它,需要 Docker,并按照以下步骤操作
- 打开一个 Docker 可运行的终端窗口
- 导航到您克隆存储库的文件夹
- 运行命令
docker compose up
- 如果镜像不在 Docker 中可用,则会根据 common gateway images 的最新版本重新构建镜像。
- 然后启动容器(如果镜像已可用,则会立即启动)
- 管理员环境可在 https://:8000 上访问,前端在 https://:8080 上
可以使用默认凭据 username: no-reply@test.com, password: !ChangeMe!
登录管理员环境。然后可以影响环境配置。
在存储库的代码(src 文件夹)中进行的更改将直接本地应用。对配置文件(安装文件夹)的更改也会应用,但必须使用命令 docker compose exec php bin/console commongateway:initialize
加载到本地环境中才能生效。
使用
安装后,您可以配置 OpenWoo 服务以开始将您的组织资源自动同步到 Open Index。
同步操作是通过与源结合的动作来完成的。以下将解释如何填写这些内容,同时在 /Installation/Action
和 /Installation/Source
文件夹中也有足够的示例。
可以从以下源类型进行同步
- 案件系统
- OpenWoo(以及OpenConvenant)
每个源类型的源和动作配置都不同。
源代码
源通常需要一个引用和名称。例如,引用必须是唯一的,例如 https://commongateway.woo.nl/source/example.zaaksysteem.source.json
。
案件系统
对于案件系统的源,必须输入location。这是案件系统的完整URL,因此包括开头的 https://
和末尾的 /api
。
还需要设置包含授权数据的header以授权获取文档,以下是一个示例: "headers": { "Accept": "*/*", "API-Interface-ID": "{apiInterfaceId}", "API-KEY": "{apiKey}", "Content-Type": "application/json" }
如果已经正确填写了源的各个字段,可以通过将 isEnabled
设置为 true 来启用它。
正确填写案件系统源的全局POST如下所示: { "reference": "https://commongateway.woo.nl/source/example.zaaksysteem.source.json" "name": "您的案件系统", "location": "https://{zaaksysteemUrl}/api", "isEnabled": true, "headers": { "Accept": "*/*", "API-Interface-ID": "{apiInterfaceId}", "API-KEY": "{apiKey}", "Content-Type": "application/json" } }
OpenWoo和OpenConvenant
对于OpenWoo或OpenConvenant的源,只需设置 location
,包括开头的 https://
和末尾的 /wp-json
(例如:https://{openWooUrl}/wp-json
)。
如果要让源和同步开启,则必须将 isEnabled
设置为 true。
正确填写OpenWoo或OpenConvenant源的全局POST如下所示: { "reference": "https://commongateway.woo.nl/source/example.openwoo.source.json" "name": "您的OpenWoo", "location": "https://{openWooUrl}/wp-json", "isEnabled": true }
动作
例如,案件系统的动作可以查看SyncEpeAction,而OpenWoo可以查看SyncBurenOpenWooAction。对于OpenConvenant,可以查看SyncBurenOpenConvenantAction。
动作通常需要一个引用和名称。例如,引用必须是唯一的,例如 https://commongateway.nl/woo.SyncExampleAction.action.json
。
动作还有一个 listens
字段。在这个上下文中,这通常等于通用cronjob的 throws
:woo.default.listens
。这确保动作(同步)每x分钟运行一次,如cronjob设置(默认10分钟)。
conditions
字段。这是动作可以运行时的额外规则。在这种情况下,动作默认在cronjob的 throws
上运行,通过动作的 listens
设置,因此可以将 conditions
默认设置为 {"==": [1,1]}
。这个json逻辑意味着它总是运行(在 listens
事件上)。
class
字段。这指定了将执行哪种代码。对于不同的源,这可以不同。
- 案件系统:
CommonGateway\\WOOBundle\\ActionHandler\\SyncXxllncCasesHandler
。 - OpenWoo和OpenConvenant:
CommonGateway\\WOOBundle\\ActionHandler\\SyncOpenWooHandler
。
动作在 configuratie
数组中有一系列字段需要配置,一些字段是必需的,一些不是。它还取决于同步的是哪种类型的源(案件系统、OpenWoo或OpenConvenant)
- oin(必需):来自Logius oin注册的oin。这个值被用来以便以后可以根据这个值进行过滤
?organsiatie.oin=value
。 - portalUrl(必需):用于生成到前端链接。
- source(必需):源的引用,在创建源时提供(例如:
https://commongateway.woo.nl/source/example.zaaksysteem.source.json
)。 - 架构(必需):通常是发布架构的引用,对于几乎所有Woo同步,您希望将其映射到发布架构:
https://commongateway.nl/woo.publicatie.schema.json
- 映射(必需):用于从源对象获取发布对象的映射。对于案件系统,这是
https://commongateway.nl/mapping/woo.xxllncCaseToWoo.mapping.json
,对于OpenWoo,这是https://commongateway.nl/mapping/woo.openWooToWoo.mapping.json
,对于OpenConvenant,这是https://commongateway.nl/mapping/woo.openConvenantToWoo.mapping.json
。 - 组织(必需):发布组织的文本表示,通常情况下是市政府名称。
- zaaksysteemSearchEndpoint(必需,如果使用案件系统):用于在案件系统中获取发布的端点。
- sourceEndpoint(必需,如果使用OpenWoo或OpenConvenant):获取发布的端点。
- fileEndpointReference(必需,如果使用案件系统):指向同步文档的视图文件端点的引用。确保导入的文档有端点并可查看。默认:
https://commongateway.nl/woo.ViewFile.endpoint.json
输入。 - sourceType(必需,如果使用OpenWoo、OpenConvenant或Notubiz):如果使用案件系统则不是必需的,默认为案件系统。否则,对于OpenWoo输入 'openWoo',对于Notubiz输入 'notubiz'。
- autoPublish:不是必需的,默认为true。如果希望同步的发布不立即获取,则应将此字段设置为false。
- allowPDFOnly:不是必需的。如果希望仅同步pdf文档而不同步其他文件类型,则将其设置为true。
请始终检查是否通过 isEnabled
字段启用了操作。如果需要同步,则必须设置为true。
案件系统的action POST如下所示:{ "reference": "https://commongateway.nl/woo.SyncExampleAction.action.json", "name": "SyncExampleCasesAction", "listens": [ "woo.default.listens" ], "conditions": { "==": [ 1, 1 ] }, "class": "CommonGateway\\WOOBundle\\ActionHandler\\SyncXxllncCasesHandler", "configuration": { "oin": "{oinNummer}", "portalUrl": "https://conductionnl.github.io/woo-website-example", "source": "https://commongateway.woo.nl/source/example.zaaksysteem.source.json", "schema": "https://commongateway.nl/woo.publicatie.schema.json", "mapping": "https://commongateway.nl/mapping/woo.xxllncCaseToWoo.mapping.json", "organisatie": "Example", "zaaksysteemSearchEndpoint": "{zaaksysteemZoekEndpoint}", "fileEndpointReference": "https://commongateway.nl/woo.ViewFile.endpoint.json" }, "isEnabled": true }
OpenWoo或OpenConvenant的action POST如下所示:{ "reference": "https://commongateway.nl/woo.SyncExampleOpenConvenantAction.action.json", "name": "SyncExampleOpenConvenantAction", "listens": [ "woo.default.listens" ], "conditions": { "==": [ 1, 1 ] }, "class": "CommonGateway\\WOOBundle\\ActionHandler\\SyncOpenWooHandler", "configuration": { "oin": "{oinNummer}", "portalUrl": "https://conductionnl.github.io/woo-website-example", "source": "https://commongateway.woo.nl/source/example.openwoo.source.json", "schema": "https://commongateway.nl/woo.publicatie.schema.json", "mapping": "https://commongateway.nl/mapping/woo.openConvenantToWoo.mapping.json", "sourceType": "openWoo", "organisatie": "Exanoke", "sourceEndpoint": "{sourceEndpoint}" }, "isEnabled": true }
如果操作和源已创建/注册,并且 isEnabled
设置为true,则cronjob将每x分钟触发此操作并启动同步。检查日志以查看第一次是否成功。
贡献
我们欢迎对OpenWoo Service的贡献,无论是错误报告、功能建议还是代码贡献。有关如何贡献的更多信息,请参阅我们的 CONTRIBUTING.md
。
许可
OpenWoo Service是在EUPL 1.2许可下发布的。有关更多详细信息,请参阅GitHub存储库中的 LICENSE.md
文件。
联系
有关OpenWoo Service的更多信息以及如何在您的组织中实施它,您可以联系info@openwoo.nl。