Merge branch 'master' into client-routesv2

This commit is contained in:
Niklas Kiefer
2017-04-25 13:50:08 +02:00
99 changed files with 2222 additions and 109 deletions

View File

@@ -28,7 +28,7 @@ module CodeOcean
config.eager_load_paths << Rails.root.join('lib')
config.assets.precompile += %w( markdown-buttons.png )
config.active_record.schema_format = :sql
#config.active_record.schema_format = :sql
case (RUBY_ENGINE)
when 'ruby'

View File

@@ -4,7 +4,7 @@ set :default_env, 'PATH' => '/usr/java/jdk1.8.0_40/bin:$PATH'
set :deploy_to, '/var/www/app'
set :keep_releases, 3
set :linked_dirs, %w(log public/uploads tmp/cache tmp/files tmp/pids tmp/sockets)
set :linked_files, %w(config/action_mailer.yml config/code_ocean.yml config/database.yml config/newrelic.yml config/secrets.yml config/sendmail.yml config/smtp.yml)
set :linked_files, %w(config/action_mailer.yml config/docker.yml.erb config/code_ocean.yml config/database.yml config/newrelic.yml config/secrets.yml config/sendmail.yml config/smtp.yml)
set :log_level, :info
set :puma_threads, [0, 16]
set :repo_url, 'git@github.com:openHPI/codeocean.git'

View File

@@ -32,7 +32,7 @@ production:
timeout: 60
workspace_root: <%= Rails.root.join('tmp', 'files', Rails.env) %>
ws_host: ws://localhost:4243 #url to connect rails server to docker host
ws_client_protocol: wss:// #set the websocket protocol to be used by the client to connect to the rails server (ws on development, wss on production)
ws_client_protocol: 'wss:' #set the websocket protocol to be used by the client to connect to the rails server (ws on development, wss on production)
staging:
<<: *default
@@ -46,7 +46,7 @@ staging:
timeout: 60
workspace_root: <%= Rails.root.join('tmp', 'files', Rails.env) %>
ws_host: ws://localhost:4243 #url to connect rails server to docker host
ws_client_protocol: wss:// #set the websocket protocol to be used by the client to connect to the rails server (ws on development, wss on production)
ws_client_protocol: 'wss:' #set the websocket protocol to be used by the client to connect to the rails server (ws on development, wss on production)
test:
<<: *default

View File

