From 549fbe48156587a2b09277da4e58a9b1b7036bac Mon Sep 17 00:00:00 2001 From: David Baumgold <david@davidbaumgold.com> Date: Wed, 19 Feb 2014 11:05:25 -0500 Subject: [PATCH] Rollback Django Debug Toolbar from 1.0.1 to 0.9.4 Due to issues with require.js and the latest version of the toolbar. Also included a note in the requirements file explaining the situation, and what needs to happen before this can be upgrade properly. --- cms/envs/dev.py | 18 +++++++++--------- cms/envs/dev_dbperf.py | 20 ++++++++++---------- cms/envs/devstack.py | 19 +++++++++---------- common/lib/check_debug.py | 14 -------------- lms/envs/content.py | 19 +++++++++---------- lms/envs/dev.py | 22 ++++++++++++++-------- lms/envs/devplus.py | 18 +++++++++--------- lms/envs/devstack.py | 30 +++++++++++++++--------------- requirements/edx/base.txt | 12 ++++++++++-- 9 files changed, 85 insertions(+), 87 deletions(-) delete mode 100644 common/lib/check_debug.py diff --git a/cms/envs/dev.py b/cms/envs/dev.py index 3f6fd6ab849..cd3e2067f47 100644 --- a/cms/envs/dev.py +++ b/cms/envs/dev.py @@ -147,20 +147,20 @@ MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware',) INTERNAL_IPS = ('127.0.0.1',) DEBUG_TOOLBAR_PANELS = ( - 'debug_toolbar.panels.versions.VersionsPanel', - 'debug_toolbar.panels.timer.TimerPanel', - 'debug_toolbar.panels.settings.SettingsPanel', - 'debug_toolbar.panels.headers.HeadersPanel', - 'debug_toolbar.panels.request.RequestPanel', - 'debug_toolbar.panels.sql.SQLPanel', - 'debug_toolbar.panels.signals.SignalsPanel', - 'debug_toolbar.panels.logging.LoggingPanel', + 'debug_toolbar.panels.version.VersionDebugPanel', + 'debug_toolbar.panels.timer.TimerDebugPanel', + 'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel', + 'debug_toolbar.panels.headers.HeaderDebugPanel', + 'debug_toolbar.panels.request_vars.RequestVarsDebugPanel', + 'debug_toolbar.panels.sql.SQLDebugPanel', + 'debug_toolbar.panels.signals.SignalDebugPanel', + 'debug_toolbar.panels.logger.LoggingPanel', # Enabling the profiler has a weird bug as of django-debug-toolbar==0.9.4 and # Django=1.3.1/1.4 where requests to views get duplicated (your method gets # hit twice). So you can uncomment when you need to diagnose performance # problems, but you shouldn't leave it on. - # 'debug_toolbar.panels.profiling.ProfilingPanel', + # 'debug_toolbar.panels.profiling.ProfilingDebugPanel', ) DEBUG_TOOLBAR_CONFIG = { diff --git a/cms/envs/dev_dbperf.py b/cms/envs/dev_dbperf.py index 6e40b4b97c4..2ea131b69ea 100644 --- a/cms/envs/dev_dbperf.py +++ b/cms/envs/dev_dbperf.py @@ -9,21 +9,21 @@ This configuration is to turn on the Django Toolbar stats for DB access stats, f from .dev import * DEBUG_TOOLBAR_PANELS = ( - 'debug_toolbar.panels.versions.VersionsPanel', - 'debug_toolbar.panels.timer.TimerPanel', - 'debug_toolbar.panels.settings.SettingsPanel', - 'debug_toolbar.panels.headers.HeadersPanel', - 'debug_toolbar.panels.request.RequestPanel', - 'debug_toolbar.panels.sql.SQLPanel', - 'debug_toolbar.panels.signals.SignalsPanel', - 'debug_toolbar.panels.logging.LoggingPanel', - 'debug_toolbar_mongo.panel.MongoDebugPanel', + 'debug_toolbar.panels.version.VersionDebugPanel', + 'debug_toolbar.panels.timer.TimerDebugPanel', + 'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel', + 'debug_toolbar.panels.headers.HeaderDebugPanel', + 'debug_toolbar.panels.request_vars.RequestVarsDebugPanel', + 'debug_toolbar.panels.sql.SQLDebugPanel', + 'debug_toolbar.panels.signals.SignalDebugPanel', + 'debug_toolbar.panels.logger.LoggingPanel', + 'debug_toolbar_mongo.panel.MongoDebugPanel' # Enabling the profiler has a weird bug as of django-debug-toolbar==0.9.4 and # Django=1.3.1/1.4 where requests to views get duplicated (your method gets # hit twice). So you can uncomment when you need to diagnose performance # problems, but you shouldn't leave it on. - # 'debug_toolbar.panels.profiling.ProfilingPanel', + # 'debug_toolbar.panels.profiling.ProfilingDebugPanel', ) # To see stacktraces for MongoDB queries, set this to True. diff --git a/cms/envs/devstack.py b/cms/envs/devstack.py index d6f871d0802..fa960a44fd9 100644 --- a/cms/envs/devstack.py +++ b/cms/envs/devstack.py @@ -37,14 +37,14 @@ MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware',) INTERNAL_IPS = ('127.0.0.1',) DEBUG_TOOLBAR_PANELS = ( - 'debug_toolbar.panels.versions.VersionsPanel', - 'debug_toolbar.panels.timer.TimerPanel', - 'debug_toolbar.panels.settings.SettingsPanel', - 'debug_toolbar.panels.headers.HeadersPanel', - 'debug_toolbar.panels.request.RequestPanel', - 'debug_toolbar.panels.sql.SQLPanel', - 'debug_toolbar.panels.signals.SignalsPanel', - 'debug_toolbar.panels.logging.LoggingPanel', + 'debug_toolbar.panels.version.VersionDebugPanel', + 'debug_toolbar.panels.timer.TimerDebugPanel', + 'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel', + 'debug_toolbar.panels.headers.HeaderDebugPanel', + 'debug_toolbar.panels.request_vars.RequestVarsDebugPanel', + 'debug_toolbar.panels.sql.SQLDebugPanel', + 'debug_toolbar.panels.signals.SignalDebugPanel', + 'debug_toolbar.panels.logger.LoggingPanel', # Enabling the profiler has a weird bug as of django-debug-toolbar==0.9.4 and # Django=1.3.1/1.4 where requests to views get duplicated (your method gets @@ -54,8 +54,7 @@ DEBUG_TOOLBAR_PANELS = ( ) DEBUG_TOOLBAR_CONFIG = { - 'INTERCEPT_REDIRECTS': False, - 'SHOW_TOOLBAR_CALLBACK': 'check_debug.should_show_debug_toolbar', + 'INTERCEPT_REDIRECTS': False } # To see stacktraces for MongoDB queries, set this to True. diff --git a/common/lib/check_debug.py b/common/lib/check_debug.py deleted file mode 100644 index f0c03e9bbfc..00000000000 --- a/common/lib/check_debug.py +++ /dev/null @@ -1,14 +0,0 @@ -""" -Function to check debug status. -""" -import os - -def should_show_debug_toolbar(request): - """ - Return True/False to determine whether to show the Django - Debug Toolbar. - - If HIDE_TOOLBAR is set in the process environment, the - toolbar will be hidden. - """ - return not bool(os.getenv('HIDE_TOOLBAR', '')) diff --git a/lms/envs/content.py b/lms/envs/content.py index 7723f4c897d..f85ae0b9cd3 100644 --- a/lms/envs/content.py +++ b/lms/envs/content.py @@ -19,19 +19,18 @@ INSTALLED_APPS += ('debug_toolbar',) MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware',) DEBUG_TOOLBAR_PANELS = ( - 'debug_toolbar.panels.versions.VersionsPanel', - 'debug_toolbar.panels.timer.TimerPanel', - 'debug_toolbar.panels.settings.SettingsPanel', - 'debug_toolbar.panels.headers.HeadersPanel', - 'debug_toolbar.panels.request.RequestPanel', - 'debug_toolbar.panels.sql.SQLPanel', - 'debug_toolbar.panels.signals.SignalsPanel', - 'debug_toolbar.panels.logging.LoggingPanel', + 'debug_toolbar.panels.version.VersionDebugPanel', + 'debug_toolbar.panels.timer.TimerDebugPanel', + 'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel', + 'debug_toolbar.panels.headers.HeaderDebugPanel', + 'debug_toolbar.panels.request_vars.RequestVarsDebugPanel', + 'debug_toolbar.panels.sql.SQLDebugPanel', + 'debug_toolbar.panels.signals.SignalDebugPanel', + 'debug_toolbar.panels.logger.LoggingPanel', # Enabling the profiler has a weird bug as of django-debug-toolbar==0.9.4 and # Django=1.3.1/1.4 where requests to views get duplicated (your method gets # hit twice). So you can uncomment when you need to diagnose performance # problems, but you shouldn't leave it on. -# 'debug_toolbar.panels.profiling.ProfilingPanel', +# 'debug_toolbar.panels.profiling.ProfilingDebugPanel', ) - diff --git a/lms/envs/dev.py b/lms/envs/dev.py index 1230e546e53..40013ee42ed 100644 --- a/lms/envs/dev.py +++ b/lms/envs/dev.py @@ -217,14 +217,20 @@ MIDDLEWARE_CLASSES += ('django_comment_client.utils.QueryCountDebugMiddleware', INTERNAL_IPS = ('127.0.0.1',) DEBUG_TOOLBAR_PANELS = ( - 'debug_toolbar.panels.versions.VersionsPanel', - 'debug_toolbar.panels.timer.TimerPanel', - 'debug_toolbar.panels.settings.SettingsPanel', - 'debug_toolbar.panels.headers.HeadersPanel', - 'debug_toolbar.panels.request.RequestPanel', - 'debug_toolbar.panels.sql.SQLPanel', - 'debug_toolbar.panels.signals.SignalsPanel', - 'debug_toolbar.panels.logging.LoggingPanel', + 'debug_toolbar.panels.version.VersionDebugPanel', + 'debug_toolbar.panels.timer.TimerDebugPanel', + 'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel', + 'debug_toolbar.panels.headers.HeaderDebugPanel', + 'debug_toolbar.panels.request_vars.RequestVarsDebugPanel', + 'debug_toolbar.panels.sql.SQLDebugPanel', + 'debug_toolbar.panels.signals.SignalDebugPanel', + 'debug_toolbar.panels.logger.LoggingPanel', + +# Enabling the profiler has a weird bug as of django-debug-toolbar==0.9.4 and +# Django=1.3.1/1.4 where requests to views get duplicated (your method gets +# hit twice). So you can uncomment when you need to diagnose performance +# problems, but you shouldn't leave it on. +# 'debug_toolbar.panels.profiling.ProfilingDebugPanel', ) DEBUG_TOOLBAR_CONFIG = { diff --git a/lms/envs/devplus.py b/lms/envs/devplus.py index 8ab60a32d98..adda94ff083 100644 --- a/lms/envs/devplus.py +++ b/lms/envs/devplus.py @@ -57,20 +57,20 @@ MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware',) INTERNAL_IPS = ('127.0.0.1',) DEBUG_TOOLBAR_PANELS = ( - 'debug_toolbar.panels.versions.VersionsPanel', - 'debug_toolbar.panels.timer.TimerPanel', - 'debug_toolbar.panels.settings.SettingsPanel', - 'debug_toolbar.panels.headers.HeadersPanel', - 'debug_toolbar.panels.request.RequestPanel', - 'debug_toolbar.panels.sql.SQLPanel', - 'debug_toolbar.panels.signals.SignalsPanel', - 'debug_toolbar.panels.logging.LoggingPanel', + 'debug_toolbar.panels.version.VersionDebugPanel', + 'debug_toolbar.panels.timer.TimerDebugPanel', + 'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel', + 'debug_toolbar.panels.headers.HeaderDebugPanel', + 'debug_toolbar.panels.request_vars.RequestVarsDebugPanel', + 'debug_toolbar.panels.sql.SQLDebugPanel', + 'debug_toolbar.panels.signals.SignalDebugPanel', + 'debug_toolbar.panels.logger.LoggingPanel', # Enabling the profiler has a weird bug as of django-debug-toolbar==0.9.4 and # Django=1.3.1/1.4 where requests to views get duplicated (your method gets # hit twice). So you can uncomment when you need to diagnose performance # problems, but you shouldn't leave it on. - 'debug_toolbar.panels.profiling.ProfilingPanel', + 'debug_toolbar.panels.profiling.ProfilingDebugPanel', ) #PIPELINE = True diff --git a/lms/envs/devstack.py b/lms/envs/devstack.py index 5f15b48ecfd..3722efd6ae3 100644 --- a/lms/envs/devstack.py +++ b/lms/envs/devstack.py @@ -35,25 +35,25 @@ MIDDLEWARE_CLASSES += ('django_comment_client.utils.QueryCountDebugMiddleware', INTERNAL_IPS = ('127.0.0.1',) DEBUG_TOOLBAR_PANELS = ( - 'debug_toolbar.panels.versions.VersionsPanel', - 'debug_toolbar.panels.timer.TimerPanel', - 'debug_toolbar.panels.settings.SettingsPanel', - 'debug_toolbar.panels.headers.HeadersPanel', - 'debug_toolbar.panels.request.RequestPanel', - 'debug_toolbar.panels.sql.SQLPanel', - 'debug_toolbar.panels.signals.SignalsPanel', - 'debug_toolbar.panels.logging.LoggingPanel', - -# Enabling the profiler has a weird bug as of django-debug-toolbar==0.9.4 and -# Django=1.3.1/1.4 where requests to views get duplicated (your method gets -# hit twice). So you can uncomment when you need to diagnose performance -# problems, but you shouldn't leave it on. -# 'debug_toolbar.panels.profiling.ProfilingPanel', + 'debug_toolbar.panels.version.VersionDebugPanel', + 'debug_toolbar.panels.timer.TimerDebugPanel', + 'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel', + 'debug_toolbar.panels.headers.HeaderDebugPanel', + 'debug_toolbar.panels.request_vars.RequestVarsDebugPanel', + 'debug_toolbar.panels.sql.SQLDebugPanel', + 'debug_toolbar.panels.signals.SignalDebugPanel', + 'debug_toolbar.panels.logger.LoggingPanel', + + # Enabling the profiler has a weird bug as of django-debug-toolbar==0.9.4 and + # Django=1.3.1/1.4 where requests to views get duplicated (your method gets + # hit twice). So you can uncomment when you need to diagnose performance + # problems, but you shouldn't leave it on. + # 'debug_toolbar.panels.profiling.ProfilingPanel', ) DEBUG_TOOLBAR_CONFIG = { 'INTERCEPT_REDIRECTS': False, - 'SHOW_TOOLBAR_CALLBACK': 'check_debug.should_show_debug_toolbar', + 'SHOW_TOOLBAR_CALLBACK': lambda _: True, } ########################### PIPELINE ################################# diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 851807f5136..998afbc0fcd 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -93,12 +93,20 @@ sphinx_rtd_theme==0.1.5 Babel==1.3 transifex-client==0.10 +# We've tried several times to update the debug toolbar to version 1.0.1, +# and had problems each time, resulting in us rolling back to 0.9.4. Before +# submitting another pull request to do this update, check the following: +# * https://github.com/django-debug-toolbar/django-debug-toolbar/issues/535 should be resolved +# * Studio and CMS should both run correctly, both directly and via devstack +# * Check the Javascript console to be sure there are no Javascript errors +# related to the Django debug toolbar +django_debug_toolbar==0.9.4 +django-debug-toolbar-mongo + # Used for testing coverage==3.7 ddt==0.6.0 django-crum==0.5 -django-debug-toolbar-mongo -django_debug_toolbar==1.0.1 django_nose==1.1 factory_boy==2.2.1 freezegun==0.1.11 -- GitLab