Публикация

Логирование действий пользователей

Добрый день!
Сегодня поговорим немного о функциональности, которую я и Евгений Генов недавно реализовали и которую уже несколько раз запрашивали клиенты. Это логирование (журналирование) действий пользователей.
 
Очень часто руководителю компании или CRM-координатору хочется знать, насколько активны пользователи при работе с CRM-системой, что конкретно они делают и работают ли они в ней вообще. Более того, некоторые даже хотят строить на основе подобной активности сотрудников мотивационные схемы, формирование заработной платы, бонусов и т.д. Для этих целей и была реализована некая функциональность, которая отслеживает большинство операций (манипуляций) пользователя и пишет это все в специальную таблицу. 
 
Теперь о самой утилите. Вот так выглядит окно логирования действий.

 
Как Вы видите, все довольно-таки просто: в верхней части фильтрация по периоду и пользователю, которого Вы мониторите. 
Поскольку сама утилита предназначена в основном ответственному лицу, занимающимся подобным мониторингом и скорее всего будет доступна только пользователю с административными правами, то мы вынесли возможность удаления записей из этого журнала, о чем свидетельствует наличие кнопки "Удалить"
 
Теперь о настройке. Вот так выглядит окно настроек.

Как видно из скриншота, под настройкой понимается следующее: какие действия конкретного пользователя система должна отслеживать.

На данный момент доступны следующие действия: переходы по разделам, переходы по деталям, запуски действий, отчетов, открытия наборов данных, открытия карточек редактирования и, на мой взгляд, самое интересное - изменение записей, т.е. регистрируются все внесения изменений, производимые пользователем.

Кроме того, регистрируется вход и выход из системы (это действие не выносилось в настройки, поскольку, на мой взгляд, эта информация нужна всегда).
 
Какие плюсы реализованного функционала.
Поскольку вся информация пишется не в файл логов, а в таблицу, то на основании логируемых данных можно построить любую аналитику активности работы пользователя, выявлять ошибки при работе пользователя, определять ошибки при разработке (тем, кто этим занимается) и помогает в чем-то оптимизировать бизнес-логику работы сотрудников.
 
На этом, пожалуй, все.

Поделиться

38 комментариев

Очень интересно!
Скажите, функционал войдет в базовую версию или будет распространятся как утилита?
Если как утилита, то каким образом можно получить\купить функционал?

Пока не уверен на счет базовой версии, поскольку не всем нужен этот функционал. Скорее всего будет распространяться как отдельная утилита.
А вот на вопрос приобретения пока не готов ответить, т.к. мы презентовали ее только на днях. Обязуюсь завтра пообщаться с руководством по этому вопросу. Буду держать Вас в курсе.

Такая функциональность очень полезна для мотивации персонала при внедрении системы и при аудите использования ПО. Также есть смысл для аналитики определенных действий пользователя при отладке. В принципе этот функционал с определенной фильтрацией можно заложить для формирования БП, но с условием, что пользователь действительно занят работ в системе, а не просто нажимает кнопки, и при условии, что он не начинающий пользователь.
Также была бы полезна фильтрация/поиск в действиях по значениям.
В качестве развития этой утилиты предлагаю в отдельное окно вынести пользователей, к-е на текущий момент активны в системе и период их активности. Эта информация используется в системах документооборота (БП визирования документов), а так же при мотивации персонала, особенно на этапе внедрения нового ПО, когда важно сотрудников приучить к тому, что по приходу на работу они должны запускать Terrasoft CRM.

Вы знаете, у меня сразу возникает вопрос а не будет ли система перегружена? Ведь на каждое действие пользователя формируется запись в таблице, обрабатывается какой то скрипт или триггер.. Как это скажется на скорости? И если таких пользователей много, то со временем база данных вырастет в разы.

Пока что значительных "тормозов" замечено не было. А база, естесственно, будет разрастаться. Но можно все организовать регламентами, например в конце месяца или чаще можно эти логи чистить, или делать бекап, сформировав предварительно всю необходимую отчетность. Т.е. все зависит от того, как Вы захотите организовать такой мониторинг.

"S.Kalishenko" написал:Пока что значительных "тормозов" замечено не было.

Попробуйте протестировать на веб-сервисах и больше 10 пользователей. Интересно узнать результат.

--
www.it-sfera.com.ua

Как вариант расширения функциональности данной утилиты - возможность возврата к некоторым типовым действиям: редактировал запись - возможность вернуться к ней (карточке или выделение ее в реестре нужного раздела быстрым фильтром) и т.д;-)

Было бы хорошо видеть не только конкретные действия пользователей, но и общие показатели в виде отчетов и графиков. Например: общее время работы в системе за день, общее время по разделам, можно отслеживать в какие часы пользователь сидит в системе и т.п.

"Александр Кудряшов" написал:Как вариант расширения функциональности данной утилиты - возможность возврата к некоторым типовым действиям: редактировал запись - возможность вернуться к ней (карточке или выделение ее в реестре нужного раздела быстрым фильтром) и т.д;-)

Неплохая идея. Думаю, сделаем.

"Хорошилов Евгений Игоревич" написал:Было бы хорошо видеть не только конкретные действия пользователей, но и общие показатели в виде отчетов и графиков. Например: общее время работы в системе за день, общее время по разделам, можно отслеживать в какие часы пользователь сидит в системе и т.п.

