Как создать URL-адрес на основе элемента и сохранить его впоследствии для копирования в Oracle Apex 20.1

#oracle #url #oracle-apex

#Oracle #url #oracle-apex

Вопрос:

Я работаю с Oracle Apex 20.1 и ищу рабочую среду для создания URL-адресов на основе значения элемента. Затем созданный URL-адрес следует использовать для переадресации другим членам команды для посещения страницы с созданным URL-адресом. Кроме того, создатель URL-адреса должен иметь возможность скопировать созданный URL-адрес и переслать его своей команде.

Например:

Значение элемента: Моя команда 2020 Подготовит URL-адрес и получит URL-адрес после этого URL-адрес должен быть: apex.somewhere.com/pls/apex/f?p=AppID:SessionID/MyTeam2020 После создания URL-адреса переадресации / открытия страницы с новым URL-адресом мой текущий подход выглядит следующим образом:

 DECLARE

 l_url varchar2(2000);

l_app number := v('APP_ID');

l_session number := v('APP_SESSION');

BEGIN

l_url := APEX_UTIL.PREPARE_URL(

p_url => 'f?p=' || l_app || ':4:'||l_session||'::NO::P90_URL',

p_checksum_type => 'SESSION');

END;
 

Чего я точно добиваюсь, так это следующего. Я надеюсь, что это сделает ситуацию более понятной:

  • У меня есть одна страница (скажем, страница 10), которая используется для предоставления обзоров или оценок для определенной команды
  • У меня есть несколько команд, в каждой из которых есть владелец команды
  • При первом запуске приложения владелец команды выбирает имя для своей команды (элемент страницы для отправки) и создает «закрытую / конфиденциальную страницу», создавая общий URL-адрес (также должен быть представлен в таблице).
  • Эта ограниченная страница должна автоматически перенаправляться на страницу 10 для предоставления обзоров
  • Чтобы получить доступ к этой ограниченной странице, владельцу команды необходимо создать уникальный URL-адрес и предоставить его своей команде
  • Теперь каждый член команды должен иметь доступ к странице с созданным URL-адресом, чтобы оставлять отзывы
  • Таким образом, представление для каждой команды меняется, и они могут видеть результаты данных обзоров только внутри команды, а не из других команд.

Есть идеи, как решить эту проблему, или это какое-либо лучшее практическое решение для этого.

Спасибо.

Ответ №1:

Когда вы создали URL-адрес и сохранили его в переменной ( l_url ), чтобы «сохранить» его, сохраните его в таблице:

 insert into urls (url) values (l_url);
 

(добавьте дополнительные столбцы, такие как описание, временная метка, что угодно).

Как это вызвать? Создайте страницу отчета, которая будет извлекать это значение. Поделитесь его URL-адресом (отчета) с коллегами, чтобы они могли получить к нему доступ и просмотреть сохраненные вами URL-адреса. Если вы превратите сохраненное значение в столбец ссылки (в отчете), еще лучше — пользователи просто нажмут на него и сразу откроют страницу.

Комментарии:

1. Я попытался вставить URL-адрес в таблицу, но это не все сохраняет. Например, я не смог сохранить полный URL-адрес с именем хоста (apexname.net ). Он сохранялся только начиная с порядков / …/. У меня также были те же проблемы с идентификатором сеанса, поскольку у клиента всегда будет другой идентификатор сеанса, чем у сохраненного. Есть какие-нибудь идеи, как решить эти две проблемы. Спасибо.