2018-03-06 Theming Meeting (FedX Core + Business)

Attendees:

Goals:

  1. Record White Label's needs, plans, and pain points around theming.
  2. Find areas we can work together to push work forward.

Requirements

  • #1 priority: Branding aspects
    • Logos
    • Styles
    • This is the majority of what the themes do.
  • #2 priority (might go away in the future)
    • Some layouts are overridden via template override mechanism
    • In majority of cases, because base pages were not responsive. If they were responsive, it might all go away.
      • These template tweaks are similar across the different white label sites.
    • Why was this not originally merged in? Why in a theme?
      • Wanted to work quickly, didn't want to impact community.
      • We should be able to port some of this into edx-platform proper.
      • Some client specific stuff, also we still have "fake program" stuff in there (before we had programs).
      • Strategically, believe we should pull all the marketing stuff out, not push the theme templates back in.
  • Customize some of the information on the marketing pages. ← "Text theming"
    • What we really need there is a CMS.
    • Would take away half the Arbisoft tickets "Hey, MIT needs this piece of text changed."
    • Enterprise portal work – might pull some of the White Label stuff over here.
      • (no doc on this yet, but add when it's available)
      • "Everything that the user sees before they get into the course."
      • Would be good if the community could also use this.
  • We only have a few white label sites with custom themes:
    • edx.org
    • edge
    • MITx Pro
    • HMS Global Academy
    • Wharton Prof Ed.
  • Functional overrides
    • E-commerce override to add quanitity to the basket (bulk purchase) – this will move into the ecommerce repo as a feature.
      • Backend was implemented there, but FE was WL only.
      • Faster to implement in the theme, but Product coordination would have been beneficial here.
  • Other examples where functionality possibly incorrectly added at themeing layer
    • Data sharing consent – didn't have time to modify the model.
      • Actual consent is stored in the database, but moving towards putting the text of consent in DB on a per-client basis.
      • "Django Admin as CMS"
      • Not clear if CMS is the solution.
    • Things that weren't site aware, but should have been (CT is "a huge crutch, and we use it")
  • May have Enterprise-specific cases where we want to control their navigation
    • Or administrative tools
  • Nobody cares about theming Studio today. Maybe someday when courses are being created by their employees. Today, we're selling the content of edX.
  • Think of theming and layout customization as separate things.
  • Community: Build Your Own Frontend
    • Replacement for Comprehensive Theming?
    • Third parties could fork and truly customize
    • Ari: Huge project, will want to involve open source providers if they're going down this route.
    • Bill: We should try to help make upgrades easier, versioned APIs, etc.
  • Haven't touched courseware.
  • Overrides on dashboard, registration.
    • course certificate overrides are stored in the database
    • program certs were built with theming in mind
  • Pain points
    • Theming's been mostly stable
    • It's also mostly worked on by Arbisoft
    • We usually make it work in platform, so it doesn't need to be overridden
    • When something changes in platform and breaks something in a theme (checkbox in registration – showed up in WL sites, had to be disabled).
    • Deployment process
      • To change a few colors, we have to go through the whole deployment process.
        • We don't do this often, but it shouldn't rely on the whole platform being deployed.
  • Recently merged a couple of OpenCraft PRs to allow overrides of blocks of a template instead of whole file.
    • We have this functionality, but we haven't retrofitted this into our existing themes.


Dave's shameless plug for Volunteers for giving an Open edX Workshop on Theming: Bill Filler (Deactivated) has to check his calendar

Plans

  • Stories on backlog to clean up existing themes, responsive header/footer, more base pages are responsive now.
  • No incremental functionality improvements planned in the short/medium term.
  • New Portal Site
    • Starting work ("writing code") next quarter, though that's pretty soon (tongue)
    • UX and Product has been thinking about this
      • UX is making mocks
      • Engineering is off looking at what APIs are going to be required to support this
      • "Logistration" is a part of this effort
    • Only Business Team is building this. Want to be able to experiment, but also eventually leverage this into the rest of the org.
    • First rev of this would not change the browsing experience for edx.org itself, but may eventually be used for this.
    • Haven't decided what's MVP/v1.
    • Want to make sure we don't isolate learners, let them see the edx.org courses as well.
    • For now, thought is that everyone's still in the same LMS. How to offboard/convert enterprise customers to edx.org customers.
    • CMS functionality
    • New stuff, so Bootstrap, Paragon, React, etc.
    • Other challenges
      • We shopped around the Logistration stuff, but we didn't end up implementing it.
      • Want to have a clear plan before we go to everyone about it.

How will Bootstrap Transition Affect White Label?

  • A lot of this is using Pattern Library
  • Harry and Andy did some work here to allow Bootstrap vars to propogate to v1 and v2 CSS.
  • Program marketing page is the only page using Bootstrap at the moment.
  • To see if it's going to break:
    • Test via the the theming admin: Testing WL themes in devstack
    • Arbisoft just finished work to allow white label testing on sandbox (checkbox in config)
    • Set up WL on your local machine.
    • Devops working on devstack with white label sites.
  • When we know it's going to break:
    • Need to coordinate the effort. Andy and Harry would get the themes to a mostly working state, run past WL team for review and iteration.