Автор Тема: Обсуждение РУЖЭЛЬ  (Прочитано 290860 раз)

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 238
Re: Обсуждение РУЖЭЛЬ
« Ответ #300 : 03.11.2010 00:08:42 »
Видимо, Вы ввели запись другими средствами, а когда WebObjects хотел сохранить новую запись, то попытался использовать уже занятый индекс.
и как это можно пофиксить? - смотреть содержимое EO_PK_TABLE ? Как-то можно заставить корректно обновить в ней данные?
Поскольку действительно, вначале заносил 700 учеников при запущенном rujel... при этом пару раз удалял внесенные данные из-за ошибок в понимании структуры БД.
После этого rujel несколько раз перезапускался.

Оффлайн baywind

  • alt linux team
  • ***
  • Сообщений: 480
Re: Обсуждение РУЖЭЛЬ
« Ответ #301 : 03.11.2010 00:48:52 »
и как это можно пофиксить? - смотреть содержимое EO_PK_TABLE ? Как-то можно заставить корректно обновить в ней данные?
По идее, после перезапуска он должен сам схватиться нормально. Для уверенности можно заглянуть в EO_PK_TABLE и проставить там правильные значения. Структура там примитивная. Можно даже просто удалить из нее запись соответствующей таблицы - сам определит максимальное значение.

Чтобы было проще разбираться в структуре, можно использовать отчет по структуре БД. Я его для себя делал, чтобы было удобнее работать.
Под правами root зайти в "Управление"->"Системные процедуры". Нажать "Model Report". Полученный html самодостаточен, его можно сохранить для дальнейшего использования. В нем отражается актуальная структура БД, как ее видит WO.

PS: Будьте аккуратны в режиме "Системные процедуры". Не нажмите чего-нибудь лишнего. В нем я не отрабатывал интуитивность интерфейса - он только для тех, кто точно знает, что делает.

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 238
Re: Обсуждение РУЖЭЛЬ
« Ответ #302 : 03.11.2010 17:42:16 »
Можно даже просто удалить из нее запись соответствующей таблицы - сам определит максимальное значение.
так и сделал - таблица создалась обратно с реальными цифрами.

Оффлайн derugu

  • Завсегдатай
  • *
  • Сообщений: 274
  • Филинов Андрей
Re: Обсуждение РУЖЭЛЬ
« Ответ #303 : 03.11.2010 18:04:45 »
Всё вроде работает, настроили, запустили, но вот как удалить, например, ошибочно введённый класс в "Списки" и/или ошибочный График через интерфейс? Или только средствами mysql?

Оффлайн baywind

  • alt linux team
  • ***
  • Сообщений: 480
Re: Обсуждение РУЖЭЛЬ
« Ответ #304 : 03.11.2010 20:23:02 »
"График" исчезнет сам (при повторном заходе), если будет пуст - в нем не будет периодов/итогов и на него не будет настроен ни один курс.
Класс удалить пока что через интерфейс нельзя. Но можно переименовать и использовать заново.

Оффлайн derugu

  • Завсегдатай
  • *
  • Сообщений: 274
  • Филинов Андрей
Re: Обсуждение РУЖЭЛЬ
« Ответ #305 : 08.11.2010 19:36:42 »
Учитель за час ввёл 4 класса за первую четверть (оценки, темы, дз, замечания и т.д.). Это примерно половина средней нагрузки 20-25 часов. Два часа за четверть с приятными разговорами - неожиданно лёгкий способ ведения журнала. Знакомство с интерфейсом не составило никакого труда.

Оффлайн mk

  • Завсегдатай
  • *
  • Сообщений: 720
  • М.Э.Кушнир
    • M.Kushnir Sites
