Miranda NG Official Community Forum
Miranda NG русскоязычный форум => Общие разговоры о Miranda NG => Topic started by: 40° on 20 07 2023, 14:10:01
-
Если для новой (первой) учетной записи указать внутреннее имя, то не сработает mirandaboot.ini:OnCreateFilename. Данные не будут импортированы в новый профиль.
-
И еще баг или фича: если в OnCreateFilename добавить раздел CONTACT:, то он не ипортируется в базу, а раздел SETTINGS: при этом импортируется.
-
и еще ...
пытаюсь через autoexec_*.ini добавлять\изменять параметры.
С группой SETTINGS все норм. Все читается и что прочитано сохраняется в базе.
Группа CONTACT читается не полностью. Например пропускается секция [CList].
Остальные секции читаются, но то что прочитано не сохраняется в базе.
-
40°,
а приложи plz тестовые инишки для каждого случая, чтобы не ломать голову
-
Я наверно сразу опишу задачу, которую я пытаюсь решить.
Мне нужно, что бы пользователь, установив миранду сразу после логина видел в списке контактов комнату "Помощник", которая была бы у него в закладках с включенным автовходом.
Сначал я пытался добавить нужные настройки через OnCreateUser, потом через AutoExec.
-
Если для новой (первой) учетной записи указать внутреннее имя, то не сработает mirandaboot.ini:OnCreateFilename.
Хорошо. Вопрос - где ты указывал внутреннее имя для учетной записи?
-
ответ:
-
Если для новой (первой) учетной записи указать внутреннее имя, то не сработает mirandaboot.ini:OnCreateFilename. Данные не будут импортированы в новый профиль. И еще баг или фича: если в OnCreateFilename добавить раздел CONTACT:, то он не ипортируется в базу, а раздел SETTINGS: при этом импортируется.
Ну тут мысль простая - OnCreateFilename указывает инишку, которая всасывается в момент создания профиля, не больше, не меньше. Один раз, дальше она игнорится и при создании учетки, и при создании контакта
-
Группа CONTACT читается не полностью. Например пропускается секция [CList].
Остальные секции читаются, но то что прочитано не сохраняется в базе.
Сохраняется, но не в контакте. Вообще я не очень понял, что там за CONTACT, потому что оно может быть в импорте и используется, но глобальный импорт при старте ее точно игнорирует
-
Мне нужно, что бы пользователь, установив миранду сразу после логина видел в списке контактов комнату "Помощник", которая была бы у него в закладках с включенным автовходом. Сначал я пытался добавить нужные настройки через OnCreateUser, потом через AutoExec.
Так а в чем проблема залить нужные настройки через OnCreateProfile / AutoExec, если разместить обоих в домене на шаре, где живет миранда?
Включая создание собственно учетки, нацеленной на корпоративный сервер, и настроек закладок? Просто один раз в пустой профиль забить это через интерфейс и вывалить экспортом в инишку
-
которая всасывается в момент создания профиля
Но я ведь именно про такой случай и пишу.
Если внутреннее имя не задавать все хорошо, если внутренее имя задать ini не будет прочитан. Это явный косяк.
-
через OnCreateProfile / AutoExec,
Но ведь я именно про такой случай и пишу.
Сначал я пытался добавить нужные настройки через OnCreateUser, потом через AutoExec.
Что касается OnCreateProfile - нигде не нашел информации о такой настройке. Дайте плиз ссылку на почитать как это применить.
-
Вообще я не очень понял, что там за CONTACT
Если открыть базу и экспортировать контакты в ini-файл, то в этом файле самой первой будет создана секция CONTACT: аналогично секции SETTINGS: если бы импортировались настройки.
-
Если внутреннее имя не задавать все хорошо, если внутренее имя задать ini не будет прочитан. Это явный косяк.
не, там проблема в том, чтобы соотв. модули переименовать под внутреннее имя, а не использовать JABBER_1, как по умолчанию. Плюс там надо задать до хрена еще настроек, чтобы оно нормально подхватывалось, например, Protocol/p. Поэтому гораздо проще набить пустой эталонный профиль, а потом его целиком вылить в ini.
Что касается OnCreateProfile - нигде не нашел информации о такой настройке. Дайте плиз ссылку на почитать как это применить.
Тот же встречный вопрос про OnCreateUser ;) не нашел ничего похожего на это в сорцах миранды, а OnCreateProfile - это инишка, которая один раз выполняется при создании нового профиля.
Если открыть базу и экспортировать контакты в ini-файл, то в этом файле самой первой будет создана секция CONTACT: аналогично секции SETTINGS: если бы импортировались настройки.
Экспорт создает инишку для импорта, в том смысле, что грузить ее надо через пункт меню Import, То, что можно скормить миранде из настроек mirandaboot.ini, касается только глобальных настроек, оно вообще не работает с контактами
-
OnCreateUser
косякнул. ??? Следует чиать: mirandaboot.ini:OnCreateFilename
OnCreateProfile
у меня подозрение что это так же следует читать как: mirandaboot.ini:OnCreateFilename. Если нет, то подскажите где прочитать про использование OnCreateProfile?
Поэтому гораздо проще набить пустой эталонный профиль, а потом его целиком вылить в ini
Исходя из возникших проблем чтения ini-файла надежней сформировать файл профиля и копировать его. С контактами ведь ini не работает как выяснилось.
Я так изначально и делал, копировал некий эталонный профиль. Но мне не понравился этот способ, так как в файле профиля запросто может оказаться уникальная инфо о ПК или пользователе. И тогда я стал применять mirandaboot.ini:OnCreateFilename с точечными настройками.
а потом его целиком вылить в ini.
Как это сделать? Экспортом? Но экспорт только для импорта. Я что что то уже совсем запутался. :-)
-
OnCreateFilename
Разумеется
Исходя из возникших проблем чтения ini-файла надежней сформировать файл профиля и копировать его. С контактами ведь ini не работает как выяснилось.
К-каких проблем? Задача инишки - затащить в профиль учетку, а контакты оно потом само вытащит с сервера
И тогда я стал применять mirandaboot.ini:OnCreateFilename с точечными настройками.
С точечными не получится, модуль учетки надо перекатывать полностью.
Как это сделать? Экспортом? Но экспорт только для импорта
Экспортом модулей из dbeditor++
-
а контакты оно потом само вытащит с сервера
не вытащит, речь о новом пользователе у которого еще нет никаких контактов, и я хочу сделать так что бы у нового пользователя сразу появилась в контактах комната "помощник" и она была в закладках и в закладках был включен автовход. Все потому что заставить пользователя это сделать самому задача нереальная, а бегать к каждому и подключать комнату такое себе занятие.
Может как то можно на сервере прописать сразу для всех пользователей нужную закладку на комнату с уже включенным автовходом?
Но я даже не нашел где эти закладки хранятся на сервере OpenFire. А они точно хранятся. Я удалял профиль и создавал его с нуля, комнаты сразу же появлялись в списке контактов.
Может кто подскажет что нить в этом направлении?
Эспортом модулей из dbeditor++
И все же ну хоть коротко опишите последовательность действий, если этот функционал скрытый и нигде не описан. (я уже начинаю подозревать, что это тупиковый путь :-)
Что нужно сделать:
1. Экспортируем из базы модуль. Какой модуль? Настройки для комнаты не хранятся в разделе "Настройки" (я там не нашел), они хранятся в разделе "Контакты"
2. Переименовываем полученный файл в .... OnCreateProfile или OnCreateFilename? (Если OnCreateFilename, то не сработает так как раздел контактов не не будет обработан)
3. Что дальше ...?
-
не вытащит, речь о новом пользователе у которого еще нет никаких контактов, и я хочу сделать так что бы у нового пользователя сразу появилась в контактах комната "помощник" и она была в закладках и в закладках был включен автовход.
В чем проблема? Добавляем в эталонный профиль комнату в закладки, включаем автовход, потом выливаем это в инишку. Контакт миранда создаст сама
1. Экспортируем из базы модуль. Какой модуль? Настройки для комнаты не хранятся в разделе "Настройки" (я там не нашел), они хранятся в разделе "Контакты"
Модуль учетки жабера, ессно, по умолчанию - JABBER_1.
2. Переименовываем полученный файл в .... OnCreateProfile или OnCreateFilename?
Переименовываем, выкладываем в сеть и указываем, да. Теперь каждый вновь создаваемый профиль будет получать в закладку эту комнату, а как только миранда влогинится, она всосет закладку, создаст контакт для комнаты и отправит его в группу Chat Rooms
-
А можете прислать пример такого ini-файла?
Может я из примера хоть что то пойму. :-(
-
А можете прислать пример такого ini-файла?
берем эталонный профиль, запускаем dbeditor++, Settings -> JABBER_1, ПКМ -> Export
-
берем эталонный профиль, запускаем dbeditor++, Settings -> JABBER_1, ПКМ -> Export
... и сохранаем в корневом каталоге миранды файл с именем OnCreateUser.ini (потому что в mirandaboot.ini есть строка "OnCreateFilename=OnCreateUser.ini")
запускаем Miranda32.exe
добавляем профиль
в добавленном профиле сразу видим уже добавленного пользователя JABBER_1
активируем его
коннектимся к серверу
.... и не видим никаких комнат, хотя все строки из OnCreateUser.ini прочитались и в базу записались.
Что я сделал не так?
-
в добавленном профиле сразу видим уже добавленного пользователя JABBER_1
Я бы не называл учетную запись пользователем
активируем его
Это тоже можно запихать в ту же инишку, добавив модуль Settings - Protocols
.... и не видим никаких комнат, хотя все строки из OnCreateUser.ini прочитались и в базу записались.
Я бы посмотрел на опцию жабера "Автоматически исполнять закладки при входе", а точно в Chat Rooms ничего не появилось? Может быть она свернута?
На худой конец прицепи инишку сюда, посмотрим
-
SETTINGS:
[JABBER_1]
AM_BaseProto=sJABBER
EnableVOIP=b1
FirstName=uJabber AD User
FullName=uJabber AD User
HostNameAsResource=b0
HttpUploadVer=b0
LastGetVcard=d1690545114
LastLoggedServer=sserv-openfire.xxxxxx.xx
LoginName=uJabberAD
LoginServer=userv-openfire.xxxxxx.xx
ManualConnect=b0
ManualHost=u
ManualPort=w5222
Nick=uJabber AD User
Port=w5222
RecentlySearched_0=usearch.serv-openfire.xxxxxx.xx
Resource=uMiranda
SavePassword=b0
UseDomainLogin=b0
UseSSL=b0
UseTLS=b1
VCardHash=s91648be108d7c0937eb95958899af51b
bookmarksWnd_cx0=w120
bookmarksWnd_cx1=w210
bookmarksWnd_cx2=w90
bookmarksWnd_height=d429
bookmarksWnd_width=d460
bookmarksWnd_x=d730
bookmarksWnd_y=d305
discoWnd_cx0=w200
discoWnd_cx1=w200
discoWnd_cx2=w200
discoWnd_height=d398
discoWnd_width=d546
discoWnd_x=d687
discoWnd_y=d321
jid=uJabberAD@serv-openfire.xxxxxx.xx
joinWnd_rcSvr=b1
joinWnd_rcSvr0=uconference.serv-openfire.xxxxxx.xx
password_rcMuc_0=u
rcMuc_0_nick=uJabber AD User
rcMuc_0_room=uhelpdesk
rcMuc_0_server=uconference.serv-openfire.xxxxxx.xx
-
а автовход-то где?
AutoJoinBookmarks BYTE = 1
-
Я повторил еще раз все настройки ...
AutoJoinBookmarks
такого ключа нигде в базе не нашел.
Кроме того только сейчас обратил внимание на заголовок окна диалага работы с закладками - "Закладки на сервере" называется.
Я уже писал ранее:
Может как то можно на сервере прописать сразу для всех пользователей нужную закладку на комнату с уже включенным автовходом?
Но я даже не нашел где эти закладки хранятся на сервере OpenFire. А они точно хранятся. Я удалял профиль и создавал его с нуля, комнаты сразу же появлялись в списке контактов.
Может кто подскажет что нить в этом направлении?
Получается в профиле пользователя нет ключей управляющих закладками. Все хранится на сервере. Может это характерно только для OpenFire?
Как же все запутано. :-(
-
такого ключа нигде в базе не нашел.
Да, и я тоже, отчего не удивился, что ничего не пашет. Включается в настройках учетки - Conferences - Automatically join bookmarks
Получается в профиле пользователя нет ключей управляющих закладками. Все хранится на сервере.
Ну один-то точно есть.
-
Включается в настройках учетки - Conferences - Automatically join bookmarks
Перепроверил. Галка установлена, по умолчанию установлена.
-
Посмотри тогда вот сюда
https://discourse.igniterealtime.org/t/pre-define-a-set-of-bookmarks-for-all-users/87203
-
Посмотри тогда вот сюда
Это работает. Супер. То что надо. Спасибище.