powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Сохранение информации об открытых окнах
24 сообщений из 24, страница 1 из 1
Сохранение информации об открытых окнах
    #39311229
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почти что мысли вслух.
Напомню, что у нас с одной User Database работаю куда больше одного человека. Соответственно, нельзя ли предусмотреть таки хранение информации об открытых окнах в контексте конкретного компа?
На однопользователей это никак не повлияет, а при многопользовательской работе каждый разработчик своему комплекту окошек был бы очень рад при открытии баз...

--
"И это пройдет"
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311238
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aПочти что мысли вслух.
Напомню, что у нас с одной User Database работаю куда больше одного человека.
Зачем?
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311297
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Несколько сотен зарегистрированных баз - клиентских, тестовых, отладочных, релизных, БД актуальной разработки и т.п.
И плюс распределенная по сотрудникам как разработка и техподдержка.
Разработка - фиг бы с ней, всего одна актуальная база плюс последняя релизная. Но техподдержка...
На нескольких компах нужна актуальная информация о базах клиентов.
При таком количестве регистрационной информации обходиться общей User Database зело удобнее, чем держать несколько экземпляров User Database для каждого и заморачиваться с синхронизацией информации в них.
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311301
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да,логично. Тогда тоже подписываюсь,так бы одну всем базу завел и Вася-Кот 😀
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311317
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

главный вопрос по каким критериям компьютеры различать? По IP как-то стрёмно и не переносимо. По уму надо по имени пользователя забитого в коннект UserDatabase, но тогда ещё пользователей для этой БД администрировать придётся.
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311360
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да хоть по имени компа, например.
Которое в
Код: powershell
1.
net config workstation
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311582
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисo_v_a,

главный вопрос по каким критериям компьютеры различать? По IP как-то стрёмно и не переносимо. По уму надо по имени пользователя забитого в коннект UserDatabase, но тогда ещё пользователей для этой БД администрировать придётся.

Простого имени пользователя, без пароля и не привязанного ни к чему, достаточно.
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311599
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно, разрешаю.

Очевидный вариант: слить данные таблицы DATABASES в свою таблицу, а вместо DATABASES подсунуть свое обновляемое представление с тем же именем.

В принципе, могу проверять наличие в User Database представлений с префиксом "V_", например, и при их наличии работать с ними, а не с таблицами. Таким образом любому пользователю можно будет выдавать его персональную версию любых данных из User Database. При условии, конечно, что пользователи коннектятся к ней не под одним логином.
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311712
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, если конфиг IBExpert локально на компе хранит, то, видимо, каждому могу назначить вход под своим юзверем - это не проблема.
Идея про представления V_* интересная.
То есть, можно будет, видимо:
- сделать новую таблицу по формату аналогичную DATABASES, но с дополнительным полем USERNAME
- заполнить её данными из DATABASES существующими записями для всех планируемых USERNAME с нужными значениями имени пользователя
- сделать вьюхи на каждого юзера (V_VASYA и V_PETYA, например), которые делают выборку из DATABASES с учетом WHERE USERNAME='VASYA' или WHERE USERNAME='PETYA' соответственно.
И IBExpert будет научен при наличии вьюх V_* читать и писать регистрационную информацию через них?
Кстати, через SYSDBA, наверное, лучше безусловно впускать по стандартному алгоритму без использования вьюх.
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311715
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторкоторые делают выборку из DATABASES с учетом WHERE USERNAME=
... делают выборку из новой таблицы, по формату выходных полей аналогичную DATABASES
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311722
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a- сделать вьюхи на каждого юзера (V_VASYA и V_PETYA, например), которые делают выборку из DATABASES с учетом WHERE USERNAME='VASYA' или WHERE USERNAME='PETYA' соответственно.

на фига? Проще сделать одну вьюху V_DATABASE у которой будет условие WHERE USERNAME = CURRENT_USER или любое другое (IP, имя компа)
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311795
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aНу, если конфиг IBExpert локально на компе хранит, то, видимо, каждому могу назначить вход под своим юзверем - это не проблема.

