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
58 of 65 tasks
sebjf opened this issue Sep 24, 2024 · 0 comments
Open
58 of 65 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
  • Refactor all the cloneAndAddParent calls
  • Run linter
  • Extend Trans Optimiser Tests
  • Run full suite of unit tests
  • 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

Manual Tests

  • Drawing DWG/Autocalibration
  • Drawing PDF/Manual Calibration
  • ODA Import (Revit House, MCFC)
  • Revit Systems Import
  • NWD Federation Import
  • Revisions & Diff (Clinic A)
  • IFC Import (Impraria)
  • SPM Import (Clinic S Landscape, Displacement Test)
  • Hidden Geometry (Clinic S w/ Landscape)
  • FBX Import (Mixed Resolution, Mixed Textured)
  • OBJ Import (Multiresolution, Cubes)
  • Lines only OBJ Import (Gamma)
  • DWG as Model Import (Revit House, Coloured Boxes 3D, Car Park)
  • DGN as Model Import
  • Sequences and Sequences Color Overrides (Clinic S Landscape, Displacement Test)
  • Create, Modify Federation (Car Park)
  • Modify Legacy Federation (Empty Containers, Groups)
  • genStash on Legacy Import

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
sebjf added a commit that referenced this issue Oct 28, 2024
… font is not found, but in this case looks better)
carmenfan added a commit that referenced this issue Oct 29, 2024
ISSUE #703 dont explode fonts into shapes
sebjf added a commit that referenced this issue Oct 29, 2024
sebjf added a commit that referenced this issue Oct 29, 2024
sebjf added a commit that referenced this issue Oct 29, 2024
sebjf added a commit that referenced this issue Oct 31, 2024
sebjf added a commit that referenced this issue Oct 31, 2024
sebjf added a commit that referenced this issue Oct 31, 2024
sebjf added a commit that referenced this issue Oct 31, 2024
sebjf added a commit that referenced this issue Oct 31, 2024
sebjf added a commit that referenced this issue Oct 31, 2024
sebjf added a commit that referenced this issue Oct 31, 2024
sebjf added a commit that referenced this issue Oct 31, 2024
sebjf added a commit that referenced this issue Oct 31, 2024
sebjf added a commit that referenced this issue Oct 31, 2024
sebjf added a commit that referenced this issue Oct 31, 2024
sebjf added a commit that referenced this issue Nov 12, 2024
sebjf added a commit that referenced this issue Nov 13, 2024
…r into ISSUE_707

# Conflicts:
#	bouncer/CMakeLists.txt
#	bouncer/src/repo/core/handler/repo_database_handler_mongo.cpp
#	bouncer/src/repo/core/handler/repo_database_handler_mongo.h
#	test/CMakeLists.txt
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