|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 127
|
|
Старый-старый Web09.05.2012, 18:01. Показов 12004. Ответов 12
Метки нет (Все метки)
Здравствуйте!
Стою на асфальте и лыжи не едут... Столкнулся с необходимостью дописать старую библиотеку javascript. Но что-то не могу физически найти ее в дизайнере. На форме путь прописан <script src=/Restr/SearchSprav_IE></script>. На сервере порылся в папках тоже не нашел. Подскажите, где искать файл SearchSprav_IE? И каким образом скриптовые библиотеки подтягиваются на форму в вэбе? Если не ошибаюсь, в xpages библиотеки содаются в дизайнере и потом подтягиваются, а это схемка не понятна.
0
|
|
| 09.05.2012, 18:01 | |
|
Ответы с готовыми решениями:
12
Новые поля в доке, старый поля в доке .... Новый сайт на старый домен или старый перекраивать ? старый ПК |
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
| 09.05.2012, 20:39 | |
|
<notesdata>/domino/html - базовый путь для веба
Добавлено: а ваще никто не отменял поиск файлов ;): -никсы locate -i <часть имени> -винда dir /s *<часть имени>*.*
0
|
|
|
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
|
|
| 09.05.2012, 23:27 | |
|
скорее всего это тупо пейдж ;)
Добавлено: хотя вру ;) учитывая путь /Restr/SearchSprav_IE значит ищите вид Restr в нём должен светиться документ с ключом SearchSprav_IE это обычный док что характерно для сайта-конструктора под лотус
0
|
|
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 127
|
|
| 10.05.2012, 11:46 | |
|
а если путь /Restr/Restr_IO.nsf/SearchSprav_IE?
Получается что берет из базы и искать все же стоит через дизайнер? Может кто-то занимался более ранними разработками под вэб и знает как библиотеки javascript подгружаются к форме?
0
|
|
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
||
| 10.05.2012, 12:37 | ||
|
первый слэш указывает на корень сайта...
и сразу идет имя скрипта , после первого имени Т.о. - если нет редайректов для сайта - то читаем мой первый пост Добавлено:
Добавлено: в дополнение, могут быть определены: -форма с таким именем -вьюшка, а для неё темплэйт форма -пэдж ... м.б. др. эелементы при выводе этих элементов - тоже возможны "фокусы" с перенаправлением возможен и агент (но тут не помню про ограничения, при вызове)
0
|
||
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 127
|
|
| 10.05.2012, 13:36 | |
|
не, редиректов нет.
А сам принцип разъяните пожалуйста. Вот я в script libraries создал библиотеку с типом javascript, как она подгружается к форме? Просто в дизайнере нет элемента с именем или алиасом SearchSprav_IE, но есть библиотека "Web SearchSprav_IE" с типом javascript. Я понимаю что код берется оттуда, но не догоняю как.
0
|
|
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
| 10.05.2012, 14:12 | |
|
посмотри в дизайнере в поле $TITLE алиасы у этой js либы.
0
|
|
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 127
|
|
| 10.05.2012, 16:11 | |
|
;) гр...ный 8.5.3! ;)
Вопрос снят, всем спасибо за участие
0
|
|
|
0 / 0 / 0
Регистрация: 26.06.2006
Сообщений: 143
|
|
| 13.05.2012, 13:49 | |
|
При работе с классическими веб приложениями на Лотусе (когда используются формы и агенты WeQueryOpen/WebQuerySave) иногда необходимо выяснить где (в каких формах, сабформах) используется какая-нибудь JavaScriptовая библиотека или функция из этой библиотеки.
Если библиотека вставлена в форму/сабформу как ресурс в onLoad/JS Header (или если в эти элементы вставлен JavaScript код), то стандартный поиск по базе ничего не найдет и помогает толька выгрузка всех элементов дизайна с помощью DXL, раскодирование данных в <rawitemdata> из Base64 и последующий поиск по содержимому файлов. Вот код агента, экпортирующий элементы дизайна: Код (C++): import lotus.domino.*; import java.io.*; import sun.misc.BASE64Decoder; public class JavaAgent extends AgentBase { private final String exportDir = "c:\\dxl\\"; private final String serverName = "your_server_name"; private final String databaseName = "path_to_your_db"; private final boolean includeAcl = true; private final boolean includeActions = true; private final boolean includeAgents = true; private final boolean includeDbScript = true; private final boolean includeDocuments = true; private final boolean includeFolders = true; private final boolean includeForms = true; private final boolean includeFramesets = true; private final boolean includeHelpAbout = true; private final boolean includeHelpIndex = true; private final boolean includeHelpUsing = true; private final boolean includeIcon = true; private final boolean includeImageResources = true; private final boolean includeJavaResources = true; private final boolean includeMiscCode = true; private final boolean includeMiscFormatElements = true; private final boolean includeMiscIndexElements = true; private final boolean includeNavigators = true; private final boolean includeOutlines = true; private final boolean includePages = true; private final boolean includeProfiles = true; private final boolean includeReplicationFormulas = true; private final boolean includeSharedFields = true; private final boolean includeStyleSheetResources = true; private final boolean includeSubforms = true; private final boolean includeScriptLibraries = true; private final boolean includeViews = true; private final String ELEMENT_TYPE_ACL = "Acl"; private final String ELEMENT_TYPE_ACTION = "Actions"; private final String ELEMENT_TYPE_AGENT = "Agents"; private final String ELEMENT_TYPE_DB_SCRIPT = "DatabaseScript"; private final String ELEMENT_TYPE_DOCUMENT = "Documents"; private final String ELEMENT_TYPE_FOLDER = "Folders"; private final String ELEMENT_TYPE_FORM = "Forms"; private final String ELEMENT_TYPE_FRAMESET = "Framsets"; private final String ELEMENT_TYPE_HELP_ABOUT = "HelpAbout"; private final String ELEMENT_TYPE_HELP_INDEX = "HelpIndex"; private final String ELEMENT_TYPE_HELP_USING = "HelpUsing"; private final String ELEMENT_TYPE_ICON = "Icon"; private final String ELEMENT_TYPE_IMAGE_RESOURCE = "ImageResources"; private final String ELEMENT_TYPE_JAVA_RESOURCE = "JavaResources"; private final String ELEMENT_TYPE_MISC_CODE = "MiscCode"; private final String ELEMENT_TYPE_MISC_FORMAT = "MiscFormat"; private final String ELEMENT_TYPE_MISC_INDEX = "MiscIndex"; private final String ELEMENT_TYPE_NAVIGATOR = "Navigator"; private final String ELEMENT_TYPE_OUTLINE = "Outlines"; private final String ELEMENT_TYPE_PAGE = "Pages"; private final String ELEMENT_TYPE_PROFILE = "Profiles"; private final String ELEMENT_TYPE_REP_FORMULA = "ReplicationFormulas"; private final String ELEMENT_TYPE_SHARED_FIELD = "SharedFields"; private final String ELEMENT_TYPE_STYLESHEET = "StyleSheets"; private final String ELEMENT_TYPE_SUBFORM = "Subforms"; private final String ELEMENT_TYPE_SCRIPT_LIBRARY = "ScriptLibraries"; private final String ELEMENT_TYPE_VIEW = "Views"; private Session session; private Database db; private DxlExporter exporter; public void NotesMain() { try { session = getSession(); db = session.getDatabase(serverName, databaseName); if (db == null) { System.out.println("Cant open remote database"); return; } exporter = session.createDxlExporter(); exporter.setForceNoteFormat(true); if (includeAcl) exportDesignElements(ELEMENT_TYPE_ACL); if (includeActions) exportDesignElements(ELEMENT_TYPE_ACTION ); if (includeAgents) exportDesignElements(ELEMENT_TYPE_AGENT) ; if (includeDbScript) exportDesignElements(ELEMENT_TYPE_DB_SCR IPT); if (includeDocuments) exportDesignElements(ELEMENT_TYPE_DOCUME NT); if (includeFolders) exportDesignElements(ELEMENT_TYPE_FOLDER ); if (includeForms) exportDesignElements(ELEMENT_TYPE_FORM); if (includeFramesets) exportDesignElements(ELEMENT_TYPE_FRAMES ET); if (includeHelpAbout) exportDesignElements(ELEMENT_TYPE_HELP_A BOUT); if (includeHelpIndex) exportDesignElements(ELEMENT_TYPE_HELP_I NDEX); if (includeHelpUsing) exportDesignElements(ELEMENT_TYPE_HELP_U SING); if (includeIcon) exportDesignElements(ELEMENT_TYPE_ICON); if (includeImageResources) exportDesignElements(ELEMENT_TYPE_IMAGE_ RESOURCE); if (includeJavaResources) exportDesignElements(ELEMENT_TYPE_JAVA_R ESOURCE); if (includeMiscCode) exportDesignElements(ELEMENT_TYPE_MISC_C ODE); if (includeMiscFormatElements) exportDesignElements(ELEMENT_TYPE_MISC_F ORMAT); if (includeMiscIndexElements) exportDesignElements(ELEMENT_TYPE_MISC_I NDEX); if (includeNavigators) exportDesignElements(ELEMENT_TYPE_NAVIGA TOR); if (includeOutlines) exportDesignElements(ELEMENT_TYPE_OUTLIN E); if (includePages) exportDesignElements(ELEMENT_TYPE_PAGE); if (includeProfiles) exportDesignElements(ELEMENT_TYPE_PROFIL E); if (includeReplicationFormulas) exportDesignElements(ELEMENT_TYPE_REP_FO RMULA); if (includeSharedFields) exportDesignElements(ELEMENT_TYPE_SHARED _FIELD); if (includeStyleSheetResources) exportDesignElements(ELEMENT_TYPE_STYLES HEET); if (includeScriptLibraries) exportDesignElements(ELEMENT_TYPE_SCRIPT _LIBRARY); if (includeSubforms) exportDesignElements(ELEMENT_TYPE_SUBFOR M); if (includeViews) exportDesignElements(ELEMENT_TYPE_VIEW); } catch(Exception e) { e.printStackTrace(); } } // main export stub public void exportDesignElements(String designElementType) { NoteCollection nc = null; try { nc = db.createNoteCollection(false); if (designElementType == ELEMENT_TYPE_ACL) nc.setSelectAcl(true); if (designElementType == ELEMENT_TYPE_ACTION) nc.setSelectActions(true); if (designElementType == ELEMENT_TYPE_AGENT) nc.setSelectAgents(true); if (designElementType == ELEMENT_TYPE_DB_SCRIPT) nc.setSelectDatabaseScript(true); if (designElementType == ELEMENT_TYPE_DOCUMENT) nc.setSelectDocuments(true); if (designElementType == ELEMENT_TYPE_FOLDER) nc.setSelectFolders(true); if (designElementType == ELEMENT_TYPE_FORM) nc.setSelectForms(true); if (designElementType == ELEMENT_TYPE_FRAMESET) nc.setSelectFramesets(true); if (designElementType == ELEMENT_TYPE_HELP_ABOUT) nc.setSelectHelpAbout(true); if (designElementType == ELEMENT_TYPE_HELP_INDEX) nc.setSelectHelpIndex(true); if (designElementType == ELEMENT_TYPE_HELP_USING) nc.setSelectHelpUsing(true); if (designElementType == ELEMENT_TYPE_ICON) nc.setSelectIcon(true); if (designElementType == ELEMENT_TYPE_IMAGE_RESOURCE) nc.setSelectImageResources(true); if (designElementType == ELEMENT_TYPE_JAVA_RESOURCE) nc.setSelectJavaResources(true); if (designElementType == ELEMENT_TYPE_MISC_CODE) nc.setSelectMiscCodeElements(true); if (designElementType == ELEMENT_TYPE_MISC_FORMAT) nc.setSelectMiscFormatElements(true); if (designElementType == ELEMENT_TYPE_MISC_INDEX) nc.setSelectMiscIndexElements(true); if (designElementType == ELEMENT_TYPE_NAVIGATOR) nc.setSelectNavigators(true); if (designElementType == ELEMENT_TYPE_OUTLINE) nc.setSelectOutlines(true); if (designElementType == ELEMENT_TYPE_PAGE) nc.setSelectPages(true); if (designElementType == ELEMENT_TYPE_PROFILE) nc.setSelectProfiles(true); if (designElementType == ELEMENT_TYPE_REP_FORMULA) nc.setSelectReplicationFormulas(true); if (designElementType == ELEMENT_TYPE_SHARED_FIELD) nc.setSelectSharedFields(true); if (designElementType == ELEMENT_TYPE_STYLESHEET) nc.setSelectStylesheetResources(true); if (designElementType == ELEMENT_TYPE_SCRIPT_LIBRARY) nc.setSelectScriptLibraries(true); if (designElementType == ELEMENT_TYPE_SUBFORM) nc.setSelectSubforms(true); if (designElementType == ELEMENT_TYPE_VIEW) nc.setSelectViews(true); nc.buildCollection(); int nDesignElements = nc.getCount(); System.out.println("Exporting " + designElementType + " (" + nDesignElements + " element(s))..."); int nNote = 1; String noteId = nc.getFirstNoteID(); while (nNote <= nDesignElements) { System.out.print("Processing doc " + nNote + " of " + nDesignElements + " (NoteId: " + noteId + ")... "); Document noteDoc = db.getDocumentByID(noteId); if (noteDoc != null) { String designElementName = getDesignElementName(noteDoc); String originalFile = exportDir + "original\\" + designElementType + "\\" + designElementName + ".xml"; String decodedFile = exportDir + "decoded\\" + designElementType + "\\" + designElementName + ".txt"; String dxlData = exporter.exportDxl(noteDoc); String decodedDxlData = decodeRawItemData(dxlData); exportDataToFile(originalFile, dxlData); exportDataToFile(decodedFile, decodedDxlData); System.out.println("Done"); } else { System.out.println("ERROR: Cant get document with NoteID " + noteId); } noteDoc.recycle(); nNote++; noteId = nc.getNextNoteID(noteId); } nc.recycle(); } catch(Exception e) { e.printStackTrace(); } } // finds and decodes text between <rawitemdata ...> and </rawitemdata> public String decodeRawItemData(String fileContents) { int startPos = 0; try { while (fileContents.indexOf("<rawitemdata", startPos) != -1) { int rawItem_Start = fileContents.indexOf("<rawitemdata", startPos); int encodedData_Start = fileContents.indexOf(">", rawItem_Start) + 1; int encodedData_End = fileContents.indexOf("</rawitemdata", encodedData_Start); String rawData = fileContents.substring(encodedData_Start , encodedData_End); BASE64Decoder decoder = new BASE64Decoder(); byte[] bDecodedData = decoder.decodeBuffer(rawData); String strDecodedData = new String(bDecodedData); String strStart = fileContents.substring(0, encodedData_Start); String strEnd = fileContents.substring(encodedData_End); fileContents = strStart + strDecodedData + strEnd; startPos = rawItem_Start + 1; } } catch (IOException e) { e.printStackTrace(); } return fileContents; } // create file name from title or documents UNID public String getDesignElementName(Document noteDoc) { String elementName = ""; try { if (noteDoc.hasItem("$Title")) { // if title is available - use it as file name elementName = noteDoc.getItemValueString("$Title"); // replace characters disallowed in file name elementName = elementName.replaceAll("[\\\\|\\/:\"*?<>+|\n\r\t\f\0]", ""); } else { // if title is unavailable - use UNID elementName = noteDoc.getUniversalID(); } } catch (NotesException e) { e.printStackTrace(); } return elementName; } // save data to file public int exportDataToFile(String pathToFile, String dataToExport) { createDirectories(pathToFile); int nWrittenBytes = 0; Stream stream; try { stream = session.createStream(); if (stream.open(pathToFile)) { stream.truncate(); nWrittenBytes = stream.writeText(dataToExport); stream.close(); stream.recycle(); if (nWrittenBytes == 0) { System.out.println("ERRROR: Zero bytes were written to file"); } } else { System.out.println("ERROR: Cant create file " + pathToFile); } } catch (NotesException e) { e.printStackTrace(); } return nWrittenBytes; } public void createDirectories(String pathToDir) { // get full path without file name int lastSlashPos = pathToDir.lastIndexOf("\\"); if (lastSlashPos != -1) { String dirPath = pathToDir.substring(0, lastSlashPos); File file = new File(dirPath); if (!file.exists()) { boolean isCreated = new File(dirPath).mkdirs(); if (isCreated == false) { System.out.println("ERROR: Cant create required directory: " + dirPath); } } } } } В начале агента задается: 1. Директория, куда выгружаются данные (exportDir) 2. Имя сервера (serverName) 3. Имя базы (databaseName) 4. Желаемые для выгрузки элементы дизайна (include... = true/false)
0
|
|
|
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
|
|
| 13.05.2012, 19:27 | |
|
а просто ЛС скриптом не проще? ;)
0
|
|
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
||
| 14.05.2012, 12:17 | ||
base64 глюкавый, ф-ционал языка часто ограничен... и путь вендора (в ком это веке) стал просматриваться - аппсервер подняли, код можно писать "один" (а не отдельно для каждого устройства отображения), js фрэймворк... т.е. - LS терь тока для поддержки старых приложений и тех кто не хочет перестраиваться
0
|
||
|
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
|
||
| 14.05.2012, 19:18 | ||
смысл вообще декодировать?
0
|
||
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
||
| 15.05.2012, 14:00 | ||
0
|
||
| 15.05.2012, 14:00 | |
|
Помогаю со студенческими работами здесь
13
Старый джостик Старый домен
Старый биос Старый компьютер Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|