@@ -27,6 +27,7 @@ de:
exercise:
description: Beschreibung
embedding_parameters: Parameter für LTI-Einbettung
tags: Tags
execution_environment: Ausführungsumgebung
execution_environment_id: Ausführungsumgebung
files: Dateien
@@ -34,10 +35,16 @@ de:
instructions: Anweisungen
maximum_score: Erreichbare Punktzahl
public: Öffentlich
selection: Ausgewählt
title: Titel
user: Autor
allow_auto_completion: "Autovervollständigung aktivieren"
allow_file_creation: "Dateierstellung erlauben"
difficulty: Schwierigkeitsgrad
worktime: "vermutete Arbeitszeit in Minuten"
proxy_exercise:
title: Title
files_count: Anzahl der Aufgaben
external_user:
consumer: Konsument
email: E-Mail
@@ -68,6 +75,8 @@ de:
message: Nachricht
name: Name
regular_expression: Regulärer Ausdruck
intervention:
name: Name
internal_user:
activated: Aktiviert
consumer: Konsument
@@ -84,6 +93,7 @@ de:
username: Benutzername
requested_at: Angefragezeitpunkt
question: "Frage"
close: "Fenster schließen"
submission:
cause: Anlass
code: Code
@@ -91,6 +101,10 @@ de:
files: Dateien
score: Punktzahl
user: Autor
tag:
name: Name
usage: Verwendet
difficulty: Anteil an der Aufgabe
file_template:
name: "Name"
file_type: "Dateityp"
@@ -111,6 +125,9 @@ de:
exercise:
one: Aufgabe
other: Aufgaben
proxy_exercise:
one: Proxy Aufgabe
other: Proxy Aufgaben
external_user:
one: Externer Nutzer
other: Externe Nutzer
@@ -129,9 +146,15 @@ de:
internal_user:
one: Interner Nutzer
other: Interne Nutzer
request_for_comment:
one: Kommentaranfrage
other: Kommentaranfragen
submission:
one: Abgabe
other: Abgaben
user_exercise_feedback:
one: Feedback
other: Feedback
errors:
messages:
together: 'muss zusammen mit %{attribute} definiert werden'
@@ -254,12 +277,19 @@ de:
line: Zeile
dialogtitle: Kommentar hinzufügen
others: Andere Kommentare auf dieser Zeile
addCommentExercise: Aufgabe kommentieren
addyours: Fügen Sie Ihren Kommentar hinzu
addComment: Kommentieren
addComment: Hier haben Sie die Möglichkeit Ihr Feedback zu dieser Aufgabe zu geben. Dies bezieht sich ausdrücklich NICHT auf die hier sichtbare Lösung des Teilnehmers, sondern nur auf die Aufgabe. Fanden Sie die Aufgabe zu leicht oder schwer? War die Beschreibung der Aufgabe verständlich und vollständig?
addCommentButton: Kommentar abschicken
removeAllOnLine: Meine Kommentare auf dieser Zeile löschen
listing: Die neuesten Kommentaranfragen
request: "Kommentaranfrage stellen"
question: "Bitte beschreiben Sie kurz ihre Problem oder nennen Sie den Programmteil, zu dem sie Feedback wünschen."
question: "Bitte beschreiben Sie kurz ihre Probleme oder nennen Sie den Programmteil, zu dem Sie Feedback wünschen."
rfc_intervention:
text: "Es scheint so als würden Sie Probleme mit der Aufgabe haben. Wenn Sie möchten, können wir Ihnen helfen!"
break_intervention:
title: "Pause"
text: "Uns ist aufgefallen, dass du schon lange an dieser Aufgabe arbeitest. Möchtest du vielleicht später weiter machen um erstmal auf neue Gedanken zu kommen?"
index:
clone: Duplizieren
implement: Implementieren
@@ -290,6 +320,9 @@ de:
tests: Unit Tests
time_difference: 'Arbeitszeit bis hier*'
addendum: '* Differenzen von mehr als 30 Minuten werden ignoriert.'
proxy_exercises:
index:
clone: Duplizieren
external_users:
statistics:
title: Statistiken für Externe Benutzer
@@ -327,6 +360,8 @@ de:
success: Sie haben Ihr Passwort erfolgreich geändert.
show:
link: Profil
search:
search_in_forum: "Probleme? Suche hier im Forum"
locales:
de: Deutsch
en: Englisch
@@ -343,7 +378,15 @@ de:
Hallo %{receiver_displayname}, <br>
<br>
es gibt einen neuen Kommentar von %{commenting_user_displayname} zu Ihrer Kommentaranfrage auf CodeOcean. <br>
Sie finden ihn hier: %{link} <br>
<br>
%{commenting_user_displayname} schreibt: %{comment_text}<br>
<br>
Sie finden ihre Kommentaranfrage hier: %{link_to_comment} <br>
<br>
Falls Sie beim Klick auf diesen Link eine Fehlermeldung erhalten, dass Sie nicht berechtigt wären diese Aktion auszuführen, öffnen Sie bitte eine beliebige Programmieraufgabe aus einem Kurs heraus und klicken den Link danach noch einmal.<br>
<br>
Eine Übersicht Ihrer Kommentaranfragen gibt es hier: %{link_my_comments} <br>
Alle Kommentaranfragen aller Benutzer finden Sie hier: %{link_all_comments} <br>
<br>
Diese Mail wurde automatisch von CodeOcean verschickt.<br>
<br>
@@ -352,7 +395,15 @@ de:
Dear %{receiver_displayname}, <br>
<br>
you received a new comment from %{commenting_user_displayname} to your request for comments on CodeOcean. <br>
You can find it here: %{link} <br>
<br>
%{commenting_user_displayname} wrote: %{comment_text} <br>
<br>
You can find your request for comments here: %{link_to_comment} <br>
<br>
If you receive an error that you are not authorized to perform this action when clicking the link, please log-in through any course exercise beforehand and click the link again. <br>
<br>
An overview of all your comments can be accessed here: %{link_my_comments} <br>
All comments of all participants are available here: %{link_all_comments} <br>
<br>
This mail was automatically sent by CodeOcean. <br>
subject: Sie haben einen neuen Kommentar von %{commenting_user_displayname} auf CodeOcean erhalten.
@@ -360,13 +411,23 @@ de:
body: 'Bitte besuchen Sie %{link}, sofern Sie Ihr Passwort zurücksetzen wollen.'
subject: Anweisungen zum Zurücksetzen Ihres Passworts
request_for_comments:
click_here: Zum Kommentieren auf die Seitenleiste klicken!
comments: Kommentare
howto: |
Um Kommentare zu einer Programmzeile hinzuzufügen, kann einfach auf die jeweilige Zeilennummer auf der linken Seite geklickt werden. <br>
Es öffnet sich ein Textfeld, in dem der Kommentar eingetragen werden kann. <br>
Mit "Kommentieren" wird der Kommentar dann gesichert und taucht als Sprechblase neben der Zeile auf.
howto_title: 'Anleitung:'
index:
get_my_comment_requests: Meine Kommentaranfragen
all: "Alle Kommentaranfragen"
no_question: "Der Autor hat keine Frage zu dieser Anfrage gestellt."
mark_as_solved: "Diese Frage als beantwortet markieren"
show_all: "Alle Anfragen anzeigen"
show_solved: "Nur gelöste Anfragen anzeigen"
show_unsolved: "Nur ungelöste Anfragen anzeigen"
solved: "Diese Frage wurde erfolgreich beantwortet"
comment_exercise: "Ich möchte die Aufgabenstellung kommentieren"
sessions:
create:
failure: Fehlerhafte E-Mail oder Passwort.
@@ -467,3 +528,18 @@ de:
previous_label: '&#8592; Vorherige Seite'
file_template:
no_template_label: "Leere Datei"
user_exercise_feedback:
difficulty_easy: "Die Aufgabe war zu einfach"
difficulty_some_what_easy: "Die Aufgabe war etwas zu einfach"
difficulty_ok: "Die Aufgabe war gut zu lösen"
difficulty_some_what_difficult: "Die Aufgabe war etwas zu schwer"
difficult_too_difficult: "Die Aufgabe war zu schwer"
difficulty: "Schwierigkeit der Aufgabe:"
description: "Ihre Punkte wurden übertragen. Wir würden uns freuen, wenn Sie uns hier Feedback zur Aufgabe geben.<br> Wenn sie das nicht möchten, können Sie das Fenster auch einfach schließen.<br><br>Bitte beschreiben Sie, was Ihnen an der Aufgabe gefallen hat und was nicht. Gab es Schwierigkeiten bei der Aufgabe? War die Aufgabe zu leicht oder zu schwer?<br>Wir freuen uns über jedes Feedback."
estimated_time_less_5: "weniger als 5 Minuten"
estimated_time_5_to_10: "zwischen 5 und 10 Minuten"
estimated_time_10_to_20: "zwischen 10 und 20 Minuten"
estimated_time_20_to_30: "zwischen 20 und 30 Minuten"
estimated_time_more_30: "mehr als 30 Minuten"
working_time: "Geschätze Bearbeitungszeit für diese Aufgabe:"

