В версии блока 2.7 перейти на новую систему логов

Issue #274 closed
Oleg Sychev repo owner created an issue

Originally reported on Google Code with ID 274

Это на потом, но похоже старая с 2.6 попросту отмениться, так что это необходимое изменение.

Создаю сейчас чтобы запомнить необходимые ссылки:
http://docs.moodle.org/dev/Migrating_logging_calls_in_plugins
http://docs.moodle.org/dev/Logging_2
https://tracker.moodle.org/browse/MDL-37658

Reported by oasychev on 2014-03-30 11:40:54

Comments (23)

  1. Former user Account Deleted

    Reported by anastasiyaSergeevnaP on 2014-09-18 14:32:47 - Labels added: Priority-Critical - Labels removed: Priority-Medium

  2. Former user Account Deleted
    Олег Александрович, я на вики написала мое примерное решение. Я хотела узнать ваше мнение
    по поводу событий. Я немного сомневаюсь насчет их количества. В общей сложности их
    15, меня просто смущает тот факт, что много событий похожих между собой. Например,
    есть событие "Удалена аудитория" и "Удален тип занятий", аналогично с редактированием.
    Их никак, наверное, нельзя объединить и просто после события определять, объект какого
    типа был удален, добавлен или изменен?
    

    Reported by anastasiyaSergeevnaP on 2014-09-26 10:35:21 - Status changed: New

  3. Former user Account Deleted
    Вот два моих события, add_object лежит в папке events вместе с папками classroom, lessontype
    и тд. add_classroom - потомок данного класса. События я делала по образцу мудловских:
    например, report_viewed.
    Один вопрос у меня возник, я заходила в базу данных мудла через пхп май админ, но даже
    без встраивания моих событий я не нашла, где должны храниться логи, я читала о том,
    что они сохраняются в таблицу mdl_log, но события от данного блока я не нашла ни там,
    ни в одной из таблиц, связанных с логированием. 
    При встраивании моего события ошибок не возникает, но после добавления класса идет
    перенаправление на http://localhost/moodle/blocks/supervised/classrooms/addedit.php,
    при этом просто появляется пустая страница, на ней ничего нет.  
    

    Reported by anastasiyaSergeevnaP on 2014-10-24 12:57:08

    <hr> * Attachment: add_object_event.php * Attachment: add_classroom_event.php * Attachment: report_viewed.php

  4. Oleg Sychev reporter
    mdl_log это старая таблица, новое хранение как-то через события должно идти; я бы ориентировался
    не на нее а на страницу с общими мудловскими логами - если там появляется то нормально
    (но не забудьте - чтобы мудл заметил новые события необходимо увеличить номер версии
    плагина)
    
    Насчет ссылки - вы возможно пропустили параметры для url (то, что после ? идет) которые
    нужны для ее корректного отображения. Посмотрите на типичную ссылку как она есть -
    там наверняка есть параметры типа ?courseid=число и т.д. Они все должны быть в вашей
    ссылке тоже с корректными значениями.
    

    Reported by oasychev on 2014-10-24 15:33:19

  5. Former user Account Deleted
    Олег Александрович, мои события готовы, все в логах отображается, я тогда буду теперь
    в репозиторий заносить их. Мне теперь таблицу логов необходимо сделать для блока? Чтобы
    все события этого блока отображались в одной таблице? 
    

    Reported by anastasiyaSergeevnaP on 2014-11-01 16:14:42

  6. Oleg Sychev reporter
    В репозиторий не бойтесь заносить - в крайнем случае всегда можно откатиться, вы же
    видели. Окончательное решение принимает сливающий - т.е. я.
    
    Насчет таблицы логов для блока не понял вашего вопроса - там ведь прежде всего шла
    речь о том, чтобы в самом блоке заработала таблица логов, показывающая логи конкретного
    занятия (любимый вопрос старшего преподавателя - а что тут на уроке происходило??)
    Это не события от этого блока, это все события относящиеся к занятию (по курсу, группе,
    аудитории (IP-диапазону) и времени).
    

    Reported by oasychev on 2014-11-02 00:31:14

  7. Former user Account Deleted
    Олег Александрович, а можно спросить причину, по которой таблица не отображается. Она
    перестала отображаться в связи с переходом от add_to_log() к событиям? Просто вы мне
    говорили найти пример, как мудл заполняет такую таблицу с логами, я так поняла, мне
    теперь нужно старую версию отображения заменить на новую?
    

    Reported by anastasiyaSergeevnaP on 2014-11-02 18:53:48

  8. Oleg Sychev reporter
    Таблица не отображается (или еще отображается, но уже не везде) по той же причине что
    и надо было апгрейдить сами события: код ее отображения был на старой системе логов.
    Ее надо также переделать на новые логи, только теперь уже речь идет о событиях со всего
    Moodle чтобы они отображались (включая ситуацию, когда запись устаревших (legacy) логов
    удалена).
    

    Reported by oasychev on 2014-11-02 20:45:46

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

    Reported by anastasiyaSergeevnaP on 2014-12-05 18:47:50

    <hr> * Attachment: Тестинг.docx

  10. Oleg Sychev reporter
    1. Для корректной проверки фильтрации логов по группе нужны две группы в рамках одного
    курса, иначе логи лишних людей могут быть срезаны фильтрацией по курсу. Можно сделать
    2 курса, но 2 группы в одном из них. Также отдельно надо проверить что в занятии режима
    "все группы" в логах видны действия из обеих групп.
    2. Для проверки фильтрации по курсу (как и по группе), необходимо чтобы люди в других
    курсах (группах) выполняли какие-то действия параллельно с действиями в рамках текущего
    занятия, необходимо убедиться что эти действия не попадают в логи.
    3. Это инструкции для внешних, нужны еще чисто ваши тесты на логирование событий от
    самого блока - проверить, что они работают...
    

    Reported by oasychev on 2014-12-06 00:13:56

  11. Oleg Sychev reporter
    4. Также в тестах нужны действия пользователей до начала и после конца сессии, чтобы
    убедиться, что они в логи не попадают.
    

    Reported by oasychev on 2014-12-06 00:17:21

  12. Former user Account Deleted
    Олег Александрович, я тут пытаюсь добавить 2 новые колонки в таблицу. Откуда берутся
    строки функцией get_string('time'), get_string('ip_address') и тд? просто в папке lang
    их нет, поиск по всем файлам результатов не дал. Я не пойму, куда надо строки добавлять,
    чтобы потом вставлять их как заголовки столбцов таблицы моей с логами.
    

    Reported by anastasiyaSergeevnaP on 2014-12-11 21:49:41

  13. Oleg Sychev reporter
    Там ситуация специфическая. Если вам нужны свои строки, вы их добавляете в каталог lang
    плагина и ставите второй параметр get_string как 'block_supervised'
    
    Но - в стандартных случаях вы можете использовать стандартные мудловские строки, и
    их добавлять нельзя - только использовать те, что есть. На компонент указывает второй
    параметр get_string, если же он в коде той таблицы логов пустой - есть только один
    параметр - то это самый базовый для Moodle файл, скорее всего что-то типа lib/lang/en/
    Но - я повторяю - оттуда можно срисовывать только готовые, если они вас устраивают
    - они куда лучше переведены, чем наши. Если готовых вдруг нет - добавляем к себе.
    

    Reported by oasychev on 2014-12-11 22:31:09

  14. Former user Account Deleted
    Спасибо, все получилось. Прикрепляю вам изображение, как на данный момент выглядят логи.
    
    Извините, я еще хотела уточнить, все же отображать менеджера курса в режиме "All groups"?
    

    Reported by anastasiyaSergeevnaP on 2014-12-12 23:14:07

    <hr> * Attachment: Логи.png<br>Логи.png

  15. Former user Account Deleted
    Еще я нашла причину, по которой блок расползается - это добавление кнопок.
    $mform->addElement('submit', 'submitbutton', get_string('startsession', 'block_supervised'));
    
    Я хотела спросить, я так понимаю, submitbutton - это нестандартная кнопка? где можно
    посмотреть ее создание? если смотреть код по элементам через браузер, то вместе с кнопкой
    добавляется огромный отступ-margin, поэтому блок и расползается.
    

    Reported by anastasiyaSergeevnaP on 2014-12-13 15:45:37

  16. Oleg Sychev reporter
    Submit - это отправка формы, т.е. submitbutton это кнопка которая нажимается после заполнения
    всех полей формы чтобы совершить действие.
    
    Необходимо отследить стили css из-за которых добавляется этот margin, тогда можно будет
    написать им замечание на трекере (могу я если вам на английском тяжело - только найдите
    стиль от которого это идет, можете и вы сами). И у себя в styles.css его исправить
    для своих блоков.
    

    Reported by oasychev on 2014-12-13 16:14:53

  17. Oleg Sychev reporter
    Там кстати видно что вылазит за пределы именно эта кнопка. И еще секция. Пришлите срочно
    скриншот этого безобразия, для вставки в issue.
    

    Reported by oasychev on 2014-12-13 23:09:35

  18. Former user Account Deleted
    Я нашла места, которые делают такие отступы. Я так понимаю, это не связано с блоком.
    И, кстати, файл со стилем вообще ничего не меняет.Я пробовала менять и размеры и цвет
    шрифтов, ничего не меняется.
    

    Reported by anastasiyaSergeevnaP on 2014-12-14 14:16:54

    <hr> * Attachment: кнопка после.png<br>кнопка после.png * Attachment: кнопка до.png<br>кнопка до.png * Attachment: кнопка2 до.png<br>кнопка2 до.png * Attachment: кнопка2 после.png<br>кнопка2 после.png

  19. Oleg Sychev reporter
    Ну такую информацию можно и текстом прислать.
    Сделайте пожалуйста скриншот просто кривого вида блока для демонстрации проблемы мудловцам.
    

    Reported by oasychev on 2014-12-14 15:16:26

  20. Former user Account Deleted
    Простите. Я думала, так нагляднее будет видно, в чем проблема. 
    Я прикрепила на всякий случай скрины блока в двух состояниях.
    

    Reported by anastasiyaSergeevnaP on 2014-12-14 21:00:16

    <hr> * Attachment: Supervised_2.png<br>Supervised_2.png * Attachment: Supervised_1.png<br>Supervised_1.png

  21. Oleg Sychev reporter
    Обратите внимание на раздел в styles.css самого блока:
    .block_supervised .content .mform .fitem .fstatic,
    .block_supervised .content .mform .fitem .fselect,
    .block_supervised .content .mform .fitem .ftext {
        margin-left: 0;
        width: auto;
    }
    Есть подозрение, что он использовался чтобы решить эту проблему с другими элементами.
    Но судя по перечню не действует на кнопки и заголовок секции. Достаточно понимаете
    css чтобы найти используя Chrome по html-странице и дописать необходимые селекторы
    чтобы и на них действовало тоже?
    
    Только не забывайте, что после любого изменения css надо очищать кеш чтобы оно в действие
    вступило.
    

    Reported by oasychev on 2014-12-14 21:14:02

  22. Former user Account Deleted
    Я все исправила, теперь кнопки в пределах блока. В репозиторий тоже вытолкнула.
    

    Reported by anastasiyaSergeevnaP on 2014-12-15 12:10:16

  23. Oleg Sychev reporter
    Спасибо, Релиз вышел.
    

    Reported by oasychev on 2015-01-10 19:54:00 - Status changed: Done

  24. Log in to comment