etf-validator/governance

Restructure repositories

Closed this issue · 5 comments

ETF Improvement Proposal (EIP)

An EIP is a GitHub issue which proposes an improvement of the ETF validator.
It must follow the template below and provide at least information for
the first 4 sections.

Background and Motivation:

Explain the problem behind this proposal. If the problem has already been
discussed externally, please add a link. Source code or data snippets,
diagrams, graphics that illustrate the problem are welcome.

The structuring of the layers, originally also represented by the repositories, is no longer up-to-date. To make simple changes, several changes must be made in different repositories. This currently interferes with the high level view and the maintainability. In the future it would also help to create + process PRs faster.

Proposed change

Explain what should be changed in the software. Mockups, screenshots, diagrams
or other graphics are welcome.

Move the following repositories into one etf repository:

  • etf-webapp
  • etf-stdtot
  • etf-core
  • etf-spi
  • etf-bsxds

Merge the repositories for the BaseX test driver into one etf-bsxtd repository:

  • etf-bsxtd
  • etf-gmlgeox
  • etf-topox (in the future)

Merge the repositories for the SoapUI test driver into one etf-suitd repository:

  • etf-sui
  • etf-sui-ae

The Teamengine test driver stays in the etf-tetd repository.

Alternatives

Describe alternative solutions/features that have been considered.

Funding

Is there full or partial funding available for implementing this proposal?

Additional information

This is an optional section for additional information. These could include,
for example:

  • the impact of this EIP, known risks or compatibility issues on
    deployments and/or Executable Test Suites.
  • (time) constraints, if this EIP is full or partial funded

We agree with this approach. It seems much more natural to group all the functionalities of the validator software (webapp, API, data models and persistence), separately from the SoapUI and BaseX drivers. The test drivers are transparent to the validator software, and developments rarely involve changes in both sides of the product.

We would propose the following changes to the original proposal:

  1. etf-webapp should remain a separate repository - to decouple it from the core/api, consistent with discussions in the SG.
  2. Do not merge etf-bsxtd and etf-gmlgeox, but instead create a new BaseX test driver in a new repository that will include the updated geometry, topology and schema capabilities. This would include the following (draft) EIPs #49 - Schema validation cache, #57 - Performance optimisations of the geometry validation module and #59 - New module for testing topological errors in spatial data. This approach supports a softer migration path for existing test suites using the current BaseX driver.

Approved with the changes described above in the 20th SG meeting

Status:

✅ The repositories have been restructured, the source code is up to date and basic GitHub CI pipelines have been added to verify that the source code can be built.

Implemented in Version 2.1.0