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

Mongo Driver Upgrade - Mongo type decoupling #703

Open
37 of 55 tasks
sebjf opened this issue Sep 24, 2024 · 0 comments
Open
37 of 55 tasks

Mongo Driver Upgrade - Mongo type decoupling #703

sebjf opened this issue Sep 24, 2024 · 0 comments
Assignees

Comments

@sebjf
Copy link
Contributor

sebjf commented Sep 24, 2024

Description

Upgrade the mongo driver; product ticket with further details.

This issue is for the decoupling of the mongo dependencies, which is also described by this ticket: https://github.com/3drepo/3D-Repo-Product-Team/issues/560

This branch relies on #697

Goals

  • RepoBSON no longer inherits from BSONObj publicly
  • RepoBSON and RepoBSONBuilder are isolated to the minimum number of modules possible (Nodes and Bsons)
  • There are no mongo references outside of MongoDatabaseHandler

Tasks

  • Refactor DrawingRevisionNode
  • Refactor MaterialNode
  • Refactor MeshNode
  • Refactor MetadataNode
  • Refactor ModelRevisionNode
  • Refactor ReferenceNode
  • Refactor RevisionNode
  • Refactor SupermeshNode
  • Refactor TextureNode
  • Refactor TransformationNode
  • Update RepoNode tests
  • Update DrawingRevisionNode tests
  • Update MaterialNode tests
  • Update MeshNode tests
  • Update MetadataNode tests
  • Update ModelRevisionNode tests
  • Update model revision handling to make file prefix not implicit
  • Update ReferenceNode tests
  • Update TextureNode tests
  • Update TransformationNode tests
  • Update RepoTask
  • Create RepoTask unit tests
  • Create RepoSequence unit tests
  • Update RepoCalibration
  • Make RepoProjectSettings unit tests
  • Update RepoProjectSettings
  • Go through header files to clean up, make classes forward declared where possible
  • Remove filename support from bin mappings
  • Refactor binary file handling so they come from inside the bin mappings only and remove the shrink option during writing the RepoScene
  • Update RepoBSON unit tests
  • Add BSON Element unit tests
  • Update RepoBSONBuilder unit tests
  • Update MongoDatabaseHandler unit tests
  • Check file handler unit tests
  • Refactor all the cloneAndAddParent calls
  • Run linter
  • Extend Trans Optimiser Tests
  • Run full suite of unit tests
  • Check processDrawing in local
  • Check ODA imports in local
  • Check Assimp imports in local
  • Check federation creation in local
  • Check IFCs in local
  • Check sequences in local
  • Check textured types in local
  • Refactor the metadata stuff in files handler to use variants
  • Update factory methods to use the methods/constructors of the mutable types
  • Get it to build on linux
  • Fix all tests on Travis

No longer doing as part of this:

  • Replace usage of repo_material_t with MaterialNode
  • Make a criteria type to hand to database handler so other types can stop relying on the builder
  • Refactor to forward declare all mongo types in mongo database handler header

Related Resources

@sebjf sebjf self-assigned this Sep 24, 2024
sebjf added a commit that referenced this issue Oct 9, 2024
sebjf added a commit that referenced this issue Oct 14, 2024
… associated dependencies, added RepoUUID support to RepoVariant. Updated RepoSupermesh.
sebjf added a commit that referenced this issue Oct 14, 2024
sebjf added a commit that referenced this issue Oct 15, 2024
sebjf added a commit that referenced this issue Oct 15, 2024
…uments and removed all instances of cloneAndAddParent
sebjf added a commit that referenced this issue Oct 16, 2024
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

No branches or pull requests

1 participant