How to create a submission form outside of Livewhale

We currently have a submission form on calendar.ufl.edu, which is hosted by Livewhale but not built in the Livewhale CMS. We would like to add a submission form to a different website (ai.ufl.edu) that is not hosted by Livewhale. Is this possible? Where would this be found inside of the Livewhale dashboard?

Thank you!

Hey August,

Great question! The LiveWhale Calendar submission form doesn’t need to be hosted on your calendar server, you can host it elsewhere as long as the form action points to the absolute URL (e.g., action="https://calendar.myschool.edu/live/public/submit/event"). Other than that, you’d need to make sure the hostname is authorized to post to your LW install, which can mean adding to the valid_post_hosts array of your public.config.php:

//$_LW->valid_post_hosts=[]; // normally POSTs from remote hosts not managed by this LiveWhale installation are blocked -- specify any additional hosts to whitelist for remote POSTs here

For example,

$_LW->valid_post_hosts=['ai.ufl.edu']; // normally POSTs from remote hosts not managed by this LiveWhale installation are blocked -- specify any additional hosts to whitelist for remote POSTs here

All of that could get the form working.

However, a few caveats to be aware of: certain functionality of the event submission form will only work on the LiveWhale-driven domain. This includes:

  1. Auto-generating selectors for event types (or locations or tags) – to manage a remote form, you’d need to manually copy the <input type="checkbox"... for each event type you want to offer to users.
  2. Uploading of images and files – if you want to solicit event images or files, you’ll need to use a hosted submission form, due to the script dependencies for these functions.

For those reasons, most schools that have specific event submission needs end up just creating additional copies of the normal hosted /submit/ form (e.g. /submit-ai/, or /submit/dissertation/, etc) and then they customize those forms to apply to just the audiences and uses cases they need. Hope this helps!