Re: Обсуждение РУЖЭЛЬ
« Ответ #306 : 08.11.2010 20:30:33 »
Знакомство с интерфейсом не составило никакого труда.
Спасибо, приятно "слышать". Мы и стремились к максимально простому и привычному способу работы для учителя. Основная нагрузка по освоению нового ложится на учебную часть - ввод и настройка учебного процесса. Но именно она за это и имеет больше всего преимуществ по экономии трудозатрат и новым возможностям.
cogito, ergo sum

Оффлайн derugu

  • Завсегдатай
  • *
  • Сообщений: 274
  • Филинов Андрей
Re: Обсуждение РУЖЭЛЬ
« Ответ #307 : 09.11.2010 17:59:05 »
Удалил в учебном плане->Итоговое оценивание оценку "Четверть". Спохватился и завел заново Тип оценки -Четверть. Разбил на 4 периода, как раньше. Запустил перерасчет и теперь все классы, которые были связаны с удалённой четвертью выдают ошибку. Те же классы, которые связаны с полугодием работают.
java.lang.IllegalArgumentException: Attempt to insert null into an com.webobjects.foundation.NSMutableSet.
  • com.webobjects.foundation.NSMutableSet.addObject:174
  • [1] net.rujel.autoitog.AutoItog.currentAutoItogsForCourse:181
    [2] net.rujel.autoitog.PrognosesAddOn.setCourse:116
    [3] net.rujel.autoitog.PrognosesAddOn.setCourse:105
    [11] net.rujel.autoitog.PrognosesAddOn.takeValueForKey:312
    [16] net.rujel.ui.NotesPage.allAddOns:310
    [17] net.rujel.ui.NotesPage.activeAddOns:322
    [50] net.rujel.ui.PageWrapper.appendToResponse:46
    [56] net.rujel.Session.appendToResponse:253
    [64] net.rujel.reusables.UTF8Application.dispatchRequest:46

    Перезагружал сервер два раза. Что делать? :'(

Оффлайн baywind

  • alt linux team
  • ***
  • Сообщений: 480
Re: Обсуждение РУЖЭЛЬ
« Ответ #308 : 09.11.2010 23:06:08 »
Спасибо за стресс-тестирование. Нам такое в голову не приходило пока  ;D

Сейчас придется лезть в базу-данных. Не забыть предварительно выключить РУЖЭЛЬ и сделать бекап.
DELETE FROM RujelYear2010.AI_PROGNOSIS
where ITOG_CONTAINER not in (
SELECT I_ID FROM RujelStatic.ITOG_CONTAINER);

DELETE FROM RujelYear2010.AI_COURSE_TIMEOUT
where ITOG_CONTAINER not in (
SELECT I_ID FROM RujelStatic.ITOG_CONTAINER);

DELETE FROM RujelYear2010.AI_STUDENT_TIMEOUT
where ITOG_CONTAINER not in (
SELECT I_ID FROM RujelStatic.ITOG_CONTAINER);
Если вы не вводили отсрочки к прогнозам, то достаточно первой команды.

Оффлайн wecheslaw

  • Завсегдатай
  • *
  • Сообщений: 99
    • Email
Re: Обсуждение РУЖЭЛЬ
« Ответ #309 : 09.11.2010 23:47:08 »
Как Ружель считает пропуски? Я пропуски обозначал как обычно "н". В разделе выборки, пропуски все корректно посчитаны. Я вот теперь подумал, а можно как то разграничивать пропуски. Чтоб считались допустим все пропуски, по болезни, по уважительной причине?

Оффлайн mk

  • Завсегдатай
  • *
  • Сообщений: 720
  • М.Э.Кушнир
    • M.Kushnir Sites
