#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 ). Он сохранялся только начиная с порядков / …/. У меня также были те же проблемы с идентификатором сеанса, поскольку у клиента всегда будет другой идентификатор сеанса, чем у сохраненного. Есть какие-нибудь идеи, как решить эти две проблемы. Спасибо.