Remove legacy CodePilot integration

This commit is contained in:
Sebastian Serth
2023-07-28 08:50:00 +02:00
parent bf662ecb81
commit 01f4f0c2cd
9 changed files with 1 additions and 74 deletions

View File

@ -10,7 +10,6 @@ $(document).on('turbolinks:load', function(event) {
CodeOceanEditorTurtle, CodeOceanEditorTurtle,
CodeOceanEditorWebsocket, CodeOceanEditorWebsocket,
CodeOceanEditorPrompt, CodeOceanEditorPrompt,
CodeOceanEditorCodePilot,
CodeOceanEditorRequestForComments CodeOceanEditorRequestForComments
); );

View File

@ -281,12 +281,6 @@ var CodeOceanEditor = {
var editor = ace.edit(element); var editor = ace.edit(element);
if (this.qa_api) {
editor.getSession().on("change", function (deltaObject) {
this.qa_api.executeCommand('syncEditor', [this.active_file, deltaObject]);
}.bind(this));
}
var document = editor.getSession().getDocument(); var document = editor.getSession().getDocument();
// insert pre-existing code into editor. we have to use insertLines, otherwise the deltas are not properly added // insert pre-existing code into editor. we have to use insertLines, otherwise the deltas are not properly added
var file_id = $(element).data('file-id'); var file_id = $(element).data('file-id');
@ -1013,7 +1007,6 @@ var CodeOceanEditor = {
initializeEverything: function () { initializeEverything: function () {
CodeOceanEditor.editors = []; CodeOceanEditor.editors = [];
this.initializeRegexes(); this.initializeRegexes();
this.initializeCodePilot();
this.configureEditors(); this.configureEditors();
this.initializeEditors(); this.initializeEditors();
this.initializeEventHandlers(); this.initializeEventHandlers();

View File

@ -114,10 +114,6 @@ CodeOceanEditorEvaluation = {
})) { })) {
this.showContainerDepletedMessage(); this.showContainerDepletedMessage();
} }
if (this.qa_api) {
// send test response to QA
this.qa_api.executeCommand('syncOutput', [response]);
}
}, },
renderScore: function () { renderScore: function () {
@ -138,9 +134,6 @@ CodeOceanEditorEvaluation = {
handleTestResponse: function (result) { handleTestResponse: function (result) {
this.clearOutput(); this.clearOutput();
this.printOutput(result, false, 0); this.printOutput(result, false, 0);
if (this.qa_api) {
this.qa_api.executeCommand('syncOutput', [result]);
}
this.showStatus(result); this.showStatus(result);
this.showOutputBar(); this.showOutputBar();
}, },

View File

@ -107,31 +107,6 @@ CodeOceanEditorFlowr = {
} }
}; };
CodeOceanEditorCodePilot = {
qa_api: undefined,
QaApiOutputBuffer: {'stdout': '', 'stderr': ''},
initializeCodePilot: function () {
if ($('#questions-column').isPresent() && (typeof QaApi != 'undefined')) {
$('#editor-column').addClass('col-md-10').removeClass('col-md-12');
$('#questions-column').addClass('col-md-2');
var node = document.getElementById('questions-holder');
var url = $('#questions-holder').data('url');
this.qa_api = new QaApi(node, url);
}
},
handleQaApiOutput: function () {
if (this.qa_api) {
this.qa_api.executeCommand('syncOutput', [[this.QaApiOutputBuffer]]);
// reset the object
}
this.QaApiOutputBuffer = {'stdout': '', 'stderr': ''};
}
};
CodeOceanEditorRequestForComments = { CodeOceanEditorRequestForComments = {
requestComments: function () { requestComments: function () {
const cause = $('#requestComments'); const cause = $('#requestComments');

View File

@ -335,12 +335,6 @@ class ExercisesController < ApplicationController
@submission = current_user.submissions.where(exercise_id: @exercise.id).order('created_at DESC').first @submission = current_user.submissions.where(exercise_id: @exercise.id).order('created_at DESC').first
@files = (@submission ? @submission.collect_files : @exercise.files).select(&:visible).sort_by(&:filepath) @files = (@submission ? @submission.collect_files : @exercise.files).select(&:visible).sort_by(&:filepath)
@paths = collect_paths(@files) @paths = collect_paths(@files)
@user_id = if current_user.respond_to? :external_id
current_user.external_id
else
current_user.id
end
end end
def set_available_tips def set_available_tips

View File

@ -3,17 +3,7 @@
module ExerciseHelper module ExerciseHelper
include LtiHelper include LtiHelper
CODEPILOT_CONFIG = CodeOcean::Config.new(:code_ocean).read[:code_pilot]
def embedding_parameters(exercise) def embedding_parameters(exercise)
"locale=#{I18n.locale}&token=#{exercise.token}" "locale=#{I18n.locale}&token=#{exercise.token}"
end end
def qa_js_tag
javascript_include_tag "#{qa_url}/assets/qa_api.js", integrity: true, crossorigin: 'anonymous'
end
def qa_url
CODEPILOT_CONFIG[:url] if CODEPILOT_CONFIG[:enabled]
end
end end

View File

@ -3,8 +3,7 @@
Otherwise, lti_parameters might be nil Otherwise, lti_parameters might be nil
meta name="turbolinks-cache-control" content="no-cache" meta name="turbolinks-cache-control" content="no-cache"
// col-md-12 required for CodePilot #editor-column
#editor-column.col-md-12
- unless @embed_options[:hide_exercise_description] - unless @embed_options[:hide_exercise_description]
.exercise.clearfix .exercise.clearfix
div div
@ -25,9 +24,3 @@
= render('editor', exercise: @exercise, files: @files, submission: @submission) = render('editor', exercise: @exercise, files: @files, submission: @submission)
- if qa_url
#questions-column
#questions-holder data-url="#{qa_url}/qa/index/#{@exercise.id}/#{@user_id}"
= qa_js_tag

View File

@ -1,8 +1,6 @@
test: test:
flowr: flowr:
enabled: false enabled: false
code_pilot:
enabled: false
codeharbor: codeharbor:
enabled: false enabled: false
codeocean_events: codeocean_events:

View File

@ -16,14 +16,6 @@ default: &default
# The number of search results to be displayed # The number of search results to be displayed
answers_per_query: 3 answers_per_query: 3
code_pilot:
# When enabled, CodePilot can be used by learners to request individual help by a tutor
# through a video conferencing system. Optionally, it also provides access to recordings
# of previous sessions. Support for CodePilot is currently in beta.
enabled: false
# The root URL of CodePilot
url: //localhost:3000
codeharbor: codeharbor:
# When enabled, CodeHarbor is integrated in the teachers' view and allows importing # When enabled, CodeHarbor is integrated in the teachers' view and allows importing
# and exporting exercises from CodeOcean using the ProFormA XML format to CodeHarbor. # and exporting exercises from CodeOcean using the ProFormA XML format to CodeHarbor.