Miranda NG Official Community Forum

Miranda NG русскоязычный форум => Общие разговоры о Miranda NG => Topic started by: 40° on 20 07 2023, 14:10:01

Title: mirandaboot.ini:OnCreateFilename
Post by: 40° on 20 07 2023, 14:10:01
Если для новой (первой) учетной записи указать внутреннее имя, то не сработает mirandaboot.ini:OnCreateFilename.  Данные не будут импортированы в новый профиль.
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: 40° on 21 07 2023, 08:45:32
И еще баг или фича: если в OnCreateFilename добавить раздел CONTACT:, то он не ипортируется в базу, а раздел SETTINGS: при этом импортируется.
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: 40° on 21 07 2023, 09:43:07
и еще ...
пытаюсь через autoexec_*.ini добавлять\изменять параметры.

С группой SETTINGS все норм.  Все читается и что прочитано сохраняется в базе.

Группа CONTACT читается не полностью. Например пропускается секция [CList].
Остальные секции читаются, но то что прочитано не сохраняется в базе.

Title: Re: mirandaboot.ini:OnCreateFilename
Post by: ghazan on 22 07 2023, 13:34:40
40°,
а приложи plz тестовые инишки для каждого случая, чтобы не ломать голову
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: 40° on 24 07 2023, 05:54:38
Я наверно сразу опишу задачу, которую я пытаюсь решить.
Мне нужно, что бы пользователь, установив миранду сразу после логина видел в списке контактов комнату "Помощник", которая  была бы у него в закладках с включенным автовходом.
Сначал я пытался добавить нужные настройки через OnCreateUser, потом через AutoExec.
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: ghazan on 24 07 2023, 17:54:35
Если для новой (первой) учетной записи указать внутреннее имя, то не сработает mirandaboot.ini:OnCreateFilename.
Хорошо. Вопрос - где ты указывал внутреннее имя для учетной записи?
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: 40° on 25 07 2023, 06:30:46
ответ:
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: ghazan on 25 07 2023, 16:49:22
Если для новой (первой) учетной записи указать внутреннее имя, то не сработает mirandaboot.ini:OnCreateFilename.  Данные не будут импортированы в новый профиль. И еще баг или фича: если в OnCreateFilename добавить раздел CONTACT:, то он не ипортируется в базу, а раздел SETTINGS: при этом импортируется.
Ну тут мысль простая - OnCreateFilename указывает инишку, которая всасывается в момент создания профиля, не больше, не меньше. Один раз, дальше она игнорится и при создании учетки, и при создании контакта
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: ghazan on 25 07 2023, 16:50:57
Группа CONTACT читается не полностью. Например пропускается секция [CList].
Остальные секции читаются, но то что прочитано не сохраняется в базе.
Сохраняется, но не в контакте. Вообще я не очень понял, что там за CONTACT, потому что оно может быть в импорте и используется, но глобальный импорт при старте ее точно игнорирует
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: ghazan on 25 07 2023, 16:53:56
Мне нужно, что бы пользователь, установив миранду сразу после логина видел в списке контактов комнату "Помощник", которая  была бы у него в закладках с включенным автовходом. Сначал я пытался добавить нужные настройки через OnCreateUser, потом через AutoExec.
Так а в чем проблема залить нужные настройки через OnCreateProfile / AutoExec, если разместить обоих в домене на шаре, где живет миранда?
Включая создание собственно учетки, нацеленной на корпоративный сервер, и настроек закладок? Просто один раз в пустой профиль забить это через интерфейс и вывалить экспортом в инишку
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: 40° on 26 07 2023, 05:24:52
которая всасывается в момент создания профиля

Но я ведь именно про такой случай и пишу.
Если внутреннее имя не задавать все хорошо, если внутренее имя задать ini не будет прочитан. Это явный косяк.
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: 40° on 26 07 2023, 05:52:37
через OnCreateProfile / AutoExec,

Но ведь я именно про такой случай и пишу.
Сначал я пытался добавить нужные настройки через OnCreateUser, потом через AutoExec.



