App Customization Specialist Trailhead's Superbadge - VarLev/Salesforce GitHub Wiki
Подготовка
Устанавливаем новый playground
Сбрасываем пароль
Setup -> Users -> Users
Переходим по ссылке в письме и создаем новый пароль Скачиваем и устанавливаем unmanaged package используя логин с паролем, который только что создали.
1. Create record type and access rights
Setup -> Object Manager-> Account -> Field and Relationship -> New
Выбираем тип данных piklist
Открываем только что созданное поле, и проставляем значение default
Переходим в настройки Page layout
и создаем новое представление с именем Volunteer Organization Account Page Layout
Переходим в Compact Layout создаем представление с именем Volunteer Organization Account compact layout
Переходим в Record Types
и создаем новый с именем Volunteer Organization Account
Переходим в Compact Layaut
и жмем на Compact Layout Assignment
далее проставляем значения
Переходим в Permission Sets
, создаем новый с именем Volunteerism Board
Заходим в Object Settings
и в Accounts настраиваем Volunteer Organization Status
2. Create app fields
Setup -> Object Manager -> Volunteer Shift Worker -> Fild and Relationship -> New
Создаем поле Master-Detail c именем Volunteer Shift и привязываемся к Volunteer Shift
Создаем поле Lookup с именем Volunteer и привязываемся к User
Создаем поле Piklist с именем Status и списком:
- Unconfirmed
- Pending Approval
- Confirmed
- Completed
- No-Show
- Canceled
Unconfirmed - ставим по умолчанию
Setup -> Object Manager -> Volunteer Shifts -> Fild and Relationship -> New
Создаем поле Master-Detail c именем Volunteer Job и привязываемся к Volunteer Jobs Создаем поле Date/Time c именем Shift Start Time и ставим как обязательное к заполнению Создаем поле Date/Time c именем Shift End Time и ставим как обязательное к заполнению Создаем поле Formula с типом Number и именем Shift HoursHOUR(TIMEVALUE(Shift_End_Time__c))-HOUR(TIMEVALUE(Shift_Start_Time__c))
Переходим в раздел Validation Rules и создаем новое правило с именем Start before End и обязательным текстовым сообщением при ошибкеNo time travel allowed during volunteering! Shift Start Time must be before Shift End Time.
Создаем поле Number c именем Desired # of Volunteers Создаем поле Roll-Up Summary c именем Shifts Taken Создаем поле Formula с типом Number и именем **# of Volunteers Still Needed **IF(Desired_of_Volunteers__c - Shifts_Taken__c<0, 0, Desired_of_Volunteers__c - Shifts_Taken__c)
Setup -> Object Manager -> Volunteer Jobs -> Fild and Relationship -> New
Создаем поле Lookup с именем Volunteer Activity и привязываемся к Volunteer Activity, проставляем галочку Always require a value in this field in order to save a record
Создаем поле Roll-Up Summary c именем Number of Shifts
Создаем поле Roll-Up Summary c именем Cumulative Volunteers Needed
Setup -> Object Manager -> Volunteer Activity -> Fild and Relationship -> New
Создаем поле Master-Detail c именем Volunteer Organization и привязываемся к Account, и устанавливаем настройки фильтрации
Setup -> Object Manager -> Volunteer Shift Workers -> Fild and Relationship -> New
Создаем поле Formula c типом Number и именем Shift Hours, в формулу вставляем Volunteer_Shift__r.Shift_Hours__c
Setup -> Object Manager -> Volunteer Shift -> Fild and Relationship -> New
Создаем поле Formula c типом Number и именем Total Vol Hours for Shift, в формулу вставляем Shifts_Taken__c * Shift_Hours__c
Setup -> Object Manager -> Volunteer Job-> Fild and Relationship -> New
Создаем поле Roll-Up Summary c именем Attributed Volunteer Hours
Setup -> Quick find -> Volunteer Job-> Picklist Value Sets
Создаем новый набор Picklist с именем Volunteer Skills Values
Setup -> Object Manager -> Users-> Fild and Relationship -> New
Создаем поле Picklist (Multi-Select) c именем Volunteer Skills
Setup -> Object Manager -> Volunteer Job-> Fild and Relationship -> New
Создаем такое же поле Picklist (Multi-Select) c именем Volunteer Skills, как и в предыдущем шаге
Создаем такое же поле Text Area (Rich) c именем Job Description
Setup -> Object Manager -> Volunteer Shift Workers -> Fild and Relationship -> New
Создаем поле Formula c типом Checkbox и именем IsShiftVolunteer, в формулу вставляем $User.Id == Volunteer__r.Id
Для Volunteer Job, Volunteer Shift, and Volunteer Shift Worker, создаем поле с типом Formela и именем Volunteer Organization, с возвращаемым типом Text, в формуле прописываем следующее $Organization.Name
Для Volunteer Shift, and Volunteer Shift Worker, создаем поле с типом Formula и именем Volunteer Activity, с возвращаемым типом Text, в формуле прописываем следующее Volunteer_Shift__r.Volunteer_Job__r.Volunteer_Activity__r.Name
Для Volunteer Shift Worker, создаем поле с типом Formula и именем Volunteer Job, с возвращаемым типом Text, в формуле прописываем следующее Volunteer_Shift__r.Volunteer_Job__r.Name
3. Build a shift approval tool
Setup -> Quick find -> Users
Создаем нового пользователя с учетом условий из задания
Setup -> Quick find -> Approval Processes
Создаем новый процесс для объекта Volunteer Shift Worker с именем Confirm Volunteer Shift
Активируем процесс
Setup -> Quick find -> Processe Builder
Создаем новый процесс с любым названием
Активируем процесс
Setup -> Object Manager -> Buttons, Links, and Actions -> New Action
4. Build Volunteer Tracker app reports
В Reports создаем новую папку с именем Volunteer Reports
В Dashboards создаем новую папку с именем Volunteer Dashboards
Setup -> Quick find -> Report Types
Создаем новый тип отчета Users with Volunteer Shift Worker Records
Создаем новый тип отчета Accounts with Vol Activities with Vol Jobs
Жмем на Edit Layout
Создаем новую секцию с именем Volunteer Jobs, перетаскиваем в неё поле Volunteer Job Name, два раза кликаем на него и делаем это поле значением по умолчанию
Создаем отчеты:
My Top Volunteer Organizations
Top Volunteer Organizations
My Shifts Pending Approval
My Upcoming Shifts
Top Volunteers
Создаем Dashboard My Volunteer Information
Согласно заданию Настраиваем Title, Footer, Сортировку и размер
5. Surface the Volunteer Tracker app
Setup -> App Manager -> New
Создаем новое приложение Volunteer Tracker используя указания из задания
Создаем App Page и размещаем на ней Dashboard, Reports и Recent Items