Hello Essa,
Thank you for reaching out about restricting channel access for specific learners and for outlining your use case so clearly. At the moment, Kolibri does not support restricting learner access by channel within a single instance.
Best current workaround:
You can enable the Learners to only see resources assigned to them in classes through lessons When enabled, they can only access content that has been explicitly assigned to them through Lessons in their classes.
Regarding folder structure:
You’re correct that importing content into Lessons does not preserve the original channel or folder hierarchy. This is a known limitation of the Lessons, which is designed for curated resource assignment rather than mirroring full channel structures.
As a workaround, you can:
- Create multiple lessons that roughly mirror the channel structure (for example, “Unit 1 – Topic A”, “Unit 1 – Topic B”)
Organize these lessons within classes to approximate the intended learning pathway
While this approach requires manual setup, it allows you to control learner access without running multiple Kolibri instances. However, you should consider the following:
How often does your channel content change?
If frequently, the lesson-based approach becomes very labor-intensive.
How many learners need different channel combinations?
The more variation, the more complex lesson management becomes.
Looking ahead,
There is ongoing work in the Kolibri ecosystem toward more structured and granular assignment models (for example, Courses), which may better support use cases like channel-level organization and access control in the future.
For now, using the “assigned content” is the most practical way to restrict what learners can access within a single Kolibri instance, with the trade-off that structure must be recreated using Lessons.
Please let us know if you have any further questions.
Best regards,
Allan.