Kanka Release

1.27 – Dynamic lists and more spring cleanup

Dear Kanka users, we’re sorry to say that the wait between releases has been a bit longer than usual. Not because we added tons of new features (well, we did add some), but because we continued our spring cleanup of the code. Of the new features, we’re excited to release new dynamic lists in numerous parts of the application.

Dynamic lists

The word dynamic lists doesn’t say much, but we’re talking about all the sub-lists in entities. For example, when viewing the characters in a location, or the entities in a tag. The whole rendering of these lists uses our new engine. This allows us to replace the “ordering” dropdown that was an eyesore on these interfaces, and replace them with clicking on the column headers. Reordering lists or navigating to the next page of results no longer reloads the whole page, but instead just the current list.

dynamic lists - location characters

Dynamic lists in campaign management

This new rendering engine means we can also allow bulk actions on sub-lists. We’ve implemented these in the Campaign Themes and Campaign Plugins page. You can now quickly enable/disable/delete/update multiple of these elements.

dynamic lists - bulk actions on campaign plugins

Permission engine v4

Kanka’s permission engine version 3 held well but has come to its limits. Between Kanka’s growth and adding more permissions to various elements of your campaigns, calculating permissions has become a costly operation for our servers.

While invisible to you as a user, the whole permission engine has been migrated to what we can call our brand new v4. For campaigns where you are the only member, you won’t notice any speed changes. However as a player in larger campaigns with complex permissions, our tests show a 20% to 30% speed improvement in loading and checking permissions.

The new engine now also loads differently in the requests. This means it’s no longer possible for us to forget to include it when querying for data from your campaigns. This fixes issues where your players could still see entities even when they were denied that permission in some sub-lists.

HTML in tooltips

Entities in a boosted campaign have the option to customise the entity’s tooltip with text. Today we are allowing HTML as well as mentions in the tooltips. The list of allowed HTML elements is visible below the tooltip field.

Spring cleanup 2022 V2

Continuing on our spring cleanup of 2022, this update removes over 30,000 lines of code from Kanka that were taking up space. No core feature, wether active or deprecated, disappears with this cleanup. Some old sublists that didn’t render properly anymore are no longer available, as well as lots of old code.

General improvements to the application

When viewing an entity with posts, the post dropdown now also shows the reorder feature. The reorder page can now change the collapsed status and visibility for each post. The code here is also new. This fixes an issue where the ordering ended up lost.

posts - reorder option
posts reorder new options

Campaign themes can now also be reordered from the Campaign > Styles page.

campaign styles reordering

Timeline elements now get a “copy advanced mention” and “copy advanced mention with name” option in their actions.

timeline element copy advanced mention

A location’s profile shows maps with a link to their explore page. Simply click on the “map” icon next to the map name.

location maps explore

The HTML of the timeline element has slightly changed. The timeline-item now contains a box element for rendering the element. This might impact your campaign CSS or marketplace plugins.

As of this release, any new payment method added to your account will trigger an email alert one month before your card expires. This only happens if you have an active subscription when the check happens.

Paypal support

For those who want to support Kanka but only have access to Paypal, we now support Paypal for yearly subscriptions. Head over to the subscription page to find out how this works.

API changes

The following API endpoints have a big change with 1.27. The visibility string on 12 models is now visibility_id and is an integer. The models that are using thew new field are:

  • Entity Links, Files, Events, and Abilities.
  • Inventories
  • Calendar Weathers
  • Map Groups, Layers, and Markers
  • Quest Elements
  • Timeline Elements
  • Relations

As you can see, all models with a visibility field now use visibility_id, except for Entity Notes.

The new IDs correspond to the following:

  • 1: all
  • 2: admin
  • 3: admin-self
  • 4: self
  • 5: members

More info on the API docs.

Last but not least, bug fixes

The pagination in the gallery no longer breaks in large folders.

Changing the campaign theme no longer resets the campaign sidebar.

When transforming an organisation to a family or vice versa, members will properly transfer over.

When transforming an entity to another entity type, permissions on that entity will properly transfer to the new entity.


That’s it for 1.27! If you missed 1.26, you can head over to the release notes.

As always, thank you to our amazing subscribers who make these frequent updates possible. Come join us and our community on our Discord server!

Leave a Reply

Your email address will not be published. Required fields are marked *