Skip to content

MS-941/MS-1058 Update sync configuration to the new structure#1254

Merged
luhmirin-s merged 1 commit into
mainfrom
feature/MS-1058-config-structure
Jul 10, 2025
Merged

MS-941/MS-1058 Update sync configuration to the new structure#1254
luhmirin-s merged 1 commit into
mainfrom
feature/MS-1058-config-structure

Conversation

@luhmirin-s
Copy link
Copy Markdown
Contributor

@luhmirin-s luhmirin-s commented Jul 9, 2025

JIRA ticket
Will be released in: 2025.3.0

Notable changes

  • CoSync changes introduced additional changes to project configuration, and since the sample upload config also relies on the same version, baseline config changes for both features have to be implemented more or less together. This PR contains only the changes in the existing configuration structure and does not add any co-sync specific fields:
    • synchronization.down properties moved to dedicated synchronization.down.simprints object. All usages are redirected to Simprints' specific config. For now the down.simprints is considered non-optional since it is used across modules. @BurningAXE I leave it to you to make it optional when adding co-sync configuration.
    • synchronization.frequency moved to synchronization.down.simprints.frequency and synchronization.up.simprints.frequency. All usages are defaulted to the "down.simprints" frequency, unless it explicitly requires "up".
    • Due to the frequencies being in multiple places, the enum has been moved to the upper level in all layers (domain, proto and API)
  • Did not add any co-sync configuration fields. @BurningAXE, that part is for you to implement.
  • This PR is based on sample upload prep work and therefore assumes that the samples config changes have been merged already (relevant for property indexes in proto files)

Testing guidance

  • Run the app, attempt configuration sync.
  • Install an older version, sync the config, then update to this PR and sync the config again.

Additional work checklist

  • Effect on other features and security has been considered
  • Design document marked as "In development" (if applicable)
  • External (Gitbook) and internal (Confluence) Documentation is up to date (or ticket created)
  • Test cases in Testiny are up to date (or ticket created)
  • Other teams notified about the changes (if applicable)

@cla-bot cla-bot Bot added the ... label Jul 9, 2025
@luhmirin-s luhmirin-s marked this pull request as ready for review July 9, 2025 10:07
@luhmirin-s luhmirin-s requested review from a team, BurningAXE, TristramN, alex-vt, alexandr-simprints, meladRaouf and ybourgery and removed request for a team July 9, 2025 10:08
@luhmirin-s luhmirin-s force-pushed the feature/MS-1058-sample-upload branch from 4f924ac to 551f5aa Compare July 9, 2025 10:11
@luhmirin-s luhmirin-s force-pushed the feature/MS-1058-config-structure branch from e45f38a to f09d354 Compare July 9, 2025 10:12
@luhmirin-s luhmirin-s force-pushed the feature/MS-1058-config-structure branch from f09d354 to a20ae68 Compare July 9, 2025 11:01

@Keep
data class ApiDownSynchronizationConfiguration(
val simprints: ApiSimprintsDownSynchronizationConfiguration,
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an optional field now, have you not done it because you will let Milen doing it?

Copy link
Copy Markdown
Contributor Author

@luhmirin-s luhmirin-s Jul 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reading swagger schemas in GDocs is a bit confusing, and I missed the optional part. Anyhow, I will leave this detail to Milen, since making it optional would require a bunch of changes in the business logic across the app that are not directly related to any of the features I am working on. I just needed the configuration parsing in a working state.

@ybourgery
Copy link
Copy Markdown
Collaborator

Did not add any co-sync configuration fields, and simprints.up.destinations is assumed to always be Simprints (and therefore ignored).

FYI this field synchronization.up.destinations has been deprecated since 2022.2.0 and would not be used to configure the down sync source, it would just be the presence of synchronization.down.simprints or synchronization.down.commcare

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Jul 9, 2025

Base automatically changed from feature/MS-1058-sample-upload to main July 10, 2025 14:20
@luhmirin-s luhmirin-s merged commit 7c867a9 into main Jul 10, 2025
12 checks passed
@luhmirin-s luhmirin-s deleted the feature/MS-1058-config-structure branch July 10, 2025 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants