Регистрация  |  Вход

Наши Best Practices при создании сайтовых ВФ страниц с формой

В очередной раз пришло задание запилить сайтовую ВФ страницу с формой.

Страница для нормальной работы должна принять пару УРЛ аргументов при начальном вызове. Но в этот раз у меня больше времени на работу, и я призадумался над тем, как можно улучшить поведение страницы.

Кстати, я уже успел немного обсудить это в другой теме. Там я спрашивал, как вы реализуете мессадж о том, что форма была сохранена успешно. И ответы были такими: кто-то рендерит спец панельку на основной странице, кто то рендерит Компонент, кто-то делает редирект на спец страницу.

Новые идеи для обсуждения по теме:

(1) Что, если кастомер стукнул страницу без требуемых аргументов? позволить ей отрендериться "как получится" или не дать ей рендерится в этом случае вообще? или заготовить панельку с приветом?

(2) Что если кастомер стукнул страницу с требуемыми аргументами (которые ID каких то вспомогательных записей), но по этим "ID" ничего не нашлось в БД? с какими целыми он это сделал? может вообще ничего не выводить в этом случае?

(3) В каких случаях вы избегаете использовать ID в качестве УРЛ аргументов и заменяете их на кастомный идентификатор?

(4) несмотря на то что это сайтовая страница, она должна вывести приветствие для пользователя - имя, которое она получает по связи от одной из вспомогательных записей (полученой по аргументу) и далее до Контакта. Но для этого придется "открывать" Контакт для сайтового пользователя... Может лучше создать на промежуточной записи формульное поле, которое тянет Имя с контакта, а для сайтового пользователя открыть доступ только для того формульного поля?

в-общем, есть над чем подумать.

В очередной раз пришло задание запилить сайтовую ВФ страницу с формой.

Страница для нормальной работы должна принять пару УРЛ аргументов при начальном вызове. Но в этот раз у меня больше времени на работу, и я призадумался над тем, как можно улучшить поведение страницы.

Кстати, я уже успел немного обсудить это в другой теме. Там я спрашивал, как вы реализуете мессадж о том, что форма была сохранена успешно. И ответы были такими: кто-то рендерит спец панельку на основной странице, кто то рендерит Компонент, кто-то делает редирект на спец страницу.

Новые идеи для обсуждения по теме:

(1) Что, если кастомер стукнул страницу без требуемых аргументов? позволить ей отрендериться "как получится" или не дать ей рендерится в этом случае вообще? или заготовить панельку с приветом?

(2) Что если кастомер стукнул страницу с требуемыми аргументами (которые ID каких то вспомогательных записей), но по этим "ID" ничего не нашлось в БД? с какими целыми он это сделал? может вообще ничего не выводить в этом случае?

(3) В каких случаях вы избегаете использовать ID в качестве УРЛ аргументов и заменяете их на кастомный идентификатор?

(4) несмотря на то что это сайтовая страница, она должна вывести приветствие для пользователя - имя, которое она получает по связи от одной из вспомогательных записей (полученой по аргументу) и далее до Контакта. Но для этого придется "открывать" Контакт для сайтового пользователя... Может лучше создать на промежуточной записи формульное поле, которое тянет Имя с контакта, а для сайтового пользователя открыть доступ только для того формульного поля?

в-общем, есть над чем подумать. 

Может лучше создать на промежуточной записи формульное поле, которое тянет Имя с контакта, а для сайтового пользователя открыть доступ только для того формульного поля?

Что значит открыть контакт?

[quote]Может лучше создать на промежуточной записи формульное поле, которое тянет Имя с контакта, а для сайтового пользователя открыть доступ только для того формульного поля?[/quote]
Что значит открыть контакт?

Maxim Elets
Что значит открыть контакт?

открыть доступ к Контактам и некоторые его полям

[quote="Maxim Elets"]Что значит открыть контакт?[/quote]
открыть доступ к Контактам и некоторые его полям

Den Brown
Maxim Elets
Что значит открыть контакт?

открыть доступ к Контактам и некоторые его полям

FLS и visibility тоесть?

вроде как тебе все равно надо будет проставлять галки,потому что на формуле без этого пусто)

[quote="Den Brown"][quote="Maxim Elets"]Что значит открыть контакт?[/quote]
открыть доступ к Контактам и некоторые его полям[/quote]
FLS и visibility тоесть?

вроде как тебе все равно надо будет проставлять галки,потому что на формуле без этого пусто)

Den Brown
(1) Что, если кастомер стукнул страницу без требуемых аргументов? позволить ей отрендериться "как получится" или не дать ей рендерится в этом случае вообще? или заготовить панельку с приветом?

Аргументы по дефолту должны в этом случае выставляться.
Если не хочешь, то страницу заглушку и Приветом

[quote="Den Brown"](1) Что, если кастомер стукнул страницу без требуемых аргументов? позволить ей отрендериться "как получится" или не дать ей рендерится в этом случае вообще? или заготовить панельку с приветом?[/quote]
Аргументы по дефолту должны в этом случае выставляться.
Если не хочешь, то страницу заглушку и Приветом

Den Brown
(2) Что если кастомер стукнул страницу с требуемыми аргументами (которые ID каких то вспомогательных записей), но по этим "ID" ничего не нашлось в БД? с какими целыми он это сделал? может вообще ничего не выводить в этом случае?

Ошибку показать (лучше конечно 404)

[quote="Den Brown"](2) Что если кастомер стукнул страницу с требуемыми аргументами (которые ID каких то вспомогательных записей), но по этим "ID" ничего не нашлось в БД? с какими целыми он это сделал? может вообще ничего не выводить в этом случае?[/quote]
Ошибку показать (лучше конечно 404)

Den Brown
(3) В каких случаях вы избегаете использовать ID в качестве УРЛ аргументов и заменяете их на кастомный идентификатор?

Для Salesforce ID это не страшно, можно использовать я думаю, криминала не будет.
Какая проблема пошла больше из обычных бд, где в качестве ID используется поле типо счетчик (autoincrement) когда злоумышленник может запустить скрипт на перебор ID в формах по порядку. Когда ID в случайном порядку генерируются, как у Salesforce или UUID, то можно использовать.

[quote="Den Brown"](3) В каких случаях вы избегаете использовать ID в качестве УРЛ аргументов и заменяете их на кастомный идентификатор?[/quote]
Для Salesforce ID это не страшно, можно использовать я думаю, криминала не будет.
Какая проблема пошла больше из обычных бд, где в качестве ID используется поле типо счетчик (autoincrement) когда злоумышленник может запустить скрипт на перебор ID в формах по порядку. Когда ID в случайном порядку генерируются, как у Salesforce или UUID, то можно использовать.

Den Brown
(4)... Но для этого придется "открывать" Контакт для сайтового пользователя...

А что страшного в том что ты откроешь для сайтового пользователя объект Contact? У тебя же один фиг кастомная страница со своей логикой. Сайтовый пользователь же не пользуется стандартным UI и стандартными layouts.

[quote="Den Brown"](4)... Но для этого придется "открывать" Контакт для сайтового пользователя... [/quote]
А что страшного в том что ты откроешь для сайтового пользователя объект Contact? У тебя же один фиг кастомная страница со своей логикой. Сайтовый пользователь же не пользуется стандартным UI и стандартными layouts.