Skip to content

Commit

Permalink
Merge branch 'develop' into rules-json
Browse files Browse the repository at this point in the history
Conflicts:
	core/controllers/editor.py
	core/domain/rule_domain_test.py
	core/templates/dev/head/editor/EditorServices.js
	core/tests/protractor_utils/editor.js
	extensions/rules/code_evaluation.py
  • Loading branch information
wxyxinyu committed May 11, 2016
2 parents 2b40b06 + 1dac7b4 commit f30e4f3
Show file tree
Hide file tree
Showing 364 changed files with 10,640 additions and 4,103 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,4 @@ venv/
*.db
.DS_Store
.idea
static/images/splash/*
.vagrant/*
3 changes: 3 additions & 0 deletions .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ good-names=e,_,d,f,i,l,p,w,fn,fs,id,pc,sc,zf,setUp,tearDown,longMessage,maxDiff
# Regex for dummy variables (to prevent 'unused argument' errors)
dummy-variables-rgx=_|unused_*

# Regular expression which should match good variable names
variable-rgx=[a-z_]+

[DESIGN]

# Minimum number of public methods for a class (see R0903).
Expand Down
64 changes: 51 additions & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,40 @@
sudo: required
# In order to install Chrome stable we need trusty distribution.
dist: trusty
language: python

python:
- 2.7

addons:
firefox: latest
apt:
sources:
- google-chrome
packages:
- google-chrome-stable
- google-chrome-beta

branches:
only:
- master
- develop

env:
- RUN_BACKEND_TESTS=false RUN_FRONTEND_TESTS=false RUN_LINT=true REPORT_BACKEND_COVERAGE=false
- RUN_BACKEND_TESTS=false RUN_FRONTEND_TESTS=true RUN_LINT=false REPORT_BACKEND_COVERAGE=false
- RUN_BACKEND_TESTS=true RUN_FRONTEND_TESTS=false RUN_LINT=false REPORT_BACKEND_COVERAGE=false
- RUN_BACKEND_TESTS=true RUN_FRONTEND_TESTS=false RUN_LINT=false REPORT_BACKEND_COVERAGE=true


matrix:
- RUN_LINT=true
- RUN_FRONTEND_TESTS=true
- RUN_E2E_TESTS_EDITOR=true
- RUN_E2E_TESTS_EXTENSIONS=true
- RUN_E2E_TESTS_LIBRARY=true
- RUN_E2E_TESTS_MISC=true
- RUN_BACKEND_TESTS=true REPORT_BACKEND_COVERAGE=false
- RUN_BACKEND_TESTS=true REPORT_BACKEND_COVERAGE=true
matrix:
allow_failures:
# The backend tests, with coverage, take too long to run, so we make this
# optional.
- env: RUN_BACKEND_TESTS=true RUN_FRONTEND_TESTS=false RUN_LINT=false REPORT_BACKEND_COVERAGE=true
- env: RUN_BACKEND_TESTS=true REPORT_BACKEND_COVERAGE=true
fast_finish: true

notifications:
Expand All @@ -30,10 +45,23 @@ notifications:
- wxy.xinyu@gmail.com
on_success: change
on_failure: change
irc:
channels:
- chat.freenode.net#oppia
on_success: never
on_failure: always
webhooks:
urls:
# This URL can be obtained by going to the Gitter chat room
# and clicking Settings > Integrations.
- https://webhooks.gitter.im/e/f8f782497ec1ffcea2e7
on_success: always
on_failure: always

before_install:
- pip install codecov
- export CHROME_BIN=chromium-browser
- pip install numpy==1.6.1
- export CHROME_BIN=/usr/bin/google-chrome-stable
- export DISPLAY=:99.0
- bash -e /etc/init.d/xvfb start

Expand All @@ -42,13 +70,12 @@ install:
- pushd $TRAVIS_BUILD_DIR
- source scripts/setup.sh || exit 1
- source scripts/setup_gae.sh || exit 1
- mkdir -p $GOOGLE_APP_ENGINE_HOME
- curl --silent https://storage.googleapis.com/appengine-sdks/deprecated/1919/google_appengine_1.9.19.zip
-o gae-download.zip
- unzip -qq gae-download.zip -d $TOOLS_DIR/google_appengine_1.9.19/
- rm gae-download.zip

script:
- if [ $RUN_E2E_TESTS_EDITOR == 'true' ]; then bash scripts/run_e2e_tests.sh --suite="editor"; fi
- if [ $RUN_E2E_TESTS_EXTENSIONS == 'true' ]; then bash scripts/run_e2e_tests.sh --suite="extensions"; fi
- if [ $RUN_E2E_TESTS_LIBRARY == 'true' ]; then bash scripts/run_e2e_tests.sh --suite="library"; fi
- if [ $RUN_E2E_TESTS_MISC == 'true' ]; then bash scripts/run_e2e_tests.sh --suite="misc"; fi
- if [ $RUN_BACKEND_TESTS == 'true' ] && [ $REPORT_BACKEND_COVERAGE == 'true' ]; then bash scripts/run_backend_tests.sh --generate_coverage_report; fi
- if [ $RUN_BACKEND_TESTS == 'true' ] && [ $REPORT_BACKEND_COVERAGE == 'false' ]; then bash scripts/run_backend_tests.sh; fi
- if [ $RUN_LINT == 'true' ]; then bash scripts/install_third_party.sh; python scripts/pre_commit_linter.py --path=.; fi
Expand All @@ -59,3 +86,14 @@ script:
after_success:
- if [ $RUN_BACKEND_TESTS == 'true' ] && [ $REPORT_BACKEND_COVERAGE == 'true' ]; then codecov; fi
- if [ $RUN_FRONTEND_TESTS == 'true' ]; then codecov --file ../karma_coverage_reports/coverage-final.json; fi

cache:
# Cache Oppia's dependencies.
directories:
- ../node_modules/
- ../oppia_tools/
- third_party/

before_cache:
# Delete python bytecode to prevent cache rebuild.
- find third_party -name "*.pyc" -print -delete
19 changes: 19 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,28 @@
#
# Please keep the list sorted alphabetically.

Abhijit Suresh <abhijit5893@gmail.com>
Alex Gower <alexanderpgower@gmail.com>
Allan Zhou <allan.zhou@berkeley.edu>
Andrew Low <kahkhang@gmail.com>
Andrey Mironyuk <andmir92@yahoo.com>
Arun Kumar <arunkumarm1995@gmail.com>
Avijit Gupta <526avijit@gmail.com>
Barnabas Makonda <barnabasmakonda@gmail.com>
Ben Targan <ben.targan@gmail.com>
Bolaji Fatade <bjfatade@gmail.com>
Brenton Briggs <briggs.brenton@gmail.com>
Charisse De Torres <midorijikan@gmail.com>
Chase Albert <chase@mybasis.com>
Chin Zhan Xiong <czxcjx1234@gmail.com>
Debanshu Bhaumik <bhaumikdebanshu@gmail.com>
Deepank Agarwal <deepank411@gmail.com>
Edward Allison <eallison1102@gmail.com>
Estelle Lee <estelle0500@gmail.com>
Frederik Creemers <frederikcreemers@gmail.com>
Google Inc.
Grace Guo <graceguo43@gmail.com>
Hitesh Sharma <hitesh96db@gmail.com>
Jacob Davis <jacobdavis11@gmail.com>
Jakub Osika <osika.jakub@gmail.com>
Jasper Deng <jasper.deng@gmail.com>
Expand All @@ -32,30 +38,43 @@ Jérôme (zolk232) <zolk232@gmail.com>
Jerry Chen <jerry.c@berkeley.edu>
Joshua Lusk <luskjh@g.cofc.edu>
Karen Rustad <karen.rustad@gmail.com>
Kenneth Ho <a0125364@u.nus.edu>
Kerry Wang <kerryxwang@gmail.com>
Kevin Lee <leekevin@berkeley.edu>
Kristin Anthony <anthkris09@gmail.com>
Kumari Shalini <shaliniroy012@gmail.com>
Marcel Schmittfull <marcel-sl@gmx.de>
Mark Cabanero <markc.cabanero@gmail.com>
Mark Halpin <markhalpin3@gmail.com>
Michael Mossey <michaelmossey@gmail.com>
Michael Wagner <wagnerdmike@gmail.com>
Milagro Teruel <milagro.teruel@gmail.com>
Mungo Dewar <mpjdewar@gmail.com>
Oskar Cieslik <oskar.cieslik@gmail.com>
Oswell Chan <oswellchan@gmail.com>
Owen Parry <owenparry@fastmail.fm>
Philip Hayes <philiphayes9@gmail.com>
Prasanna Patil <prasannapatil08@gmail.com>
Raine Hoover <raine.hoover@gmail.com>
Rajat Patwa <razat249@gmail.com>
Reto Brunner <brunnre8@gmail.com>
Richard Cho <won0089@gmail.com>
Samara Trilling <samara.trilling@gmail.com>
Santos Hernandez <hernandz@stanford.edu>
Sanyam Khurana <sanyam.khurana01@gmail.com>
Satwik Kansal <satwikkansal@gmail.com>
Scott Junner <scott.junner@gmail.com>
Shafqat Dulal <shafqat.dulal@gmail.com>
Shouvik Roy <vicks4uster@gmail.com>
Sourav Badami <souravbadami@gmail.com>
Sreenivasulu Giritheja <s.giritheja@gmail.com>
Tarashish Mishra <sunu0000@gmail.com>
Travis Shafer <tdtshafer@gmail.com>
Tuguldur Baigalmaa <philoniare@gmail.com>
Umesh Singla <umeshksingla@gmail.com>
Viraj Prabhu <prabhuviraj@gmail.com>
Vishal Gupta <vishal.vgu@gmail.com>
Xinyu Wu <wxy.xinyu@gmail.com>
Yi Yan <chrno_crusade217@hotmail.com>
Yousef Hamza <jo.adam.93@gmail.com>
Zoe Madden-Wood <maddenwood@gmail.com>
151 changes: 151 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,157 @@ This file contains a summary of changes to the Oppia code base. For a full chang

https://github.com/oppia/oppia/commits/master

v2.2.0 (7 May 2016)
-------------------
Overall site design and navigation:
* Fix #1510: separate the library page from the splash page.
* Clicking on the logo at the top left redirects to the appropriate home page.
* Fix #1075: use material icons instead of glyphicons.
* Fix #1615: add a footer to all informational pages on the site

Splash page:
* Redesign the splash page.

Library page:
* Rename 'gallery' to 'library' throughout the codebase.
* Add an index page with explorations in different categories.
* Fix #1360: add a separate category for featured explorations.
* Fix #1681: redesign the number-of-contributors indicator on the exploration summary tiles.
* Create new category icons.
* Reduce the number of categories in the category dropdown menu.
* Add stable URLs for search result pages.
* Redesign the 'loading more results' indicator.

Editor page:
* Redesign the editor onboarding flow.
* Fix #1537: send an email when a user is granted new rights to an exploration.
* Fix (part of) #798: clarify the message shown when an interaction is missing.
* Fix #1679: in the editor view, prevent the feedback tab overlapping the sign-in menu.
* Reduce the widths of the editor tabs.
* Tidy up the save/publish button styling in the navbar.
* Fix #1676: remove the small gap between the "Save Draft" and "Discard Draft" buttons.
* Remove the visibility toggle for private explorations from the Settings tab.
* Fix a bug in getEditorTabContext() that resulted in incorrect detection of the editor preview mode.
* Fix #1788: correctly align parameter input fields in Firefox.

Learner:
* Fix #1497: ensure that the inter-paragraph spacing behaves correctly.
* Fix #1678: prevent share links from being squashed in the information card.

Interactions:
* CodeRepl:
- Fix #1682: add an OutputContains rule.
- Fix #1671: make text highlighting visible.
- Fix #1767: add a 'test run' button.
- Fix a bug where the error message displayed in the user-facing console was not updated promptly.

Rich-text editor:
* Add indent/outdent functionality.
* Add block-style previews for some RTE components.
* Fix #914: remove the RTE icon resize handlebars in Firefox.

Profile page:
* Fix #1350: redesign the profile page to include a portfolio section and display responsively.
* Fix #1544: Fetch Gravatar images or identicons when a new user signs up.

Other pages:
* Fix #1703 (preferences page): fix the preferred languages dropdown width.
* Fix #1712 (admin page): add a navigation bar, and separate the page into different categories.
* "My explorations" page:
- Autofocus correctly when the 'create exploration' modal is opened.
- Redesign the page to be more useful to new creators.
- Show a more informative status ("Published" instead of "Good") for published explorations that have no unresolved feedback messages.

Developer workflow:
* Fix #995: add Protractor e2e tests to Travis-CI.
* Improve Travis-CI build times by caching specific directories.
* Fix #1717: enforce correct permissions on the node_modules/ dir in Vagrant.

Infrastructure and tests:
* Update protractor to 3.3.0.
* Fix #1434: replace deprecated $http.success & $http.error with $http.then.
* Fix #1369: add a domain layer for objects related to feedback threads.
* Fix #1729: add tests for summary_services.py.
* Add analytics events for buttons on the splash page, and for opening the 'publish exploration' modal.


v2.1.5 (3 Apr 2016)
-------------------
Overall site design and navigation:
* Fix #1347: redesign the navbar, and include a "create" button on more pages.
* Fix #1533: make "My Explorations" the homepage for logged-in users.
* Fix #1531: introduce an alertsService to display warnings and transitory info messages.
* Fix #1622: replace PNG images with icon fonts (where possible) to improve performance.

Gallery page:
* Fix #1617: add a "deselect all" option in the category and language selectors in the search bar.
* Fix #1550: return profile pictures together with the other data in the exploration summary tiles, in order to avoid multiple unnecessary fetches to the server.
* Fix #1543: for community-editable explorations, the first avatar in the exploration summary tile should be a globe.
* Fix #1668: reinstate the search loading indicator.
* Fix #1529: truncate long usernames in the gallery card tooltips so that they don't overflow.
* Create new directives for the search bar and the grid of exploration summary tiles.

Editor page:
* Fix #473: changing the rule type should preserve existing rule input fields, whenever possible.
* Fix #1613: after publishing, creators should be encouraged to share their explorations.
* Fix #1575: correctly restore the "Save Draft" button after the user tries to save changes that have no net effect.
* Fix #1656: fix alignment of status and state in feedback/suggestion threads.
* Fix #1370: show the number of open feedback/suggestion threads in the exploration editor navbar.
* Fix #1566: clicking the edit icons in the Oppia response editor should open up the response editor.
* Generate default rule input values in the backend and send these to the frontend, thus reducing the need for the core code to special-case on particular interaction ids.
* Fix #1536: within the multiple-choice option dropdown in the rule selector, images should not overlap.
* Partially address #1287: implement a storage layer to support auto-saving of drafts.
* Remove unnecessary two-way binding in the rule type dropdown selector.

Learner page:
* Fix #1637: prevent the feedback popup from overflowing off the screen.
* Increase the size of the first avatar on each exploration card.
* Adjust the progress-dot tooltips to point towards the left.

Interactions:
* CodeRepl: display underscores correctly in the code editor.
* ItemSelectionInput: make the UI more similar to that of MultipleChoiceInput.
* LogicProof: update the Angular reference in the JavaScript generating helper file.
* PencilCodeEditor: hide the Pencil Code error console.
* SetInput: remove the error that arises in the editor when trying to add an element to a rule input.
* SetInput: explicitly instruct the learner to add one item per line.
* TextInput: always show the "submit" button.

Rich-text editor:
* Fix #945: improve the rich-text editor performance by removing unnecessary internal $watch statements.
* Fix #448: redesign the icons for all the RTE components.
* Fix #1534: prevent long math LaTeX formulas from spilling out of the rule selector dropdown.
* Fix #1496: ensure that videos stay within their container when they are inserted into a Collapsible RTE component.

Collections:
* Fix #1564: make it possible to unpublish collections.
* Fix #1649: pass num_views to collection learner view
* Fix #1216: fix the display of the collection viewer tiles on small screens.
* Add collection editor frontend and backend controllers, so that the collection editor is fully functional.

Other pages:
* Fix #1288 (profile page): redesign the calculation of the impact score.
* Fix #1368 (notifications page): make the page display correctly on small screens.
* Fix #1628 ("my explorations" page): ensure that the "Unresolved Feedback" status message does not overflow the exploration card.
* Fix #1633 (about page): reinstate the missing "Oppia Foundation" anchor.
* Fix #1631 (privacy page): de-italicize the text in the sidebar.

Developer workflow:
* Install XVFB and adjust setup.sh to prepend xvfb-run to frontend test commands for developers who are using Vagrant.
* Fix #1568: add an error message if the GAE download via curl fails.
* Fix #1488: make the pre_push hook switch to the correct branch before linting.
* Update run_frontend_tests.sh to not run the minified tests by default, and add an optional flag to skip the installation process. These two flags together significantly speed up running the frontend tests.
* Fix #1643: report build status on gitter and IRC.
* Update the README to point to the new IRC channel.

Infrastructure and tests:
* Fix #1504: update textAngular to v1.4.5, and add Rangy (v1.3.0) as a third-party dependency.
* Fix #1416: guard against the backend sending duplicate emails.
* Fix #1579: introduce a standard naming scheme for example users in the Protractor tests.
* Add an analytics event for new signups.
* Remove all author tags from the codebase.


v2.1.4 (28 Feb 2016)
--------------------
Learner page:
Expand Down
Loading

0 comments on commit f30e4f3

Please sign in to comment.