Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
194 commits
Select commit Hold shift + click to select a range
488923f
Add a test for Django-based file uploads to problems.
Dec 8, 2013
a2d5500
FED clean up of studio outline page
Dec 4, 2013
089a61c
studio outline test fixes
Dec 7, 2013
9d31a4a
Stop forcing video player’s speeds widget width
tusbar Dec 10, 2013
6d76d6a
Wiki data update
mhoeber Dec 13, 2013
cbb6e5e
Changed default user to be anonymous in both has_access and student.v…
carsongee Nov 22, 2013
2d678d0
Responding to review feedback on studio outline cleanup
Dec 10, 2013
1618c91
fix for duplicate drag and drop indicators on studio outline page
Dec 16, 2013
7e88ecc
Fix for STUD-1011
mhoeber Dec 16, 2013
5993883
Remove dot from a scenario name so the results roll up in Jenkins
Dec 16, 2013
9f91935
Do not restore sinon global objects in afterEach.
Dec 13, 2013
8fc0590
set default value for empty integer/float fields
zubair-arbi Dec 12, 2013
7ebeccd
Updating ImageInput JS code base.
Dec 12, 2013
06b6535
Using jQuery for all DOM manipulation.
Dec 13, 2013
f03f3eb
Adding Jasmine tests for ImageInput.
Dec 16, 2013
11080f2
Merge pull request #1947 from edx/valera/visual_ui_image_response
valera-rozuvan Dec 17, 2013
0079243
LTI additional Python tests. LTI must use HTTPS for lis_outcome_servi…
Nov 27, 2013
ae61db9
Merge pull request #1811 from edx/valera/lti_graded_additional_tests_2
olmar Dec 17, 2013
4e10c72
BLD-21: Show answer for imageresponse.
polesye Dec 10, 2013
6e01ce5
Add unit tests.
polesye Dec 11, 2013
887eea3
Add comments.
polesye Dec 11, 2013
335a36f
Address comments.
polesye Dec 16, 2013
7add014
Merge pull request #1969 from edx/zoldak/fix-test-name
Dec 17, 2013
9c8e90a
Merge pull request #1931 from zubair-arbi/zub/bugfix/std894-deletingf…
zubair-arbi Dec 17, 2013
8554c3f
Merge pull request #1914 from edx/anton/show-answer-imageresponse
polesye Dec 17, 2013
012862b
Update AUTHORS
goncha Nov 24, 2013
d7e5a7d
Move sass cache location out of synced fold
goncha Nov 22, 2013
8a23f43
Merge pull request #1896 from edx/frances/fix/studio-outline-cleanup
Dec 17, 2013
59d1813
Fix lis_outcome_service_url sending.
olmar Dec 5, 2013
149a188
Merge pull request #1547 from carsongee/bugfix/cg/beta_user_none
carsongee Dec 17, 2013
946c615
Merge pull request #1859 from edx/oleg/fix_outcome_url_sending
auraz Dec 17, 2013
f37f9e0
Release notes for 12-18-2013
mhoeber Dec 17, 2013
6198e11
Release notes edits
mhoeber Dec 17, 2013
b776590
Rename BlockUsageLocator's block_id field from usage_id
Dec 17, 2013
3f947e8
Merge pull request #1977 from edx/goncha/sass-cache
singingwolfboy Dec 17, 2013
5f25179
Move default DOC_STORE_CONFIG to common
Dec 17, 2013
1d0ce64
Update to the latest version of lettuce
cpennington Dec 17, 2013
c684a66
Add information to xblocks about when they complete initialization th…
cpennington Dec 17, 2013
0ef923e
Add documentation.
Dec 17, 2013
461b805
Merge pull request #1951 from edx/christina/fix-xhr
Dec 17, 2013
10ca08f
Studio: updating font face imports
talbs Dec 14, 2013
64fc9cd
LMS: changing Open Sans font reference
talbs Dec 16, 2013
bc625ab
Merge pull request #1904 from tusbar/player-size
sarina Dec 17, 2013
4902155
Typos
mhoeber Dec 18, 2013
70518a4
BLD-506: Update behavior of start/end time fields.
polesye Dec 5, 2013
7925ca1
Merge pull request #1873 from edx/anton/transcripts-start-end-time
polesye Dec 18, 2013
94d3a73
Merge pull request #1982 from edx/dhm/doc_store_config
dmitchell Dec 18, 2013
7f96d15
Removed number from RN TOC
mhoeber Dec 18, 2013
1e248ae
Updates to video documentation
srpearce Dec 18, 2013
5b7acdc
Fixed image
mhoeber Dec 18, 2013
7547c54
Merge pull request #1990 from edx/sylvia/documentation/video_document…
mhoeber Dec 18, 2013
4b1431b
Edits to analytics changes
mhoeber Dec 18, 2013
8c9bd39
Update README.md for install instructions
jarv Dec 18, 2013
31ab28e
Merge pull request #1993 from edx/markhoeber/documentation/analytics-…
mhoeber Dec 18, 2013
b005141
Updated Jenkins scripts
Dec 17, 2013
ddd8f26
Added alt text to image
mhoeber Dec 18, 2013
ebb33be
Merge pull request #1991 from edx/jarv/readme-installation
jarv Dec 18, 2013
36f35ac
Reformat xml_importer.py to be more readable
singingwolfboy Dec 18, 2013
91a0a3f
Merge pull request #1994 from edx/db/reformat-importer
singingwolfboy Dec 18, 2013
c5ecbc1
script bombs if comments include unicode
Dec 19, 2013
24106a9
BLD-590: Fix typos in Announcement template.
polesye Dec 19, 2013
90f56c0
Merge pull request #1999 from edx/anton/fix-typos-in-announcement
polesye Dec 19, 2013
0fd03cf
Moved stub servers to terrain
Nov 23, 2013
1081786
Merge pull request #1965 from edx/will/fake-server-refactor
Dec 19, 2013
75d4403
Merge pull request #1976 from edx/will/jenkins-script-update
Dec 19, 2013
28e25b7
Rebalance acceptance test shards
Dec 19, 2013
94a792c
Update Text Input problem type
srpearce Dec 19, 2013
16adf36
Fix formatting problem in Working with Video Components
srpearce Dec 19, 2013
332477b
Merge pull request #2003 from edx/sylvia/documentation/bld-474-v2
mhoeber Dec 19, 2013
ef7b65d
Update changelog with studio marketing site feature
Dec 16, 2013
35e30f8
Add missing image file, correct typos
srpearce Dec 19, 2013
042cb5c
BLD-206: Add template for the zooming image in Studio.
polesye Nov 29, 2013
af4e335
Merge pull request #1806 from edx/anton/add-zooming-image-template
polesye Dec 19, 2013
f1b140f
Merge pull request #2005 from edx/sylvia/documentation/add_image
mhoeber Dec 19, 2013
04e66be
Added Selenium page objects for LMS and studio
Nov 25, 2013
86e3391
fixing merge conflict from release
Dec 19, 2013
b4b611b
Update testing doc
Dec 19, 2013
8b92951
Merge pull request #2006 from edx/zoldak/update-testing-doc
Dec 19, 2013
65756bb
Properly format errors/warnings.
Dec 19, 2013
e1451ab
Merge pull request #2009 from edx/markhoeber/documentation/release-no…
mhoeber Dec 20, 2013
93b6ca1
Set review timeframe more appropriately in contributing docs
sarina Dec 20, 2013
f330b1e
Tweak language surrounding grade download button
sarina Dec 20, 2013
6134bb5
cr comments
Dec 20, 2013
608aaf3
Merge pull request #2012 from edx/sarina/grade-download-wording
sarina Dec 20, 2013
a6fbcbd
Add baseview(extended from backbone view), which can further extended…
zubair-arbi Nov 22, 2013
d23f48f
Merge pull request #2002 from edx/will/rebalance-shards
Dec 20, 2013
f58e788
Merge pull request #1971 from edx/will/selenium-pages
Dec 20, 2013
1542a74
Removed logme module. Using console.log() instead.
Dec 20, 2013
7f76517
Cleanup courseware acceptance tests
cpennington Dec 17, 2013
4f0b800
added detail about tolerance for numerical problems
mhoeber Dec 20, 2013
ef51f74
Merge pull request #1749 from zubair-arbi/zub/bugfix/std823-addbaseview
zubair-arbi Dec 20, 2013
9f1bdc5
Merge pull request #1986 from edx/valera/move_logme_module_separate_file
valera-rozuvan Dec 20, 2013
c0c895c
Merge pull request #1886 from edx/ned/add-tests-for-file-uploads
nedbat Dec 20, 2013
5e244b1
Minor style changes to the i18n directory.
Dec 20, 2013
f1f76a9
Dummy text has more accents, and properly ignored more non-text things.
Dec 20, 2013
550f15c
i18n tests run better: no subprocess output, and no duplication of te…
Dec 20, 2013
c37ab38
Remove needless non-package non-specs from urls.py
Dec 20, 2013
a46e112
Improve test coverage
Dec 18, 2013
ce18bce
Merge pull request #2016 from edx/markhoeber/documentation/stud-1033
srpearce Dec 20, 2013
5478525
Added JSInput template to Studio and a sop attribute to JSInput. Only…
Nov 27, 2013
9de690a
Merge pull request #1796 from edx/jmclaus/feature_jsinput_template
Dec 20, 2013
1295e76
Merge pull request #2013 from edx/sarina/update-contributing
sarina Dec 20, 2013
6c4aae7
Merge pull request #1980 from edx/dhm/locator_block_id
dmitchell Dec 20, 2013
7e91ba6
Add acceptance tests of the annotatable module [LMS-1638]
cpennington Dec 17, 2013
77942ce
Don't create more factory subclasses, just absorb the classes directly
cpennington Dec 18, 2013
a9a8dcf
Allow acceptance test problem functions to work without hardcoded cou…
cpennington Dec 18, 2013
268c4fa
Add acceptance tests of the conditional module [LMS-1639]
cpennington Dec 18, 2013
06fadcd
Make conditional module and poll modules a little easier to understand
cpennington Dec 18, 2013
0e237a8
Add acceptance test of the Graphical Slider Tool [LMS-1641]
cpennington Dec 19, 2013
194e0e9
Add acceptance tests of capa image input
cpennington Dec 20, 2013
df5b22e
Fix exception to support unicode (and print url_name).
Dec 20, 2013
dfb04bc
Merge pull request #2017 from edx/ned/i18n-minor-improvements
nedbat Dec 20, 2013
3c0df16
Merge pull request #2004 from edx/christina/fix-thumbnail-warning
Dec 20, 2013
93d7dfb
Merge pull request #1956 from edx/talbs/studio-fonts
talbs Dec 20, 2013
6d6bcb7
Merge pull request #1968 from edx/talbs/lms-fonts
talbs Dec 20, 2013
dc3b5ab
Support unicode in text field.
Dec 20, 2013
a0b8577
Merge pull request #1988 from cpennington/annotation-module-acceptanc…
cpennington Dec 20, 2013
3bb67a8
Merge pull request #1996 from cpennington/conditional-module-acceptan…
cpennington Dec 20, 2013
32fa35c
Merge pull request #2007 from cpennington/gst-acceptance-tests
cpennington Dec 20, 2013
8e98c8c
Merge pull request #2015 from cpennington/image-response-acceptance-t…
cpennington Dec 20, 2013
aa57481
Add handler_url usable by descriptors
cpennington Dec 6, 2013
67b9075
Merge pull request #1997 from edx/e0d/unicode-bug
Dec 20, 2013
06745e1
revising tinymce font import syntax
talbs Dec 20, 2013
367ea68
Support non-ascii chars as arguments to format.
Dec 20, 2013
4cfe1e8
Merge pull request #1899 from cpennington/descriptor-handler-url
cpennington Dec 20, 2013
0565fbb
Fix (re-implement) answer distribution report generation.
Dec 12, 2013
b1eff05
Merge pull request #2014 from edx/ormsbee/grade_distribution_fix
Dec 20, 2013
4af4e2e
Add instructor notes to document
srpearce Dec 20, 2013
b7368ef
Change course_id to package_id
Dec 20, 2013
2d8a80b
Merge pull request #2019 from edx/talbs/tinymce-fonts
talbs Dec 21, 2013
d125717
Add @tusbar to AUTHORS file
singingwolfboy Dec 17, 2013
abdc5d1
Merge pull request #1975 from edx/db/revert-revert-https-fonts
singingwolfboy Dec 22, 2013
9462183
Moved bok-choy page objects and setup.py to common/test/bok_choy
Dec 21, 2013
91f6481
Merge pull request #2025 from edx/will/saner-page-object-structure
Dec 23, 2013
659e590
Add base package to edxapp page object setup.py
Dec 23, 2013
b923521
corrects typo in legacy.py (LMS-1675)
adampalay Dec 23, 2013
80aa0eb
Merge pull request #2028 from edx/adam/fix-error-student-data
adampalay Dec 23, 2013
c3fbdd6
Merge pull request #2027 from edx/will/fix-page-object-install
Dec 23, 2013
f5f24fc
Merge pull request #2022 from edx/dhm/locator_course_id
dmitchell Dec 23, 2013
de9b8bc
Update formatting for notes to instructor
srpearce Dec 23, 2013
83ae4ee
Merge pull request #2021 from edx/sylvia/documentation/ORA-279
srpearce Dec 23, 2013
71a5d81
Removed extra file
mhoeber Dec 23, 2013
517ca93
removes references to specific edx email addresses (STUD-1069)
adampalay Dec 23, 2013
9dcc13a
Merge pull request #2035 from edx/markhoeber/documentation/remove_str…
mhoeber Dec 23, 2013
b6808d3
BLD-541: Fix video controls on iPad.
polesye Dec 13, 2013
afec2dd
Add tests for Android.
polesye Dec 23, 2013
934b519
Address comments.
polesye Dec 24, 2013
ed04148
Set the registry for node in prereqs
Dec 24, 2013
b992a0c
Merge pull request #2037 from edx/will/npm-registry
Dec 24, 2013
a68f592
Merge pull request #1963 from edx/zoldak/update-changelog
Dec 24, 2013
23dc10d
Merge pull request #1998 from edx/anton/fix-video-in-ipad
polesye Dec 25, 2013
4cb03f4
Grading types should not allow empty field for "Total Number" and "Nu…
zubair-arbi Dec 24, 2013
e24ddaa
Merge pull request #2026 from zubair-arbi/zub/bugfix/std988-gradingtypes
zubair-arbi Dec 26, 2013
7c070f2
Add better messaging, turn off SSL verification when sending grade back.
olmar Dec 18, 2013
7b6d04d
Merge pull request #1987 from edx/oleg/fix_mock_lti_protocols
olmar Dec 27, 2013
288a699
Hide staticpages preview on render
zubair-arbi Dec 27, 2013
719a898
Merge pull request #2018 from edx/christina/export-bug
Dec 27, 2013
ad6e4f2
Merge pull request #2020 from edx/christina/export-bug2
Dec 27, 2013
65f903a
Disable tests due to flakiness.
polesye Dec 30, 2013
9f2c31d
Merge pull request #2036 from edx/adam/remove-@edx-emails
adampalay Dec 30, 2013
2852a4f
Merge pull request #2054 from edx/anton/disable-js-unit-test
polesye Dec 30, 2013
e7f029f
a11y: manage focus appropriately for modals with iframes in IE (LMS-1…
adampalay Dec 5, 2013
3fc461f
Merge pull request #1863 from edx/adam/ie-modal-fix
adampalay Dec 30, 2013
0d1a106
update rewriteStaticLinks utility function(modifiy only relative urls)
zubair-arbi Dec 26, 2013
5ad73f0
fix tinymce popup size too small
zubair-arbi Dec 31, 2013
2f1e696
add validation for grading types (allow only integers)
zubair-arbi Dec 30, 2013
172e0de
Merge pull request #2044 from zubair-arbi/zub/bugfix/std674-insertedi…
zubair-arbi Dec 31, 2013
236c50d
Merge pull request #2048 from zubair-arbi/zub/bugfix/std1071-staticpa…
zubair-arbi Dec 31, 2013
96a3d58
Merge pull request #2052 from zubair-arbi/zub/bugfix/std988-integergr…
zubair-arbi Dec 31, 2013
31cb9ba
The function tzAbbr() causes null-reference exception when the browse…
louyihua Dec 27, 2013
fefb775
Add 'Yihua Lou <supermouselyh@hotmail.com>' to the AUTHORS file.
louyihua Dec 30, 2013
1c97909
Merge pull request #2060 from edx/louyihua/tzAbbr
singingwolfboy Dec 31, 2013
39380f2
Very Minor tweaks to the LMS and CMS startup.
Jan 2, 2014
0d3c18d
Merge pull request #2069 from edx/ned/minor-startup-fixes
nedbat Jan 3, 2014
4569ee9
Add options to dump_course_structure to output inherited metadata.
brianhw Dec 19, 2013
d0fea42
Add tests for inherited metadata to test_dump_course, and move to com…
brianhw Dec 30, 2013
b9096b1
prevent failure when module does not have a data field
mulby Nov 15, 2013
34a340a
Merge pull request #1682 from mulby/gabe/fix-get-items-without-data
mulby Jan 3, 2014
5e3e2ae
Studio: adds in developer-centric Sass file
talbs Dec 27, 2013
fcda913
LMS: adds in developer-centric Sass file
talbs Dec 27, 2013
092cc4d
Merge pull request #2047 from edx/talbs/studio-devscss
talbs Jan 3, 2014
dd591a4
Merge pull request #2046 from edx/talbs/lms-devscss
talbs Jan 3, 2014
5dccff5
Merge pull request #2008 from edx/brian/dump-inherited-metadata
brianhw Jan 3, 2014
7e31c95
Modify server_track to handle being called without a request.
brianhw Jan 3, 2014
f9c4558
Add pagination to Studio's Files and Uploads page
andy-armstrong Dec 5, 2013
c573db3
Add myself to list of authors
andy-armstrong Jan 6, 2014
4ddc36d
Merge pull request #1912 from edx/andy/asset-pagination
andy-armstrong Jan 6, 2014
57710d7
Added django commands to get statistics and repost submissions to gra…
symbolist Dec 20, 2013
9c81a07
Merge pull request #2076 from edx/brian/server-track-null-request
brianhw Jan 6, 2014
93682af
Don't catch all exceptions.
Jan 6, 2014
7d98231
Merge pull request #2082 from edx/ned/dont-catch-all-exceptions
nedbat Jan 6, 2014
6108529
Merge pull request #2001 from edx/waheed/openended-problems-commands-2
symbolist Jan 6, 2014
fa55ac1
Fix URI vendor module to be referenced via a relative URL.
andy-armstrong Jan 6, 2014
024c3f6
Merge pull request #2085 from edx/andya/asset-pagination-fix
andy-armstrong Jan 6, 2014
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -99,3 +99,8 @@ Florian Dufour <neurolit@gmail.com>
Manuel Freire <manuel.freire@fdi.ucm.es>
Daniel Cebrián Robles <danielcebrianr@gmail.com>
Carson Gee <cgee@mit.edu>
Gang Chen <goncha@gmail.com>
Bertrand Marron <bertrand.marron@ionis-group.com>
Yihua Lou <supermouselyh@hotmail.com>
Andy Armstrong <andya@edx.org>

22 changes: 22 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,32 @@ These are notable changes in edx-platform. This is a rolling list of changes,
in roughly chronological order, most recent first. Add your entries at or near
the top. Include a label indicating the component affected.

Studio: Added pagination to the Files & Uploads page.

Blades: Video player improvements:
- Disable edX controls on iPhone/iPod (native controls are used).
- Disable unsupported controls (volume, playback rate) on iPad/Android.
- Controls becomes visible after click on video or play placeholder to avoid
issues with YouTube API on iPad/Android.
- Captions becomes visible just after full initialization of video player.
- Fix blinking of captions after initialization of video player. BLD-206.

LMS: Fix answer distribution download for small courses. LMS-922, LMS-811

Blades: Add template for the zooming image in studio. BLD-206.

Blades: Update behavior of start/end time fields. BLD-506.

Blades: Make LTI module not send grade_back_url if has_score=False. BLD-561.

Blades: Show answer for imageresponse. BLD-21.

Blades: LTI additional Python tests. LTI must use HTTPS for
lis_outcome_service_url. BLD-564.

Studio: Enable Terms of Service and Privacy Policy links to be served by
an alternate site. STUD-151.

Blades: Fix bug when Image mapping problems are not working for students in IE. BLD-413.

Blades: Add template that displays the most up-to-date features of
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ By opening up a pull request, we expect the following things:

### Expections You Have of Us

1. Within 48 hours of opening up a pull request, one of our open source community managers will triage it, either tagging other reviewers for the PR or asking follow up questions. (Please give us a little extra time if you open the PR on a late Friday EST evening! We may not get to it until the following Monday or Tuesday).
1. Within a week of opening up a pull request, one of our open source community managers will triage it, either tagging other reviewers for the PR or asking follow up questions (Please give us a little extra time if you open the PR on a weekend or around a US holiday! We may take a little longer getting to it.).
2. We promise to engage in an active dialogue with you from the time we begin reviewing until either the PR is merged (by an edX staff member), or we decide that, for whatever reason, it should be closed.
3. Once we have determined through visual review that your code is not malicious, we will run a Jenkins build on your branch.

Expand Down
331 changes: 9 additions & 322 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,331 +2,18 @@ This is the main edX platform which consists of LMS and Studio.

See [code.edx.org](http://code.edx.org/) for other parts of the edX code base.

Installation - The first time
=============================

The following instructions will help you to download and setup a virtual machine
with a minimal amount of steps, using Vagrant. It is recommended for a first
installation, as it will save you from many of the common pitfalls of the
installation process.

1. Make sure you have plenty of available disk space, >5GB
2. Install Git: http://git-scm.com/downloads
3. Install VirtualBox: https://www.virtualbox.org/wiki/Downloads
See http://docs.vagrantup.com/v2/providers/index.html for a list of supported
Providers. You should use VirtualBox >= 4.2.12.
(Windows: later/earlier VirtualBox versions than 4.2.12 have been reported to not work well with
Vagrant. If this is still a problem, you can
install 4.2.12 from http://download.virtualbox.org/virtualbox/4.2.12/).
4. Install Vagrant: http://www.vagrantup.com/ (Vagrant 1.2.2 or later)
5. Open a terminal
6. Download the project: `git clone https://github.com/edx/edx-platform.git`
7. Enter the project directory: `cd edx-platform/`
8. (Windows only) Run the commands to
[deal with line endings and symlinks under Windows](https://github.com/edx/edx-platform/wiki/Simplified-install-with-vagrant#dealing-with-line-endings-and-symlinks-under-windows)
9. Create the development environment and start it: `vagrant up`

The initial `vagrant up` will download a Linux image, then boot and ask for your
host machine's administrator password to setup file sharing between your computer and the VM.
Once file sharing is established, `edx-platform/scripts/create-dev-env.sh` will
install dependencies and configure the VM.
This will take a while; go grab a coffee.

When complete, you should see a _"Success!"_ message.
If not, refer to the
[troubleshooting section](https://github.com/edx/edx-platform/wiki/Simplified-install-with-vagrant#troubleshooting).

Your development environment is initialized only on the first bring-up.
Subsequently `vagrant up` commands will boot your virtual machine normally.

Note: by default, the VM will get the IP `192.168.20.40`.
You can change this in your `Vagrantfile` (the startup message will reflect your VM's actual IP).

Accessing the VM
----------------

Once the installation is finished, to log into the virtual machine:

```
$ vagrant ssh
```

Note: This won't work from Windows. Instead, install PuTTY from
http://www.chiark.greenend.org.uk/%7Esgtatham/putty/download.html. Then
connect to 192.168.20.40, port 2222, using vagrant/vagrant as a user/password.


Using edX
---------

When you login to your VM, you are in
`/opt/edx/edx-platform` by default, which is shared from your host workspace.
Your host computer contains the edx-project development code and repository.
Your VM runs edx-platform code mounted from your host, so
you can develop by editing on your host.

After logging into your VM with `vagrant ssh`,
start the _Studio_ and
_Learning management system (LMS)_
servers (run these from `/opt/edx/edx-platform`):

Learning management system (LMS):

```
$ rake lms[cms.dev,0.0.0.0:8000]
```

Studio (CMS):

```
$ rake cms[dev,0.0.0.0:8001]
```

The servers will come up to these URLs:

- LMS: http://192.168.20.40:8000/
- CMS: http://192.168.20.40:8001/

Your VM's port 8000 is forwarded to host port 9000
so you can also access the LMS with [http://localhost:9000/]().
Similarly, VM port 8001 is forwarded to host port 9001.
These are set in your `Vagrantfile`.

Note that when you register a new user through the web interface,
by default the activiation email will be appear on your VM's terminal.
Search for lines similar to:

```
Subject: Your account for edX Studio
From: registration@edx.org
```

and find the activation URL.

See the [Frequently Asked Questions](https://github.com/edx/edx-platform/wiki/Frequently-Asked-Questions)
for more usage tips.

Django admin & debug toolbar
-----------------------------

You can enable admin logins and the debug_toolbar by editing
`lms/envs/common.py`:

- enable ADMIN login page by setting:
- ```
'ENABLE_DJANGO_ADMIN_SITE': True
```


- enable debug toolbar by uncommenting:
- ```
# 'debug_toolbar.middleware.DebugToolbarMiddleware',
```

These are also defined in `lms/envs/dev.py`,
and usually active on localhost.

To get at your VM's 127.0.0.1, explicitly forward one of VM's available localhost ports to your computer.
Instead of `vagrant ssh`, login with:

```
$ ssh -L 6080:127.0.0.1:8080 vagrant@192.168.20.40
```

The password is _vagrant_.

From your VM, start the LMS as a localhost instance:

```
$ rake lms[cms.dev,127.0.0.1:8080]
```

You should see the debug toolbar now on [http:/localhost:6080/]().
You should now also see a login on [http://localhost:6080/admin/]()
You will need a privileged user for the admin login.
You can create a CMS/LMS super-user with:
```
$ ./manage.py lms createsuperuser
```


Stopping & starting
-------------------


To stop the VM (from your `edx-platform/` directory):
```
$ vagrant halt
```

To restart:

```
$ vagrant up
```

To suspend and resume tasks in progress on your VM:
```
$ vagrant suspend
$ # and later...
$ vagrant resume
```

Your development environment is normally created once, on first `vagrant up`.
You can continue to fetch changes in edx-platform
as you work with your VM.
To re-create your VM and create a fresh development environment:
```
$ vagrant destroy
$ vagrant up # will make a new VM
```


Troubleshooting
---------------

If anything doesn't work as expected, see the
[troubleshooting section](https://github.com/edx/edx-platform/wiki/Simplified-install-with-vagrant#troubleshooting).

Installation - Advanced
=======================

Note: The following installation instructions are for advanced users & developers
who are familiar with setting up Python, Ruby & node.js virtual environments.
Even if you know what you are doing, edX has a large code base with multiple
dependencies, so you might still want to use the method described above the
first time, as Vagrant helps avoiding issues due to the different environments.

There is a `scripts/create-dev-env.sh` that will attempt to set up a development
environment.

If you want to better understand what the script is doing, keep reading.

Directory Hierarchy
-------------------

This code assumes that it is checked out in a directory that has three sibling
directories: `data` (used for XML course data), `db` (used to hold a
[sqlite](https://sqlite.org/) database), and `log` (used to hold logs). If you
clone the repository into a directory called `edx` inside of a directory
called `dev`, here's an example of how the directory hierarchy should look:

* dev
\
* data
* db
* log
* edx
\
README.md

Language Runtimes
-----------------
You'll need to be sure that you have Python 2.7, Ruby 1.9.3, and NodeJS
(latest stable) installed on your system. Some of these you can install
using your system's package manager: [homebrew](http://mxcl.github.io/homebrew/)
for Mac, [apt](http://wiki.debian.org/Apt) for Debian-based systems
(including Ubuntu), [rpm](http://www.rpm.org/) or [yum](http://yum.baseurl.org/)
for Red Hat based systems (including CentOS).

If your system's package manager gives you the wrong version of a language
runtime, then you'll need to use a versioning tool to install the correct version.
Usually, you'll need to do this for Ruby: you can use
[`rbenv`](https://github.com/sstephenson/rbenv) or [`rvm`](https://rvm.io/), but
typically `rbenv` is simpler. For Python, you can use
[`pythonz`](http://saghul.github.io/pythonz/),
and for Node, you can use [`nvm`](https://github.com/creationix/nvm).

Virtual Environments
--------------------
Often, different projects will have conflicting dependencies: for example, two
projects depending on two different, incompatible versions of a library. Clearly,
you can't have both versions installed and used on your machine simultaneously.
Virtual environments were created to solve this problem: by installing libraries
into an isolated environment, only projects that live inside the environment
will be able to see and use those libraries. Got incompatible dependencies? Use
different virtual environments, and your problem is solved.

Remember, each language has a different implementation. Python has
[`virtualenv`](http://www.virtualenv.org/), Ruby has
[`bundler`](http://gembundler.com/), and Node's virtual environment support
is built into [`npm`](https://npmjs.org/), its library management tool.
For each language, decide if you want to use a virtual environment, or if you
want to install all the language dependencies globally (and risk conflicts).
I suggest you start with installing things globally until and unless things
break; you can always switch over to a virtual environment later on.

Language Packages
-----------------
The Python libraries we use are listed in `requirements.txt`. The Ruby libraries
we use are listed in `Gemfile`. The Node libraries we use are listed in
`packages.json`. Python has a library installer called
[`pip`](http://www.pip-installer.org/), Ruby has a library installer called
[`gem`](https://rubygems.org/) (or `bundle` if you're using a virtual
environment), and Node has a library installer called
[`npm`](https://npmjs.org/).
Once you've got your languages and virtual environments set up, install
the libraries like so:

$ pip install -r requirements/edx/pre.txt
$ pip install -r requirements/edx/base.txt
$ pip install -r requirements/edx/post.txt
$ bundle install
$ npm install

You can also use [`rake`](http://rake.rubyforge.org/) to get all of the prerequisites (or to update)
them if they've changed

$ rake install_prereqs

Other Dependencies
------------------
You'll also need to install [MongoDB](http://www.mongodb.org/), since our
application uses it in addition to sqlite. You can install it through your
system package manager, and I suggest that you configure it to start
automatically when you boot up your system, so that you never have to worry
about it again. For Mac, use
[`launchd`](https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man8/launchd.8.html)
(running `brew info mongodb` will give you some commands you can copy-paste.)
For Linux, you can use [`upstart`](http://upstart.ubuntu.com/), `chkconfig`,
or any other process management tool.

Configuring Your Project
------------------------
Before you run your project, you need to create a sqlite database, create
tables in that database, and run database migrations. Fortunately, `django`
will do all of this for you

$ ./manage.py lms syncdb --migrate
$ ./manage.py cms syncdb --migrate

Run Your Project
----------------
edX has two components: Studio, the course authoring system; and the LMS
(learning management system) used by students. These two systems communicate
through the MongoDB database, which stores course information.

We use [`rake`](http://rake.rubyforge.org/) to execute common tasks in our
project. The `rake` tasks are defined in the `rakefile`, or you can run `rake -T`
to view a summary.

To run Studio, run:

$ rake cms

To run the LMS, run:

$ rake lms[cms.dev]
Installation
------------

Studio runs on port 8001, while LMS runs on port 8000, so you can run both of
these commands simultaneously, using two different terminal windows. To view
Studio, visit `127.0.0.1:8001` in your web browser; to view the LMS, visit
`127.0.0.1:8000`.
Please refer to the following wiki pages in our [configuration repo](https://github.com/edx/configuration) to install edX:

There's also an older version of the LMS that saves its information in XML files
in the `data` directory, instead of in Mongo. To run this older version, run:
* [edX Developer Stack](https://github.com/edx/configuration/wiki/edX-Developer-Stack)
<br/>These instructions are for developers who want to contribute or make changes to the edX source code.
* [edX Production Stack](https://github.com/edx/configuration/wiki/edX-Production-Stack)
<br/>Using Vagrant/Virtualbox this will setup all edX services on a single server in a production like configuration.
* [edX Ubuntu 12.04 installation](https://github.com/edx/configuration/wiki/edX-Ubuntu-12.04-Installation)
<br/>This will install edX on an existing Ubuntu 12.04 server.

$ rake lms

License
-------
Expand Down
Loading