My Open Edx journey in 2022
I am going to share my experiences over the Open Edx platform as a developer,
The main purpose of this article is, if you came across Open Edx, How you can tackle it. While working on it, I faced many issues, I reported some issues, And I got many barriers that prevent me from solving issues quickly, So I want to share my experiences with you, I hope this article maybe a guide for you if you are a newbie on Open Edx.
Firstly, I would like to write some information about Open Edx, and what is it?.
Open Edx is the open-source code base of the edx.org project written in Python backend, Open Edx is working with its environment in Linux server, Edx is a worldwide eLearning system in which teachers can create their own content and students can join the lessons from distance, online.
Last month I got tasked with research for upgrading our ready but old version Open Edx version to the latest version and adding some new features for it.
Although before I had experiences on Open Edx in the 2018 years. In the terms, I just had installed and made some features for the custom Open Edx platform. But It got limited experiences with it.
After that, for years many things changed, Open Edx has been released for new versions even its source codes changed from Python 2 to Python 3.
It was a challenge for me to upgrade the old system to the latest version, but it was a task that I need to handle.
First of all, I searched what was changed during those years?.
And searched upgrade ways, I found some discussion links and talked experienced ones, All of them said to me, you need to upgrade all of the versions from one by one but they said me they have really no experience in such type of task, and they were disappointed me for not tackling this challenge,
I ignored all and started learning Open Edx more closely, Firstly I build a fresh latest version Open Edx platform and tested it, I found Open Edx community uses a new way for installing Open Edx using docker by a tool named Tutor, I had read all documentation of tutor from start to end for times, Finally, I installed a new tutor based Open Edx platform on my computer, as the next challenge I started to upgrade our old custom template to be worked on the latest version,
I saw many things changed based on the template, our old template had not worked in the latest version due to breaking changes, there I had many issues related to old python packages, changed HTML structures, changed Django template codes and etc, I tried to review the latest version of edx-platform’s template and I found ways for refactoring old school codes to new ones while reviewing base codes, After all, that is it, I upgraded successfully the template as working latest edx version, But In this case, there was a problem, where is the old data?. It was the main challenge, so for years Openedx changed its database structure, Even the installation way of it changed from native installation to docker based, It was a really terrible everything works perfectly and upgraded but without old data :),
In the second attempt, I created some scripts and used SQL's power for copying the necessary data for the new system (some of them were copied by manual),
After upgrading, I still had tasks to solve, I started to explore source codes of edx-platform, I found ready APIs has written using Django Rest Framework,
I analyzed the source code of the project, although my main experience is about PHP I understand the schema and applied my codes there.
I reviewed codes of Edx’s source and I had succeeded in all of my tasks finally,
During this quick period, I found some issues on the tutor side and I reported them.
After this quick topic, I am happy to solve all my tasks and meet with Open Edx although it had terrible for me for a while :),
In the last words, I would like to share some links which may be helped you in your first Open Edx attempts, Please feel free to share your comments below, and don't hesitate to rich me asking something I can help you.
Sincerely, From Azerbaijan