common-gateway / woo-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容器
还有一份docker-compose.yml文件可用于快速构建OpenWoo服务。此文件位于此存储库的根目录中。要运行它,需要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
。
还需要设置包含认证数据的headers以授权获取文档,以下是一个示例: "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(必需):用于生成前端链接。
- 来源(必需):来源的引用,你在创建来源时提供的(例如:
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 }
如果action和source已创建/注册并且isEnabled
设置为true。cronjob将每隔x分钟触发此action并启动同步。
贡献
我们欢迎对OpenWoo服务的贡献,无论是错误报告、功能建议还是代码贡献。有关如何贡献的更多信息,请参阅我们的CONTRIBUTING.md
。
许可证
OpenWoo服务是根据EUPL 1.2许可证发布的。有关更多详细信息,请参阅我们的GitHub存储库中的LICENSE.md
文件。
联系
有关OpenWoo服务的更多信息以及如何在您的组织中实施,请联系我们,邮箱为info@openwoo.nl。