Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DYN-7341 Package compatibility calculation rework #15578

Merged
merged 1 commit into from
Nov 1, 2024

Conversation

dnenov
Copy link
Collaborator

@dnenov dnenov commented Oct 30, 2024

Purpose

This PR follows on the recent changes to the PM Search functionality. Following an in-depth discussion with the wider design team regarding how Compatibility should be calculated, this PR contains the changes on the PM Client side.

Current rules affecting the compatibility calculation:

  1. Fall back to Dynamo Sandbox computability version will follow the below rules:
    • In Revit look for Revit specific compatibility version. If it is there, use Revit version data and stop.
    • In Revit look for Revit specific compatibility version. If Revit specific compatibility info is not present, look if only Dynamo host exists and then use it.
    • In C3D look for C3D specific compatibility version. If it is there use C3D version data and stop.
    • In C3D look for C3D specific compatibility version. If C3D specific compatibility info is not present, look if only Dynamo host exists and then use it.
    • In Sandbox only ever look for Dynamo host. If you find it use it and stop.

  2. Do we support Minimum only range? Yes
    • If you only put a Minium, we assume that it is compatible with all point versions of this major version.
    • We limit it Major version.
    Example Scenario: Min = 2025.0, Max Left Black
    Assumption. This will be implemented as any version above 2025.0 and above this (Limited by major version) package works. In 2026 this package will be labeled as incompatible.
    For Dynamo we limit to Major versions (2.x, 3.X and so on)

  3. Do we support Maximum only range? No

  4. Min cannot be greater than the max

  5. Version field is a String (not a number)

Declarations

Check these if you believe they are true

  • The codebase is in a better state after this PR
  • Is documented according to the standards
  • The level of testing this PR includes is appropriate
  • User facing strings, if any, are extracted into *.resx files
  • All tests pass using the self-service CI.
  • Snapshot of UI changes, if any.
  • Changes to the API follow Semantic Versioning and are documented in the API Changes document.
  • This PR modifies some build requirements and the readme is updated
  • This PR contains no files larger than 50 MB

Release Notes

  • following a discussion with the wider design team, we are implementing changes to the compatibility calculation
  • changes to compatibility calculations
  • additional helper method introduced to specifically calculate version compatibility based on the new ruleset
  • test cover and test update

Reviewers

@zeusongit
@QilongTang

FYIs

@achintyabhat

- following a discussion with the wider design team, we are implementing changes to the compatibility calculation
@reddyashish reddyashish added this to the 3.4 milestone Oct 31, 2024
@QilongTang QilongTang changed the title compatibility calculation rework DYN-7341 Package compatibility calculation rework Nov 1, 2024
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

See the ticket for this pull request: https://jira.autodesk.com/browse/DYN-7341

@QilongTang QilongTang merged commit 3c06fb4 into DynamoDS:master Nov 1, 2024
35 of 47 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants