The Open edX software provides a powerful and flexible platform for complex and broad education projects. The main theme of this text will be outlining the challenges and enjoyable sides of working with the Open edX platform as a developer.
We will explore the challenging yet rewarding aspects of working with the Open edX LMS for a developer, highlighting the extensive customization opportunities the platform provides and the robust community support that accompanies it.
Initially, we will be introducing and emphasizing the significance of the Micro-Frontend architecture in the modern world of web development. Additionally, we will provide some information regarding the challenges that might arise during the process of developing the Open edX theme, as well as the sides that you can truly enjoy. This text will be beneficial plus helpful for all those developers who are willing to utilize the Open edX platform in a more efficient and effective way.
What is the MFE architecture and why is it this important?
MFE or Micro-Frontend architecture, has become an approach that is attracting more attention by day in the modern web application development ecosystem. By enabling big applications to be separated into smaller, independent, easy to manage subsections; this system has replaced traditional one-piece web applications. This way, separate teams can work independently and integrate various technologies, enhance the general performance of the application or make its maintenance more effective.
Among the advantages of MFE is how each module, such as but not limited to user profile, payment system or product search bars, can be developed and distributed separately. These modules can be developed by utilizing different programming languages or frameworks, which enables flexibility in the context of tech stack. Moreover, the process of isolating and resolving bugs becomes much smoother as all modules work independently.
MFE is especially suitable for working with huge and complex web applications however this approach can cause complications for simpler projects.
The enjoyable aspects and challenging sides of developing Open edX themes
The Open edX LMS is a strong open-source e-learning platform, which is used by numerous education companies worldwide. Some of the enjoyable aspects and challenges that you can encounter, while developing the platform theme, are listed below.
Challenges:
- Complex Structure: The Open edX platform has a broad and complicated structure. This might become a challenge for especially new developers at the initial stages of their journey. It can take some time to fully understand the architecture of the system and the elements of it. This process requires intense effort and dedication.
- Customization: Open edX’s theme customization features, algorithms or systems can often become complex. Developers may have to use Django and some other technologies as well as CSS, JavaScript and Python. It is also important that the developer is knowledgeable about and confident with working with the MFE architecture, React and various frameworks, such as Redux and Router. Learning these features in advance can advance the learning process by fastening the progress. Additionally, the length of the style compile can become overwhelming in sections that do not contain MFE.
- Deployment: Even though customization is a rough feature to get used to and become confident/fluent in, after gaining some experience you can become faster and steadier. On the other hand, the duration of the deployment is one thing that I have been dissatisfied with for a long while. Deployment is actually a time-consuming and systematically, computationally intensive operation.
- Documentation: Although Open edX’s documentation is comprehensive, it might sometimes be insufficient and out-of-date, which constitutes one of my biggest challenges. In those cases community support and forums become very important resources for the developer. Yet when the number of Open edX developers is considered, it is obvious that considering or scanning through the responses/solutions coming from the developers for every bug or question mark can become extremely time-consuming.
Enjoyable Aspects:
Communication: In my opinion, the most fun and contributing area is the communication part. Because, for every project made, every new feature developed or every problem encountered, being in a mutual dialogue and negotiation environment can be an excellent opportunity to meet people from different cultures and develop relationships. Mutual exchanges can increase your perspective and imagination. It can dramatically change your future friendships, career changes, and areas of personal growth.
Flexibility and Creativity: The Open edX LMS is a highly customizable platform. It offers a wide range of flexibility when designing your own training platform. This provides an opportunity to generate and implement creative solutions.
Community Support: Although the process can sometimes take longer, the Open edX ecosystem has a large and active community. This community can be very helpful in solving any problems you may encounter during the development process. Knowledge and experience are shared through forums, GitHub repos, Slack groups, and other resources.
Contribution to Educational Technologies: While developing the Open edX theme, you have the opportunity to make a contribution to the field of global educational technologies. This can give you valuable experience and connections in your career.
OmniKampus Ege
OmniKampus Ege is a theme that I developed, inspired by the lush natural beauties of the Aegean region of Turkey. I mentioned the enjoyable aspects of the Open edX platform, flexibility and creativity allow you to work comfortably on the themes you develop. It offers the opportunity to design your file structure, HTML layout, style and script files completely custom. If you wish, you can also proceed by overriding the sections you want to change on top of the default structure. While I make a completely default design for some pages, I proceed by overriding the styles of certain sections for some pages. In the file structure, I prefer to create my own custom style folder and style files with the appropriate naming for the .html files I use, with a different rule from the style addition rule offered by the Open edX software. From my point of view, this method is both more readable and organized. Since OmniKampus solutions are developed under the AGPL (GNU Affero General Public License), which is one of my company’s principles, you can access and contribute to this theme at any time. You can also use OmniKampus Ege in your own projects.