Remove ThemingAware storage mixins and ComprehensiveThemeFinder.

Collectstatic failed in production when comprehensive theme contained custom css files.
This patch fixes that problem by removing ComprehensiveThemeFinder from STATICFILES_FINDERS
and ComprehensiveThemingAware mixin from STATICFILES_STORAGE.

Comprehensive theme static dirs are added to the top of the STATICFILES_DIRS entry,
which means that the default django FilesystemFinder will find theme static files,
and since the theme folder is at the top of STATICFILES_DIRS, theme files will take
precedence over default LMS/CMS static files.

This change means that theme static file URLs are no longer prefixed with themes/<theme-name>/,
but since we currently only support one comprehensive theme at a time, that shouldn't be a problem.
If/when we want to make the choice of a theme dynamic per-request (microsites?), we will have to
bring custom theme finders and storage mixins back, but for now, we don't need them.
This commit is contained in:
Matjaz Gregoric
2016-01-14 09:00:17 +01:00
parent 8c26178df3
commit 266f593d2d
5 changed files with 0 additions and 7 deletions

View File

@@ -484,7 +484,6 @@ STATICFILES_STORAGE = 'openedx.core.storage.ProductionStorage'
# List of finder classes that know how to find static files in various locations. # List of finder classes that know how to find static files in various locations.
# Note: the pipeline finder is included to be able to discover optimized files # Note: the pipeline finder is included to be able to discover optimized files
STATICFILES_FINDERS = [ STATICFILES_FINDERS = [
'openedx.core.djangoapps.theming.finders.ComprehensiveThemeFinder',
'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'pipeline.finders.PipelineFinder', 'pipeline.finders.PipelineFinder',

View File

@@ -41,7 +41,6 @@ STATICFILES_STORAGE = 'openedx.core.storage.DevelopmentStorage'
# Revert to the default set of finders as we don't want the production pipeline # Revert to the default set of finders as we don't want the production pipeline
STATICFILES_FINDERS = [ STATICFILES_FINDERS = [
'openedx.core.djangoapps.theming.finders.ComprehensiveThemeFinder',
'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
] ]

View File

@@ -1154,7 +1154,6 @@ STATICFILES_STORAGE = 'openedx.core.storage.ProductionStorage'
# List of finder classes that know how to find static files in various locations. # List of finder classes that know how to find static files in various locations.
# Note: the pipeline finder is included to be able to discover optimized files # Note: the pipeline finder is included to be able to discover optimized files
STATICFILES_FINDERS = [ STATICFILES_FINDERS = [
'openedx.core.djangoapps.theming.finders.ComprehensiveThemeFinder',
'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'pipeline.finders.PipelineFinder', 'pipeline.finders.PipelineFinder',

View File

@@ -99,7 +99,6 @@ STATICFILES_STORAGE = 'openedx.core.storage.DevelopmentStorage'
# Revert to the default set of finders as we don't want the production pipeline # Revert to the default set of finders as we don't want the production pipeline
STATICFILES_FINDERS = [ STATICFILES_FINDERS = [
'openedx.core.djangoapps.theming.finders.ComprehensiveThemeFinder',
'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
] ]

View File

@@ -4,11 +4,9 @@ Django storage backends for Open edX.
from django.contrib.staticfiles.storage import StaticFilesStorage, CachedFilesMixin from django.contrib.staticfiles.storage import StaticFilesStorage, CachedFilesMixin
from pipeline.storage import PipelineMixin, NonPackagingMixin from pipeline.storage import PipelineMixin, NonPackagingMixin
from require.storage import OptimizedFilesMixin from require.storage import OptimizedFilesMixin
from openedx.core.djangoapps.theming.storage import ComprehensiveThemingAwareMixin
class ProductionStorage( class ProductionStorage(
ComprehensiveThemingAwareMixin,
OptimizedFilesMixin, OptimizedFilesMixin,
PipelineMixin, PipelineMixin,
CachedFilesMixin, CachedFilesMixin,
@@ -22,7 +20,6 @@ class ProductionStorage(
class DevelopmentStorage( class DevelopmentStorage(
ComprehensiveThemingAwareMixin,
NonPackagingMixin, NonPackagingMixin,
PipelineMixin, PipelineMixin,
StaticFilesStorage StaticFilesStorage