0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 127
|
|
1 | |
Старый-старый Web09.05.2012, 18:01. Показов 11757. Ответов 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 | 2 |
<notesdata>/domino/html - базовый путь для веба
Добавлено: а ваще никто не отменял поиск файлов ;): -никсы locate -i <часть имени> -винда dir /s *<часть имени>*.*
0
|
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
|
|
09.05.2012, 23:27 | 3 |
скорее всего это тупо пейдж ;)
Добавлено: хотя вру ;) учитывая путь /Restr/SearchSprav_IE значит ищите вид Restr в нём должен светиться документ с ключом SearchSprav_IE это обычный док что характерно для сайта-конструктора под лотус
0
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 127
|
|
10.05.2012, 11:46 | 4 |
а если путь /Restr/Restr_IO.nsf/SearchSprav_IE?
Получается что берет из базы и искать все же стоит через дизайнер? Может кто-то занимался более ранними разработками под вэб и знает как библиотеки javascript подгружаются к форме?
0
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
10.05.2012, 12:37 | 5 |
первый слэш указывает на корень сайта...
и сразу идет имя скрипта , после первого имени Т.о. - если нет редайректов для сайта - то читаем мой первый пост Добавлено:
Сообщение от doka
Добавлено: в дополнение, могут быть определены: -форма с таким именем -вьюшка, а для неё темплэйт форма -пэдж ... м.б. др. эелементы при выводе этих элементов - тоже возможны "фокусы" с перенаправлением возможен и агент (но тут не помню про ограничения, при вызове)
0
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 127
|
|
10.05.2012, 13:36 | 6 |
не, редиректов нет.
А сам принцип разъяните пожалуйста. Вот я в script libraries создал библиотеку с типом javascript, как она подгружается к форме? Просто в дизайнере нет элемента с именем или алиасом SearchSprav_IE, но есть библиотека "Web SearchSprav_IE" с типом javascript. Я понимаю что код берется оттуда, но не догоняю как.
0
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
10.05.2012, 14:12 | 7 |
посмотри в дизайнере в поле $TITLE алиасы у этой js либы.
0
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 127
|
|
10.05.2012, 16:11 | 8 |
;) гр...ный 8.5.3! ;)
Вопрос снят, всем спасибо за участие
0
|
0 / 0 / 0
Регистрация: 26.06.2006
Сообщений: 143
|
|
13.05.2012, 13:49 | 9 |
При работе с классическими веб приложениями на Лотусе (когда используются формы и агенты 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_SCRIPT); if (includeDocuments) exportDesignElements(ELEMENT_TYPE_DOCUMENT); if (includeFolders) exportDesignElements(ELEMENT_TYPE_FOLDER); if (includeForms) exportDesignElements(ELEMENT_TYPE_FORM); if (includeFramesets) exportDesignElements(ELEMENT_TYPE_FRAMESET); if (includeHelpAbout) exportDesignElements(ELEMENT_TYPE_HELP_ABOUT); if (includeHelpIndex) exportDesignElements(ELEMENT_TYPE_HELP_INDEX); if (includeHelpUsing) exportDesignElements(ELEMENT_TYPE_HELP_USING); if (includeIcon) exportDesignElements(ELEMENT_TYPE_ICON); if (includeImageResources) exportDesignElements(ELEMENT_TYPE_IMAGE_RESOURCE); if (includeJavaResources) exportDesignElements(ELEMENT_TYPE_JAVA_RESOURCE); if (includeMiscCode) exportDesignElements(ELEMENT_TYPE_MISC_CODE); if (includeMiscFormatElements) exportDesignElements(ELEMENT_TYPE_MISC_FORMAT); if (includeMiscIndexElements) exportDesignElements(ELEMENT_TYPE_MISC_INDEX); if (includeNavigators) exportDesignElements(ELEMENT_TYPE_NAVIGATOR); if (includeOutlines) exportDesignElements(ELEMENT_TYPE_OUTLINE); if (includePages) exportDesignElements(ELEMENT_TYPE_PAGE); if (includeProfiles) exportDesignElements(ELEMENT_TYPE_PROFILE); if (includeReplicationFormulas) exportDesignElements(ELEMENT_TYPE_REP_FORMULA); if (includeSharedFields) exportDesignElements(ELEMENT_TYPE_SHARED_FIELD); if (includeStyleSheetResources) exportDesignElements(ELEMENT_TYPE_STYLESHEET); if (includeScriptLibraries) exportDesignElements(ELEMENT_TYPE_SCRIPT_LIBRARY); if (includeSubforms) exportDesignElements(ELEMENT_TYPE_SUBFORM); 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 | 10 |
а просто ЛС скриптом не проще? ;)
0
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
14.05.2012, 12:17 | 11 |
Сообщение от ToxaRat
base64 глюкавый, ф-ционал языка часто ограничен... и путь вендора (в ком это веке) стал просматриваться - аппсервер подняли, код можно писать "один" (а не отдельно для каждого устройства отображения), js фрэймворк... т.е. - LS терь тока для поддержки старых приложений и тех кто не хочет перестраиваться
0
|
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
|
|
14.05.2012, 19:18 | 12 |
Сообщение от lmike
смысл вообще декодировать?
0
|
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
|
|
15.05.2012, 14:00 | 13 |
Сообщение от ToxaRat
0
|
15.05.2012, 14:00 | |
15.05.2012, 14:00 | |
Помогаю со студенческими работами здесь
13
Старый домен Старый мост Старый биос Старый компьютер Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |