Open edX 2019 Theming Dev Summit discussion

Open edX 2019 Theming Dev Summit discussion

Format

We had perhaps 20-30 people in attendance.  We went around the room with each person talking about:

  1. The ways in which their company "themes" edX

  2. Any particular pain points they experience.

I attempted to record everything that was said as a series of bullet points for each person.  To get the following lists, I then bucketed those bullet points roughly by the sub-type of "theming" that they seem to represent.  (I didn't think too hard about which bucket things belong in; deciding how each of these should be handled is its own exercise.)  

Some Takeaways

  • The big one is that people keep trying to do things that would better be handled by a third-party CMS.

  • Branding is obviously very prevalent, but:

    • Sometimes it gets used to do things that should probably be configuration.

    • Getting consistent styling between Open edX and third-party pages is hard.

  • Using the server-side configuration/flags sounds difficult.

  • i18n not fully solved

  • Not too much talk about comprehensive theming - "Make the common things easy, make the uncommon things possible."

Branding

 

  • Visual tweaks

  • Branding / SASS

  • SASS variable overrides

  • Cosmetics

  • Hiding things purely with CSS

  • colors and fonts

  • styling changes

  • font changes

  • Modifying stylesheets at runtime

  • Certificate branding

  • consistent branding between open edX/other things

  • Styling consistency with custom pages and platform pages

  • REM size difference issues

  • Multi-tenancy branding

Configuration

 

  • Have things defaulted off

  • discovery of configuration settings is hard

  • Django admin for waffle flags: table is empty

  • Want config by site

  • Remove stuff from UI

  • what params exist in python/waffle?

  • favicon in studio

  • header changes

  • Modify blocks via site configuration

  • Themes based on ansible variables (logo, CSS, images)

  • Settings/site configuration unclear

  • Multi-tenancy hiding/showing elements

  • Marketing URLs and marketing URLs linkmap (?)

Customization

 

  • Hooks to modify things in base files

  • Hooks in templates at places they're needed

  • Overriding headers / footers

  • Course page overrides

  • Course catalog layout overrides (sections)

  • Customizations should generally be configurations

i18n

 

  • i18n

  • localization

  • Semantic strings as i18n keys, not english strings (fixed in MFEs)

  • Intl for custom code / new content pages

  • multi-lingual

Plugins

 

  • Want program manager to experiment without working with a developer

  • System to let users inject stuff

  • Template changes, want info from context: date, user, etc.

CMS

 

  • Wordpress

  • Wordpress/CMS

  • CMS

  • landing pages

  • Theming home page

  • Terms of service x3