|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
Почти что мысли вслух. Напомню, что у нас с одной User Database работаю куда больше одного человека. Соответственно, нельзя ли предусмотреть таки хранение информации об открытых окнах в контексте конкретного компа? На однопользователей это никак не повлияет, а при многопользовательской работе каждый разработчик своему комплекту окошек был бы очень рад при открытии баз... -- "И это пройдет" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 12:21 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
o_v_aПочти что мысли вслух. Напомню, что у нас с одной User Database работаю куда больше одного человека. Зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 12:49 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
Несколько сотен зарегистрированных баз - клиентских, тестовых, отладочных, релизных, БД актуальной разработки и т.п. И плюс распределенная по сотрудникам как разработка и техподдержка. Разработка - фиг бы с ней, всего одна актуальная база плюс последняя релизная. Но техподдержка... На нескольких компах нужна актуальная информация о базах клиентов. При таком количестве регистрационной информации обходиться общей User Database зело удобнее, чем держать несколько экземпляров User Database для каждого и заморачиваться с синхронизацией информации в них. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 14:54 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
Ну да,логично. Тогда тоже подписываюсь,так бы одну всем базу завел и Вася-Кот 😀 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 15:00 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
o_v_a, главный вопрос по каким критериям компьютеры различать? По IP как-то стрёмно и не переносимо. По уму надо по имени пользователя забитого в коннект UserDatabase, но тогда ещё пользователей для этой БД администрировать придётся. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 15:16 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
Да хоть по имени компа, например. Которое в Код: powershell 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 15:58 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
Симонов Денисo_v_a, главный вопрос по каким критериям компьютеры различать? По IP как-то стрёмно и не переносимо. По уму надо по имени пользователя забитого в коннект UserDatabase, но тогда ещё пользователей для этой БД администрировать придётся. Простого имени пользователя, без пароля и не привязанного ни к чему, достаточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 01:05 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
Можно, разрешаю. Очевидный вариант: слить данные таблицы DATABASES в свою таблицу, а вместо DATABASES подсунуть свое обновляемое представление с тем же именем. В принципе, могу проверять наличие в User Database представлений с префиксом "V_", например, и при их наличии работать с ними, а не с таблицами. Таким образом любому пользователю можно будет выдавать его персональную версию любых данных из User Database. При условии, конечно, что пользователи коннектятся к ней не под одним логином. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 04:55 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
Ну, если конфиг IBExpert локально на компе хранит, то, видимо, каждому могу назначить вход под своим юзверем - это не проблема. Идея про представления V_* интересная. То есть, можно будет, видимо: - сделать новую таблицу по формату аналогичную DATABASES, но с дополнительным полем USERNAME - заполнить её данными из DATABASES существующими записями для всех планируемых USERNAME с нужными значениями имени пользователя - сделать вьюхи на каждого юзера (V_VASYA и V_PETYA, например), которые делают выборку из DATABASES с учетом WHERE USERNAME='VASYA' или WHERE USERNAME='PETYA' соответственно. И IBExpert будет научен при наличии вьюх V_* читать и писать регистрационную информацию через них? Кстати, через SYSDBA, наверное, лучше безусловно впускать по стандартному алгоритму без использования вьюх. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:15 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
авторкоторые делают выборку из DATABASES с учетом WHERE USERNAME= ... делают выборку из новой таблицы, по формату выходных полей аналогичную DATABASES ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:17 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
o_v_a- сделать вьюхи на каждого юзера (V_VASYA и V_PETYA, например), которые делают выборку из DATABASES с учетом WHERE USERNAME='VASYA' или WHERE USERNAME='PETYA' соответственно. на фига? Проще сделать одну вьюху V_DATABASE у которой будет условие WHERE USERNAME = CURRENT_USER или любое другое (IP, имя компа) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:22 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
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, наверное, лучше безусловно впускать по стандартному алгоритму без использования вьюх. Это уже твоя проблема, которая вовсе и не проблема. Выбирай в своем представлении данные откуда хочешь и пиши куда хочешь по своему алгоритму. А с другой стороны, можно просто создать для каждого пользователя свою папку с нужными базами и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:31 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
Всё завелось. Сделал копию существующей User Database. -Скопировал таблицу со всеми потрохами DATABASES -> DATABASES1 -добавил новое поле в DATABASES1 : USERNAME -закомментировал текст всех зависимых процедур -создал просмотр DATABASES как select from DATABASES1 where USERNAME=CURRENT_USER -раскомментировал текст всех зависимых процедур -в DATABASE1 проставил значения USERNAME -дал пользователям гранты на все объекты -прописал в настройках использовать новую User Database и входы с разными именами пользователей - Каждый увидел только то, что соответствует значению поля DATABASES1.USERNAME. Но только одно НО , которое портит всю малину: вся фишка изначальная состояла в том, чтоб делить по юзверям только открытые окна, а сама регистрационная информация была бы общей. Так что мне не подходит этот вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 12:10 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
То есть основной напряг при многопользовательской разработке - это то, что при открытии базы при восстановлении десктопа (штука-то удобная - галка есть в настройках!) восстанавливается десктоп последнего поработавшего с базой. А там может быть стопицод окошек, которые ваще ко мне отношения не имеют. Я понимаю, есть пункт меню Окна - Закрыть все. Но тогда нафига десктоп восстанавливать?! Вот от того и мысли вслух. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 12:14 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
Хранить бы как-то настройки открытых окон с учетом юзверя - вот я о чем речь вёл. А регистрационная информация о базах - она должна быть единой для всех. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 12:15 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
Потому что сделал ты неправильно. Читай выше про дополнительную таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 12:17 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
o_v_a, ну так сделай вместо where USERNAME=CURRENT_USER вот так where IP = RDB$GET_CONTEXT('SYSTEM', 'CLIENT_ADDRESS') ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 12:18 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
И представление должно быть обновляемым, а не просто так. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 12:19 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
o_v_a, кажется я не правильно понял о чём ты ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 12:19 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
В общем, да. Еще без одной доп таблицы с хранением информации о десктопе в разрезе юзверя не обойтись. Вырисовывается доп таблица плюс логика на триггерах на вставку/редактирование для представления. Подумаю на досуге в этом направлении, если время будет. Действительно все решается самостоятельно. Но если это было бы штатной фичей, то было бы, конечно, предпочтительнее :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 12:28 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
o_v_aНо если это было бы штатной фичей, то было бы, конечно, предпочтительнее :) Ну, понятно... И тыщу галочек для настройки под хотелки конкретного юзера. Не, штатно этого не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 13:32 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
Да вот не поверю я, что IBExpert исключительно используется отдельными разработчиками, а не целыми коллективами. Да, несомненно, что все описанное выше актуально только при коллективной работе :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 14:14 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
o_v_aДа вот не поверю я, что IBExpert исключительно используется отдельными разработчиками, а не целыми коллективами. Да, несомненно, что все описанное выше актуально только при коллективной работе :) Причем тут это? Вот тебе нужны общие регистрации и отдельные списки форм для твоего коллектива. А другому будут нужны отдельные регистрации и отдельные списки запросов. Третьему захочется не показывать юзеру VASYA конкретную папку в эксплорере. И т.д. Мне этот геморрой нафиг не нужен, учитывая то, что каждый может рихтовать user database под себя как ему угодно. И да, я тоже лентяй. А клепать "галочки в настроечках" терпеть ненавижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 14:42 |
|
Сохранение информации об открытых окнах
|
|||
---|---|---|---|
#18+
Согласен. Выход найден. Тем более, что согласно первому сообщению я позиционировал проблему именно как "мысли вслух" :) Всем спасибо за участие. Как совсем надоест или будет время - реализую для своих коллег. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 16:29 |
|
|
start [/forum/topic.php?fid=42&msg=39311582&tid=1599216]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
others: | 281ms |
total: | 434ms |
0 / 0 |