41a61a850750d6b4c114e0a6d5fd4750a0c21340

1. an exercise_id is provided ==> only the LtiParameter object for the current user, consumer, and exercise is deleted. 2. no exercise_id is provided ==> external user and consumer are removed from the session, all LtiParameter objects for this user and consumer are deleted. This enables users to have several tabs with exercises open and submitting the results to the tool consumer. When an exercise has been submitted, the user cannot use the back button to get back to CodeOcean and work on the submitted or any other exercise. For now a warning has been added to the info text to tell users not to do this. (As the LtiParameters have been deleted, the points can no more be submitted to the consumer.) @TODO disable/redirect back button?
Code Ocean
Development Setup
Mandatory Steps
- install the Docker client
- run
bundle install
- create config/action_mailer.yml
- create config/database.yml
- create config/secrets.yml
- customize config/docker.yml.erb
Exemplary configuration files are available in the config directory.
In order to execute code submissions using Docker, source code files are written to the file system and are provided to a dedicated Docker container. These files are temporarily written to Rails.root/tmp/files/. Please make sure that workspace_root in config/docker.yml.erb corresponds to that directory or to a linked directory if using a remote Docker server.
Optional Steps
- create config/sendmail.yml
- create config/smtp.yml
- use boot2docker or vagrant if there is no native support for docker on your OS
- create seed data by executing
rake db:seed
- if you already created a configuration for your local installation and want to use vagrant, too, be sure to log into the vagrant instance via ssh and add your database user manually to the database. Afterwards, create, migrate and seed.
Production Setup
- create production configuration files (database.production.yml, …)
- customize config/deploy/production.rb if you want to deploy using Capistrano
Useful service maintenance commands
- delete all containers (include running ones)
docker rm -f $(docker ps -aq)
- if the application is run as a service restart it by using
service codeocean restart
/etc/init.d/postgresql restart
- if deployed via capistrano you will find the logs at
/var/www/app/shared/log/
->production.log
Roadmap
1.1
[x] WebSocket Suppport [x] Interactive Exercises [ ] Allow Disabling of File Creation [ ] Set Container Recyling per Environment
Description
Languages
Ruby
69%
JavaScript
15.2%
Slim
11.6%
SCSS
2.1%
Shell
0.8%
Other
1.2%