View File

@@ -48,6 +48,7 @@ en:
exercise:
description: Description
embedding_parameters: LTI Embedding Parameters
tags: Tags
execution_environment: Execution Environment
execution_environment_id: Execution Environment
files: Files
@@ -55,10 +56,16 @@ en:
instructions: Instructions
maximum_score: Maximum Score
public: Public
selection: Selected
title: Title
user: Author
allow_auto_completion: "Allow auto completion"
allow_file_creation: "Allow file creation"
difficulty: Difficulty
worktime: "Expected worktime in minutes"
proxy_exercise:
title: Title
files_count: Exercises Count
external_user:
consumer: Consumer
email: Email
@@ -89,6 +96,8 @@ en:
message: Message
name: Name
regular_expression: Regular Expression
intervention:
name: Name
internal_user:
activated: Activated
consumer: Consumer
@@ -105,6 +114,7 @@ en:
username: Username
requested_at: Request Date
question: "Question"
close: Close window
submission:
cause: Cause
code: Code
@@ -112,6 +122,10 @@ en:
files: Files
score: Score
user: Author
tag:
name: Name
usage: Used
difficulty: Share on the Exercise
file_template:
name: "Name"
file_type: "File Type"
@@ -132,6 +146,9 @@ en:
exercise:
one: Exercise
other: Exercises
proxy_exercise:
one: Proxy Exercise
other: Proxy Exercises
external_user:
one: External User
other: External Users
@@ -150,9 +167,15 @@ en:
internal_user:
one: Internal User
other: Internal Users
request_for_comment:
one: Request for Comments
other: Requests for Comments
submission:
one: Submission
other: Submissions
user_exercise_feedback:
one: Feedback
other: Feedback
errors:
messages:
together: 'has to be set along with %{attribute}'
@@ -276,11 +299,18 @@ en:
dialogtitle: Comment on this line
others: Other comments on this line
addyours: Add your comment
addComment: Comment this
addCommentExercise: Comment this exercise
addComment: You can give feedback to this exercise. Keep in mind that this should refer to the exercise and not to the solution of the participant. Did you find this exercise particulary easy or difficult? Was the description sufficient?
addCommentButton: Comment this
removeAllOnLine: Remove my comments on this line
listing: Listing the newest comment requests
request: "Request Comments"
question: "Please shortly describe your problem or the program part you would like to get feedback for."
rfc_intervention:
text: "It looks like you may struggle with this exercise. If you like we can help you out!"
break_intervention:
title: "Break"
text: "We recognized that you are already working quite a while on this exercise. We would like to encourage you to take a break and come back later."
index:
clone: Duplicate
implement: Implement
@@ -311,6 +341,9 @@ en:
tests: Unit Test Results
time_difference: 'Working Time until here*'
addendum: '* Deltas longer than 30 minutes are ignored.'
proxy_exercises:
index:
clone: Duplicate
external_users:
statistics:
title: External User Statistics
@@ -348,6 +381,8 @@ en:
success: You successfully changed your password.
show:
link: Profile
search:
search_in_forum: "Problems? Search here in forum"
locales:
de: German
en: English
@@ -364,7 +399,15 @@ en:
Hallo %{receiver_displayname}, <br>
<br>
es gibt einen neuen Kommentar von %{commenting_user_displayname} zu Ihrer Kommentaranfrage auf CodeOcean. <br>
Sie finden ihn hier: %{link} <br>
<br>
%{commenting_user_displayname} schreibt: %{comment_text}<br>
<br>
Sie finden ihre Kommentaranfrage hier: %{link_to_comment} <br>
<br>
Falls Sie beim Klick auf diesen Link eine Fehlermeldung erhalten, dass Sie nicht berechtigt wären diese Aktion auszuführen, öffnen Sie bitte eine beliebige Programmieraufgabe aus einem Kurs heraus und klicken den Link danach noch einmal.<br>
<br>
Eine Übersicht Ihrer Kommentaranfragen gibt es hier: %{link_my_comments} <br>
Alle Kommentaranfragen aller Benutzer finden Sie hier: %{link_all_comments} <br>
<br>
Diese Mail wurde automatisch von CodeOcean verschickt.<br>
<br>
@@ -373,7 +416,15 @@ en:
Dear %{receiver_displayname}, <br>
<br>
you received a new comment from %{commenting_user_displayname} to your request for comments on CodeOcean. <br>
You can find it here: %{link} <br>
<br>
%{commenting_user_displayname} wrote: %{comment_text} <br>
<br>
You can find your request for comments here: %{link_to_comment} <br>
<br>
If you receive an error that you are not authorized to perform this action when clicking the link, please log-in through any course exercise beforehand and click the link again. <br>
<br>
An overview of all your comments can be accessed here: %{link_my_comments} <br>
All comments of all participants are available here: %{link_all_comments} <br>
<br>
This mail was automatically sent by CodeOcean. <br>
subject: 'You received a new comment on CodeOcean from %{commenting_user_displayname}.'
@@ -381,13 +432,23 @@ en:
body: 'Please visit %{link} if you want to reset your password.'
subject: Password reset instructions
request_for_comments:
click_here: Click on this sidebar to comment!
comments: Comments
howto: |
To leave comments to a specific code line, click on the respective line number. <br>
Enter your comment in the popup and save it by clicking "Comment this". <br>
Your comment will show up next to the line number as a speech bubble symbol.
howto_title: 'How to comment:'
index:
all: All Requests for Comments
get_my_comment_requests: My Requests for Comments
no_question: "The author did not enter a question for this request."
mark_as_solved: "Mark this question as answered"
show_all: "All requests"
show_solved: "Solved requests"
show_unsolved: "Unvsolved requests"
solved: "This question has been answered"
comment_exercise: "I would like to give feedback for this exercise"
sessions:
create:
failure: Invalid email or password.
@@ -488,4 +549,17 @@ en:
previous_label: '&#8592; Previous Page'
file_template:
no_template_label: "Empty File"
user_exercise_feedback:
difficulty_easy: "the exercise was too easy"
difficulty_some_what_easy: "the exercise was somewhat easy"
difficulty_ok: "the difficulty of the exercise was just right"
difficulty_some_what_difficult: "the exercise was somewhat difficult"
difficult_too_difficult: "the exercise was too difficult"
difficulty: "Difficulty of the exercise:"
description: "Your points have been submitted. We kindly ask you for feedback for this exercise. <br> If you do not want to give feedback you can simply close this window.<br><br>Please describe what you liked on this exercise and what you did not. Was the exercise easy to understand or did you have problems understanding? How was the difficulty of the exercise to you?<br>We are happy about any feedback."
estimated_time_less_5: "less than 5 minutes"
estimated_time_5_to_10: "between 5 and 10 minutes"
estimated_time_10_to_20: "between 10 and 20 minutes"
estimated_time_20_to_30: "between 20 and 30 minutes"
estimated_time_more_30: "more than 30 minutes"
working_time: "Estimated time working on this exercise:"

View File

@@ -10,6 +10,7 @@ Rails.application.routes.draw do
resources :request_for_comments do
member do
get :mark_as_solved
post :create_comment_exercise
end
end
resources :comments, except: [:destroy] do
@@ -60,12 +61,46 @@ Rails.application.routes.draw do
member do
post :clone
get :implement
get :working_times
post :intervention
post :search
get :statistics
get :reload
post :submit
end
end
resources :proxy_exercises do
member do
post :clone
get :reload
post :submit
end
end
resources :tags do
member do
post :clone
get :reload
post :submit
end
end
resources :user_exercise_feedbacks do
member do
get :reload
post :submit
end
end
resources :interventions do
member do
post :clone
get :reload
post :submit
end
end
resources :external_users, only: [:index, :show], concerns: :statistics do
resources :exercises, concerns: :statistics
end