Updates from January 2024

Progress on the rewrite.

 · 3 min read

Rewrite Progress πŸš€

This blog will also be different, just like the last one. In my last blog, I informed you guys about the rewrite of the app. It started in December, and by the end of the month, I had completed the course flow. You can check out the details here.

Once the course flow was complete, I moved to other app modules. I planned to complete all the screens first from a student's perspective and then come to the moderator's flow.  Moderators see the same screens as students but have access to perform high-level actions like creating and updating.

By the end of January, I had completed Batches, Statistics, Discussions, Billing, and Job Portal for a regular user. I will be completing the course and batch creation flows in February.

Some new screens...

Changes from Current Behavior πŸ”„

This is a UI rewrite, so the app functionality will remain the same, but I am taking this opportunity to introduce certain functionality changes that I believe will make the app better.

One very obvious difference will be the sidebar. We decided to add it to make navigation better. This will also help make certain functionalities of the app more visible than before.

Another change is the lesson URL. Our current lesson URL looks like /courses/<coursename>/learn/<chapterNumber>.<lessonNumber>. Having a dot in the URL is not a general convention. I don’t even remember why it was this way. But now, we are changing it. The new URL will have the dot replaced by a dash. So it will be like /courses/<coursename>/learn/<chapterNumber>-<lessonNumber>.

Another change is the way enrolled students of a batch are captured. Currently, it's a child table. This will be moved to a proper DocType as most of the framework triggers work well with parent documents.

Branching Structure 🌳

Until now, there was only one important branch of LMS: the main branch. Every production site was expected to be on this branch. This cannot be the case anymore.

This rewrite is a major change, and directly merging this into the main branch would be a bit too much. I want my existing users to be sure of the change before they move to this version.

So, from now on, LMS will have another branch called develop. All the latest features will be merged here. The main branch will be updated only when a new release is made.

When Can We Use It? ⏳

As per the current schedule, the beta release will mostly be this March. The develop branch will be ready, and people can try it out. This branch will also be available on Frappe Cloud, and new LMS sites will have it by default.

I will then migrate our internal LMS, i.e., Frappe School, to the new version. This will give me actual user feedback, and I will also get to know about issues that may get left behind.

Post the beta release, I will focus on polishing and making fixes as issues come along. Once everything gets stable, mostly by the end of May 2024, this will be released as version 2.0.0.

That was all about January. Stay tuned for more and star us on GitHub if you like what we do! πŸ™‚

PS: There is also another news that I am not revealing currently. You will mostly get to know about it next month πŸ˜‰

Jannat Patel

Engineer @ Frappe

No comments yet.

Add a comment
Ctrl+Enter to add comment