Technical Minutes 2021 09 09 - adewg/ICAR GitHub Wiki

ICAR Animal Data Exchange Working Group – Technical meeting 9 September 2021

  • In attendance: Andreas S, Andrew C, Anton H, Arjan L, Beate M-F, Craig V, Erwin S, Peter B, Thomas P

Agenda:

Our primary objective is to get approval to get version 1.2 out and also to make progress on some items that could be useful in the next version 1.3.

1. Trying code generation

We reviewed the status of code generation for version 1.2 (draft) in the light of the issues that we had seen with nullable types and generation for OpenAPI 3.0 and 3.1. In TypeScript there was a challenge with the unitCodes in FeedDurationType (in minutes and seconds) and TraitAmountType where the unitCode is kilograms and pounds. We could choose to use the mass units definition which is already an enumeration. Andreas will check and expects there will be a solution.

2. Nullable declaration is not working correctly for reference types (#214)

Regarding the problem of code generation with nullables in C#, at our last meeting we decided we would release version 1.2 as it was but with a known issue that there are problems generating code in dotNet. Before we get to version 1.3 we need to decide which version of OpenAPI we are supporting and adjust the code.

We should provide a warning in the release notes that for a workaround you have to manually change it to nullable for those fields. Andrew C commented that people had found that the code generation might work with AutoRest and it should be tested. Thomas P commented that we should have one version of Java and one version of dotNet that work and advise these.

We need to verify what we are going to say.

Andrew C has updated the change log and has a draft of the release and set of tags ready to go once we are ready.

Arjan L, Andreas S, and Anton H will do some more testing and will advise the outcome. Anton H will provide some notes on what he has done as a workaround.

3. All other issues for version 1.2 addressed

Everyone agreed that all other issues for version 1.2 have been addressed.

4. Changes for parturition event with new progeny details (#243)

Anton H described the changes he had made in the pull request:

  • enumeration for ParturitionBirthSizeType with values used by various countries;
  • enumeration for ParturitionBirthStatusType including DiedBeforeTaggingDate and DiedAfterTaggingDate;
  • new ProgenyDetailsResource with the birthSize and birthStatus enumerations and a taggingDate;
  • ReproParturitionEventResource containing progenyDetails and with progeny marked as deprecated.

Everyone was happy with the proposed birthSize and birthStatus enumerations.

There was discussion whether ProgenyDetailsResource should be an an extension of AnimalCoreResource rather than its own type. An issue is that identifier is nullable in ProgenyDetailsResource but required in AnimalCoreResource. It was agreed that ProgenyDetails Resource should be separate.

5. Call for missing documentation (#72)

Most of the issues are closed and it was agreed that the ticket could be closed.

6. Labels for issues

It was proposed that we add a label "Next Major Release".

Before the next meeting consider the items we want to tag for the next minor release. Either email the group or put a comment on issues.

Next meeting scheduled for 23 September 2021 at 8:15am CET