summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrabhu Ramachandran2017-11-15 19:14:27 +0530
committerGitHub2017-11-15 19:14:27 +0530
commitfa0548170cb8ee68508bc7286c65f9651f5718a1 (patch)
treebe1ba69459800453c16a61d0a1c5b228d17cb151
parent71169d6783c8817283f631809828b8626287cca7 (diff)
parent401f1ae1fe5ae873cc0ac373b2b3e1add7ccf69c (diff)
downloadonline_test-fa0548170cb8ee68508bc7286c65f9651f5718a1.tar.gz
online_test-fa0548170cb8ee68508bc7286c65f9651f5718a1.tar.bz2
online_test-fa0548170cb8ee68508bc7286c65f9651f5718a1.zip
Merge pull request #394 from FOSSEE/release-0.7v0.7.0
Release 0.7
-rw-r--r--CHANGELOG.txt30
-rw-r--r--README.md132
-rw-r--r--README.rst164
-rw-r--r--online_test/__init__.py2
-rw-r--r--setup.py9
-rw-r--r--yaksh/migrations/0008_release_0_7_0.py25
6 files changed, 221 insertions, 141 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 824a051..e259117 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,4 +1,4 @@
-=== 0.7.0 (Tentatively 23-10-2017) ===
+=== 0.7.0 (15-11-2017) ===
* Simplified Standard I/O type question error output.
* Added the facility to search questions using tags.
@@ -14,10 +14,30 @@
* Added the facility to create users by uploading CSV.
* Fixed a bug that would require shebang to be put in for Bash assertion based questions.
* Bug fixed that did not allow to edit a profile.
-* CSV download for quiz attempts enhanced.
-* Updated Courses Page to show Active Courses on top.
-* Added a Datetime Picker to Add Course Page
-* Added invoke script for quickstart and docker deployment
+* Updated Courses Page to show active courses on top.
+* Added a Datetimepicker to edit course Page.
+* Added invoke script for quickstart and docker deployment.
+* Added the facility to send mails to all students enrolled in a course.
+* Fixed a bug that would cause issue during email activation key check
+* Added comprehensive tests for views.py
+* Fixed a bug that allowed moderators to set cyclic quiz prerequisites in a course.
+* Added a feature that redirects to edit profile page if user has no profile.
+* Fixed a bug that would allow enrolled students to attempt quizzes for deactivated courses.
+* Added link on the landing page to Online test Github repository.
+* Updated Code server to tornado server which takes a post request to submit a job asynchronously.
+* Updated bulk email editor from Froala editor to TinyMCE editor.
+* Fixed a bug that would take the maximum marks scored by a user in all attempts for non coding questions.
+* Added a feature that would allow a user to see previously submitted answers for non code questions.
+* Last submitted answer is updated instead of appending for non coding questions.
+* User answers for code questions are stored but not evaluated during skipping questions.
+* Added logged in user information in footer of the base html page.
+* Fixed a bug that would not shuffle questions in a quiz.
+* Updated a feature that allows user to quit the paper manually and revisit the paper if necessary.
+* Updated snippets for questions to be multilines.
+* Fixed a bug that did not reset answer during quiz.
+* Updated download quiz details feature to be more informative.
+* Simplified Assertion type question error output for Python.
+* Added a feature that prepopulates the test case type field when adding test cases to questions.
=== 0.6.0 (11-05-2017) ===
diff --git a/README.md b/README.md
deleted file mode 100644
index 28f45d0..0000000
--- a/README.md
+++ /dev/null
@@ -1,132 +0,0 @@
-Yaksh
-========
-
-[![Build Status](https://travis-ci.org/FOSSEE/online_test.svg?branch=master)](https://travis-ci.org/FOSSEE/online_test)
-[![Documentation Status](https://readthedocs.org/projects/yaksh/badge/?version=latest)](http://yaksh.readthedocs.io/en/latest/?badge=latest)
-
-To get an overview of the Yaksh interface please refer to the user documentation at [Yaksh Docs] (http://yaksh.readthedocs.io)
-
-This is a Quickstart guide to help users setup a trial instance. If you wish to deploy Yaksh in a production environment here is a [Production Deployment Guide] (https://github.com/FOSSEE/online_test/blob/master/README_production.md)
-
-
-#### Introduction
-
-This project provides an "exam" app that lets users take an online
-programming quiz.
-
-#### Features
-
- * Define fairly complicated programming problems and have users
- solve the problem.
- * Immediate verification of code solution.
- * Supports pretty much arbitrary coding questions in Python, C, C++ and
- simple Bash and uses "test cases" to test the implementations of the students.
- * Supports simple multiple choice questions and File uploads.
- * Since it runs on your Python, you could technically test any Python based library.
- * Scales to over 500+ simultaneous users.
- * Distributed under the BSD license.
-
-Quick Start
-===========
-
-#### Pre-Requisites
-
-1. Ensure you have Python available.
-1. Ensure [pip](https://pip.pypa.io/en/latest/installing.html) is installed.
-
-#### Installation
-
-1. Install yaksh
- - Clone the repository
-
- $ git clone https://github.com/FOSSEE/online_test.git
-
- - Go to the online_test directory
-
- $ cd ./online_test
-
- - Install the dependencies
-
- - For Python 2 use:
-
- $ pip install -r ./requirements/requirements-py2.txt
-
- - For Python 3 (recommended) use:
-
- $ pip install -r ./requirements/requirements-py3.txt
-
-#### Short instructions
-
-1. Start up the code server that executes the user code safely:
-
- - To run the code server in a sandboxed docker environment, run the command:
-
- $ invoke start
-
- - Make sure that you have Docker installed on your system beforehand.
- [Docker Installation](https://docs.docker.com/engine/installation/#desktop)
-
-
- - To run the code server without docker, locally use:
-
- $ invoke start --unsafe
-
- - Note this command will run the yaksh code server locally on your machine
- and is susceptible to malicious code. You will have to install the code
- server requirements in sudo mode.
-
-1. On another terminal, run the application using the following command:
-
- $ invoke serve
-
- - *Note:* The serve command will run the django application server on the 8000 port
- and hence this port will be unavailable to other processes.
-
-1. Open your browser and open the URL ```http://localhost:8000/exam```
-
-1. Login as a teacher to edit the quiz or as a student to take the quiz
- Credentials:
- - Student - Username: student | Password: student
- - Teacher - Username: teacher | Password: teacher
-
-1. User can also login to the Default Django admin using;
- - Admin - Username: admin | Password: admin
-
-
-History
-=======
-
-At FOSSEE, Nishanth had implemented a nice django based app to
-test for multiple-choice questions. Prabhu Ramachandran was inspired by a
-programming contest that he saw at PyCon APAC 2011. Chris Boesch, who
-administered the contest, used a nice web application
-[Singpath](http://singpath.com) that he had built on top of GAE that
-basically checked your Python code, live. This made it fun and interesting.
-
-Prabhu wanted an implementation that was not tied to GAE and hence wrote
-the initial cut of what is now 'Yaksh'. The idea being that
-anyone can use this to test students programming skills and not have to worry
-about grading their answers manually and instead do so on their machines.
-
-The application has since been refactored and maintained by FOSSEE Developers.
-
-Contact
-=======
-
-For further information and support you can contact
-
-Python Team at FOSSEE: pythonsupport@fossee.in
-
-License
-=======
-
-This is distributed under the terms of the BSD license. Copyright
-information is at the bottom of this file.
-
-Authors
-=======
-
- [FOSSEE Developers] (https://github.com/FOSSEE/online_test/graphs/contributors)
-
-
-Copyright (c) 2011-2017 FOSSEE (fossee.in)
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..c615d0e
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,164 @@
+Yaksh
+=====
+
+|Build Status| |Documentation Status|
+
+To get an overview of the Yaksh interface please refer to the user documentation at `Yaksh Docs <http://yaksh.readthedocs.io>`_
+
+
+This is a Quickstart guide to help users setup a trial instance. If you wish to deploy Yaksh in a production environment here is a `Production Deployment Guide <https://github.com/FOSSEE/online\_test/blob/master/README\_production.md>`_
+
+Introduction
+^^^^^^^^^^^^
+
+This project provides an "exam" app that lets users take an online
+programming quiz.
+
+Features
+^^^^^^^^
+
+- Define fairly complicated programming problems and have users solve
+ the problem.
+- Immediate verification of code solution.
+- Supports pretty much arbitrary coding questions in Python, C, C++ and
+ simple Bash and uses "test cases" to test the implementations of the
+ students.
+- Supports simple multiple choice questions and File uploads.
+- Since it runs on your Python, you could technically test any Python
+ based library.
+- Scales to over 500+ simultaneous users.
+- Distributed under the BSD license.
+
+Quick Start
+===========
+
+Pre-Requisites
+^^^^^^^^^^^^^^
+
+1. Ensure you have Python available.
+2. Ensure `pip <https://pip.pypa.io/en/latest/installing.html>`__ is
+ installed.
+
+Installation
+^^^^^^^^^^^^
+
+1. Install yaksh
+
+ - Clone the repository
+
+ ::
+
+ $ git clone https://github.com/FOSSEE/online_test.git
+
+ - Go to the online\_test directory
+
+ ::
+
+ $ cd ./online_test
+
+ - Install the dependencies
+
+ - For Python 2 use:
+
+ ::
+
+ $ pip install -r ./requirements/requirements-py2.txt
+
+ - For Python 3 (recommended) use:
+
+ ::
+
+ $ pip install -r ./requirements/requirements-py3.txt
+
+Short instructions
+^^^^^^^^^^^^^^^^^^
+
+1. Start up the code server that executes the user code safely:
+
+ - To run the code server in a sandboxed docker environment, run the
+ command:
+
+ ::
+
+ $ invoke start
+
+ - Make sure that you have Docker installed on your system
+ beforehand. `Docker
+ Installation <https://docs.docker.com/engine/installation/#desktop>`__
+
+ - To run the code server without docker, locally use:
+
+ ::
+
+ $ invoke start --unsafe
+
+ - Note this command will run the yaksh code server locally on your
+ machine and is susceptible to malicious code. You will have to
+ install the code server requirements in sudo mode.
+
+2. On another terminal, run the application using the following command:
+
+ ::
+
+ $ invoke serve
+
+ - *Note:* The serve command will run the django application server
+ on the 8000 port and hence this port will be unavailable to other
+ processes.
+
+3. Open your browser and open the URL ``http://localhost:8000/exam``
+
+4. Login as a teacher to edit the quiz or as a student to take the quiz
+ Credentials:
+
+ - Student - Username: student \| Password: student
+ - Teacher - Username: teacher \| Password: teacher
+
+5. User can also login to the Default Django admin using;
+
+ - Admin - Username: admin \| Password: admin
+
+History
+=======
+
+At FOSSEE, Nishanth had implemented a nice django based app to test for
+multiple-choice questions. Prabhu Ramachandran was inspired by a
+programming contest that he saw at PyCon APAC 2011. Chris Boesch, who
+administered the contest, used a nice web application
+`Singpath <http://singpath.com>`__ that he had built on top of GAE that
+basically checked your Python code, live. This made it fun and
+interesting.
+
+Prabhu wanted an implementation that was not tied to GAE and hence wrote
+the initial cut of what is now 'Yaksh'. The idea being that anyone can
+use this to test students programming skills and not have to worry about
+grading their answers manually and instead do so on their machines.
+
+The application has since been refactored and maintained by FOSSEE
+Developers.
+
+Contact
+=======
+
+For further information and support you can contact
+
+Python Team at FOSSEE: pythonsupport@fossee.in
+
+License
+=======
+
+This is distributed under the terms of the BSD license. Copyright
+information is at the bottom of this file.
+
+Authors
+=======
+
+`FOSSEE Developers <https://github.com/FOSSEE/online_test/graphs/contributors>`_
+
+Copyright (c) 2011-2017 `FOSSEE <https://fossee.in>`_
+
+
+.. |Build Status| image:: https://travis-ci.org/FOSSEE/online_test.svg?branch=master
+ :target: https://travis-ci.org/FOSSEE/online_test
+.. |Documentation Status| image:: https://readthedocs.org/projects/yaksh/badge/?version=latest
+ :target: http://yaksh.readthedocs.io/en/latest/?badge=latest
diff --git a/online_test/__init__.py b/online_test/__init__.py
index ef7eb44..a71c5c7 100644
--- a/online_test/__init__.py
+++ b/online_test/__init__.py
@@ -1 +1 @@
-__version__ = '0.6.0'
+__version__ = '0.7.0'
diff --git a/setup.py b/setup.py
index 5bc0a56..9fe5be5 100644
--- a/setup.py
+++ b/setup.py
@@ -1,7 +1,7 @@
import os
from setuptools import setup, find_packages
-README = open(os.path.join(os.path.dirname(__file__), 'README.md')).read()
+README = open(os.path.join(os.path.dirname(__file__), 'README.rst')).read()
# allow setup.py to be run from any path
os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))
@@ -20,7 +20,10 @@ install_requires = [
'python-social-auth==0.2.19',
'tornado',
'psutil',
- 'ruamel.yaml==0.15.23'
+ 'ruamel.yaml==0.15.23',
+ 'invoke==0.21.0',
+ 'six',
+ 'requests',
]
setup(
@@ -37,7 +40,7 @@ setup(
'yaksh = yaksh.scripts.cli:main',
],
},
- description='A django app to conduct online tests.',
+ description='A django app to conduct online programming tests.',
long_description=README,
install_requires=install_requires,
classifiers=[
diff --git a/yaksh/migrations/0008_release_0_7_0.py b/yaksh/migrations/0008_release_0_7_0.py
new file mode 100644
index 0000000..827302c
--- /dev/null
+++ b/yaksh/migrations/0008_release_0_7_0.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.5 on 2017-11-14 14:29
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('yaksh', '0007_alter_profile_activation_key'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='answerpaper',
+ name='questions_order',
+ field=models.TextField(blank=True, default=''),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='snippet',
+ field=models.TextField(blank=True),
+ ),
+ ]