common-gateway/xxllnc-zgw-bundle

一个包含将ZGW API标准映射到XXLLNC API功能的symfony flex bundle的包

安装: 350

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 3

分支: 0

开放问题: 3

类型:symfony-bundle

0.1.75 2024-06-28 11:29 UTC

This package is auto-updated.

Last update: 2024-09-20 13:18:01 UTC


README

XxllncZGWBundle是一个提供关于处理xxllnc zaaksysteem标准与ZGW标准之间同步功能的Symfony bundle。因此,它从ZGW对象等价物中获取并发送xxllnc对象。

有关ZaakGerichtWerken和XXLNC的更多信息,请访问此处

XxllncZGWBundle中使用的bundle

当前,XxllncZGWBundle使用以下bundle

  1. CoreBundle: GitHub仓库
  2. ZGWBundle: GitHub仓库(ZGWBundle还包括KlantenBundle等其他bundle,它是ZGW的一部分。)

尽管ZGW和CoreBundle可以作为独立组件安装(请参阅各自的安装指南),但XxllncZGWBundle现在默认将这些bundle作为同一网关上的附加插件安装。

后端安装说明

XxllncZGWBundle后端代码库使用Common Gateway作为开源安装框架。这意味着XxllncZGWBundle库在其核心形式上充当此框架的插件。要了解更多关于Common Gateway的信息,您可以参考此处的文档。

CommonGateway网关UI前端随CommonGateway提供。

要安装后端,请按照以下步骤操作

网关安装

  1. 如果您尚未安装Common Gateway,您可以按照提供的安装指南进行操作。Common Gateway安装对于后端设置是必需的。您可以选择任何网关安装方法,如Haven、Kubernetes、Linux或Azure,以及任何数据库选项,如MySQL、PostgreSQL、Oracle或MsSQL。网关框架处理此抽象。

XxllncZGWBundle安装 - 网关UI

  1. 安装网关后,访问admin-ui并登录。
  2. 在左侧菜单中,导航到“插件”,以查看已安装插件的列表。如果您在这里找不到“common-gateway/xxllnc-zgw-bundle”插件,您可以通过单击右上角的“搜索”并输入“xxllnc”在搜索栏中进行搜索。
  3. 单击“common-gateway/xxllnc-zgw-bundle”卡,然后单击“安装”按钮来安装插件。
  4. admin-ui允许您安装、升级或删除bundle。但是,要加载数据(模式、端点、源),您需要在php终端中执行初始化命令。

XxllncZGWBundle安装 - 终端

  1. 打开php终端并运行以下命令来安装XxllncZGWBundle

    ```cli
    $ composer require common-gateway/xxllnc-zgw-bundle
    ```
    

初始化命令(终端)

  1. 要加载所有数据而没有任何特定内容(如testdata),请执行以下命令

    ```cli
    $ bin/console commongateway:initialize
    ```
    

    或者

    要加载所有数据以及特定内容(如testdata),运行

    ```cli
    $ bin/console commongateway:initialize -data
    ```
    

完成这些步骤后,XxllncZGW项目的后端设置应准备好使用。如果您在安装过程中遇到任何问题,请联系开发团队。祝您编码愉快!

网关UI - 设置说明

一旦后端启动并运行,XxllncZGWBundle可以进行配置。为了确保功能正常,需要修改源和安全组(默认匿名用户)。其他调整是可选的。

配置步骤

  1. 用户

    • 如有必要,请更改用户密码。建议您使用以下步骤更改管理员用户的邮箱:以下步骤
  2. 安全组

    • 已为xxllnc用户添加了作用域。您可以通过以下步骤查看和调整用户的作用域:以下步骤
  3. 来源

    • 请提供以下来源所需的位置、API-Interface-ID和API-KEY(这两个作为头部):xxllnc zaaksysteem
  4. 定时任务

    • 存在一个定时任务,可以在所有案例和案例类型需要从zaaksysteem源同步时启用(检查isEnabled)。目前此任务始终处于禁用状态,因为我们不需要从xxllnc api获取所有数据。

完成这些步骤后,XxllncZGW网关UI应该已完全配置,项目准备就绪,可以投入使用。

命令

要执行命令,您需要访问PHP终端。

有一些命令可以用于从xxllnc api同步一些单个或所有对象。您可能首先想使用的是ZaakTypeCommand,它将案例类型同步到ZGW ZaakType

$ bin/console xxllnc:zaakType:synchronize id

如果您需要将某个案例同步到ZGW ZaakType,也可以直接执行ZaakCommand,它也会同步其案例类型到ZGW ZaakType

$ bin/console xxllnc:zaak:synchronize id

如果您已同步一些案例类型,并希望同步一些特定的决定类型并与之前同步的案例类型关联,您可以使用ZaakTypeCommand首先将案例类型同步到决定类型(它将自动检测是否为ZaakType或BesluitType)

$ bin/console xxllnc:zaakType:synchronize id

然后您可以使用以下命令将它们作为决定类型链接到之前同步的案例类型

$ bin/console xxllnc:zaakType:connect:besluittype

这些都是当前命令,您可以通过ZGW标准端点获取同步的对象:/api/zrc/v1/zaken /api/ztc/v1/zaaktypen /api/ztc/v1/besluittypen

同步

许多对象正在从xxllnc zaaksysteem到zgw对象之间进行同步。以下是它们的表格。

来自zaaksysteem的同步

所有上述同步都是由定时任务或命令触发的。注意,在同步案例或案例类型时,您看到的所有子对象都会同步。有关如何执行特定同步的说明,请参阅命令

到zaaksysteem的同步

注意:案例类型还不能在zaaksysteem api中创建,因此我们不会同步回ZaakTypen。

设计决策

本项目特别记录的决策包括

  • ZGW '延长' 无法从xxllnc案例中映射,因此在同步期间被忽略。
  • xxllnc zaaksysteem没有ZGW BesluitTypen或Besluiten,因此已创建了3个特定的BesluitTypen,作为正常的xxllnc案例类型,可以使用ZaakType命令同步,因此当网关中为这些3个BesluitTypen之一创建Besluit时,我们会将其同步回xxllnc作为案例,并将其链接到主要案例(Zaak)作为相关案例。
  • 案例类型不能通过zaaksysteem api创建/更新,因此当它们在网关中创建/更新时,我们不会将ZaakTypen同步回zaaksysteem。