Summary:
Lessons are the fundamental content type in our product. Lessons are created from Markdown editor and support Images and gifs. We are not making lessons more complicated than this. Our idea is the a user should be sent 1-2 lessons a day to remind him about simple stuff and get a topic printed in reader’s memory through repetition. We do not need to make our product more complicated than this by adding videos or Rich Text Editors or supporting any PDF or other content forms.
- Lessons are created by Super Admins, Admins and Editors.
- Lessons need approval from Admins before they become available for other people.
- We are not putting any restriction on who can edit what. Simple rule is Admins and Editors can create content and edit content (irrespective of who created it)
User Story 1: Admins and Editors should be able to create a new lesson
- Since Admins and Editors have access to Content Repository, they should be able to access roadmaps and courses and add lessons to them.
- Unlike a course, which can be part of multiple roadmaps, A lesson will be part of only one course and they can not be added to multiple courses.
- Designs are here https://designs.quicklabs.in/quick-learn/content/lesson/editor
- lessons are created using markdown only. You can create a lesson by writing markdown directly in editor or by using Markdown editor at top so that those who do not know much about markdown can also write lessons.
- Lesson need to support Image files and gif files. Nothing else is needed like videos or PDFs. If a writer needs to include video or pDF, he can do so by adding URL only, which is anyways supported in markdown links.
- lessons created by Admins are published directly while the lessons created by Editors need approval from Admins before they become live in the system. This also means, there can be some lessons which are waiting for approval from admin and when Editors (Super Admin, Admins and Editor) see details of a course, they should be able to see all the lessons including which are still waiting for approval. Check this design which should how lessons look like when they are waiting for approval https://designs.quicklabs.in/quick-learn/content/roadmap/course
User Story 2: Lessons created by Editor (not Admins) need approval from Admins before publishing.
- When lessons are created for first time, they need to be approved by Admins before they are published in the system.
- Admin have access to Approval tabs in Navbar and they can click on it to see all the lessons which need approval. Admin can see details of that lesson and approve. here are designs https://designs.quicklabs.in/quick-learn/approvals
- We do not need to maintain history of lessons for Admin to compare the changes to help him know what was changed. We are keeping this simple and Admin will see the latest lesson and will review again to approve.
- When lessons are edited, they also need approval from Admin but this create a scenario when the lessons are already live previously and an edit has been made to the lesson and now lesson is awaiting for approval. Since we are not maintaining versioning of lessons and not keeping tracking of past version, the lesson when edited, changes the original copy of lesson which is already live. We are handling this scenario by considering that lessons having pending approvals should not be sent via email to team members and we will bet on Admins to clear approval queue quickly.
- When a lessons is created or edit by editor, All admins are notified via email that A lessons was changed and needs approval from Admin, so that admins can act on it. Email should contain link of Lesson url so that admin can go directly from email to lesson detail screen and approve it.