Что касается OnCreateProfile - нигде не нашел информации о такой настройке. Дайте плиз ссылку на почитать как это применить.
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: 40° on 26 07 2023, 06:03:59
Вообще я не очень понял, что там за CONTACT
Если открыть базу и экспортировать контакты в ini-файл, то в этом файле самой первой будет создана секция CONTACT: аналогично секции SETTINGS: если бы импортировались  настройки.
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: ghazan on 26 07 2023, 15:05:08
Если внутреннее имя не задавать все хорошо, если внутренее имя задать ini не будет прочитан. Это явный косяк.
не, там проблема в том, чтобы соотв. модули переименовать под внутреннее имя, а не использовать JABBER_1, как по умолчанию. Плюс там надо задать до хрена еще настроек, чтобы оно нормально подхватывалось, например, Protocol/p. Поэтому гораздо проще набить пустой эталонный профиль, а потом его целиком вылить в ini.

Что касается OnCreateProfile - нигде не нашел информации о такой настройке. Дайте плиз ссылку на почитать как это применить.
Тот же встречный вопрос про OnCreateUser ;) не нашел ничего похожего на это в сорцах миранды, а OnCreateProfile - это инишка, которая один раз выполняется при создании нового профиля.

Если открыть базу и экспортировать контакты в ini-файл, то в этом файле самой первой будет создана секция CONTACT: аналогично секции SETTINGS: если бы импортировались  настройки.
Экспорт создает инишку для импорта, в том смысле, что грузить ее надо через пункт меню Import, То, что можно скормить миранде из настроек mirandaboot.ini, касается только глобальных настроек, оно вообще не работает с контактами
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: 40° on 27 07 2023, 05:45:47
OnCreateUser
косякнул.  ??? Следует чиать: mirandaboot.ini:OnCreateFilename

OnCreateProfile
у меня подозрение что это так же следует читать как: mirandaboot.ini:OnCreateFilename. Если нет, то  подскажите где прочитать про использование OnCreateProfile?

Поэтому гораздо проще набить пустой эталонный профиль, а потом его целиком вылить в ini
Исходя из возникших проблем чтения ini-файла надежней сформировать файл профиля и копировать его. С контактами ведь ini не работает как выяснилось.
Я так изначально и делал, копировал некий эталонный профиль. Но мне не понравился этот способ, так как в файле профиля запросто может оказаться уникальная инфо о ПК или пользователе. И тогда я стал применять mirandaboot.ini:OnCreateFilename с точечными настройками.

а потом его целиком вылить в ini.

Как это сделать? Экспортом? Но экспорт только для импорта. Я что что то уже совсем запутался. :-)

Title: Re: mirandaboot.ini:OnCreateFilename
Post by: ghazan on 27 07 2023, 17:31:11
OnCreateFilename
Разумеется

Исходя из возникших проблем чтения ini-файла надежней сформировать файл профиля и копировать его. С контактами ведь ini не работает как выяснилось.
К-каких проблем? Задача инишки - затащить в профиль учетку, а контакты оно потом само вытащит с сервера

И тогда я стал применять mirandaboot.ini:OnCreateFilename с точечными настройками.
С точечными не получится, модуль учетки надо перекатывать полностью.

Как это сделать? Экспортом? Но экспорт только для импорта
Экспортом модулей из dbeditor++
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: 40° on 28 07 2023, 08:19:37
а контакты оно потом само вытащит с сервера

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


Может как то можно на сервере прописать сразу для всех пользователей нужную закладку на комнату с уже включенным автовходом?
Но я даже не нашел где эти закладки хранятся на сервере OpenFire. А они точно хранятся. Я удалял профиль и создавал его с нуля, комнаты сразу же появлялись в списке контактов.
Может кто подскажет что нить в этом направлении?


Эспортом модулей из dbeditor++

И все же ну хоть коротко опишите последовательность действий, если этот функционал скрытый и нигде не описан. (я уже начинаю подозревать, что это тупиковый путь :-)
Что нужно сделать:
1. Экспортируем из базы модуль. Какой модуль? Настройки для комнаты не хранятся в разделе "Настройки" (я там не нашел), они хранятся в  разделе "Контакты"
2. Переименовываем полученный файл в .... OnCreateProfile или OnCreateFilename? (Если OnCreateFilename, то не сработает так как раздел контактов не не будет обработан)
3. Что дальше ...?
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: ghazan on 28 07 2023, 08:49:11
не вытащит, речь о новом пользователе у которого еще нет никаких контактов, и я хочу сделать так что бы у нового пользователя сразу появилась в контактах  комната "помощник" и она была в закладках и в закладках был включен автовход.
В чем проблема? Добавляем в эталонный профиль комнату в закладки, включаем автовход, потом выливаем это в инишку. Контакт миранда создаст сама

