Skip to content

Dynamic modification of a sync filter #283

@bjester

Description

@bjester

Overview

To provide the capability for Morango implementations to implement dynamic modification of a sync filter during the initialization stage operations of a sync. The capability allows for more complex partitioning strategies that do not fit within the statically defined structure of certificate scopes and definitions.

Scope

The implementation of this feature will assume the implementation of Morango is responsible for determining whether sync filters are permittable during a sync, and thus Morango will not verify that dynamically added sync filters are allowable by existing certificate scopes.

Strategy

Morango already allows a certain degree of flexibility by allowing a sync filter to be passed into the controller, which manages a sync. Although, it lacks the orchestration for coordinating changes the to filter after that point, such as a sync operation modifying it or receiving a modified filter from a server. Therefore the main task is to fill-in the orchestration gaps to allow for this customization by Morango implementations.

The approach this capability takes should mean that the behavior is essentially opt-in, and otherwise does not change the behavior of the sync unless this capability is leveraged by Morango implementations. (backwards compatible, no breaking changes)

Testing Requirements

Proof of concept was implemented in Kolibri, with minimal local changes to Morango learningequality/kolibri#14070

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions