Merge branch 'master' into ux/marco/studio-componentsettings
This commit is contained in:
1
.ruby-gemset
Normal file
1
.ruby-gemset
Normal file
@@ -0,0 +1 @@
|
||||
mitx
|
||||
@@ -206,6 +206,8 @@ PIPELINE_CSS = {
|
||||
},
|
||||
}
|
||||
|
||||
# test_order: Determines the position of this chunk of javascript on
|
||||
# the jasmine test page
|
||||
PIPELINE_JS = {
|
||||
'main': {
|
||||
'source_filenames': sorted(
|
||||
@@ -213,6 +215,7 @@ PIPELINE_JS = {
|
||||
rooted_glob(PROJECT_ROOT / 'static/', 'coffee/src/**/*.js')
|
||||
) + ['js/hesitate.js', 'js/base.js'],
|
||||
'output_filename': 'js/cms-application.js',
|
||||
'test_order': 0
|
||||
},
|
||||
'module-js': {
|
||||
'source_filenames': (
|
||||
@@ -220,11 +223,8 @@ PIPELINE_JS = {
|
||||
rooted_glob(COMMON_ROOT / 'static/', 'xmodule/modules/js/*.js')
|
||||
),
|
||||
'output_filename': 'js/cms-modules.js',
|
||||
'test_order': 1
|
||||
},
|
||||
'spec': {
|
||||
'source_filenames': sorted(rooted_glob(PROJECT_ROOT / 'static/', 'coffee/spec/**/*.js')),
|
||||
'output_filename': 'js/cms-spec.js'
|
||||
}
|
||||
}
|
||||
|
||||
PIPELINE_CSS_COMPRESSOR = None
|
||||
|
||||
@@ -20,7 +20,7 @@ PIPELINE_JS['js-test-source'] = {
|
||||
'source_filenames': sum([
|
||||
pipeline_group['source_filenames']
|
||||
for group_name, pipeline_group
|
||||
in PIPELINE_JS.items()
|
||||
in sorted(PIPELINE_JS.items(), key=lambda item: item[1].get('test_order', 1e100))
|
||||
if group_name != 'spec'
|
||||
], []),
|
||||
'output_filename': 'js/cms-test-source.js'
|
||||
@@ -35,4 +35,10 @@ JASMINE_TEST_DIRECTORY = PROJECT_ROOT + '/static/coffee'
|
||||
|
||||
STATICFILES_DIRS.append(COMMON_ROOT / 'test' / 'phantom-jasmine' / 'lib')
|
||||
|
||||
# Remove the localization middleware class because it requires the test database
|
||||
# to be sync'd and migrated in order to run the jasmine tests interactively
|
||||
# with a browser
|
||||
MIDDLEWARE_CLASSES = tuple(e for e in MIDDLEWARE_CLASSES \
|
||||
if e != 'django.middleware.locale.LocaleMiddleware')
|
||||
|
||||
INSTALLED_APPS += ('django_jasmine', )
|
||||
|
||||
@@ -17,9 +17,6 @@ TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
|
||||
|
||||
TEST_ROOT = path('test_root')
|
||||
|
||||
# Makes the tests run much faster...
|
||||
SOUTH_TESTS_MIGRATE = False # To disable migrations and use syncdb instead
|
||||
|
||||
# Want static files in the same dir for running on jenkins.
|
||||
STATIC_ROOT = TEST_ROOT / "staticfiles"
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
"js/vendor/jquery.cookie.js",
|
||||
"js/vendor/json2.js",
|
||||
"js/vendor/underscore-min.js",
|
||||
"js/vendor/backbone-min.js"
|
||||
"js/vendor/backbone-min.js",
|
||||
"js/vendor/jquery.leanModal.min.js"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
<body class="<%block name='bodyclass'></%block> hide-wip">
|
||||
<%include file="courseware_vendor_js.html"/>
|
||||
<script type="text/javascript" src="jsi18n/"></script>
|
||||
<script type="text/javascript" src="/jsi18n/"></script>
|
||||
<script type="text/javascript" src="${static.url('js/vendor/json2.js')}"></script>
|
||||
<script type="text/javascript" src="${static.url('js/vendor/underscore-min.js')}"></script>
|
||||
<script type="text/javascript" src="${static.url('js/vendor/backbone-min.js')}"></script>
|
||||
|
||||
@@ -76,8 +76,9 @@ def index(request, extra_context={}, user=None):
|
||||
'''
|
||||
|
||||
# The course selection work is done in courseware.courses.
|
||||
domain = settings.MITX_FEATURES.get('FORCE_UNIVERSITY_DOMAIN') # normally False
|
||||
if domain == False: # do explicit check, because domain=None is valid
|
||||
domain = settings.MITX_FEATURES.get('FORCE_UNIVERSITY_DOMAIN') # normally False
|
||||
# do explicit check, because domain=None is valid
|
||||
if domain == False:
|
||||
domain = request.META.get('HTTP_HOST')
|
||||
|
||||
courses = get_courses(None, domain=domain)
|
||||
|
||||
1
common/static/coffee/spec/.gitignore
vendored
Normal file
1
common/static/coffee/spec/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.js
|
||||
@@ -26,12 +26,15 @@ EOL
|
||||
printf '\E[0m'
|
||||
|
||||
}
|
||||
|
||||
error() {
|
||||
printf '\E[31m'; echo "$@"; printf '\E[0m'
|
||||
}
|
||||
|
||||
output() {
|
||||
printf '\E[36m'; echo "$@"; printf '\E[0m'
|
||||
}
|
||||
|
||||
usage() {
|
||||
cat<<EO
|
||||
|
||||
@@ -47,11 +50,10 @@ EO
|
||||
}
|
||||
|
||||
info() {
|
||||
|
||||
cat<<EO
|
||||
MITx base dir : $BASE
|
||||
Python dir : $PYTHON_DIR
|
||||
Ruby dir : $RUBY_DIR
|
||||
Python virtualenv dir : $PYTHON_DIR
|
||||
Ruby RVM dir : $RUBY_DIR
|
||||
Ruby ver : $RUBY_VER
|
||||
|
||||
EO
|
||||
@@ -85,28 +87,46 @@ clone_repos() {
|
||||
if [[ -d "$BASE/data/$REPO" ]]; then
|
||||
mv "$BASE/data/$REPO" "${BASE}/data/$REPO.bak.$$"
|
||||
fi
|
||||
cd "$BASE/data"
|
||||
cd "$BASE/data"
|
||||
git clone git@github.com:MITx/$REPO
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
### START
|
||||
|
||||
PROG=${0##*/}
|
||||
BASE="$HOME/mitx_all"
|
||||
PYTHON_DIR="$BASE/python"
|
||||
RUBY_DIR="$BASE/ruby"
|
||||
RUBY_VER="1.9.3"
|
||||
|
||||
# Adjust this to wherever you'd like to place the codebase
|
||||
BASE="${PROJECT_HOME:-$HOME}/mitx_all"
|
||||
|
||||
# Use a sensible default (~/.virtualenvs) for your Python virtualenvs
|
||||
# unless you've already got one set up with virtualenvwrapper.
|
||||
PYTHON_DIR=${WORKON_HOME:-"$HOME/.virtualenvs"}
|
||||
|
||||
# RVM defaults its install to ~/.rvm, but use the overridden rvm_path
|
||||
# if that's what's preferred.
|
||||
RUBY_DIR=${rvm_path:-"$HOME/.rvm"}
|
||||
|
||||
LOG="/var/tmp/install-$(date +%Y%m%d-%H%M%S).log"
|
||||
|
||||
|
||||
# Read arguments
|
||||
|
||||
# Make sure the user's not about to do anything dumb
|
||||
if [[ $EUID -eq 0 ]]; then
|
||||
error "This script should not be run using sudo or as the root user"
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# If in an existing virtualenv, bail
|
||||
if [[ "x$VIRTUAL_ENV" != "x" ]]; then
|
||||
envname=`basename $VIRTUAL_ENV`
|
||||
error "Looks like you're already in the \"$envname\" virtual env."
|
||||
error "Run \`deactivate\` and then re-run this script."
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Read arguments
|
||||
ARGS=$(getopt "cvhs" "$*")
|
||||
if [[ $? != 0 ]]; then
|
||||
usage
|
||||
@@ -236,31 +256,69 @@ clone_repos
|
||||
|
||||
bash $BASE/mitx/install-system-req.sh
|
||||
|
||||
output "Installing RVM, Ruby, and required gems"
|
||||
|
||||
# Install Ruby RVM
|
||||
|
||||
output "Installing rvm and ruby"
|
||||
|
||||
if ! grep -q "export rvm_path=$RUBY_DIR" ~/.rvmrc; then
|
||||
if [[ -f $HOME/.rvmrc ]]; then
|
||||
output "Copying existing .rvmrc to .rvmrc.bak"
|
||||
cp $HOME/.rvmrc $HOME/.rvmrc.bak
|
||||
fi
|
||||
output "Creating $HOME/.rvmrc so rvm uses $RUBY_DIR"
|
||||
echo "export rvm_path=$RUBY_DIR" > $HOME/.rvmrc
|
||||
# If we're not installing RVM in the default location, then we'll do some
|
||||
# funky stuff to make sure that we load in the RVM stuff properly on login.
|
||||
if [ "$HOME/.rvm" != $RUBY_DIR ]; then
|
||||
if ! grep -q "export rvm_path=$RUBY_DIR" ~/.rvmrc; then
|
||||
if [[ -f $HOME/.rvmrc ]]; then
|
||||
output "Copying existing .rvmrc to .rvmrc.bak"
|
||||
cp $HOME/.rvmrc $HOME/.rvmrc.bak
|
||||
fi
|
||||
output "Creating $HOME/.rvmrc so rvm uses $RUBY_DIR"
|
||||
echo "export rvm_path=$RUBY_DIR" > $HOME/.rvmrc
|
||||
fi
|
||||
fi
|
||||
|
||||
curl -sL get.rvm.io | bash -s -- --version 1.15.7
|
||||
source $RUBY_DIR/scripts/rvm
|
||||
|
||||
# Ensure we have RVM available as a shell function so that it can mess
|
||||
# with the environment and set everything up properly. The RVM install
|
||||
# process adds this line to login scripts, so this shouldn't be necessary
|
||||
# for the user to do each time.
|
||||
if [[ `type -t rvm` != "function" ]]; then
|
||||
source $RUBY_DIR/scripts/rvm
|
||||
fi
|
||||
|
||||
# Ruby doesn't like to build with clang, which is the default on OS X, so
|
||||
# use gcc instead. This may not work, since if your gcc was installed with
|
||||
# XCode 4.2 or greater, you have an LLVM-based gcc, which also doesn't
|
||||
# always play nicely with Ruby, though it seems to be better than clang.
|
||||
# You may have to install apple-gcc42 using Homebrew if this doesn't work.
|
||||
# See `rvm requirements` for more information.
|
||||
case `uname -s` in
|
||||
Darwin)
|
||||
export CC=gcc
|
||||
;;
|
||||
esac
|
||||
|
||||
# Let the repo override the version of Ruby to install
|
||||
if [[ -r $BASE/mitx/.ruby-version ]]; then
|
||||
RUBY_VER=`cat $BASE/mitx/.ruby-version`
|
||||
fi
|
||||
|
||||
# Current stable version of RVM (1.19.0) requires the following to build Ruby:
|
||||
#
|
||||
# autoconf automake libtool pkg-config libyaml libxml2 libxslt libksba openssl
|
||||
#
|
||||
# If we decide to upgrade from the current version (1.15.7), can run
|
||||
#
|
||||
# LESS="-E" rvm install $RUBY_VER --autolibs=3 --with-readline
|
||||
#
|
||||
# to have RVM look for a package manager like Homebrew and install any missing
|
||||
# libs automatically. RVM's --autolibs flag defaults to 2, which will fail if
|
||||
# any required libs are missing.
|
||||
LESS="-E" rvm install $RUBY_VER --with-readline
|
||||
|
||||
# Create the "mitx" gemset
|
||||
rvm use "$RUBY_VER@mitx" --create
|
||||
|
||||
output "Installing gem bundler"
|
||||
gem install bundler
|
||||
|
||||
output "Installing ruby packages"
|
||||
# hack :(
|
||||
cd $BASE/mitx || true
|
||||
bundle install
|
||||
bundle install --gemfile $BASE/mitx/Gemfile
|
||||
|
||||
|
||||
# Install Python virtualenv
|
||||
@@ -274,16 +332,31 @@ case `uname -s` in
|
||||
;;
|
||||
esac
|
||||
|
||||
# virtualenvwrapper uses the $WORKON_HOME env var to determine where to place
|
||||
# virtualenv directories. Make sure it matches the selected $PYTHON_DIR.
|
||||
export WORKON_HOME=$PYTHON_DIR
|
||||
|
||||
# Load in the mkvirtualenv function if needed
|
||||
if [[ `type -t mkvirtualenv` != "function" ]]; then
|
||||
source `which virtualenvwrapper.sh`
|
||||
fi
|
||||
|
||||
# Create MITx virtualenv and link it to repo
|
||||
# virtualenvwrapper automatically sources the activation script
|
||||
if [[ $systempkgs ]]; then
|
||||
virtualenv --system-site-packages "$PYTHON_DIR"
|
||||
mkvirtualenv -a "$BASE/mitx" --system-site-packages mitx || {
|
||||
error "mkvirtualenv exited with a non-zero error"
|
||||
return 1
|
||||
}
|
||||
else
|
||||
# default behavior for virtualenv>1.7 is
|
||||
# --no-site-packages
|
||||
virtualenv "$PYTHON_DIR"
|
||||
mkvirtualenv -a "$BASE/mitx" mitx || {
|
||||
error "mkvirtualenv exited with a non-zero error"
|
||||
return 1
|
||||
}
|
||||
fi
|
||||
|
||||
# activate mitx python virtualenv
|
||||
source $PYTHON_DIR/bin/activate
|
||||
|
||||
# compile numpy and scipy if requested
|
||||
|
||||
@@ -315,6 +388,8 @@ case `uname -s` in
|
||||
# need latest pytz before compiling numpy and scipy
|
||||
pip install -U pytz
|
||||
pip install numpy
|
||||
# scipy needs cython
|
||||
pip install cython
|
||||
# fixes problem with scipy on 10.8
|
||||
pip install -e git+https://github.com/scipy/scipy#egg=scipy-dev
|
||||
;;
|
||||
@@ -344,14 +419,18 @@ cat<<END
|
||||
Success!!
|
||||
|
||||
To start using Django you will need to activate the local Python
|
||||
and Ruby environment (at this time rvm only supports bash) :
|
||||
and Ruby environments. Ensure the following lines are added to your
|
||||
login script, and source your login script if needed:
|
||||
|
||||
$ source $RUBY_DIR/scripts/rvm
|
||||
$ source $PYTHON_DIR/bin/activate
|
||||
source `which virtualenvwrapper.sh`
|
||||
source $RUBY_DIR/scripts/rvm
|
||||
|
||||
Then, every time you're ready to work on the project, just run
|
||||
|
||||
$ workon mitx
|
||||
|
||||
To initialize Django
|
||||
|
||||
$ cd $BASE/mitx
|
||||
$ rake django-admin[syncdb]
|
||||
$ rake django-admin[migrate]
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# Python libraries to install directly from github
|
||||
|
||||
# Third-party:
|
||||
-e git://github.com/MITx/django-staticfiles.git@6d2504e5c8#egg=django-staticfiles
|
||||
-e git://github.com/MITx/django-pipeline.git#egg=django-pipeline
|
||||
-e git://github.com/MITx/django-wiki.git@e2e84558#egg=django-wiki
|
||||
-e git://github.com/edx/django-staticfiles.git@6d2504e5c8#egg=django-staticfiles
|
||||
-e git://github.com/edx/django-pipeline.git#egg=django-pipeline
|
||||
-e git://github.com/edx/django-wiki.git@e2e84558#egg=django-wiki
|
||||
-e git://github.com/dementrock/pystache_custom.git@776973740bdaad83a3b029f96e415a7d1e8bec2f#egg=pystache_custom-dev
|
||||
|
||||
# Our libraries:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
function github_status {
|
||||
gcli status create mitx mitx $GIT_COMMIT \
|
||||
gcli status create edx mitx $GIT_COMMIT \
|
||||
--params=$1 \
|
||||
target_url:$BUILD_URL \
|
||||
description:"Build #$BUILD_NUMBER is running" \
|
||||
@@ -9,4 +9,4 @@ function github_status {
|
||||
|
||||
function github_mark_failed_on_exit {
|
||||
trap '[ $? == "0" ] || github_status state:failed' EXIT
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ set -e
|
||||
set -x
|
||||
|
||||
function github_status {
|
||||
gcli status create mitx mitx $GIT_COMMIT \
|
||||
gcli status create edx mitx $GIT_COMMIT \
|
||||
--params=$1 \
|
||||
target_url:$BUILD_URL \
|
||||
description:"Build #$BUILD_NUMBER $2" \
|
||||
|
||||
@@ -440,6 +440,9 @@ PIPELINE_CSS = {
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
# test_order: Determines the position of this chunk of javascript on
|
||||
# the jasmine test page
|
||||
PIPELINE_JS = {
|
||||
'application': {
|
||||
|
||||
@@ -455,31 +458,39 @@ PIPELINE_JS = {
|
||||
'js/sticky_filter.js',
|
||||
'js/query-params.js',
|
||||
],
|
||||
'output_filename': 'js/lms-application.js'
|
||||
'output_filename': 'js/lms-application.js',
|
||||
|
||||
'test_order': 1,
|
||||
},
|
||||
'courseware': {
|
||||
'source_filenames': courseware_js,
|
||||
'output_filename': 'js/lms-courseware.js'
|
||||
'output_filename': 'js/lms-courseware.js',
|
||||
'test_order': 2,
|
||||
},
|
||||
'main_vendor': {
|
||||
'source_filenames': main_vendor_js,
|
||||
'output_filename': 'js/lms-main_vendor.js',
|
||||
'test_order': 0,
|
||||
},
|
||||
'module-js': {
|
||||
'source_filenames': rooted_glob(COMMON_ROOT / 'static', 'xmodule/modules/js/*.js'),
|
||||
'output_filename': 'js/lms-modules.js',
|
||||
'test_order': 3,
|
||||
},
|
||||
'discussion': {
|
||||
'source_filenames': discussion_js,
|
||||
'output_filename': 'js/discussion.js'
|
||||
'output_filename': 'js/discussion.js',
|
||||
'test_order': 4,
|
||||
},
|
||||
'staff_grading': {
|
||||
'source_filenames': staff_grading_js,
|
||||
'output_filename': 'js/staff_grading.js'
|
||||
'output_filename': 'js/staff_grading.js',
|
||||
'test_order': 5,
|
||||
},
|
||||
'open_ended': {
|
||||
'source_filenames': open_ended_js,
|
||||
'output_filename': 'js/open_ended.js'
|
||||
'output_filename': 'js/open_ended.js',
|
||||
'test_order': 6,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -20,14 +20,14 @@ PIPELINE_JS['js-test-source'] = {
|
||||
'source_filenames': sum([
|
||||
pipeline_group['source_filenames']
|
||||
for group_name, pipeline_group
|
||||
in PIPELINE_JS.items()
|
||||
in sorted(PIPELINE_JS.items(), key=lambda item: item[1].get('test_order', 1e100))
|
||||
if group_name != 'spec'
|
||||
], []),
|
||||
'output_filename': 'js/lms-test-source.js'
|
||||
}
|
||||
|
||||
PIPELINE_JS['spec'] = {
|
||||
'source_filenames': sorted(rooted_glob(PROJECT_ROOT / 'static/', 'coffee/spec/**/*.coffee')),
|
||||
'source_filenames': sorted(rooted_glob(PROJECT_ROOT / 'static/', 'coffee/spec/**/*.js')),
|
||||
'output_filename': 'js/lms-spec.js'
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
{
|
||||
"js_files": [
|
||||
"/static/js/vendor/RequireJS.js",
|
||||
"/static/js/vendor/jquery.min.js",
|
||||
"/static/js/vendor/jquery-ui.min.js",
|
||||
"/static/js/vendor/jquery.leanModal.min.js",
|
||||
"/static/js/vendor/flot/jquery.flot.js"
|
||||
]
|
||||
|
||||
BIN
lms/static/images/press/cbsnews_178x138.jpg
Normal file
BIN
lms/static/images/press/cbsnews_178x138.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
BIN
lms/static/images/press/nytimes_240x180.png
Normal file
BIN
lms/static/images/press/nytimes_240x180.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.8 KiB |
BIN
lms/static/images/press/wash_post_logo_178x138.jpg
Normal file
BIN
lms/static/images/press/wash_post_logo_178x138.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.0 KiB |
@@ -6,9 +6,18 @@
|
||||
<link type="text/html" rel="alternate" href="http://blog.edx.org/"/>
|
||||
<link type="application/atom+xml" rel="self" href="https://github.com/blog.atom"/>
|
||||
<title>EdX Blog</title>
|
||||
<updated>2013-04-03T14:00:12-07:00</updated>
|
||||
<updated>2013-05-03T14:00:12-07:00</updated>
|
||||
<entry>
|
||||
<id>tag:www.edx.org,2012:Post/17</id>
|
||||
<id>tag:www.edx.org,2013:Post/18</id>
|
||||
<published>2013-05-02T14:00:00-07:00</published>
|
||||
<updated>2013-05-02T14:00:00-07:00</updated>
|
||||
<link type="text/html" rel="alternate" href="http://www.nytimes.com/2013/04/30/education/colleges-adapt-online-courses-to-ease-burden.html?pagewanted=all"/>
|
||||
<title>edX project at San Jose State featured in New York Times</title>
|
||||
<content type="html"><img src="${static.url('images/press/nytimes_240x180.png')}" />
|
||||
<p></p></content>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>tag:www.edx.org,2013:Post/17</id>
|
||||
<published>2012-12-19T14:00:00-07:00</published>
|
||||
<updated>2012-12-19T14:00:00-07:00</updated>
|
||||
<link type="text/html" rel="alternate" href="${reverse('press_release', args=['stanford-to-work-with-edx'])}"/>
|
||||
|
||||
@@ -190,18 +190,11 @@
|
||||
</section>
|
||||
<section class="press-links">
|
||||
<h3>edX in the News:</h3>
|
||||
<a target="_blank" href="http://www.bbc.co.uk/news/business-19661899">BBC</a>,
|
||||
<a target="_blank" href="http://www.technologyreview.com/news/506351/the-most-important-education-technology-in-200-years/">Technology Review</a>,
|
||||
<a target="_blank" href="http://tech.mit.edu/V132/N48/edxvmware.html">The Tech</a>,
|
||||
<a target="_blank" href="http://www.nytimes.com/2012/11/04/education/edlife/massive-open-online-courses-are-multiplying-at-a-rapid-pace.html">The New York Times</a>,
|
||||
<a target="_blank" href="http://www.reuters.com/article/2012/10/19/us-education-courses-online-idUSBRE89I17120121019">Reuters</a>,
|
||||
<a target="_blank" href="http://www.ft.com/intl/cms/s/2/73030f44-d4dd-11e1-9444-00144feabdc0.html#axzz2A9qvk48A">Financial Times</a>,
|
||||
<a target="_blank" href="http://campustechnology.com/articles/2012/10/25/vmware-offers-free-virtualization-software-for-edx-computer-science-students.aspx">Campus Technology</a>,
|
||||
<a target="_blank" href="http://chronicle.com/blogs/wiredcampus/san-jose-state-u-says-replacing-live-lectures-with-videos-increased-test-scores/40470">Chronicle of Higher Education</a>,
|
||||
<a target="_blank" href="http://www.timeshighereducation.co.uk/story.asp?sectioncode=26&storycode=421577&c=1">Times Higher Education</a>,
|
||||
<a target="_blank" href="http://www.bloomberg.com/news/2012-10-15/university-of-texas-joining-harvard-mit-online-venture.html">Bloomberg.com</a>,
|
||||
<a target="_blank" href="http://www.businessweek.com/news/2012-10-15/university-of-texas-joining-harvard-mit-online-venture">BusinessWeek</a>,
|
||||
<a target="_blank" href="http://news.yahoo.com/univ-texas-joins-online-course-program-edx-172202035--finance.html">Associated Press</a>
|
||||
<a target="_blank" href="http://www.nytimes.com/2013/04/30/education/adapting-to-blended-courses-and-finding-early-benefits.html?ref=education">The New York Times</a>,
|
||||
<a target="_blank" href="http://online.wsj.com/article/SB10001424127887323741004578414861572832182.html?mod=googlenews_wsj">The Wall Street Journal</a>,
|
||||
<a target="_blank" href="http://www.washingtonpost.com/local/education/stanford-to-help-build-edx-mooc-platform/2013/04/02/5b53bb3e-9bbe-11e2-9a79-eb5280c81c63_story.html">The Washington Post</a>,
|
||||
<a target="_blank" href="http://www.cbsnews.com/video/watch/?id=50143164n">CBS Television</a>,
|
||||
<a target="_blank" href="http://bostonglobe.com/2012/12/04/edx/AqnQ808q4IEcaUa8KuZuBO/story.html">The Boston Globe</a>
|
||||
<a href="${reverse('press')}" class="read-more">Read More →</a>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
@@ -1,4 +1,106 @@
|
||||
[
|
||||
{
|
||||
"title": "Adapting to Blended Courses, and Finding Early Benefits",
|
||||
"url": "http://www.nytimes.com/2013/04/30/education/adapting-to-blended-courses-and-finding-early-benefits.html?ref=education",
|
||||
"author": "Tamar Lewin",
|
||||
"image": "nyt_logo_178x138.jpeg",
|
||||
"deck": null,
|
||||
"publication": "The New York Times",
|
||||
"publish_date": "April 29, 2013"
|
||||
},
|
||||
|
||||
{
|
||||
"title": "Colleges Adapt Online Courses to Ease Burden",
|
||||
"url": "http://www.nytimes.com/2013/04/30/education/colleges-adapt-online-courses-to-ease-burden.html?pagewanted=all",
|
||||
"author": "Tamar Lewin",
|
||||
"image": "nyt_logo_178x138.jpeg",
|
||||
"deck": null,
|
||||
"publication": "The New York Times",
|
||||
"publish_date": "April 29, 2013"
|
||||
},
|
||||
|
||||
{
|
||||
"title": "Online Education Lifts Pass Rates at University",
|
||||
"url": "http://online.wsj.com/article/SB10001424127887323741004578414861572832182.html?mod=googlenews_wsj",
|
||||
"author": "Geoffrey Fowler",
|
||||
"image": "wsj_logo_178x138.jpg",
|
||||
"deck": null,
|
||||
"publication": "The Wall Street Journal",
|
||||
"publish_date": "April 10, 2013"
|
||||
},
|
||||
|
||||
{
|
||||
"title": "Software Seen Giving Grades on Essay Tests",
|
||||
"url": "http://www.nytimes.com/2013/04/05/science/new-test-for-computers-grading-essays-at-college-level.html?pagewanted=all&_r=0",
|
||||
"author": "John Markoff",
|
||||
"image": "nyt_logo_178x138.jpeg",
|
||||
"deck": null,
|
||||
"publication": "The New York Times",
|
||||
"publish_date": "April 4, 2013"
|
||||
},
|
||||
|
||||
{
|
||||
"title": "Stanford to help build edX MOOC platform",
|
||||
"url": "http://www.washingtonpost.com/local/education/stanford-to-help-build-edx-mooc-platform/2013/04/02/5b53bb3e-9bbe-11e2-9a79-eb5280c81c63_story.html",
|
||||
"author": "Nick Anderson",
|
||||
"image": "wash_post_logo_178x138.jpg",
|
||||
"deck": null,
|
||||
"publication": "The Washington Post",
|
||||
"publish_date": "April 3, 2013"
|
||||
},
|
||||
|
||||
{
|
||||
"title": "Could online ed end college as we know it?",
|
||||
"url": "http://www.cbsnews.com/video/watch/?id=50143164n",
|
||||
"author": "CBS This Morning",
|
||||
"image": "cbsnews_178x138.jpg",
|
||||
"deck": null,
|
||||
"publication": "CBS Television Network",
|
||||
"publish_date": "March 19, 2013"
|
||||
},
|
||||
|
||||
{
|
||||
"title": "The Professors’ Big Stage",
|
||||
"url": "http://www.nytimes.com/2013/03/06/opinion/friedman-the-professors-big-stage.html?_r=1&#commentsContainer",
|
||||
"author": "Thomas L. Friedman",
|
||||
"image": "nyt_logo_178x138.jpeg",
|
||||
"deck": null,
|
||||
"publication": "The New York Times",
|
||||
"publish_date": "March 6, 2013"
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"title": "Universities Abroad Join Partnerships On the Web",
|
||||
"url": "http://www.nytimes.com/2013/02/21/education/universities-abroad-join-mooc-course-projects.html",
|
||||
"author": "Tamar Lewin",
|
||||
"image": "nyt_logo_178x138.jpeg",
|
||||
"deck": null,
|
||||
"publication": "The New York Times",
|
||||
"publish_date": "February 20, 2013"
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"title": "Georgetown to offer free online courses",
|
||||
"url": "http://www.washingtonpost.com/local/education/georgetown-to-offer-free-online-courses/2012/12/09/365c4612-3fd3-11e2-bca3-aadc9b7e29c5_story.html",
|
||||
"author": "Nick Anderson",
|
||||
"image": "wash_post_logo_178x138.jpg",
|
||||
"deck": null,
|
||||
"publication": "The Washington Post",
|
||||
"publish_date": "December 9, 2012"
|
||||
},
|
||||
|
||||
{
|
||||
"title": "Wellesley College teams up with online provider edX",
|
||||
"url": "http://bostonglobe.com/2012/12/04/edx/AqnQ808q4IEcaUa8KuZuBO/story.html",
|
||||
"author": "Peter Schworm",
|
||||
"image": "bostonglobe_logo_178x138.jpeg",
|
||||
"deck": null,
|
||||
"publication": "The Boston Globe",
|
||||
"publish_date": "December 4, 2012"
|
||||
},
|
||||
|
||||
{
|
||||
"title": "The Year of the MOOC",
|
||||
"url": "http://www.nytimes.com/2012/11/04/education/edlife/massive-open-online-courses-are-multiplying-at-a-rapid-pace.html",
|
||||
|
||||
2
rakefile
2
rakefile
@@ -306,6 +306,7 @@ end
|
||||
|
||||
desc "Open jasmine tests for #{system} in your default browser"
|
||||
task "browse_jasmine_#{system}" do
|
||||
compile_assets()
|
||||
django_for_jasmine(system, true) do |jasmine_url|
|
||||
Launchy.open(jasmine_url)
|
||||
puts "Press ENTER to terminate".red
|
||||
@@ -315,6 +316,7 @@ end
|
||||
|
||||
desc "Use phantomjs to run jasmine tests for #{system} from the console"
|
||||
task "phantomjs_jasmine_#{system}" do
|
||||
compile_assets()
|
||||
phantomjs = ENV['PHANTOMJS_PATH'] || 'phantomjs'
|
||||
django_for_jasmine(system, false) do |jasmine_url|
|
||||
sh("#{phantomjs} common/test/phantom-jasmine/lib/run_jasmine_test.coffee #{jasmine_url}")
|
||||
|
||||
1
test_root/db/.gitignore
vendored
Normal file
1
test_root/db/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.db
|
||||
Reference in New Issue
Block a user