• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Иерархия Библиотек, Лишние Use (запилил Новую Версию)

  • Автор темы Omh
  • Дата начала
O

Omh

Ну я чесно точно не знаю
Мне эта информация нужна была, что бы потом вычислить obsolete uses.
Ну а раз инфа есть, то почему бы её не показать.

Ну а второе, иногда просто интересно, что там с библиотеками происходит.
У меня максимально 12 уровней библиотек :)
 
T

TIA

Перекомпиляцию библиотеки скриптов важно выполнять в последовательности их использования. Т.е. сначала библиотеки которые сами ничего не юзают - 1го уровня, затем которые юзают библиотеки 1го уровня и т.д. Для автоматической компиляции такая процедура ускоряет перекомпиляцию. И, вероятно, поэтому штатный "Recomplie All LotusScript" выполняет 2 прохода.
Практическое применение таблицы уровней придумал только такое. Допустим, внесено изменение в библ., которое требует перекомпиляции её использующих. Если не хочется ждать автоматической перекомпиляции и чувствуешь, что вручную получится быстрее, имея таблицу уровней можно вручную перекомпилировать необходимые библиотеки в правильной последовательности. Правда, орграф использования помог бы лучше, позволяя перекомпилировать только необходимые элементы дизайна. Реально же я предпочитаю пользоваться автоматической перекомпиляцией, но только самописной фоновой.

Аффтар, а ты для чего-то же делал эту таблицу?
 
O

Omh

Было свободное время и куча библиотек в базе.
В какой-то момент стало интересно, как они залинкованы.
Потом увидел, что таблицу можно заюзать для уборки лишних юзов.
Так и получилось...

Кста, могу прикрутить к тулузке кнопочку, которая отсортирует в выбраных биб-ках ф-ии по алфавиту.
Такое кого-либо интересует?
 
T

TIA

А "DB Administator\Advanced operations\Maintain script libraries" не тоже ли самое делает? У меня, кстати, на этой операции ошибка вылетает.
Тестировал под 7.0.2 и 8.0.2. Проявления идентичны.

В статус-баре "Invalid notes version"

---------------------------
DXLImporter log
---------------------------
<?xml version='1.0'?>
<DXLImporterLog>
<error source='NotesInputSource' line='3494' column='38'>Element 'code' is not valid for content model: '(noteinfo?,updatedby?,revisions?,wassignedby?,textproperties?,code*,item*)'</error>
<error source='NotesInputSource' line='3' column='2' id='7015'>Could not create the scriptlibrary note specified by the DXL because the maximum number of notes with the specified type or name are already in the database</error>
<error>DXL importer operation failed</error>
</DXLImporterLog>
---------------------------
OK
---------------------------

---------------------------
Error
---------------------------
MAINTIANELEMENTCODES: 53
DXL importer operation failed

Stack:
MAINTIANELEMENTCODES: 53
ACTION_CMP_SL_CODE_MAINTAIN: 100
ACTIONEXECUTE: 44
INITIALIZE: 36
---------------------------
OK
---------------------------
 
O

Omh

А "DB Administator\Advanced operations\Maintain script libraries" не тоже ли самое делает?
Именно. Прсто не думал, что кто-то полезет в такие дебри :)

Ошибки, которые выкидывают DXL классы очень редко решабельны.
На самом деле, там происходит следующее: выкидывается биб-ка в DXL, имена вычитываются и сортируются, биб-ка композиться обратно и импортируется.
Кое-где обратный процее не проходит.
Но, боюсь, если ты экспортнёшь эту библиотеку стандартным способом и потом её попробуешь импортировать (as is) тоже получишь ошибку.
Либо надо смотреть биб-ку, может какой-нить "плохой случай".

Я эту ф-ию использую практически ежедневно - как бы работает :)
 
T

TIA

Жаль. Из полезных, эта операция единственная, до автоматизации которой руки не дошли.
 
O

Omh

TIA
Если есть желание, можешь мне кинуть биб-ку (без тела ф-ий, только названия и declarations)?
Я посмотрю где косяк.
 
F

fedotxxl

Omh
Кста, могу прикрутить к тулузке кнопочку, которая отсортирует в выбраных биб-ках ф-ии по алфавиту.
Такое кого-либо интересует?
Т.е. перекомпилит библиотеку, отсортировав функции? если не сложно, то будет хорошо... Правда, думаю, с 8.5.1 необходимости не будет уже
 

VladSh

начинающий
Lotus Team
11.12.2009
1 786
157
BIT
80
Отчёт.

