Дошли руки выложить известную всем информацию о порядке вызова событий.
пятница, 27 сентября 2019 г.
Как запретить в OpenUI пользователю отключать сообщения об ошибках
Как только появился OpenUI, в некоторых браузерах появилась возможность отключить вывод ошибок. Это приводило к тому что пользователь мог просто установить галочку, "Заппретить этому сайту выводить сообщения". В этом случае окна с ошибками более не выводились, от слова "совсем".
Выглядело это так:

Соответственно требовалось убрать эту галочку.
Чтобы это сделать, нужно в коде OpenUI переопределить метод alert следующим образом:
Выглядит окно примерно так:

Выглядело это так:

Соответственно требовалось убрать эту галочку.
Чтобы это сделать, нужно в коде OpenUI переопределить метод alert следующим образом:
В этом случае, когда OpenUI попытается вывести ошибку он обратиться к этому переопределению и будет выведено модальное окно без возможности отключения.
function alert(str){
$("<div id='my_error'>" + str + "</div>").dialog({
title: "Внимание",
modal: true,
buttons: [{ id: "btn-accept",
text: "Ok", click: function () { $(this).dialog("close");
}}]
});
}
Выглядит окно примерно так:
Использование Sleep в Siebel
Иногда требуется во время процесса сделать его приостановку на некоторое время.
Стандартный метод Sleep на бизнес-сервисе Workflow Utilities работает не совсем так, как мы ожидаем, т.е. при его вызове никакого ожидания не происходит. Ниже я перечислю несколько способов сделать Sleep, некоторые простые, некоторые необычные.
Стандартный метод Sleep на бизнес-сервисе Workflow Utilities работает не совсем так, как мы ожидаем, т.е. при его вызове никакого ожидания не происходит. Ниже я перечислю несколько способов сделать Sleep, некоторые простые, некоторые необычные.
Как быстро найти нужный лог в папке с логами.
Очень часто возникает ситуация, что нужно получить от заказчика файл с логом, при этом заказчик не понимает, какой именно файл вам нужен.
понедельник, 2 июля 2018 г.
Преобразование даты в XML формат.
Очень часто требуется преобразовать дату в формат XML (YYYY-MM-DD HH24:MI:SS)
Есть несколько способов это сделать:
Есть несколько способов это сделать:
- Использовать выражение(Expression) для преобразования.
Плюсы:
- при использовании мэппинга(DTE) не возникает ошибка преобразования дат ()
Минусы:
- нужно использовать мэппинг(DTE).
- человеческий фактор, при добавлении новых полей с датой, необходимо помнить о необходимости их преобразования.
Пример выражения.
Right([Date of Birth], 4) + "-" + Left([Date of Birth], 2) + "-" + Mid([Date of Birth], 4, 2) - Использовать входной аргумент "UTCCanonical" при вызове сервиса EAI Siebel Adapter
Плюсы:
- Автоматическое преобразование формата для всех полей с типом дата.
- Не требуется мэппинг данных (DTE)
Минусы:
- При использовании мэппинга, в случае если будет происходить мэппинг из полученного таким образом компонента, поля с датами будут иметь не корректные значения.
(Doc ID 1073574.1)
(Doc ID 1258715.1)
| Тип данных на поле в IC | UTCCanonical=N | UTCCanonical=Y |
|---|---|---|
| DTYPE_UTCDATETIME | 05/31/2018 12:41:19 | 2018-05-31T12:41:19Z |
| DTYPE_DATETIME | 05/31/2018 12:41:19 | 2018-05-31 12:41:19 |
| DTYPE_DATE | 05/31/2018 | 2018-05-31 |
суббота, 9 июня 2018 г.
О том, как Siebel размещает вложения(Attachment) в своей файловой системе
Решил сделать перевод раздела Bookshelf, касающегося хранения вложений.
Рассмотрю здесь оба варианта: загрузка и скачивание.
О том, как устроена загрузка вложений в Siebel.
Когда пользователь сохраняет файл в файловую систему Siebel(Siebel File System), файл копируется из клиентской машины пользователя и передаётся в Siebel Server. Протокол передачи данных зависит от настроек Web сервера, а также от того какой протокол использовал Web клиент, например это может быть HTTP или HTTPS. Далее серверная компонента File System Manager (alias FSMSrvr) сжимает файл и сохраняет сжатый файл в файловую систему Siebel. Сжатие файлов и их переименование при сохранении полностью автоматические и зашиты в File System Manager (alias FSMSrvr).
О том, как Siebel отдаёт файлы из своей файловой системы пользователю.
Когда пользователь пытается скачать файл, хранящийся в файловой системе Siebel(например щелкнув по ссылке на вложении), серверная компонента File System Manager (alias FSMSrvr) обрабатывает этот запрос. Компонента взаимодействует с директориями файловой системы Siebel для получения файла и отправки его пользователю. Также как и при загрузке протокол отправки данных определяется способом подключения Web клиента к Web серверу. Обычно файл передаётся Web клиенту в сжатом виде. Но в некоторых случаях файл может быть передан в несжатом виде.
В следующих случаях файл передаётся несжатым:
Файловая система Siebel может быть как в одном каталоге, так и распределена между различными устройствами/директориями. В данном случае речь идет не о разбиении больших объёмов данных между разделами для хранения(это когда большие файлы размещаются не на одном ресурсе, а на нескольких по частям).
Директории для хранения данных указываются в параметре Siebel
File System (alias FileSystem) Предприятия(Enterprise)/серверной компоненты. Пути указываются через запятую. Если Siebel развернут на нескольких серверах, то рекомендуется использовать сетевые пути (например: "\\ds1\sfs,\\ds2\sfs,\\ds3\sfs") . Сетевой доступ на чтение и запись к данным директориям должен быть предоставлен пользователю, под которым запущен Siebel Server.
При запуске серверная компонента File System Manager (alias FSMSrvr) проверяет доступность всех директорий перечисленных в параметре Siebel File System (alias FileSystem). При сохранении вложения(Attachment) FSMSrvr размещает файл в одной из доступных директорий. Если выбранная директория недоступна, то FSMSrvr пишет в свой лог соответствующую ошибку и пытается записать файл в другую доступную директорию, если же ни один из путей не доступен, то в лог пишется соответствующая запись и возвращается ошибка.
Нужно понимать, что рано или поздно свободное место в одной из директорий может подойти к концу. В этом случае необходимо выделить новую директорию и запустить утилиту sfspartition, перераспределит хранящиеся в директориях файлы.
О том, как корректно распределять файлы между директориями файловой системы Siebel.
Сначала разберёмся какие параметры есть у утилиты sfspartition
Перед использованием утилиты sfspartition убедитесь, что для именуемой подсистемы ServerDataSrc параметр DSFileSystem равен *FSM*.
Установите значение параметра предприятия/компоненты Siebel File System (alias FileSystem) в новое значение, перечислив там пути к директориям файловой системы Siebel, пути должны быть перечислены через запятую, пробела после запятой быть не должно, бэкслеш в путях должен быть экранирован вторым бэкслешем. (Например: \\\\server1\\siebelFS1,"\\\\server1\\dir with space in name",\\\\server2\\siebelFS3,"\\\\server3\\new fsdir1")
Обратите особое внимание, что порядок директорий не должен меняться, т.е. если при вызове утилиты вы указали \\s1\d1,\\s1\d2,\\s2\d1, то в парметре Siebel File System (alias FileSystem) директории должны быть перечислены в том же порядке.(\\\\s1\\d1,\\\\s1\\d2,\\\\s2\\d1)
После запуска утилита перераспределит файлы из директорий, перечисленных в параметре /O в директории, перечисленные в параметре /F.
Рассмотрю здесь оба варианта: загрузка и скачивание.
О том, как устроена загрузка вложений в Siebel.
Когда пользователь сохраняет файл в файловую систему Siebel(Siebel File System), файл копируется из клиентской машины пользователя и передаётся в Siebel Server. Протокол передачи данных зависит от настроек Web сервера, а также от того какой протокол использовал Web клиент, например это может быть HTTP или HTTPS. Далее серверная компонента File System Manager (alias FSMSrvr) сжимает файл и сохраняет сжатый файл в файловую систему Siebel. Сжатие файлов и их переименование при сохранении полностью автоматические и зашиты в File System Manager (alias FSMSrvr).
О том, как Siebel отдаёт файлы из своей файловой системы пользователю.
Когда пользователь пытается скачать файл, хранящийся в файловой системе Siebel(например щелкнув по ссылке на вложении), серверная компонента File System Manager (alias FSMSrvr) обрабатывает этот запрос. Компонента взаимодействует с директориями файловой системы Siebel для получения файла и отправки его пользователю. Также как и при загрузке протокол отправки данных определяется способом подключения Web клиента к Web серверу. Обычно файл передаётся Web клиенту в сжатом виде. Но в некоторых случаях файл может быть передан в несжатом виде.
В следующих случаях файл передаётся несжатым:
- Файл имеет расширение .zip, .z, .tgz, .gz, .gif, .jpg, .jpeg
- Web браузер клиента не поддерживает сжатие
- Параметр текущей серверной компоненты(например FINS Object Manager) Compressed File Download (alias CompressedFileDownload) установлен в значение False.
- Если используется Siebel Mobile Web Client, то сжатие настраивается параметром CompressedFileDownload в секции [InfraUIFramework]
Файловая система Siebel может быть как в одном каталоге, так и распределена между различными устройствами/директориями. В данном случае речь идет не о разбиении больших объёмов данных между разделами для хранения(это когда большие файлы размещаются не на одном ресурсе, а на нескольких по частям).
Директории для хранения данных указываются в параметре Siebel
File System (alias FileSystem) Предприятия(Enterprise)/серверной компоненты. Пути указываются через запятую. Если Siebel развернут на нескольких серверах, то рекомендуется использовать сетевые пути (например: "\\ds1\sfs,\\ds2\sfs,\\ds3\sfs") . Сетевой доступ на чтение и запись к данным директориям должен быть предоставлен пользователю, под которым запущен Siebel Server.
При запуске серверная компонента File System Manager (alias FSMSrvr) проверяет доступность всех директорий перечисленных в параметре Siebel File System (alias FileSystem). При сохранении вложения(Attachment) FSMSrvr размещает файл в одной из доступных директорий. Если выбранная директория недоступна, то FSMSrvr пишет в свой лог соответствующую ошибку и пытается записать файл в другую доступную директорию, если же ни один из путей не доступен, то в лог пишется соответствующая запись и возвращается ошибка.
Нужно понимать, что рано или поздно свободное место в одной из директорий может подойти к концу. В этом случае необходимо выделить новую директорию и запустить утилиту sfspartition, перераспределит хранящиеся в директориях файлы.
О том, как корректно распределять файлы между директориями файловой системы Siebel.
Сначала разберёмся какие параметры есть у утилиты sfspartition
| Ключ | Значение | Описание | Обязательность |
|---|---|---|---|
| /O | Пути к текущим директориям файловой системы Siebel | Пути должны быть перечислены через запятые, после запятой пробела быть не должно. Если пути содержат пробелы то необходимо указывать значения этих путей в двойных кавычках.
\\server1\siebelFS1,"\\server1\dir with space in name",\\server2\siebelFS3 |
Да |
| /F | Директории файловой системы Siebel в которые будут распределены файлы | Пути должны быть перечислены через запятые, после запятой пробела быть не должно. Если пути содержат пробелы то необходимо указывать значения этих путей в двойных кавычках. \\server1\siebelFS1,"\\server1\dir with space in name",\\server2\siebelFS3,"\\server3\new fsdir1" |
Да |
| /H | Y/N | По умолчанию Y. Если установлено значение Y, то утилита автоматически добавляет ко всем перечисленным путям поддиректорию att. Если же вы не хотите перераспределять файлы из поддиректорий att, то устанвоите значение N | Нет |
Перед использованием утилиты sfspartition убедитесь, что для именуемой подсистемы ServerDataSrc параметр DSFileSystem равен *FSM*.
Установите значение параметра предприятия/компоненты Siebel File System (alias FileSystem) в новое значение, перечислив там пути к директориям файловой системы Siebel, пути должны быть перечислены через запятую, пробела после запятой быть не должно, бэкслеш в путях должен быть экранирован вторым бэкслешем. (Например: \\\\server1\\siebelFS1,"\\\\server1\\dir with space in name",\\\\server2\\siebelFS3,"\\\\server3\\new fsdir1")
Обратите особое внимание, что порядок директорий не должен меняться, т.е. если при вызове утилиты вы указали \\s1\d1,\\s1\d2,\\s2\d1, то в парметре Siebel File System (alias FileSystem) директории должны быть перечислены в том же порядке.(\\\\s1\\d1,\\\\s1\\d2,\\\\s2\\d1)
После запуска утилита перераспределит файлы из директорий, перечисленных в параметре /O в директории, перечисленные в параметре /F.
Подписаться на:
Сообщения (Atom)