powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / APEX 5.1 is here
25 сообщений из 69, страница 1 из 3
APEX 5.1 is here
    #39372263
пробегал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то не заметил анонса, поэтому напишу я.

Пишут , что APEX 5.1 релизнулся и уже установлен на https://apex.oracle.com/en/

Вошел к себе в аккаунт и действительно: Application Express 5.1.0.00.43
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39372505
Фотография Алексей Выхрыстюк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Круто.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39372534
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Выхрыстюк,

уже можно качать
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39372645
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из интересного, поддержка браузеров в 5.0:

Browser RequirementsBecause Oracle Application Express relies upon standards-compliant HTML5, CSS3,
and JavaScript, Oracle recommends that you use the latest web browser software
available for the best experience. The following applications have been tested with
Oracle Application Express:
■ Mozilla Firefox 35
■ Google Chrome 40
■ Apple Safari 7
■ Microsoft Internet Explorer 9
You can develop Oracle Application Express applications that support earlier web
browser releases (such as Microsoft Internet Explorer 7 and 8) using legacy themes.
However, the minimum supported version of Microsoft Internet Explorer to run
Oracle Application Express applications is Microsoft Internet Explorer 9.0. Oracle
Application Express has a number of advanced widgets, such as trees, menus, rich text
editors, and other 3rd party components, which may not work correctly on earlier
browsers.

в 5.1:

Browser Requirements
Oracle Application Express supports the current and prior major release of Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Internet Explorer and Microsoft Edge.

Note: Microsoft Internet Explorer 11 is the prior major release, with Microsoft Edge being the current Microsoft browser.


ie10 уже не поддерживается (ранее от её поддержки отказалась microsoft)
ie9 - максимально доступная на windows vista
пользователи windows 8 должны будут обновиться до windows 8.1, если хотят использовать ie11
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39372659
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDev,
пока прочитал что новый виджет дерева и меню.
Вроде больше ничего нового.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39372697
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ураа, интерактивный грид.

Пока могу сказать, что апгрейд с 5.0. до 5.1 пошел без происшествий.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39372790
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из нового интерактивный грид + много всяких фич:

http://www.oracle.com/technetwork/developer-tools/apex/learnmore/apex-51-new-features-3410526.html

1. Возможность изолировать сессии на разных вкладках
2. Возможность создавать и хранить настройки стилей для пользователей / сессии
3. Изменена структура хранения page items в html, на сервер items-ы отправляются теперь в виде json - не будет проблемы рассинхронизации массивов p_txxx и p_xxx при всяких display:none с модальными окнами (в плагинах, например), уже устал спотыкаться об это.
4. Асинхронные Dynamic Actions

и проч.

В прошлом релизе куча всякого стало deprecated, в этом теперь уже desupported:

https://docs.oracle.com/database/apex-5.1/HTMRN/toc.htm#HTMRN-GUID-CC4B5D70-22FD-45CA-8F6F-C34A91F1B5BD
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39372832
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev4. Асинхронные Dynamic Actions

Так и в четвертом были.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39372867
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Раньше было не всегда, теперь всегда (кроме старых приложений в режиме совместимости 5.0 и ниже)

https://apex.oracle.com/pls/apex/germancommunities/apexcommunity/tipp/5741/index-en.html In Application Express 5.0, only dynamic actions with their Wait for Result attribute set to No would execute in asynchronous mode, otherwise execution is synchronous. Starting with Application Express 5.1, dynamic actions will generally be executed in asynchronous mode. That means, that a dynamic action, which executes an AJAX request to the server, does not block the browser any more. Subsequent dynamic actions can start immediately - while the AJAX request is running. A dynamic action does an AJAX request, when it executes SQL queries or PL/SQL code in the database. With this change, Application Express follows best practice in web application development - asynchronous AJAX requests lead to much better user experience, since the page remains responsive when AJAX requests are running.
...
With changing the dynamic action behavior from synchronous to asychronous behavior, Application Express follows general best practices for web development; asynchonous execution has a lot of advantages, which now can be leveraged for APEX applications as well.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39372886
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevblkangel,

Раньше было не всегда, теперь всегда (кроме старых приложений в режиме совместимости 5.0 и ниже)

https://apex.oracle.com/pls/apex/germancommunities/apexcommunity/tipp/5741/index-en.html In Application Express 5.0, only dynamic actions with their Wait for Result attribute set to No would execute in asynchronous mode, otherwise execution is synchronous. Starting with Application Express 5.1, dynamic actions will generally be executed in asynchronous mode. That means, that a dynamic action, which executes an AJAX request to the server, does not block the browser any more. Subsequent dynamic actions can start immediately - while the AJAX request is running. A dynamic action does an AJAX request, when it executes SQL queries or PL/SQL code in the database. With this change, Application Express follows best practice in web application development - asynchronous AJAX requests lead to much better user experience, since the page remains responsive when AJAX requests are running.
...
With changing the dynamic action behavior from synchronous to asychronous behavior, Application Express follows general best practices for web development; asynchonous execution has a lot of advantages, which now can be leveraged for APEX applications as well.

Насколько я понял из прочитанного, они ОТКЛЮЧИЛИ синхронность. Что есть плохо.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39372893
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangelSvDevblkangel,

Раньше было не всегда, теперь всегда (кроме старых приложений в режиме совместимости 5.0 и ниже)

пропущено...

Насколько я понял из прочитанного, они ОТКЛЮЧИЛИ синхронность. Что есть плохо.

А для любителей декларативного программирования, это вообще беда из бед. у них теперь в голове не сложиться вообще ничего.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39372897
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Не вижу ничего плохого, пока что.
Галочка Wait For Result по прежнему остается, и работает для разных actions в пределах одного DA (что объясняется выше по ссылке).
Случаев, когда мне в коде приходилось делать несколько DA на одно действие, да еще с аяксом, навскидку не вспомню ни одного.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39372909
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ Не будет надоедливого предупреждения:

FireFoxСинхронный XMLHttpRequest в основной нити является устаревшим из-за его пагубного влияния на работу конечного пользователя. Для получения дополнительной помощи обратитесь к http://xhr.spec.whatwg.org/
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39372949
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvDevblkangel,

Не вижу ничего плохого, пока что.
Галочка Wait For Result по прежнему остается, и работает для разных actions в пределах одного DA (что объясняется выше по ссылке).
Случаев, когда мне в коде приходилось делать несколько DA на одно действие, да еще с аяксом, навскидку не вспомню ни одного.
+1
это кодировщики вроде blkangel только не усекли.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39373110
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevblkangel,

Не вижу ничего плохого, пока что.
Галочка Wait For Result по прежнему остается, и работает для разных actions в пределах одного DA (что объясняется выше по ссылке).
Случаев, когда мне в коде приходилось делать несколько DA на одно действие, да еще с аяксом, навскидку не вспомню ни одного.
А Вы работали с большим объемом данных? Вы когда нибудь упирались в 32к на один элемент? У Вас не было случаев, когда Вам на странице надо сохранить более одного клоба(>32к)? Видимо везет просто.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39373334
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

В одном месте вроде клеил результаты, надо будет проверить.
В этой ситуации вызов аякса в цикле можно заменить на рекурсию в callback, получим примерно тоже самое. +Compability mode всегда можно выставить в 5.0.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39373472
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevblkangel,

В одном месте вроде клеил результаты, надо будет проверить.
В этой ситуации вызов аякса в цикле можно заменить на рекурсию в callback, получим примерно тоже самое. +Compability mode всегда можно выставить в 5.0.
Правильно, рекурсия в callback, но это декларативно сделать нельзя.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39373509
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Если не плагин, Page item to submit с ограничением 32k на item = декларативно работать все равно не будет, нужен яваскрипт. В нем можно определить handler функцию, откуда вызвать triggerHandler на da с custom event, если дальше зачем-то нужны именно da методы, и даже получить рекурсию.
+ Раз уж писать аякс в яваскрипте, я так понимаю, ничего не помешает по-старому вызвать явно метод jquery, который будет вызывать аякс синхронно.
Что так, что так = заплатка вокруг ограничения на 32k
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39373566
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevblkangel,

Если не плагин, Page item to submit с ограничением 32k на item = декларативно работать все равно не будет, нужен яваскрипт.
Почему же, допустим у нас два больших клоба. Делается DA (PL/SQL) на событие Before submit.