8 уровней вложенности из 78 библиотек. Линейный список.. я ожидал картинку с построением дерева (в прямом смысле слова) зависимостей, например, на худой конец, в Visio ))

Странная баго-фича: из показанных библиотек многие почему-то со старыми наименованиями, хотя в поле $TITLE название верное. Сама тулза придумать это не могла.. Значит надо где-то что-то поменять. А вот где??

На экран вылетета одна ошибка:
List item error:SCRIPTLIBRARIES_NEWDOCSTRUCT'НУЖЕН ДЛЯ НАСЛЕДУЮЩИХ БИБЛИОТЕК
в статусбаре таких сообщений 6 штук.
Реально такая библа не нужна, всё прекрасно компилится и работает.

Результаты (наклонным мои комменты):<!--QuoteBegin-"Unnacassary uses"+-->
<table border="0" cellpadding="0" cellspacing="0" align="center" width="98%"> [tr] <td class="vbquote"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="75" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="50px"> [tr] <td class="vbquote" width="28" valign="top">
quot-top-left.gif
</td> <td class="vbquote" width="100%" style="background-image: url('style_images/ckr/quotes/quote-bg.gif'); background-position: center;" valign="middle"><span class="vbquote">Цитата:</span></td> <td class="vbquote" valign="top">
quot-top-right.gif
</td> [/tr] </table> </td> <td class="vbquote" align="left" style="background-image: url('style_images/ckr/quotes/quot-lr-bg.gif')" valign="bottom"></td><td class="vbquote" width="0" align="left" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="200"> [tr] <td class="vbquote" valign="top">
quot-by-left.gif
</td> <td class="vbquote" width="100%" style="background-image: url('style_images/ckr/quotes/quot-bye-bg.gif')" align="left" valign="middle" nowrap="nowrap"><span class="vbquote">("Unnacassary uses")</span></td> <td class="vbquote" valign="top">
quot-by-right.gif
</td> [/tr] </table> </td><td class="vbquote" width="100%" align="right" valign="bottom"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="100%"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" style="background-image: url('style_images/ckr/quotes/quot-top-bg.gif')" width="100%" valign="middle"></td> <td class="vbquote" align="left" valign="top">
quot-top-right-10.gif
</td> [/tr] </table> </td> [/tr] </table> </td> [/tr] </table> <table border="0" cellpadding="0" cellspacing="0" width="100%"> [tr] <td class="vbquote" width="10" style="background-image: url('style_images/ckr/quotes/quoting-left.gif')"></td> <td class="vbquotemain" width="100%" valign="top"></td> <td class="vbquote" width="10" style="background-image: url('style_images/ckr/quotes/quoting-right.gif')"></td> [/tr] [tr] <td class="vbquote" width="10" style="background-image: url('style_images/ckr/quotes/quot-left-bg.gif')"></td> <td class="vbquotemain" width="100%" valign="top"><!--QuoteEBegin-->SCRIPTLIBRARIES IMAGEBASE
- DocLock - неверно, такого подключения в этой библе нет, есть внутри одной из подключаемых библ; убирать нельзя - не скомпилится

SCRIPTLIBRARIES PrikazAgentCarcass - такой библы уже 100 лет как нет, не знаю, откуда он её взял...
- Agents

SCRIPTLIBRARIES WF_Send - старое наименование, сейчас она называется WFSend
- Resp - подключение есть, но убрать нельзя - не скомпилится
- Agents - такого подключения нет; есть в вызываемых, но убирать его там нельзя<!--QuoteEnd--></td> [/tr] [tr] [/tr] </table> </td> [/tr] </table>
<!--QuoteEEnd-->Что-то всё это как-то странно...

P.S. Шаблон старый, создавался в пред, версиях Lotus. Чекал его под 8.5.2FP1.
Наверное надо что-то делать с либами, но где и что?..
 
A

Akupaka

<error source='NotesInputSource' line='3' column='2' id='7015'>Could not create the scriptlibrary note specified by the DXL because the maximum number of notes with the specified type or name are already in the database</error>
Столкнулся с такой же ошибкой, но у меня, оказывается, пара библиотек с одинаковым именем, как создались не знаю. Нотес такого не любит.
 

VladSh

начинающий
Lotus Team
11.12.2009
1 786
157
BIT
80
Omh
Что-то изменилось за последнее время? Есть ли уже построение иерархии библиотек?
 

savl

Lotus Team
28.10.2011
2 600
311
BIT
204
При анализе всегда теперь выдается последний уровень, пример:
2. level design elements
- PhoneDirectory_UI
3. level design elements
Третьего уровня нет.
Есть база с 3-мя уровнями, но там показывается 4.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!