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

  1. Create a layout in the customer called "Appointment Tool 2" and have it use the shared layout "Appointment Tool 2"
  2. Create another layout in the customers called "Appointment Tool 2 AJAX" and have it use the shared layout "Appointment Tool 2 AJAX"
  3. Make a web page with the friendly URL of at2 and have this use the "Appointment Tool 2" layout. This is the base URL.
  4. Make a HIDDEN and non-searchable page with the friendly URL of at2ajax and have it use the "Appointment Tool 2 AJAX" layout.
  5. 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.
    1. 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>
    2. Put this into the Scripts field: <style type="text/css">.regtop, #brandedtop{display:none;} #allcontent h2{display:none;}</style>
    3. Make the form layout be "vertical"
    4. RunAs the guest website user
  6. Go into Site > My websites > the conference website and configure...
    1. 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.
    2. In the AT2 Project Form field, choose the "Projected Appointment" data form that you created earlier.
    3. 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'.
  7. 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.
  8. 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.
  9. 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/