Re: Обсуждение РУЖЭЛЬ
« Ответ #310 : 10.11.2010 00:00:33 »
Там есть выборка по любому "замечанию" - "метки". Подсчет "н" отличается только тем, что в сам запрос заложены "н", "Н" и h-большое (выглядит, как Н).
Мы, например, договорившись обозначать опоздания как "оп-" и количество минут, с помощью этой выборки считаем опоздания. Это позволяет делать выборку по ученику - тогда видно сколько и на сколько он опаздывает.
Можно договориться и ставить "б", чтобы по нему считать по болезни.
Беда только в том, что не все учителя в состоянии правильно соблюдать договоренности. Это вносит ошибки, если они пишут не так, как договорились.
« Последнее редактирование: 10.11.2010 00:02:14 от mk »
cogito, ergo sum

Оффлайн baywind

  • alt linux team
  • ***
  • Сообщений: 480
Re: Обсуждение РУЖЭЛЬ
« Ответ #311 : 10.11.2010 01:49:28 »
Если есть желание поэкспериментировать, можно помучить XML-файлы описания выборок.
в папке конфигурации .../RujelReports/CustomReport/
файлы SkipCount.plist и NoteCount.plist отвечают за подсчет Н и произвольных меток соответственно. Разница между ними двумя небольшая - но ней можно немного разобраться в структуре организации файла и подготовить свой для выборок, например, по "Б".
Подменять файлы необязательно - достаточно добавить в эту папку свой. РУЖЭЛЬ просто сканирует директорию и использует все найденные (и корректно сформированные) файлы.
Есть черновой вариант описания структуры этих файлов. Для публичного выкладывания пока не годится, но желающим могу прислать.

Оффлайн wecheslaw

  • Завсегдатай
  • *
  • Сообщений: 99
    • Email
Re: Обсуждение РУЖЭЛЬ
« Ответ #312 : 10.11.2010 17:50:56 »
Спасибо. Действительно все просто. Я опознания отмечал просто буквой "о" и теперь без проблем все посчиталось. Жалко пропуски по болезни не отмечал. Но их легко по справкам посчитать.
В XML-файлы описания выборок загляну. Но думаю что толку от этого будет мало.

Оффлайн mk

  • Завсегдатай
  • *
  • Сообщений: 720
  • М.Э.Кушнир
    • M.Kushnir Sites
Re: Обсуждение РУЖЭЛЬ
« Ответ #313 : 10.11.2010 22:03:42 »
В XML-файлы описания выборок загляну. Но думаю что толку от этого будет мало.
Возможно, я ошибаюсь, но нам кажется, что именно эти файлы окажутся очень востребованы, когда мы их, наконец, опишем. Они позволяют сделать практически любую выборку, а движок позволяет (управление справа) их сортировать в порядке списка, считать (по мере отключения уникальных признаков) и выбрасывать в csv-файл.
В начале обсуждения поднималась проблема отчетов. Стандартных отчетов немного. Часто фантазии чиновников предугадать невозможно. А тут: получил нужные данные, выкинул в файл, считал его в эл.таблицах - и возможности отчета стали безграничны.
Как только появится вкус, где-нибудь сделаем свалку разных выборок, которая будет пополняться пользователями. Для этого не нужно знать ни Java, ни WO, ни SQL - только этот код. В планах его усложнить для возможности 2-уровневых запросов, которых прямым счетом записей в БД недостаточно. Это одна из причин, почему не торопимся дорабатывать описание.
А принципы XML-структур сегодня полезно знать любому учителю информатики. Он не очень сложен для понимания, особенно, когда перед глазами есть 2 похожих примера :)
cogito, ergo sum

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 238
Re: Обсуждение РУЖЭЛЬ
« Ответ #314 : 11.11.2010 14:29:11 »
Какая-то странная проблема - один из учителей не появляется в общем списке - его нельзя привязать к логину и уроки в классах "повесить". Куда можно покопать?
В VSE_TEACHER и VSE_PERSON он присутствует и можно менять должность, ФИО.

update: каким-то чудом исправилось. Нажал не "все учителя", а ввел фамилию и нашлось (1 клетка). После нескольких назначений уроков появился в общем списке.
« Последнее редактирование: 11.11.2010 15:12:55 от yaleks »