На edu.vstu.ru не работают сканеры!

Issue #160 closed
Oleg Sychev repo owner created an issue

Originally reported on Google Code with ID 160

Пишет что описаний больше чем лексем в ответе, так что сканер возвращает пустой массив.
В preg подсказка лексемы тоже разладилась.

Запись последнего кода блока не помогает.
Надо СРОЧНО разобраться в причинах и устранить...

Reported by oasychev on 2012-11-01 12:45:23

Comments (24)

  1. Oleg Sychev reporter
    Можете в среду прийти, я с 11-50 до 15-00 я на кафедре с дипломниками, могу позагружать
    ваш отладочный код временно на сервер чтобы посмотреть, в чем дело.
    
    Справиться надо срочно, я как раз начал переговоры с кафедрой английского, и здрасьте....
    

    Reported by oasychev on 2012-11-01 14:33:59

  2. Oleg Sychev reporter
    Обновил poasquestion на последний код - не помогло.
    

    Reported by oasychev on 2012-11-04 18:47:43

  3. Former user Account Deleted
    Напишите версию используемого Moodle и PHP. У меня на моей версии все работает, поэтому
    я не могу исправить эту проблему сейчас.
    

    Reported by mamontov.dp on 2012-11-05 05:36:44

  4. Oleg Sychev reporter
    Moodle 2.3.1
    PHP 5.3.8
    
    Но я не уверен, что дело в версиях. У меня тоже все работает на девелоперской машине.
    А на серваке - нет. Может что-то криво встало и т.д. Поэтому я предлагаю вам в первую
    очередь заняться отладочной печатью чтобы понять, где проблема.
    

    Reported by oasychev on 2012-11-05 10:07:12

  5. Former user Account Deleted
    Очень интересно то, что на странице не выводятся никакие сообщения об ошибках, а также
    сами описания в поле отсутствуют на уровне страницы. Такое ощущение, что где-то есть
    ошибка, которая попадает под категорию E_WARNING. Мы можем включить опции отладки PHP
    в настройках Moodle?
    

    Reported by mamontov.dp on 2012-11-05 11:02:39

  6. Former user Account Deleted
    Собственно, это одно и тоже. Опции отладки в Moodle задают как раз опции отладки в PHP.
    Просто они там предопределены.
    

    Reported by mamontov.dp on 2012-11-05 12:19:05

  7. Oleg Sychev reporter
    Временно установил опции отладки в Moodle по максимуму. Отпишите, как будут не нужны
    - сайт все-таки продакшн...
    

    Reported by oasychev on 2012-11-05 12:23:21

  8. Oleg Sychev reporter
    Через день-два сниму в любом случае, но лучше бы побыстрее.
    

    Reported by oasychev on 2012-11-05 12:23:45

  9. Oleg Sychev reporter
    Лично у меня на форме никаких дополнительных сообщений об ошибках при этом не появилось...
    

    Reported by oasychev on 2012-11-05 12:25:04

  10. Former user Account Deleted
    Тоже самое у меня. Однако по тому, что ошибка количества лексем выводится, все разбирается
    и выводится верно, но на поле надписи не появляются. Т.е. конструкция с. 149 ($element->setLabel($newtext);)
    не отрабатывает, либо в ней оказывется пустой текст. Для дебага стоит попробовать вывести
    там текст, хотя бы через echo $newtext, а для убедительности сделать print_r($tokens).
    Отладочный режим уже можно снять.
    

    Reported by mamontov.dp on 2012-11-05 12:34:39

  11. Former user Account Deleted
    Поправилюсь: edit_correctwriting_form.php, с. 149.
    

    Reported by mamontov.dp on 2012-11-05 12:36:03

  12. Oleg Sychev reporter
    Я вам и предложил прийти в среду и заняться дебагом. Буду загружать ваш код, а вы смотреть
    результаты... Я то вам пароль дать не могу.
    
    Но вот странно - если б дело было только в метке, она бы не должна была ругаться что
    описаний больше, чем лексем. Или она при проверке количество лексем из метки берет?!
    

    Reported by oasychev on 2012-11-05 12:37:33

  13. Former user Account Deleted
    Нет, валидация от метки никак не зависит. Я к тому, что разбор происходит и лексемы
    действительно создаются, т.к. код и в заполнении метки и в валидации по созданию языка
    и разбору идентичен, а значит - что-то не так именно с установкой текста метки. Опять
    же, это гипотеза. Но да, в среду я обязательно приду. 
    

    Reported by mamontov.dp on 2012-11-05 12:41:29

  14. Oleg Sychev reporter
    Так валидация то тоже глючит, такое впечатление что у нее 0 лексем. И preg при запросе
    подсказки лексемы тоже повис.
    Мне кажется проблема где-то в интерфейсе блок-вопросы...
    

    Reported by oasychev on 2012-11-05 12:44:27

  15. Former user Account Deleted
    Валидация проходит, если её не задавать описания всегда. Это было условием (в таком
    случае считается, что преподаватель захотел показать описания лексем). Я проверял,
    задавая описания одной лексемы и остальных. И да, отсутствие изменения размера текстового
    поля говорит, что проблема именно в этих частях. Еще возможно, что просто не вызывается
    definition_after_data (т.е. её в версии 2.3.1 нет)
    

    Reported by mamontov.dp on 2012-11-05 12:47:50

  16. Oleg Sychev reporter
    ну я ввел 3 слова и 3 строки в описании - она не сохраняет вопрос, говоря что описаний
    больше, чем лексем. Это разве не глюк?
    

    Reported by oasychev on 2012-11-05 12:51:47

  17. Former user Account Deleted
    Да, это явно глюк. Только что проверил. Так форма себя вести не должна. Особенно, интересно,
    что первый раз, когда поле было пустым все срабатывало, а вот если брать его вторым
    - нет.
    

    Reported by mamontov.dp on 2012-11-05 12:58:55

  18. Oleg Sychev reporter
    Переустановка вопроса и блока проблему не решила. Дело не в БД...
    

    Reported by oasychev on 2012-11-10 04:30:42

  19. Oleg Sychev reporter
    Причина в том, что для сканера используется data://
    Это оказалось чувствительным к настройкам безопасности сервера.
    
    Preg использует библиотеку stringstream, которая по факту на сервере работает. Поэтому
    блок формальных языков также должен использовать ее.
    
    Валерий - предлагаю по этому поводу код stringstream вынести в poasquestion и подключать
    его всем оттуда, поэтому добавляю вас сюда.
    Это несложно, пожалуйста - сделайте СРОЧНО. От этого зависит и работоспособность подсказки
    следующей лексемы при внедрении вашего вопроса тоже...
    

    Reported by oasychev on 2012-11-14 13:25:30

  20. Former user Account Deleted
    Я уже добавил stringstream к себе, чтобы восстановить работоспособность. Как только
    Валерий перенесет его в poasquestion, я в то же время удалю его из своего репозитория.
    

    Reported by mamontov.dp on 2012-11-14 15:30:31

  21. Former user Account Deleted
    С моей стороны тоже все сделано. Осталось только все протестировать на сервере...
    

    Reported by mamontov.dp on 2012-11-14 18:27:45

  22. Oleg Sychev reporter
    Заработало!
    Всем спасибо.
    
    Можно приступать к составлению вопросов для внедрения...
    

    Reported by oasychev on 2012-11-15 09:28:17 - Status changed: Done

  23. Log in to comment