Додумался до такой схемы только что. Надо бы ее проверить :)
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39373771
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123SvDev,
пока прочитал что новый виджет дерева и меню.
Вроде больше ничего нового.

А скриншот деревца не скинешь? Это пожалуй то, чего мне не хватает для счастливой жизни :)
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39373789
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльА скриншот деревца не скинешь? Это пожалуй то, чего мне не хватает для счастливой жизни :)
дак это я у SvDev прочитал и перевёл)).
Будет хорошо, если они дополнили поддержку HTML5.
AFAIK там и было вроде дерево в виджетах.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39373879
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Честно, не понял идеи. DA > Execute PL/SQL Code > Page Item To Submit использует общие принципы, не сможет записать в item больше чем 32767 на ту сторону. Если значение каждого из item меньше чем 32767, то и DA не нужен.

Обсуждение навело меня на идею: можно ведь по аналогии с тем как айтемсы собираются сейчас в json перед отправкой, вообще без аякса: раскидать по коллекции g_fxx и передавать разом в виде массива.

Получается DA on Before Submit, делаем Execute JavaScript Code:
Код: javascript
1.
2.
3.
4.
$("#PX_CLOB").removeAttr("name"); // только apex 5.1, для старых версий можно просто обнулить: $s("PX_CLOB","")
var lArr = $v("PX_CLOB").match(/[^]{1,32767}/g);
for (var i=0; i < lArr.length; i++ )
  $('<input name="f50" type="hidden" />').attr("value",lArr[i]).appendTo("#wwvFlowForm");



На сервере клеим:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
declare
  l_clob clob;
begin
  for i in 1..apex_application.g_f50.count loop

    l_clob := l_clob || to_clob( apex_application.g_f50(i) );
  end loop;
end if;



Получается без аякса, общим запросом.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39373901
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

Раскидывание по коллекциям, это и есть аякс (и обходной путь к 32к.). Все fxx закидываются на сервер через аякс.

Кстати я клоб бью , по другому, подсмотрел у АПЕКСа. Они так делают.
Код: javascript
1.
2.
3.
var ajaxRequest = new htmldb_Get(null, $v("pFlowId"), "PLUGIN="+aAjaxId, $v("pFlowStepId"));
var dataJson = $s_Split($v(data), 4e3);	
for (var d = 0, e = dataJson.length; d < e; d++) ajaxRequest.addParam("f02", dataJson[d]);



SvDev Честно, не понял идеи. DA > Execute PL/SQL Code > Page Item To Submit использует общие принципы, не сможет записать в item больше чем 32767 на ту сторону.
Я как раз думал что можно. Возможно надо после выполнения PL/SQL очистить переменную. Чтобы сабмит все таки прошел.
Еще раз повторюсь, сам не проверял, поэтому утверждать не буду.
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39373909
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDev,

Я затупил.
Ты хочешь сгенирить скрытые INPUT элементы перед сабмитом.

Боюсь что может тупо зависнуть клиент...
...
Рейтинг: 0 / 0
APEX 5.1 is here
    #39373951
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Учитывая минимальные требования для браузеров и средние характеристики ПК, врят ли. В моем FireFox заняло миллисекунды:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
var t0 = performance.now();

// Пишем 32770 символов
$("#PX_CLOB").removeAttr("name");
$("#PX_CLOB").attr("maxlength",'40000');
$s("PX_CLOB","..."); // обрезано

var t1 = performance.now();
console.log("part 1: " + (t1 - t0) + " milliseconds.");

// собственно выполняем код, раскидываем значение по скрытым элементам:
var lArr = $v("PX_CLOB").match(/[^]{1,32767}/g);
for (var i=0; i < lArr.length; i++ )
  $('<input name="f50" type="hidden" />').attr("value",lArr[i]).appendTo("#wwvFlowForm");
  
var t2 = performance.now();
  
console.log("part 2: " + (t2 - t1) + " milliseconds.");


part 1: 6.554999999993015 milliseconds.
part 2: 4.2149999999965075 milliseconds. 

...
Рейтинг: 0 / 0
25 сообщений из 69, страница 1 из 3
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / APEX 5.1 is here
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]