Appointment Tool 2 Documentation
A video walk-through of the Appointment Tool 2 (updated 2/14/2022)
Giving permission to cabinet members to access the appointment tool or those views in the Console
- The super admin should create a group called "appointment tool" or something to that effect.
- Then link the appointment tool views to that group.
- Then put members into that group.
- This will allow the Console Users to see the appointment tool view IN THS CONSOLE.
- Now, you will want some people to be able to log into the appointment tool itself.
- Go into Appointment Tool People
- UNcheck the "all appointment tool people" default filter
- Search by people using the field "Can access" and do "is not null". This will give you anyone that can access the appointment tool--whether they are ready only or full access.
- If you want to add a new login, find a person by name, give them a username and password and choose their "Can Access" to be one of the access options.
- Then they can access the appointment tool at yourwebsites/at2
Steps for a techie to deploy the Appointment Tool 2
- Create a layout in the customer called "Appointment Tool 2" and have it use the shared layout "Appointment Tool 2"
- Create another layout in the customers called "Appointment Tool 2 AJAX" and have it use the shared layout "Appointment Tool 2 AJAX"
- Make a web page with the friendly URL of at2 and have this use the "Appointment Tool 2" layout. This is the base URL.
- Make a HIDDEN and non-searchable page with the friendly URL of at2ajax and have it use the "Appointment Tool 2 AJAX" layout.
- Make a data form called "Projected Appointment" and have it use the view "AppointmentToolPendingAppointments". You MAY need to make a view called "AppointmentToolPendingAppointments" if one does not exist.
- Put this into the confirmation text: <div style="text-align:center;font-weight:bold;">Appointment Saved. Be sure to refresh to see the effect of the change.</div>
<style type="text/css">.regtop, #brandedtop{display:none;} #allcontent h2{display:none;}</style>
-
Put this into the Scripts field: <style type="text/css">.regtop, #brandedtop{display:none;} #allcontent h2{display:none;}</style>
- Make the form layout be "vertical"
- RunAs the guest website user
- Put this into the confirmation text: <div style="text-align:center;font-weight:bold;">Appointment Saved. Be sure to refresh to see the effect of the change.</div>
- Go into Site > My websites > the conference website and configure...
- AT2 Salary Fields (for total): Put in the fields from the Salary view that are used to show (either the rough or exact) "total compensation". It will be different for each conference.
- In the AT2 Project Form field, choose the "Projected Appointment" data form that you created earlier.
- If the conference considers salary records with null end dates current, then check the box AT2 salary records with null 'End Date's are 'current'.
- IF, in the rare case, that this conference has more than one conference in their system, you need to go into the core Appointment Tool 2 AJAX layout and go into the helper IsMultiConference() and put in the conference/organization. You'd change in "fake" and then update "UMC" and then deploy to all. This will get the "conference" field to show for them.
- Create or make sure there is a group for "appointment tool" or "cabinet" and then link: AppointmentToolPeople, AppointmentToolChurches, and AppointmentToolPendingAppointments to this group. And then go into each of the views and set Invisible="false" on all three views so that the menu shows up.
- Last you need to make sure there is a user that can log into the appointment tool. Under Appointment Tool People you need to ensure that a person has Can Access under "login info" set to be "Appointment tool full" or "Appointment tool readonly"
Code talk for developers
Not sure if we'll keep using this but here's a link to the GitHub of the code
https://github.com/pschneidexeter/Appointment-Tool-2
The tool uses the iFrame Resizer JS here...
http://davidjbradshaw.github.io/iframe-resizer/
It uses Bootstrap 5
https://www.getbootstrap.com
It uses jQuery DataTables 1.10.21
https://datatables.net/
We use htmx to do the AJAX gets
https://htmx.org/
We use _hyperscript version 0.9.4
https://hyperscript.org/
We use Bootstrap icons
https://icons.getbootstrap.com/