Честно говоря, не думал еще об отчетах, но, в принципе, поскольку вся необходимая информация для анализа есть, то разработать их не составит особого труда. Попробуем.

Было бы очень интересно попробовать применить в нашей компании функционал, именно для аналитики - кто сколько времени провел в системе и кто что полезного сделал. А то клиентам внедряем, у них все хорошо, а вот у нас самих полноценно не больше 70% сотрудников активно используют crm. Скажите, когда будет возможность попробовать это?

"S.Kalishenko" написал:А вот на вопрос приобретения пока не готов ответить, т.к. мы презентовали ее только на днях.

Есть какие-либо новости по данному вопросу?

Пока новостей нет. :(
Предлагаю следующее: если Вы хотите видеть эту функциональность в базовой версии, то добавьте, пожалуйста, идею с ссылкой на эту ветку. Просто мне, да и коллегам из разработки продуктов, не совсем понятна актуальность этого функционала. Поэтому хотелось бы оценить это по голосам участников комьюнити.

По мне так подойдет и не в базовой версии, а в виде отдельной утилиты...

Да. я имел ввиду часть, которую упомянула Алёна. Была фраза о оформлении функционала как отдельного модуля.

Вариант частичного решения требуемого функционала.

Вот тоже заинтересовал вопрос о распространении ... У нас руководство хотело видеть кто, со скольки и до скольки работает в системе. И что собственно с системе делает.
Вопрос кажется актуальным на этапе внедрения, когда некоторые сотрудники скажем так "саботируют" процесс.

А время все идет... Решение какое то принято?

подскажите пожалуйста решение уже сейчас можно купить как отдельный модуль?
если да прошу скинуть цену в личку. спасибо

Обещаю, до конца недели выложить сюда, в эту ветку сервисы по этому функционалу. Ничего покупать не нужно. :)
Прошу прощения у всех, просто времени совсем не было.

Друзья!
Прикрепил к посту архив с сервисами и с описанием действий, которые обязательно нужно выполнить после загрузки этих сервисов (см. файл Readme.txt). Проверено на версии 3.3.2 (сервисы именно этой версии). Если что-то не будет получаться, пишите.

Настоятельная просьба, кто будет пробовать загружать сервисы: СДЕЛАЙТЕ БЕКАП БАЗЫ.

добрый день
установил ваши сервисы. все зделал как в readme.txt. запускаю настраиваю что буду логировать себя. указываю все галочки. в результате все логирует кроме изменение данных

подскажите пожалуйста где и что можно посмотреть и сделать чтобы изменения в датасетах логировались. это для меня самое важное кто и что в какой момент времени изменил. спасибо

версия террасофта 3.3.2 Террасофт Пресс

нашел ошибку. все исправил работает вопрос снят

А в чем ошибка была?

так как мы в 3.3.2 перешли с 3.3.0. Обновление глобальных скриптов и необходимых разделов шло по потребности. и поэтому многое что еще вручную сравниваю исправляю и добавляю. но там уже остались мелочи. вот одна из таких мелочей это отсутствие в scr_Main в функции wnd_MainOnPrepare двух строчек:
DatasetTriggers.Load();
SetServicesEvents();
+ самой функции SetServicesEvents и ссылки на скрипт scr_DatasetTriggers. Добавив данные строчки у меня все заработало. плюс я добавил еще 2 подписи на события. Для того чтобы логировать удаления. Это для меня важно. плюс хочу доработать систему поиска и фильтрации внутри лога. Как доработаю выложу сюда.

но я если рассматривать в глобальном размере данные скрипты на 3.3.0 точно не заработают. так как много еще что от 3.3.2 нужно перенести.

Понятно. Выкладывайте, как доработаете. Думаю, всем пригодится.

А версию утилиты для 3.4 можете выложить?

А текущий вариант на 3.4 разве не работает? Недавно вроде пробовал - все было ок.

Перестает работать автоматический запуск БП из-за этой утилиты

подскажите, пожалуйста, как на базе этого функционала сделать отчет, кто сколько времени проработал в системе?

Добрый день!

По этому функционалу можно построить отчет Fast Report, использовав набор данных логов.
Либо Вы можете установить необходимые фильтры прямо в окне логов и распечатать/экспортировать в Excel все записи реестра.

Сегодня решила настроить эти доработки у себя в базе.
Все сделала, по кнопке вызывается указанное окно, ошибок нет. Но и логирования собственно тоже нет, никакого вообще.
Прочитала, что это возможно из-за нашего перехода из 3.3.1 в 3.3.2, но для устранения проблемы не смогла найти в нашей базе scr_DatasetTriggers. Где мне можно его взять?

Вктория, я прикрепил Вам все необходимые файлы, но нет никакой гарантии, что они Вам помогут, так как мне не известно, как именно вы делали переход из версии на версию, это чистой воды конфигурация.

Видимо у меня нет не только этого скрипта, но и enm_DatasetTriggerType, ds_DatasetTrigger, sq_DatasetTrigger, tbl_DatasetTrigger, и что там еще может быть с этими DatasetTrigger.

Если возможно выгрузите и их тоже

Виктория, вложила архив с сервисами.

спасибо, буду надеяться что поможет.

С логированием действий все получилось, спасибо!

Войдите или зарегистрируйтесь, чтобы комментировать