Silo origin adapter #11
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Overview
Adapt the existing Silo workbench code to implement the
FileOrigininterface. This creates a bridge between the new origin system and the existing Silo functionality, allowing Silo instances to be used as file origins.Key Understanding: Silo is a hybrid local-remote system:
~/projects/cad/{category}/{part_number}_{desc}.FCStdParent Issue
Epic: #8 Unified File Origin System
Goals
SiloOriginclass implementingFileOrigininterfaceDetailed Design
Silo Workflow Model
SiloOrigin Class (Python)
Open Dialog: Database Search Pane
The Open operation shows a search interface querying the database:
Document Properties (Silo Tracking)
Documents tracked by Silo have these properties on the primary object:
Implementation Tasks
SiloOriginPython classtracks_externally()returningTruedocument_identity()returning part numberowns_document()checking Silo propertiesopen_document()to show database search panesave_document()as sync operationsave_document_as()with migration vs copy logicSiloOriginIdproperty for multi-instance supportFiles to Create/Modify
mods/silo/pkg/freecad/silo_origin.py(new)mods/silo/pkg/freecad/silo_commands.py(refactor for reuse)mods/silo/pkg/freecad/InitGui.py(register origins)Acceptance Criteria
SiloOriginimplements fullFileOrigininterfaceDependencies
Blocking