Development worflow

Are there any resources/tutorials on the workflow of developing from devstack. You install it locally and get it running. Then what? Say I want to change one hard coded word to something else as an experiment. For example: https://github.com/edx/edx-platform/blob/master/lms/templates/courseware/courseware.html.
Then what happens? How do I observe those changes locally. How do you then get that change to production?
if you use the existing production instructions, you are just installing the EDX based code. How are you suppose to install your own code.
Seems like there is a huge gap in knowledge of how you work on your own fork of open edx.

@jw56578, Open edX has a comprehensive theming system built-in. So yoy can create a custom theme with just the changed templates to override the ones that ship with the platform. This way you don’t have to make any code changes directly in the platform codebase at all and it is easier to carry-forward the overrides across Open edX releases.

Please let me know if you have any questions or doubts.

I think some of your questions about getting your changes into production are addressed in section 3 of this guide. which maybe you haven’t found (not sure how I did).

But I too need a recipe for how to do a very common developer workflow which is what you are asking for. I will post on new topic which hopefully phrases the question in such a way that we get a more useful reply.

Hi @jw56578

I am too in the same situation as yours, please let me know if you have found a development environment working setup with an IDE to make custom changes to Django apps, for example where I want to add an extra attribute to the model or create a new REST API within LMS/CMS something like that. Currently, I’m not able to do this on my own using the git hub repo that is shared where it can only run or stop locally no modifications are possible.

@david.marshall has shared a document guide but is of not much use for the requested topic.

Anyone who has set up a development workbench for open edX please share the setup settings that would help the developers in the open edX community.

You can check out the guide to installing and configuring the platform here. It should also link you to this page which explains how to install the latest release of Open edX on Ubuntu 16.04. The config file there can be used to override a number of variables including where to install Open edX from, which can be a fork or a custom branch.

For example you can use the edx_platform_repo variable to set which github repo to clone edx-platform from, and edx_platform_version can specify which branch of that repo to use.

You can set up the docker-based devstack which will allow you to make modifications and have them show up immediately with auto-reloading.

@jw56578 we just published a blog post on developing from devstack, I hope this helps :slight_smile: cc. @camel11

Our team is also happy to help with any questions!