-
Type: Epic
-
Status: Open
-
Priority: Minor
-
Resolution: Unresolved
-
Affects Version/s: 3.0.4
-
Fix Version/s: QualifiedToSchedule
-
Component/s: Framework
Before starting the engine rewrite, we need to rethink the current architecture. I mean reorganizing components and be more modular.
After that rework, it will be way simpler to think about the sync engine rewrite.
Goals are:
- Each component must work on its own and not be dispatched in others components.
- A component can be optional and pluggable.
Easier Python 3 migration by compatibility checking (verifying a single module is more doable than the whole software).(no more revelant sinceNXDRIVE-691)
For instance, let's take the Auto-Lock feature:
- Ideally it should be a lone module that we decide to import and activate.
- But currently, the feature is splitted into the Auto-Lock, Drive Edit, Notifications and DAO components. It is hard to understand and modify.
Components list:
- Sync engine (including watchers)
- Direct Edit
- Direct Transfer
- Auto-Lock
- GUI
- CLI
- Options
- Database
- Notifications
- OS integration
- Updater
- Installer