Moodle Turnitin: добавлена ​​функциональность для вставки дополнительного текста в задания

В некоторых университетах есть схема Blue Card, позволяющая студентам с особыми трудностями в обучении (SpLD) отмечать свою работу синей картой, поэтому преподаватель отметит ее с должным вниманием.

Нам нужен был способ облегчить учащимся пометить их работу с помощью синей карточки, и я разработал следующий скрипт, который входит в раздел "Дополнительный HTML" в Администрировании сайта в Moodle и работает с плагином Turnitin. (Смотрите мой другой пост о скрипте, который работает с функциональностью Moodle Assignment.)

Сначала студент нажимает кнопку, чтобы добавить синюю карточку, которая вставляет текст "Синяя карточка: " в начале заголовка задания. Когда форма отправлена, JavaScript ищет текст "Голубая карта" на следующей странице, окрашивает ячейку таблицы в синий цвет и добавляет ссылку на рекомендации по маркировке дислексии.

1 ответ

Решение
<script type="text/javascript">
var TurnitinBlueCardButton =  '<input type="button" id="tiibluecard" value="Flag with Blue Card"/> <a href="http://www.brookes.ac.uk/students/wellbeing/dyslexia-spld/blue-marking-cards/" class="info" target="_blank" title="What is the Blue Card scheme?">What\'s this?</a><br/>'

/* TURNITIN BLUE CARD */
if (!document.getElementById('fitem_id_submissiontype')) {
   /* do nothing */
} else {
    document.getElementById('fitem_id_submissiontype').insertAdjacentHTML('beforebegin', TurnitinBlueCardButton);
}

/* EVENT LISTENER FOR TURNITIN BLUE CARD BUTTON */
if (!document.getElementById('tiibluecard')) {
   /* do nothing */
} else {
    document.getElementById("tiibluecard").addEventListener('click', function () {  
        var title = document.getElementById('id_submissiontitle');
        /* turn off validation of title field, as it will now have a value */
        title.removeAttribute('onchange');
        if (!title.value) {
            title.value = ('Blue Card: '); 
         } else {
            title.value = ('Blue Card: ' + title.value);
         }
    });
}

/* highlight blue card in TURNITIN submission inbox table */
if (!document.getElementById('inboxTable')) {
   /* do nothing */
} else {
     var table = document.getElementById('inboxTable');
     var tbody = table.getElementsByTagName('tbody')[0];
     var cells = tbody.getElementsByTagName('td');

     for (var i=0, len=cells.length; i<len; i++){
         if (cells[i].innerHTML.includes('Blue Card')){
             cells[i].style.backgroundColor = '#99ccff';
             cells[i].innerHTML += ' [<a href="http://www.brookes.ac.uk/students/wellbeing/dyslexia-spld/blue-marking-cards/" class="info" target="_blank" title="What is the Blue Card scheme?">What\'s this?</a>]';
        }
   }
}
</script>

Примечание: код предоставляется "как есть", без каких-либо обязательств по его пригодности для использования, а также без каких-либо обязательств по обслуживанию или поддержке.

( также размещено в блоге нашей команды)

ОБНОВЛЕНИЕ: чтобы заставить это работать в Internet Explorer 11, мне пришлось изменить несколько вещей:

/* highlight blue card in TURNITIN submission inbox table */
if (!document.getElementById('inboxTable')) {
   /* do nothing */
} else {
     var table = document.getElementById('inboxTable');
     var tbody = table.getElementsByTagName('tbody')[0];
     var cells = tbody.getElementsByTagName('td');

     for (var i=0, len=cells.length; i<len; i++){
         if (cells[i].innerText.search('Blue Card') > -1){
             cells[i].style.backgroundColor = '#99ccff';
             cells[i].getElementsByTagName('a')[0].insertAdjacentHTML('afterend', ' [<a href="http://www.brookes.ac.uk/staff/academic/dyslexia-spld-service/marking-work/" class="info" target="_blank" title="What is the Blue Card scheme?">What\'s this?</a>]');
        }
   }
}
Другие вопросы по тегам