This extension provides a lot of additional features to CiviCRM's events. In particular, you will be able to configure events in CiviCRM, display/use that information in other remote systems and submit registrations for those events back to CiviCRM.
The general idea is that your organization's staff can do all relevant event configurations in CiviCRM. CiviCRM will then make this information available via its REST API. The extension's API also has built in logic and actions to receive and update registrations.
Any external system can interact with the API and display event calendars, detailed event information, registration forms etc. (this could be a remote system or the CMS your CiviCRM runs on) and also submit information entered by your constituents back to CiviCRM.
All of this requires that you have or set up an external system to act as a frontend for your event listings, registration forms etc. In case you would like to build your system based on Drupal 8 you will most likely want to have a look and/or use the CiviRemote Drupal module which includes a lot of pre-built features (https://github.com/systopia/civiremote).
Note that this extension may be used alongside regular CiviCRM event registrations - you can choose whether you would like to use the remote features or not for each event.
In many cases you may not want or be able to use CiviCRM's built in forms e.g.:
This extension is licensed under AGPL-3.0.
TODO: Complete Feature List
TODO: List extensions that integrate with Remote Event Extensions.
For a comprehensive write-up in German on this, see https://community.software-fuer-engagierte.de/t/fancy-events-mit-civicrm/250.
After installing the extension, make sure your Remote Tool settings are according to your needs (refer to docmunentation provided in de.systopia.remotetools). Then head on to the general configuration:
After general configuration visit the new tab "Remote Online Registration" within CiviCRM's event configuration UI. It will provide you with several options and settings, most noteably if you would like to use the remote event features, if you would like to disable native CiviCRM online registration and which registration profiles to use.
The "Registration Restrictions" allow you configurations regarding when registration is available, if a registration requires manual review and if participants can cancel or modify their own registrations.
The "Public Event Text Blocks" may be used by your external system to display the information at the appropriate places during the registration process. How and when this information is presented to your constituents will depend on the design of your external system.
CiviCRM's other basic event settings still apply and may be used in your external system, e.g. it's title, descriptions, start and end dates, max. number of participants, waitlist settings etc..
As the the default event location feature is somewhat limited you can choose to use a feature for alternative event locations. If you do so CiviCRM's regular event location tab will be hidden and a custom tab will appear in which you can choose a contact that has the subtype "event location" (the subtype is created when installing the extension). Also, you can provide information on the event location that applies for that particular event (such as the room number or travel instructions).
The API will then make the choosen event locations basic data availabe, including it's name, address, geodata and the additional information for this event. This information can be displayed and used in other ways by the external system.
The extension exposes a new API to remote event listings or registration systems:
RemoteEvent.get
allows querying for remotely available events in the same
way Event.get
wouldRemoteEvent.create
allows creating remotely available events in the same
way Event.create
wouldRemoteParticipant.get_form
returns a default specification fo the
registration form required for signing up/cancel/updateRemoteParticipant.create
sign somebody up for an event by providing the
necessary form data (as requested by RemoteParticipant
)RemoteRegistration.validate
ask the system for validating the given
signup data before the actual registrationRemoteRegistration.cancel
cancel an existing registration, identified by
remote_contact_id or tokenRemoteRegistration.update
update an existing registration, identified by
remote_contact_id or tokenPlease note that all these API actions come with an independent set of permissions.
This extension uses a series of Symfony events to extend and customise the behaviour of these calls:
civi.remoteevent.get.params
modify / restrict query parameters to event
informationcivi.remoteevent.get.result
modify / extend event informationcivi.remoteevent.spawn.params
modify / extend parameters for creating or
updating a remote eventcivi.remoteevent.registration.validate
modify / extend signup datacivi.remoteevent.registration.submit
modify / extend signup processcivi.remoteevent.registration.cancel
modify / extend cancellation processcivi.remoteevent.registration.getform
modify / extend registration formcivi.remoteevent.cancellation.getform
modify / extend cancellation formcivi.remoteevent.registration_update.getform
modify / extend update formcivi.remoteevent.label
modify or override certain labels (e.g. workshop
groups)This CiviCRM extension is provided as Free and Open Source Software, and we are happy if you find it useful. However, we have put a lot of work into it (and continue to do so), much of it unpaid for. So if you benefit from our software, please consider making a financial contribution so we can continue to maintain and develop it further.
If you are willing to support us in developing this CiviCRM extension, please send an email to info@systopia.de to get an invoice or agree a different payment method. Thank you!