Configuration Complexity | edX | Understanding how configuration worked, and what needed to change in which repo. That's been simplified a little bit, but having a good doc with some examples and pictures could be really helpful. |
Data Access | edX | initially, lack of access to production database contents, something I'd come to take for granted having on day 1 from my last job |
Devstack | edX | Devstack took me 4 days to set up. |
edX | Misunderstanding of devstack setup ("where should I run each command"?), understanding how the components of platform fit together and how external components plug in, |
edX | devstack has always been tricky to set up, though it is better lately. |
edX | mainly getting devstack up and running, migration state issues, redis dying and not being apparent etc. incrementally updating devstack has been challenging. |
Pas edX | devstack breaks occasionally. the code is very big with many systems that has some tight coupling. |
Pas edX | How long it takes to download and provision. 2. How confusing it is to get configure the development environment (i.e. which files to change settings in)
|
Pas edX | Devstack is still hard to get up and running. |
Pas edX | Docker is not well supported for Mac (disk handling is slow-- the NFS setup solution in Devstack is brittle)-- ended up switching to Linux eventually. The workflow for editing frontend assets takes a while to find. Didn't find out there was a full ReadTheDocs book on the Devstack until months later. |
Pas edX | The devstack needs to set good expectations regarding the stack - how heavy it is, how long does setting it up take, how long do tests take and good ways to test only your changes - which require some digging around right now |
Pas edX | The devstack required too much RAM (in vagrant. And now in docker, with too many containers). Some features in the documentation apply only to edx.org. Designing themes was slow and had obscure complexities. Some features (Insights, ecommerce, discovery) and 2nd-category andmuch harder to set up and hack |
Pas edX | Setting up the dev environment |
Devstack / Devstack Feature Setup | edX | devstack and its various CLI commands/layers of commands are very opaque and not well-documented. It's really hard to know what to do at any given time and what the most efficient ways of keeping your environment functioning and up to date are. Alternately, trying to enable different features and optional plugins/packages in devstack is very difficult and error prone. Setting up exams, XBlocks, courses in particular states, etc., all difficult and finding documentation is challenging. |
Devstack / Missing Docs | Pas edX | Getting the development environment setup is a pain, then you don't understand on the surface of what IDA is and in development do you really need to start all of them. There is heavy lack of documentation when a new feature is introduced which should be curbed ASAP. |
Devstack Feature Setup | Arbisoft | when working for sustaining and escalations team (edx-spartans), it was fairly difficult to setup devstack for proper workflows to reproduce the bug. Like how to set entitlements locally, how to setup credentials, how to create and enable programs etc |
edX | not having the type of documentation I described in the last question (Feature set-up!) |
edX | Issues with devstack, setting up the environment in a way that can replicate whatever bug I am trying to solve (for example, with a bundle course). Documentation is not always up to date so you go by trial and error. |
edX | Configuration during development is rarely the same as production. Build out working test data sets locally is painful. |
Pas edX | Figuring out how to enable a feature or to run a specific operation required (and still does) extensive grepping ("git grep ...") of the source code. |
Pas edX | Figuring out how to modify theme and add/modify existing components. |
IDA Differences | edX | I stumbled when learning that each service is a little different in it's own way. |
Missing Docs | Pas edX | Lack of documentation |
Pas edX | No LMS autogenerated documentation easily accessible. Code is massive, so it's easy to lose yourself without real good explanation on several components |
Pas edX | could not find any documentation for common errors faced while the development |
Pas edX | Lack of context for how pieces of code are used, and what the future plans were. Lack of API documentation. |
Missing Docs / Outdated Docs | Pas edX | Incomplete/missing documentation of feature flags and configuration options, out-of-date information on how to set up features like certificates, course search, course modes. |
Not Understanding Complex Features | edX | Usually the hardest thing for me is understanding how some complex feature is supposed to work - this is more product documentation than developer documentation. For example, knowing how Feature Based Enrollments is supposed to be behave, and how to set up Feature Based Enrollments locally. |
Pas edX | It was not so easy for me to understand how modulestore works. |
Pas edX | There is no clear documentation for insight, ecommerce and what little there is is not clear. Not to mention that the part of forums for notifications, which should be easy is not. |
Not Understanding Overall Architecture | Arbisoft | Understanding edX's architecture, keeping notes of its different components(internal tools included), and how they fit in with the development stack. |
edX | Lack of knowledge about upstream systems, data integration & data flows |
edX | Difficulty of finding an organized documentation ecosystem. Didn't know if there was no documentation OR if I was looking in the wrong places |
edX | No clear documentation on the overall design and how the IDAs all connect. |
edX | lack of understanding what all the repos are for and how they relate to each other; what xblocks are |
edX | Structure of edx-platform. More generally, how our systems "fit together" |
Pas edX | In the beginning, the hardest part was figuring out how the several components came together in a scalable fashion. |
Not Understanding Overall Architecture / Devstack Feature Setup | edX | It felt like there was always some service I didn't know about that I needed to spin up, or there was a waffle flag that I didn't know about that I needed to turn on, etc, etc, etc. I did not have the necessary knowledge of the system to complete my development tasks. |
Not Understanding Overall Architecture / Poor Doc Search | edX | Which repos were responsible for what, how do they/are they supposed to interact with each other, no authoritative set of expectations around code quality/processes ("do what you want", "we prioritize speed over everything else") |
Open edX Hosting | Pas edX | Open edX is too big to host locally on a modest computer. Open edX is tied to third party non-free services for which, IMHO, some free/self hosted alternatives should exist either fully implemented or as stubs. |
Pas edX | Install OpenEDX on Cloud server. |
Outdated Docs | edX | Lots of out of date doc that should be nuked |
Outdated Docs / Poor Doc Search | edX | a lot of documentation is out of date and written by people who don't work here anymore, and a lot of tribal knowledge is kinda just shared within owning teams and not published anywhere (or hard to find), so if you need to jump into a new area it's often hard to figure out what is happening and why |
edX | Getting to a point where you can develop is sometimes challenging (i.e. docs out of date, broken commands, have gaps/assumptions about developer knowledge). Sometimes it led to some rabbit holes |
Poor Doc Search | edX | Documentation is scattered everywhere. One search is not good enough and I need to search on multiple platforms like Confluence, github, google docs and so on. |
Poor Doc Search / Missing Docs | Pas edX | lack of examples, not begin told/not finding development conventions |