Любые идеи по развитию MyChat. Запросы на новые функции, предложения по улучшению уже работающих сервисов. Если вы знаете, что нужно добавить в MyChat — welcome!
sergfm
День добрый!
Есть необходимость в такой функции как "Централизованная очистка истории" или что-то типа такого. Не только логи сервера, но и на всех компьютерах в сети.

Две ситуации.
1. В общий канал по ошибке написана конфиденциальная информация и её необходимо удалить. Конечно, тех кто её прочитал репрессировать не будем, но почистить так чтобы её как будто бы и не было и никто больше не увидел было бы неплохо..
На данный момент реализована функция "Очистить окно всем пользователям", которая вызывается в контекстном меню (если есть права админа). Но если загрузить историю канала, то все сообщения будут видны.

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

Но, проблема нумеро уно - у нас такого индекса пока нет.
Проблема нумеро дос - для этого нужно вести историю сообщений на сервере не в текстовых файлах, как у нас сейчас, а в базе данных. Такого пока что нету, но мы активно думаем над этим. Серверная база данных пока на рассмотрении, есть несколько кандидатов, в числе прочих - SQLite. Если есть конкретные предложения насчёт выбора базы данных для серверных логов - готов выслушать их в этой теме.

Насчёт удаления принятых файлов - тема совсем сложная. Совершенно неясно, по каким признакам их удалять, и, можно ли это делать. К примеру, прислали docx, затем пользователь его изменил и сохранил на место старого, в той же папке. Админ решил, что файл был лишним, дал команду на удаление. Удалять файл, который пользователь уже успел изменить? Или не удалять? И таких моментов насчёт принятых файлов очень много.
sergfm
Подниму тему, ибо в который раз стала для нас очень актуальна..

Сформулирую вопросы:
- как удалить историю переписки пользователей централизовано?
- может ли пользователь удалить логи без переустановки?

- Решиться ли проблема если логи почистить на сервере (можно кардинально: остановить сервер, забэкапить логи и обнулить их)?
- команда "Purge Images" для очистки истории изображений (Purge Images 1 - удаляем пересланные файлы старше одного дня)
Аватара пользователя
Андрей Раков
Добрый день.

Пожалуйста, детализируйте по максимуму по каждому пункту, много неясностей возникает.

Удалять историю всю или за конкретные дни, на клиенте или на сервере, для всех пользователей или определенным?
sergfm
Упрощаю, насколько это возможно:
логи
-Удалить всю историю переписки и на клиенте и на сервере для всех пользователей.

Если удаленно нельзя удалить на клиенте логи, то что необходимо сделать пользователю чтобы удалить всю переписку со всеми пользователями без переустановки клиента?
Аватара пользователя
Алексей Пикуров
Удаление всех логов на сервере: серверная консольная команда dellogs all
Удаление логов клиента: команда del remotelogs, подробнее о синтаксисе: viewtopic.php?p=14647#p14647
Выполнять с MyChat Client, у которого есть права на выполнение административных консольных команд. Команда удаляет логи одного любого конкретного клиента (по UIN), который в данный момент подключен к серверу.

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