Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

edx platform cannot apply stanford theme

Tags:

edx

I am running a fullstack edx platform in aws using a pre-installed image. I tried to apply the stanford theme using manual method as described here:

https://github.com/edx/edx-platform/wiki/Stanford-Theming

I cloned a theme repository located here:

https://github.com/Stanford-Online/edx-theme

And did what was described in the said tutorial. The theme files were placed in the repective directories.

But after recompiling lms assets, The lms was not changed.

Nothing happened.

like image 732
user3631341 Avatar asked Feb 20 '15 04:02

user3631341


2 Answers

###These instructions were initially written for Birch. Please see the UPDATE section below for Eucalyptus (and later releases)

Here are the steps to enable a custom theme using the manual method described here:

https://github.com/edx/edx-platform/wiki/Stanford-Theming

First create the base VM:

mkdir fullstack
cd fullstack
curl -L https://raw.githubusercontent.com/edx/configuration/master/vagrant/release/fullstack/Vagrantfile > Vagrantfile
vagrant plugin install vagrant-hostsupdater
export OPENEDX_RELEASE="named-release/birch"
vagrant up

This might take awhile as the virtual box is downloaded. The key is exporting the OPENEDX_RELEASE environment variable. This specifically is installing the Birch named release. Over time, this will change. See more on named releases here:

https://edx.readthedocs.io/projects/edx-developer-docs/en/latest/named_releases.html

Now, SSH into the VM and become the edxapp user:

vagrant ssh
sudo su edxapp -s /bin/bash
cd ~
source edxapp_env

Pull down the theme from github:

mkdir themes
cd themes
git clone https://github.com/Stanford-Online/edx-theme.git default

Configure edX to use the new theme:

cd /edx/app/edxapp
vi lms.env.json
change "USE_CUSTOM_THEME": false to "USE_CUSTOM_THEME": true
change "THEME_NAME": "", to "THEME_NAME": "default",
exit and save vi

Recompile the assets:

cd /edx/app/edxapp/edx-platform
paver update_assets lms --settings=aws

Test with your Browser: http://192.168.33.10:8000/courses or http://localhost:8000/courses

#UPDATE

###The installation and theming processes have changed in the Eucalyptus release.

To install devstack or fullstack follow these steps: edx-installing-configuring-and-running

To enable the Stanford Theme follow these steps: edx-installing-configuring-and-running...#enable-themes

With the following variables set in /edx/app/edxapp/lms.env.json:

ENABLE_COMPREHENSIVE_THEMING: true,
COMPREHENSIVE_THEME_DIRS: ["/edx/app/edxapp/edx-platform/themes" ],
DEFAULT_SITE_THEME: "stanford-style",

Then restart the app: sudo /edx/bin/supervisorctl restart edxapp:

If this works then Congratulations! You have correctly configured Open edX theming. Now to begin customizing your theme, you need to copy all the files under "stanford-style" into your own directory structure. This is very important so you can put your files under configuration control separate from Open edX.

Put the theme here: /edx/app/edxapp/themes/<your-theme-name>

sudo mkdir /edx/app/edxapp/themes
sudo chown edxapp:edxapp /edx/app/edxapp/themes
cd /edx/app/edxapp/themes
sudo cp -R /edx/app/edxapp/edx-platform/themes/stanford-style <your-theme-name>
sudo chown -R edxapp:edxapp <your-theme-name>

Then, change the variables in lms.env.json

ENABLE_COMPREHENSIVE_THEMING: true,
COMPREHENSIVE_THEME_DIRS: ["/edx/app/edxapp/themes" ],
DEFAULT_SITE_THEME: "<your-theme-name>",

Before moving to production, make these changes permanent by moving the variables to /edx/app/edx_ansible/server-vars.yml (works in fullstack or native only). If the file does not already exist then create it. The variables are defined and named slightly differently in server-vars.yml.

EDXAPP_ENABLE_COMPREHENSIVE_THEMING: true
EDXAPP_COMPREHENSIVE_THEME_DIRS:
  - /edx/app/edxapp/themes
EDXAPP_DEFAULT_SITE_THEME: "<your-theme-name>"

Then, run sudo /edx/bin/update edx-platform open-release/eucalyptus.2 to autogenerate a new lms.env.json. Check the lms.env.json to make sure the ansible variables were processed correctly.

like image 168
stuart Avatar answered Nov 17 '22 17:11

stuart


You need:

  1. Root Directories for Theme Files
  2. Creating a Theme
  3. Enabling and Applying Themes
  4. Compiling a Theme

There is the complete guide:

http://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/configuration/changing_appearance/theming/

like image 1
Eduardo Cuomo Avatar answered Nov 17 '22 17:11

Eduardo Cuomo