Утилита наката дизайна

fedotxxl

Well-Known Member
09.11.2005
614
0
#1
Возникла идея утилиты... возможно, уже такая есть - посоветуйте

Идея:
Есть база из которой в некий набор баз наследуются элементы дизайна. Если мы в эту базу вставим новый элемент, то нам придется распространять его ручками. Это неудобно и непрактично. Утилита будет сама актуализировать набор элементов дизайна

Есть такая? А то писать ее очень лень =)
 

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
#2
Есть база из которой в некий набор баз наследуются элементы дизайна. Если мы в эту базу вставим новый элемент, то нам придется распространять его ручками. Это неудобно и непрактично. Утилита будет сама актуализировать набор элементов дизайна
Если исходная база является шаблоном, то наследование идёт автоматом по ночам или вручную при refresh/replace. Зачем изобретать велосипед?
 

fedotxxl

Well-Known Member
09.11.2005
614
0
#3
А если из нужно наследовать часть элементов из одной базы, часть из другой, часть из третьей?

Еще такой вопрос - есть ли набор классов, который позволяет оперировать с элементами дизайна? А то возиться в dxl совершенно нет желания
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
#4
наследование идёт автоматом
Что бы наследование шло,надо сначала поместить этот элемент в destination базу, fedotxxl хочет это дело автоматизировать.
Я думаю спец утилитки такой нет, да и если есть, то тебя не удовлетворит скорее всего.

Я вижу дело так:
Есть база апдейтер, в ней есть документы-правила в которых указывается source база + элементы, которые надо пропогейтить.
Ну и списочек destination баз.

По кнопке строиться NotesNoteCollection из src базы, проверяется нет ли таких элеменов в dst базе и копируется всё это дело туда (с сохранением наследования или нет - в зависимости от желания).


Добавлено:
есть ли набор классов, который позволяет оперировать с элементами дизайна?
NotesNoteCollection - с головой хватит
 

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
#5
А если из нужно наследовать часть элементов из одной базы, часть из другой, часть из третьей?
Первый раз ручками, далее пойдёт автоматом по ночам. Refresh/replace в данном случае не помощник. В принципе сам сталкивался с подобным - добавляешь функцию в ЛС-библиотеку и вынужден дублировать её и в шаблоне и в отлаживаемом приложении, чтоб не ждать ночи. Подумывал об автоматизации, но руки не дошли.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 226
25
#6
fedotxxl
поделюсь тем, что я натворил
так как мну разработчик СЭДа то всем клиентам мне положено выдавать обновление
обновление выполнено в виде одной базы с одной кнопкой
внутри этой базы надоб документов вниутри которых аттач в виде шаблона необходимой базы
я запрещаю выкладывать шаблоны на сервер, поэтому
админ зайдя в базу клацает на кнопку "обновить"
она запрашивает лишь сервер и путь к каталогу
выкладывает все шаблоны из атачей доков
подписывает эти шаблоны
делает бекапы рабочик баз админу
обновляет рабочие базы по этим локальным шаблонам
шлет мне репорт
и все довольны

при необходимости если тебе нужно точечные ракетные удары по базам то юзай DXML это может красимо заменять нужные тебе элементы дизайна, но только не скомпилированные LS код, который при каждом открытии будет рекомпилироваться, что для LS не очень удобно, на крайнять рекомпил всей БД
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#7
обновление выполнено в виде одной базы с одной кнопкой
а ты это сам придумал или кто подсказал? :) это не стеб, мне интересно, просто, каждый проходит этот путь по-своему или все-таки делятся люди наработками

на крайнять рекомпил всей БД
а если дизайн скрыт? кака получится.

при необходимости если тебе нужно точечные ракетные удары по базам то юзай DXML
если надо делать такую операцию, то необходимо менять все дерево элементов, которые используют код.
 

fedotxxl

Well-Known Member
09.11.2005
614
0
#8
Omh
Да, идея-то у меня уже созрела... а вот реализация страдает =)

NotesNoteCollection - с головой хватит
Получу набор документов... дальше-то что? мне-бы классы обертки =)... лана, будем реализовывать так
 

fedotxxl

Well-Known Member
09.11.2005
614
0
#11
Давайте подробнее по идее и реализации:
есть база A, B, C. Это три похожие базы, но несколько разные (например, "Входящие", "Исходящие", "Внутренние"). В этих базах модули (элементы дизайна) поиска, маршрутизации, контроля доступа (это я наобум) одинаковые, а формы, некоторые библиотеки...
Допустим, в модуль поиска я добавил новую библиотеку. Теперь мне нужно перенести ручками эту библиотеку в A, B, C. Это плохо, т.к. здесь легко ошибиться. Нужно автоматизировать

Как мы будем автоматизировать:
1. Каждый модуль отдельная база - в одной базы элементы дизайна поиска, в другой - маршрутизации, в третьей - контроля доступа
2. База "Обновитель дизайна" содержит код, который обновляет дизайн + настоечные документы.
Настроечный документ - база источник, базы получатели, элементы, которые переносить, что делать потом (рефрешить дизайн, рекомпилировать)

Вот так должно быть...
Нужно будет писать класс обертку на элемент дизайна... здесь можно хорошо ошибиться
 

TIA

:-)
Lotus team
15.05.2009
790
3
#12
Теперь мне нужно перенести ручками эту библиотеку в A, B, C
А если не в А,В,С, а только в А,С и ещё в Е? Если есть формализованное правило, по которому ты сможешь ответить на этот вопрос, тогда сможешь и запрограммировать. Иначе придётся в каждом конкретном случае решать пользователю
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 226
25
#13
а ты это сам придумал или кто подсказал? это не стеб, мне интересно, просто, каждый проходит этот путь по-своему или все-таки делятся люди наработками
всё онли сам, стараюсь защищаться и перестраховываться от недалеких как только можно

fedotxxl
Как мы будем автоматизировать:
1. Каждый модуль отдельная база - в одной базы элементы дизайна поиска, в другой - маршрутизации, в третьей - контроля доступа
2. База "Обновитель дизайна" содержит код, который обновляет дизайн + настоечные документы.
Настроечный документ - база источник, базы получатели, элементы, которые переносить, что делать потом (рефрешить дизайн, рекомпилировать)
ну так, а в чем трабла то? :ph34r: