Basker Docs

Extending Basker

Add fields, content types, and rules that aren't in the built-in model — without changing the platform

Basker's built-in model covers most of what live-events organisations need. When you need more — additional fields on existing content, entirely new content types, dynamic listings, integrations with external systems — Basker's extension points let you add them without changing the platform.

The three extension points

1. Custom data

Custom data lets you add fields and content types yourself, without writing code:

  • Custom attributes add fields to existing content types — a "Run time" field on every event, a "Pronouns" field on every person, a "Reading time" field on every post.
  • Custom objects define entirely new content types — a "Sponsor" type with name, tier, logo, and link; a "Discount code" type; an "Accessibility service" type.

This is the right extension point when you need structure you control. Site editors define the schema, and the new fields or types behave like the built-in ones — they support drafts, versioning, translation, smart collections, and SEO.

2. Apps

Apps extend Basker by connecting it to external systems — ticketing platforms, donor tools, asset managers, CRMs. An installed app can add fields to content types, provide pickers and sync actions in the editor, and surface widgets and components on the live site.

Use apps when the extension involves a system outside Basker. Day-to-day editors don't install apps themselves; Basker support handles the heavier setup, and editors configure them once installed. The Partners API is the surface external systems and mobile apps integrate against — see basker.dev for the spec.

3. Custom blocks and Custom Liquid in the theme

When the first two extension points don't cover a need, your theme developer can extend the theme itself. Two levers are available:

  • Custom blocks add new ways for editors to compose content. They appear in the editor like the built-in blocks and can read from custom attributes and custom objects.
  • Custom Liquid lets a theme developer extend theme behaviour with template code beyond the standard block model.

Both are developer-level work. For implementation detail, see basker.dev.

Combining extension points

Real-world extensions often combine both. A typical example: an organisation wants to surface "Featured sponsors" on their homepage. They:

  • Define a Sponsor custom object with name, tier, logo, and link.
  • Add a custom attribute on events for Featured sponsors that links to one or more Sponsor instances.
  • Use a smart collection to list all Sponsor instances at the platinum tier on a dedicated page.
  • Use a theme block to render the smart collection on the homepage.

No code, no platform changes — just configuration of the extension points Basker already provides.

When to call in a developer

The first two extension points cover most use cases without code. Some scenarios do need a developer:

  • Custom blocks and Custom Liquid in the theme — see the section above.
  • Custom apps and integrations — connecting Basker to a system that doesn't have an off-the-shelf app. Speak to Basker about whether the integration exists, whether it can be built, and how.
  • Reading custom data inside a theme — once you've added custom attributes or custom objects, the theme needs to be aware of them in order to render them. The theme developer handles this.

For developer-level detail, see basker.dev.

Where to go next

On this page