Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add TicketTailor integration + EventList block #81

Merged
merged 20 commits into from
Jun 5, 2024

Conversation

janbaykara
Copy link
Member

@janbaykara janbaykara commented Jun 3, 2024

Allows importing data from TicketTailor.

Description

  • Adds TicketTailorSource and connection boilerplate
  • Adds new flags, tests, code and UI guard-rails for read-only data sources
  • Adds an EventList block in Puck to display event data. You can select a data source and filter out certain events.
  • One outstanding task is to add import webhook support. We need webhook logic for triggering imports when these webhooks come in, and we need UI to display the webhook URL to the user so they can enable it.

Motivation and Context

TicketTailor is used by the Climate Coalition to organise RSVPs for their training schedule and, alongside EventBrite, is one of the few big ticketing/events platforms.

Events are a common type of geographically mappable entities, given they generally a location and a time. But even if they are online, a public hub should route people to relevant events.

This PR makes it possible to advertise events from these third parties in curated, dynamic maps and timelines.

It also sets the scene for other read-only data sources like EventBrite, hosted CSVs, JSON APIs, SQL databases and much else.

How Can It Be Tested?

You can run the tests locally by adding TEST_TICKET_TAILOR_API_KEY to your .env.

Bitwarden login for https://tickettailor.com/ is [email protected] — you can find the API key in Box Office Settings > API

  1. Connect TicketTailor as a CRM — you should have no options beyond the name
  2. In the inspector, there should be no update options
  3. Import data
  4. Create a map and display some events there

How Will This Be Deployed?

N/A

Screenshots (if appropriate):

Screenshot 2024-06-03 at 01 08 00

Types of changes

  • New feature (non-breaking change which adds functionality)

@janbaykara janbaykara requested a review from joaquimds June 3, 2024 02:40
Copy link

linear bot commented Jun 3, 2024

@janbaykara janbaykara changed the title Add TicketTailor integration + ReadOnlyDataSources Add TicketTailor integration + EventList block Jun 3, 2024
@@ -94,23 +95,7 @@ export default function Page({

const form = useForm<FormInputs>({
defaultValues: {
name: '',
geographyColumnType: GeographyTypes.Postcode,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: we should keep these default variables to squash console error logs, but restrict them based on the externalDataSourceType.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I can revert these changes.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed. Noticed a separate bug where postcode field doesn't get prefilled anymore by guesser.

@joaquimds joaquimds force-pushed the feature/map-263-tickettailor-integration branch from 51fa97a to e8bff64 Compare June 3, 2024 13:25
@joaquimds joaquimds force-pushed the feature/map-263-tickettailor-integration branch from 9f93573 to 2fb83bf Compare June 3, 2024 14:41
janbaykara and others added 3 commits June 4, 2024 13:51
1. Nested fields weren't being read in the import payload
2. Pagination was missing in fetch_all
@janbaykara
Copy link
Member Author

I feel the URL and instruction should appear after connection. There are two instructions for sources that don't have automated webhooks:

  1. The import URL and instruction
  2. For sources that allow updates, the import URL and instruction

Could also be a follow-on PR.

@joaquimds joaquimds merged commit 638001d into main Jun 5, 2024
3 checks passed
@joaquimds joaquimds deleted the feature/map-263-tickettailor-integration branch June 5, 2024 08:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants