Each year at the Open edX conference, we have a talk dedicated to the state of the Open edX project and platform. Typically that talk reflects on our accomplishments over the last year, the health of our community, some of the challenges that we face together, and proposes some areas of shared focus for the future.
Whenever tutor was officially adopted, no attempt was made to update all the documentation, so it just broke all docs. It also broke support for analytics (only to eventually re-introduce it as a paid plugin (Cairn), only to eventually make it free after Regis got acquired.) Oh and you know how apparently you used to be able to just set configuration values in configuration files? Now you have to write a plugin to do that, except there’s never been any documentation written about what the mapping is between things like “common-env-features” and “lms-env-features” and “openedx-common-settings” and the actual config files like lms.yml that the Open edX documentation tells you to change.
Support for Google Analytics 4 wasn’t released until days before the previous Google Analytics was turned off (so if you couldn’t immediately upgrade to Palm because of its regressions, oh well, sucks to be you! Maybe you should pay 250k a year for premium google analytics, loser. And if you look at that thread you’ll see that even as late as palm.4 GA4 broke the capability for students to view course completion certificates.)
Then Quince introduced a non-opt-out UI element that makes students think you’re trying to upsell them to pay for free classes.
These are just a few of the issues I’ve encountered.
How’s the health of the community you ask? Just peachy
p.s. if I had to “proposes some areas of shared focus for the future”, beyond the obvious regression testing mentioned above, it’d be getting Libraries to being a first-class feature. We’ve been promised “new Libraries v2 coming soon!” for like 3+ years. One of our instructors made heavy use or Libraries and was viciously punished for it. Because library UUIDs on our production server != library UUIDs on our beta server (they seem to be based on timestamps or something), so when the instructor went to import from beta to production they have to go create a production placeholder class, add 50 libraries, export, get the UUIDs, run 50 find-and-replace calls on the decompressed beta class, before importing it. I really don’t think “people should be able to reuse material between classes instead of copying and pasting things and being unable to keep them synchronized” is that unreasonable of request from a LMS. (Beyond that, I don’t think “update all the places this Library is found” is that unreasonable either, instead of forcing the only way to be to go everywhere and hit “refresh”, thus basically removing any synchronization benefit over just copying and pasting the same content everywhere.)
This is valuable input, but I think the two meta topics that you raise would be better as separate threads. That is, one thread for release pain and regressions and one thread for libraries progress.
I think that for this thread we should still note both the topics you raise, but move the deeper conversations about them.
@jmakowski can share plans and progress for libraries. The conversation about release planning, testing, and regressions is also active.