Miranda NG Official Community Forum
		Miranda NG русскоязычный форум => Общие разговоры о Miranda NG => Topic started by: neverwinterni-ts on 08 04 2020, 17:40:26
		
			
			- 
				Приветствую всех. Прошу помощи. 
 Задача. Организовать чат для тех поддержки разных организаций. Несколько организаций, а ТП - аутсорсинг.  Идея: jabber клиент "Miranda NG Version: 0.95.11 build #22549 (9ff12cc6e9) x64"  установленный на компьютере. Сервер Openfire, Версия: 4.5.1 .
 Пользователи-сотрудники организаций разумеется не должны видеть сотрудников не своей компании, но должны видеть специалистов техподдержки и видеть своих коллег в пределах одной компании.
 Возникла мысль завести разные группы вида ИПВАСИЛИЙ\АПТЕКИ\2яСадовая11\фармацефт1 , ИПВАСИЛИЙ\АПТЕКИ\кмаркса2\фармацефт1 и тд со сменой названий компаний и имен филиалов.
 Группы включить в общий список автоматически задав права - кто, какие группы может видеть. Клиент Миранда выбран как наиболее активно развивающийся в данный момент и понимающий разделитель " \ ". Наличие обмена файлами очень желательно.
 
 В это схеме возникла проблема.
 Если удалить такую группу в ростере на сервере, то она остается в списке клиента и не удаляется автоматически. с пользователями таких проблем не возникает.
 Прошу совета.
 Можно ли это исправить? хотелось бы получить вложенность групп.
 Существуют ли альтернативные развивающиеся клиенты im\xmpp\jabber с известными разделителями ?
 Возможно, посоветуете схему поинтереснее или как по другому организовать такую задачу ?
 
- 
				neverwinterni-ts, 
 в протоколе XMPP нет отдельного понятия группы, она является атрибутом контакта в ростере, т.о. при перемещении контакта в другую группу он корректно сменит визуализацию, а вот сама группа останется.
 
 так как она останется пустой, то достаточно включить настройку Hide Empty Groups - и они все исчезнут
- 
				а есть возможность их удалять, не в ручную ? ведь таких групп скрытых групп может быть довольно много. 
			
- 
				Прикрутите костыль:
 
 - раскатайте всем Мирандам в корень (рядом с Miranda32/64.exe) файл autoexec_blablabla.ini (вместо blablabla может быть что угодно, лишь бы с префиксом autoexec_ и расширением .ini)
 - в него впишите строчку
 [-CListGroups]- сделайте его неудаляемым (только чтение)
 
 При каждом запуске Миранда обнаруживает и автоматически импортирует содержимое autoexec_*.ini в базу, а затем стирает файл. Содержимое файла указывает убить из базы все известные Миранде группы (они будут заново получены с сервера при подключении протокола к сети), а флаг "только чтение" предотвратит удаление ini-шки, чтобы это продолжало работать при каждом запуске.
- 
				Большое Спасибо. Согласен, костыль, но меня устроит. ТО ЧТО НУЖНО !!
			
- 
				[-CListGroups] 
 
 почему то не работает ключ.
 Создаю файл autoexec_blablabla.ini,файл программой читается, удаляется, но контакт лист не очищается.
 Проверил разные комбинации [-CListGroups]  - скавычками и без, с - и без.
 Пожалуйста подскажите, что не так или где почитать ?
 Есть ли вариант настроить очистку списка контактов через RemovePersonalSettings.ini, mirandaboot.ini ?
- 
								if (szLine[1] == '?') {
 mir_strncpy(szSection, szLine + 2, min(sizeof(szSection), (int)(szEnd - szLine - 1)));
 db_enum_settings(0, SettingsEnumProc, szSection);
 while (setting_items) {
 SettingsList *next = setting_items->next;
 
 db_unset(0, szSection, setting_items->name);
 
 mir_free(setting_items->name);
 mir_free(setting_items);
 setting_items = next;
 }
 }
 
 оказывается, вместо дефиса должен быть вопросительный знак
 почему - никто не помнит
 надо будет дефис тоже добавить
- 
				Начиная с билда 22804, можно использовать не только "?", но и "-" 
			
- 
				Подскажите, а правильно ли я понимаю работу плагина Action manager.
 Хочу с помощью него выполнять батник каждые 2 недели.
 Сейчас настроен запуск каждые два дня и 2 минуты ?
 
 (http://)
 
- 
				neverwinterni-ts, 
 насколько я понимаю, это запуск в 0 часов 2 минуты пополуночи
- 
				а что обозначает поле слева от времени, "где двойка" ?
			
- 
				== В чём я уверен ==
 Первое поле - IDC_TASK_REPEAT
 Второе - IDC_TASK_INTDAYS
 Третье - IDC_TASK_INTERVAL
 
 == В чём я не уверен ==
 Я бы предположил, что первое поле это кол-во повторов всего (0 = бесконечно), второе и третье поле это интервал: дни и часы:минуты:секунды. Таким образом на скрине указан бесконечный повтор каждые 2 дня через 2 минуты после полуночи.
 
 Желаюшие могут по этим ключевым словам покопаться в коде, но стоит помнить, что Pascal тёмен и полон ужасов.