microsoft / oxa-tools

Open edX on Azure Tools
MIT License
37 stars 99 forks source link

Changing assets post deployment on a STAMP #307

Closed fyrlandt closed 6 years ago

fyrlandt commented 6 years ago

Hi, we're currently having an issue changing the assets such as the logo being used. We've overwritten the logo.png in the lms/static/images folder. We then ran the update assets and compile static commands and we do see the new logo along with its compiled version in the var/staticfiles/images folder so I know that at least the update assets and compile static commands worked.

We restarted the lms and cms afterwards but how come the logo that shows up on the lms is still the default one? We tested this out on a bitnami devstack and it worked. Pretty much all documents/sites we can find pertaining to changing assets for openedx describes more or less the same thing we did.

Is there some other command that we're supposed to run to make changes or we can't make any asset change on an openedx deployed on azure via oxa-tools?

Edit: Actually we tried deploying another instance of a STAMP deployment of ficus, when we checked the staticfiles folder, it was actually empty and yet the theme that we set during/prior to deployment in the parameters.json reflected the desired theme. Problem is we can't seem to be able to make any changes onto the theme.

eltoncarr commented 6 years ago

Hi @fyrlandt, the suggested approach for making theme modifications is to create your own theme repository and reference it during deployment. We have provided some details about that here: Open edX theming guidance video

fyrlandt commented 6 years ago

Yeah that's what we did and it worked however what if we want to make theme modifications after deployment? That's what we can't seem to do.

eltoncarr commented 6 years ago

That is not suggested. You always want to capture all of your changes in your theming repo.

fyrlandt commented 6 years ago

Hmm, actually what we intend to do is to update the theming repo if for example a client wants his logo changed but we've tried updating the theming repo and the added/changed files aren't being seen. Is there any way to prompt edx to pull from the theming repo again just like during deployment?

eltoncarr commented 6 years ago

There's always a way if you know what you are doing. Typically, this would involve working on the application instance (not recommended), doing a git pull of the theming repo (you'd need to know the path: usually under the platform code) and re-compile the assets on the instance (consult edx docs for details). That should be sufficient. Again, these are not processes we recommend particularly for a live system like a STAMP cluster.

fyrlandt commented 6 years ago

Weird thing is we've been git pulling the theming repo into the Comprehensive_themes_dir stated in the lms.env.json (/edx/app/edxapp/edx-platform/themes in our case) and we've done the update assets and compile static commands:

And we'd see the compiled assets in /edx/var/edxapp/staticfiles. Then we also restart the lms and cms:

I do see it state that my theme is being compiled during the update static command however after restarting and despite the theme being set in the django admin page, it still doesn't update. I'm wondering if there's some sort of caching that's happening on the server/jumpbox? Been testing on various browsers and incognito in chrome so it doesn't seem to be a browser caching issue.

Edit: Also I noticed this just now but I tried stopping the nginx but I can still access the lms. Is this normal? On the bitnami devstack we can't access the lms once nginx is stopped.

eltoncarr commented 6 years ago

There are additional settings in the *.env.json file that need to be updated to use the theme specified in additional to compiling and restarting services.

fyrlandt commented 6 years ago

Ok, I finally got it to work, turns out I was trying to change the files in the jumpbox instead of the instance with a private IP.

eltoncarr commented 6 years ago

Excellent. Again, this is not a recommended approach. For trial purposes, that should suffice. Meanwhile, I will close this issue.