From 66a3e9621bc30b3c9a3dc4ea49110eab5071bafd Mon Sep 17 00:00:00 2001 From: Brian Talbot Date: Thu, 17 Jan 2013 17:04:28 -0500 Subject: [PATCH 1/7] studio - removed editor type icon and text for all components except for problems --- cms/static/sass/_unit.scss | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/cms/static/sass/_unit.scss b/cms/static/sass/_unit.scss index 5edce2419c..43acdc1eea 100644 --- a/cms/static/sass/_unit.scss +++ b/cms/static/sass/_unit.scss @@ -51,6 +51,8 @@ } .components { + + > li { position: relative; z-index: 10; @@ -118,6 +120,24 @@ } } + .new-component-templates { + display: none; + padding: 20px; + @include clearfix; + + .cancel-button { + @include white-button; + } + + // specific menu types + &.new-component-problem { + + .ss-icon, .editor-indicator { + display: inline-block; + } + } + } + .new-component-type, .new-component-template { @include clearfix; @@ -177,7 +197,11 @@ position: relative; top: 3px; font-size: 12px; - opacity: 0.1; + opacity: 0.3; + } + + .ss-icon, .editor-indicator { + display: none; } &:hover { @@ -214,16 +238,6 @@ } } - - .new-component-templates { - display: none; - padding: 20px; - @include clearfix; - - .cancel-button { - @include white-button; - } - } } } } From 5b82a68c184db662dcf72d627132422401b79a1b Mon Sep 17 00:00:00 2001 From: Brian Talbot Date: Thu, 17 Jan 2013 17:06:07 -0500 Subject: [PATCH 2/7] studio - removing extra line/whitespace in sass --- cms/static/sass/_unit.scss | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cms/static/sass/_unit.scss b/cms/static/sass/_unit.scss index 43acdc1eea..d8ca1117e9 100644 --- a/cms/static/sass/_unit.scss +++ b/cms/static/sass/_unit.scss @@ -52,7 +52,6 @@ .components { - > li { position: relative; z-index: 10; @@ -137,7 +136,7 @@ } } } - + .new-component-type, .new-component-template { @include clearfix; From a1bb533b60d8219a5d00d53ace7bf23baccf1c49 Mon Sep 17 00:00:00 2001 From: cahrens Date: Thu, 17 Jan 2013 21:04:17 -0500 Subject: [PATCH 3/7] Workaround for sandbox. --- common/lib/xmodule/xmodule/js/src/html/edit.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/lib/xmodule/xmodule/js/src/html/edit.coffee b/common/lib/xmodule/xmodule/js/src/html/edit.coffee index 2902f4d1c9..92c1eae38d 100644 --- a/common/lib/xmodule/xmodule/js/src/html/edit.coffee +++ b/common/lib/xmodule/xmodule/js/src/html/edit.coffee @@ -11,7 +11,7 @@ class @HTMLEditingDescriptor }) $(@advanced_editor.getWrapperElement()).addClass(HTMLEditingDescriptor.isInactiveClass) - + tinyMCE.baseURL = window.location.protocol + "//" + window.location.host + '/static/js/vendor/tiny_mce' @tiny_mce_textarea = $(".tiny-mce", @element).tinymce({ script_url : '/static/js/vendor/tiny_mce/tiny_mce.js', theme : "advanced", From 8cca193903d400eba4bdd4f0abdb0695675066d2 Mon Sep 17 00:00:00 2001 From: cahrens Date: Thu, 17 Jan 2013 21:06:05 -0500 Subject: [PATCH 4/7] Add a comment. --- common/lib/xmodule/xmodule/js/src/html/edit.coffee | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common/lib/xmodule/xmodule/js/src/html/edit.coffee b/common/lib/xmodule/xmodule/js/src/html/edit.coffee index 92c1eae38d..b21042580d 100644 --- a/common/lib/xmodule/xmodule/js/src/html/edit.coffee +++ b/common/lib/xmodule/xmodule/js/src/html/edit.coffee @@ -11,6 +11,9 @@ class @HTMLEditingDescriptor }) $(@advanced_editor.getWrapperElement()).addClass(HTMLEditingDescriptor.isInactiveClass) + +# This is a workaround for the fact that tinyMCE's baseURL property is not getting correctly set on AWS +# instances (like sandbox). It is not necessary to explicitly set baseURL when running locally. tinyMCE.baseURL = window.location.protocol + "//" + window.location.host + '/static/js/vendor/tiny_mce' @tiny_mce_textarea = $(".tiny-mce", @element).tinymce({ script_url : '/static/js/vendor/tiny_mce/tiny_mce.js', From a4196ffa00a98684d8f77e81d0ca7477e90a4bb9 Mon Sep 17 00:00:00 2001 From: cahrens Date: Thu, 17 Jan 2013 21:15:38 -0500 Subject: [PATCH 5/7] Relative path seems to work. --- common/lib/xmodule/xmodule/js/src/html/edit.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/lib/xmodule/xmodule/js/src/html/edit.coffee b/common/lib/xmodule/xmodule/js/src/html/edit.coffee index b21042580d..dfb197e204 100644 --- a/common/lib/xmodule/xmodule/js/src/html/edit.coffee +++ b/common/lib/xmodule/xmodule/js/src/html/edit.coffee @@ -14,7 +14,7 @@ class @HTMLEditingDescriptor # This is a workaround for the fact that tinyMCE's baseURL property is not getting correctly set on AWS # instances (like sandbox). It is not necessary to explicitly set baseURL when running locally. - tinyMCE.baseURL = window.location.protocol + "//" + window.location.host + '/static/js/vendor/tiny_mce' + tinyMCE.baseURL = '/static/js/vendor/tiny_mce' @tiny_mce_textarea = $(".tiny-mce", @element).tinymce({ script_url : '/static/js/vendor/tiny_mce/tiny_mce.js', theme : "advanced", From c6276c8394a53f78220bf985e340777f5bcde449 Mon Sep 17 00:00:00 2001 From: Chris Dodge Date: Thu, 17 Jan 2013 23:58:07 -0500 Subject: [PATCH 6/7] only cache discussion forum info for 5 minutes before flushing. This is needed for Studio backed courses that can add new discussion items at any point in time. Also we need to also set metadata fields (which are basically the same as what gets passed in the XML) as the forums expect those values as metadata --- .../xmodule/templates/discussion/default.yaml | 3 +++ lms/djangoapps/django_comment_client/utils.py | 23 +++++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/common/lib/xmodule/xmodule/templates/discussion/default.yaml b/common/lib/xmodule/xmodule/templates/discussion/default.yaml index fa6dcbff54..d34e6378e6 100644 --- a/common/lib/xmodule/xmodule/templates/discussion/default.yaml +++ b/common/lib/xmodule/xmodule/templates/discussion/default.yaml @@ -1,6 +1,9 @@ --- metadata: display_name: Discussion Tag + for: Topic-Level Student-Visible Label + id: 6002x_group_discussion_by_this + discussion_category: Week 1 data: | children: [] diff --git a/lms/djangoapps/django_comment_client/utils.py b/lms/djangoapps/django_comment_client/utils.py index 1f39ebfcfd..3094367491 100644 --- a/lms/djangoapps/django_comment_client/utils.py +++ b/lms/djangoapps/django_comment_client/utils.py @@ -2,6 +2,7 @@ from collections import defaultdict import logging import time import urllib +from datetime import datetime from django.contrib.auth.models import User from django.core.urlresolvers import reverse @@ -63,22 +64,19 @@ def get_discussion_id_map(course): return a dict of the form {category: modules} """ global _DISCUSSIONINFO - if not _DISCUSSIONINFO[course.id]: - initialize_discussion_info(course) + initialize_discussion_info(course) return _DISCUSSIONINFO[course.id]['id_map'] def get_discussion_title(course, discussion_id): global _DISCUSSIONINFO - if not _DISCUSSIONINFO[course.id]: - initialize_discussion_info(course) + initialize_discussion_info(course) title = _DISCUSSIONINFO[course.id]['id_map'].get(discussion_id, {}).get('title', '(no title)') return title def get_discussion_category_map(course): global _DISCUSSIONINFO - if not _DISCUSSIONINFO[course.id]: - initialize_discussion_info(course) + initialize_discussion_info(course) return filter_unstarted_categories(_DISCUSSIONINFO[course.id]['category_map']) def filter_unstarted_categories(category_map): @@ -131,8 +129,18 @@ def sort_map_entries(category_map): def initialize_discussion_info(course): global _DISCUSSIONINFO + + # only cache in-memory discussion information for 10 minutes + # this is because we need a short-term hack fix for + # mongo-backed courseware whereby new discussion modules can be added + # without LMS service restart + if _DISCUSSIONINFO[course.id]: - return + timestamp = _DISCUSSIONINFO[course.id].get('timestamp', datetime.now()) + age = datetime.now() - timestamp + # expire every 5 minutes + if age.seconds < 300: + return course_id = course.id @@ -209,6 +217,7 @@ def initialize_discussion_info(course): _DISCUSSIONINFO[course.id]['id_map'] = discussion_id_map _DISCUSSIONINFO[course.id]['category_map'] = category_map + _DISCUSSIONINFO[course.id]['timestamp'] = datetime.now() class JsonResponse(HttpResponse): def __init__(self, data=None): From aeee13ab9127f1b35c846911a048ae9ae1773c8d Mon Sep 17 00:00:00 2001 From: Ashley Penney Date: Fri, 18 Jan 2013 10:01:21 -0500 Subject: [PATCH 7/7] Fix the virtualenv creation for Jenkins. --- jenkins/test.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/jenkins/test.sh b/jenkins/test.sh index a354039359..cd8800b676 100755 --- a/jenkins/test.sh +++ b/jenkins/test.sh @@ -27,7 +27,12 @@ git submodule foreach 'git reset --hard HEAD' export PYTHONIOENCODING=UTF-8 GIT_BRANCH=${GIT_BRANCH/HEAD/master} +if [ ! -d /mnt/virtualenvs/"$JOB_NAME" ]; then + mkdir -p /mnt/virtualenvs/"$JOB_NAME" + virtualenv /mnt/virtualenvs/"$JOB_NAME" +fi +source /mnt/virtualenvs/"$JOB_NAME"/bin/activate pip install -q -r pre-requirements.txt pip install -q -r test-requirements.txt yes w | pip install -q -r requirements.txt