1. Экспортируем из базы модуль. Какой модуль? Настройки для комнаты не хранятся в разделе "Настройки" (я там не нашел), они хранятся в  разделе "Контакты"
Модуль учетки жабера, ессно, по умолчанию - JABBER_1.

2. Переименовываем полученный файл в .... OnCreateProfile или OnCreateFilename?
Переименовываем, выкладываем в сеть и указываем, да. Теперь каждый вновь создаваемый профиль будет получать в закладку эту комнату, а как только миранда влогинится, она всосет закладку, создаст контакт для комнаты и отправит его в группу Chat Rooms
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: 40° on 28 07 2023, 09:21:49
А можете прислать пример такого ini-файла?
Может я из примера хоть что то пойму. :-(
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: ghazan on 28 07 2023, 09:23:07
А можете прислать пример такого ini-файла?
берем эталонный профиль, запускаем dbeditor++, Settings -> JABBER_1, ПКМ -> Export
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: 40° on 28 07 2023, 11:15:21
берем эталонный профиль, запускаем dbeditor++, Settings -> JABBER_1, ПКМ -> Export

... и сохранаем в корневом каталоге миранды файл с  именем OnCreateUser.ini (потому что в  mirandaboot.ini есть строка "OnCreateFilename=OnCreateUser.ini")
запускаем Miranda32.exe
добавляем профиль
в добавленном профиле сразу видим уже добавленного пользователя JABBER_1
активируем его
коннектимся к серверу

.... и не видим никаких комнат, хотя все строки из OnCreateUser.ini прочитались и в базу записались.


Что я сделал не так?
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: ghazan on 28 07 2023, 11:26:37
в добавленном профиле сразу видим уже добавленного пользователя JABBER_1
Я бы не называл учетную запись пользователем

активируем его
Это тоже можно запихать в ту же инишку, добавив модуль Settings - Protocols

.... и не видим никаких комнат, хотя все строки из OnCreateUser.ini прочитались и в базу записались.
Я бы посмотрел на опцию жабера "Автоматически исполнять закладки при входе", а точно в Chat Rooms ничего не появилось? Может быть она свернута?
На худой конец прицепи инишку сюда, посмотрим
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: 40° on 28 07 2023, 12:04:46
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
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: ghazan on 28 07 2023, 17:10:02
а автовход-то где?
AutoJoinBookmarks BYTE = 1
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: 40° on 31 07 2023, 06:20:34
Я повторил еще раз все настройки ...

AutoJoinBookmarks
такого ключа нигде в базе не нашел.

Кроме того только сейчас обратил внимание на заголовок окна диалага работы с закладками - "Закладки на сервере" называется.

Я уже писал ранее:
Может как то можно на сервере прописать сразу для всех пользователей нужную закладку на комнату с уже включенным автовходом?
Но я даже не нашел где эти закладки хранятся на сервере OpenFire. А они точно хранятся. Я удалял профиль и создавал его с нуля, комнаты сразу же появлялись в списке контактов.
Может кто подскажет что нить в этом направлении?

Получается в профиле пользователя нет ключей управляющих закладками. Все хранится на сервере. Может это характерно только для OpenFire?
Как же все запутано. :-(
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: ghazan on 31 07 2023, 08:10:33
такого ключа нигде в базе не нашел.
Да, и я тоже, отчего не удивился, что ничего не пашет. Включается в настройках учетки - Conferences - Automatically join bookmarks

Получается в профиле пользователя нет ключей управляющих закладками. Все хранится на сервере.
Ну один-то точно есть.
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: 40° on 31 07 2023, 08:32:19
Включается в настройках учетки - Conferences - Automatically join bookmarks

Перепроверил. Галка установлена, по умолчанию установлена.
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: ghazan on 31 07 2023, 09:36:07
Посмотри тогда вот сюда
https://discourse.igniterealtime.org/t/pre-define-a-set-of-bookmarks-for-all-users/87203
Title: Re: mirandaboot.ini:OnCreateFilename
Post by: 40° on 01 08 2023, 06:20:02
Посмотри тогда вот сюда

Это работает. Супер. То что надо. Спасибище.