Version 2.4 – Full-text search and webhooks

Posted by

on

in

After years in the making, we’re very excited to announce two massive new features to Kanka. The first is a complete full-text search feature, and the other is webhooks!

Full-text search

A feature that has been requested nearly as often as campaign imports is the ability to search through a whole campaign for specific elements of text. With new software and hardware bringing down the cost of such a feature, we’re finally able to have this feature in Kanka for all campaigns!

To access the new full text search, search for a keyword in the lookup field at the top of every page and click on the “search everywhere” link.

accessing the fulltext interface

This will then perform a search for the term in entities (name and entry), their posts (name and entry), attributes (name and value), quest elements (entry) and timeline elements (entry), and display in a grid view the entities that match the search. Please note that the new search engine only sees text, stripping all HTML from it.

fulltext search results

We’ve detailed all of this in our documentation.

Webhooks

Ever wanted a notification in your discord server whenever a player accidentally deletes a character? Or have Kanka notify a custom url about an entity being created or updated?

If so, then webhooks are what you need in your life! Go to Settings > Webhooks to start setting them up. These can trigger on specific events, on specific tags attached to entities, and contain a custom message that supports a few parameters.

example webhook
webhook discord

You can learn more about webhooks in our documentation.

Inventory 2024

The inventory subpage of entities has received a major facelift to look less like a 1998 excel sheet and more like something you and your players would enjoy using.

inventory new ui

Inventory items can now show an image from the gallery, or use the attached object’s image if it has one. When setting up a new inventory on an entity, a new “Copy from” button makes duplicating an inventory way easier.

inventory copy from

When adding items to an inventory, it’s now also possible to add multiple objects at a time.

inventory multiple objects

The position field is now a searchable dropdown, populated by the first 50 positions in the campaign (sorted alphabetically). It also now fully supports emojis 🤪

inventory position

Clicking on an inventory item now opens a small popup with useful information about the linked object.

inventory details

General improvements

We have merged the “grid” and “table” views into a single url, removing the awkward user settings, campaign settings, and url parameters. From now on, the last “mode” a user selected will be remembered for that module across all campaigns.

Organisations can now have multiple locations. Campaign exports done before this change will work with the campaign import feature.

When clicking on a bookmark pointing to a module, it will use the bookmark’s name as the page title. Bookmarks are now also kept when switching between the new visual modes (flat, layered, grid, table).

It is now possible to use the gallery as a map’s image.

Added a zoom-in and zoom-out button on family trees.

When exporting a campaign, the custom module names and icons are now included.

When importing a campaign, the custom module names and icons are now imported.

The assets subpage of entities is now a module that can be disabled.

Removed features

We have removed the Sofort and Giropay payment methods, as the API we used for those has been deprecated, and those options were no longer used after we introduced PayPal payments last year.

API changes

The API now properly accepts partial PATCH requests, while still allowing partial PUT requests.

Characters no longer have a race_id and family_id property, as those were replaced with arrays a while back.

Character traits now get an entry_parsed property that parses mentions.

Bug fixes

Fixed an issue with the subscription page when your previous subscription was done through email.

The public role listed modules as having permission in some cases when it shouldn’t.

Members with no roles can now get assigned individual entity permissions.

Rebuild several underlying systems in Kanka when an entity is updated to better track that information.

Opening the sidebar on the explore page of a map properly resets the page boundries, which no longer breaks scrolling to the edges of the map.

Fixed an issue where uploading an invalid image for a campaign would reset the campaign description from the form.

Updated a few rogue translations still using “item” instead of “object”.

Fixed several issues in the campaign import script that crashed when a deleted entity was mentioned.

Removed ads being wrongly loaded (but not displayed) on some pages where there shouldn’t be any ads.

Fixed multiple issues with forms being squished on mobile.

Migrated a lot of code away from deprecated third party libraries.

Fixed the marketplace still mentioning “boosted campaigns” instead of “premium campaigns”.

For our users with two-factor authentication enabled, the one time password will no longer be requested every few hours, but only on a new login.


That’s it for the overview of this 2.4 release. You can follow along what we’re working on next on our roadmap.

As always, thanks to our amazing subscribers for making this huge updates possible! Come join us on our Discord to get early sneak peaks of future updates.