Антон (21 Ноябрь 2012 - 15:39) писал:
- для обеспечения обратной совместимости базы пользователей было бы здорово сделать их экспорт (в тот же Excel), хотя бы по отдельным группам (очень спасает, когда приходит обновление актуального списка сотрудников, и уволившихся надо поудалять из базы, чтобы не захламлять ее в условиях ограниченного дискового пространства);
Скажу по секрету, что при удалении пользователя он на самом деле не удаляется, если за ним имеются результаты тестирования, а помечается удаленным. Иначе в таблице результатов пропадали бы данные для некоторых из результатов о ФИО и другие данные того, кто проходил тестирование. Так что экономии дискового пространства не происходит. Если результатов тестирования нет, то пользователь действительно удаляется. Но запись пользователя является очень малой по сравнению с данными о результатах, к которым относятся ответы пользователя на каждый вопрос и другая информация. Поэтому для экономии места выгоднее всего удалять результаты. Но и при этом экономии места не произойдет или произойдет незначительно, т.к. происходит фрагментация базы данных, когда удаленные данные образуют дыры в дисковом пространстве. Чтобы выполнить дефрагментацию БД и упорядочить данные так, чтобы дыры были заполнены полезными данными, нужно нажать кнопку "Оптимизировать базу данных" на вкладке "Сервер". Это можно делать только тогда, когда никто не тестируется, т.к. на время дефрагментации доступ к данным будет заблокирован и запросам на базу придется ждать в очереди, пока процедура не завершится.
А насчет экспорта в Excel, я правильно понял, что это Вам нужно, чтобы автоматически определять тех сотрудников, которых нет в актуальном списке?
Цитата
- инкрементный поиск сделать внутри развернутой группы, а не по всей базе пользователей (учитывая, что ее нельзя упорядочить по логинам) - для понимания того, есть ли такой пользователь в определенной группе или нет.
Сам по себе инкрементный поиск вообще не самая удобная штука. Тут есть над чем поработать.
Цитата
P.S. за сегодняшний день тестирование прошли порядка 40 человек (это мало - "разгрузочный" день) и были присланы заявки на проведение тестирования еще на 35 человек - это я Вам к слову об объемах и тех фичах, которые сильно облегчили бы жизнь админам системы (т.е. нам).
- А вообще, раз у Вас даже база много места занимает, много результатов в базе? Там справа внизу статистика выводится. Интересно знать хотя бы примерный порядок. Вообще рекомендую сделать холодный бекап. Когда никто не будет тестироваться остановите сервер C:\Program Files\INDIGO 2.0 beta\
server\uninstall.bat. Скопируйте куда-нибудь папку C:\Program Files\INDIGO 2.0 beta\
database и опять запустите сервер тестирования C:\Program Files\INDIGO 2.0 beta\
server\install.bat