Какой конфиг? Параметры коннекта к User Database? Они в виндовом реестре живут.

o_v_aИдея про представления V_* интересная.
То есть, можно будет, видимо:
- сделать новую таблицу по формату аналогичную DATABASES, но с дополнительным полем USERNAME
- заполнить её данными из DATABASES существующими записями для всех планируемых USERNAME с нужными значениями имени пользователя
- сделать вьюхи на каждого юзера (V_VASYA и V_PETYA, например), которые делают выборку из DATABASES с учетом WHERE USERNAME='VASYA' или WHERE USERNAME='PETYA' соответственно.
И IBExpert будет научен при наличии вьюх V_* читать и писать регистрационную информацию через них?

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

o_v_aКстати, через SYSDBA, наверное, лучше безусловно впускать по стандартному алгоритму без использования вьюх.

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

А с другой стороны, можно просто создать для каждого пользователя свою папку с нужными базами и все.
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311844
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё завелось.
Сделал копию существующей User Database.

-Скопировал таблицу со всеми потрохами DATABASES -> DATABASES1
-добавил новое поле в DATABASES1 : USERNAME
-закомментировал текст всех зависимых процедур
-создал просмотр DATABASES как select from DATABASES1 where USERNAME=CURRENT_USER
-раскомментировал текст всех зависимых процедур
-в DATABASE1 проставил значения USERNAME
-дал пользователям гранты на все объекты
-прописал в настройках использовать новую User Database и входы с разными именами пользователей
- Каждый увидел только то, что соответствует значению поля DATABASES1.USERNAME.

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

Так что мне не подходит этот вариант.
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311850
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть основной напряг при многопользовательской разработке - это то, что при открытии базы при восстановлении десктопа (штука-то удобная - галка есть в настройках!) восстанавливается десктоп последнего поработавшего с базой. А там может быть стопицод окошек, которые ваще ко мне отношения не имеют.
Я понимаю, есть пункт меню Окна - Закрыть все. Но тогда нафига десктоп восстанавливать?!
Вот от того и мысли вслух.
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311852
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хранить бы как-то настройки открытых окон с учетом юзверя - вот я о чем речь вёл. А регистрационная информация о базах - она должна быть единой для всех.
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311854
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что сделал ты неправильно. Читай выше про дополнительную таблицу.
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311856
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

ну так сделай вместо

where USERNAME=CURRENT_USER

вот так
where IP = RDB$GET_CONTEXT('SYSTEM', 'CLIENT_ADDRESS')
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311858
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И представление должно быть обновляемым, а не просто так.
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311863
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

кажется я не правильно понял о чём ты
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311873
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, да. Еще без одной доп таблицы с хранением информации о десктопе в разрезе юзверя не обойтись. Вырисовывается доп таблица плюс логика на триггерах на вставку/редактирование для представления.
Подумаю на досуге в этом направлении, если время будет.
Действительно все решается самостоятельно. Но если это было бы штатной фичей, то было бы, конечно, предпочтительнее :)
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311937
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aНо если это было бы штатной фичей, то было бы, конечно, предпочтительнее :)

Ну, понятно... И тыщу галочек для настройки под хотелки конкретного юзера. Не, штатно этого не будет.
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311969
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да вот не поверю я, что IBExpert исключительно используется отдельными разработчиками, а не целыми коллективами.
Да, несомненно, что все описанное выше актуально только при коллективной работе :)
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39311991
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_aДа вот не поверю я, что IBExpert исключительно используется отдельными разработчиками, а не целыми коллективами.
Да, несомненно, что все описанное выше актуально только при коллективной работе :)

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

И да, я тоже лентяй. А клепать "галочки в настроечках" терпеть ненавижу.
...
Рейтинг: 0 / 0
Сохранение информации об открытых окнах
    #39312077
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен. Выход найден. Тем более, что согласно первому сообщению я позиционировал проблему именно как "мысли вслух" :)
Всем спасибо за участие.
Как совсем надоест или будет время - реализую для своих коллег.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Сохранение информации об открытых окнах
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]