Basker Docs

Extending Basker

Add fields, content types, and rules that are not in the built-in model, without changing the platform

Basker's built-in model covers most of what live-events organizations 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. Examples include a "Sponsor" type (name, tier, logo, and link), a "Discount code" type, and an "Accessibility service" type.

This is the right extension point when you need structure you control. Custom attributes participate in the publishing behavior of the content they extend. Custom object instances are simpler items. They save directly, without their own draft, version history, translation, SEO, or smart-collection controls.

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 do not install apps themselves. Basker support handles the heavier setup, and editors configure them once installed. External systems and mobile apps can integrate through the Partners API.

3. Custom blocks in the theme, and Custom Liquid

When the first two extension points do not cover a need, your theme developer can extend the theme itself with custom blocks: 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. This is developer-level work. See Themes for the current developer documentation.

Custom Liquid is a separate block, available in the editor on plans that include it, that lets someone comfortable with template code drop Liquid directly into a page without changing the theme. A theme developer can add fields to this block. See How to create custom blocks.

Combining extension points

Real-world extensions often combine both. A typical example: an organization 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 theme block that reads the Sponsor instances to render a sponsor wall on the homepage.
  • If you need a rule-driven listing page, model sponsors as organizations with a Tier custom attribute, then build a smart collection of sponsor organizations at the platinum tier.

The content model is configured in Basker. The public rendering depends on blocks provided by your theme.

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 in the theme: see the section above.
  • Custom apps and integrations: connecting Basker to a system that does not 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 have added custom attributes or custom objects, the theme needs to be aware of them to render them. The theme developer handles this.

For developer-level detail, use the Themes and Partners API sections.

Where to go next

On this page