We’re back with another big Kanka release! We’ve spent time redesigning the process of boosting campaigns. But that’s not all, as a lot of other improvements also made their way into this release.
Boosted campaigns workflow
We know how our boosted campaigns concept isn’t always the most obvious. We recently introduced a new campaign boosters page that outlines all the features perks of boosting a campaign, but that was only step one. Throughout the app, sporadic messages warn users about some features needing a boosted campaign, but never go into much detail. If you’re lucky, a help modal is available with detail, but those aren’t obvious when browsing around. On less charitable occasions, features that are part of a boosted campaign are simply hidden, or generate a cryptic error after you try something. Yes, we’re looking at you entity file upload limit.
So we went and fixed all of that. Most features of a boosted or superboosted campaign are now visible, with a short description about what they do. Let’s take for example the entity recovery interface.

See that little help button on the right? Yeah, we don’t either. Now imagine if you were greeted by this instead.

Wait, so I can now see what entities I can recover, even without having a boosted campaign? Neat! But then, how do I know I need a boosted campaign?
No need to rush young padawan of Kankappy. Simply select the entities and try restoring them. What do you see?

A proper error message! But wait, there’s more. The button tells me to boost the campaign because it knows I’m a subscriber. Let me try clicking it and see…

Nice! It clearly tells me what I’m about to do, and how much boosters I’m using.
New campaign boosters settings page
But that’s not all! The whole setting page where you manage your boosted campaigns has been redone. No more confusing disabled buttons that only display an error message if you hover on them. No, instead we’re giving you access to everything, with proper error messages visible on all your devices. Take a look!

But Jay, I hear you typing in Discord, what if the user isn’t a subscriber? Well hypothetical person who’s memeing in the #owlbears channel, the error message is then slightly different. For example, on the default thumbnails page, a new message appears.

Instead of sending you to the boost page, it now sends you to the new boosters page previously mentions instead! So you can learn all about the amazing features available to boosted campaigns.
I know, I know. I’m way more excited about this then all of you reading this, but I had a lot of fun working on this, and making our boosted campaigns features less cryptic.
General improvements not related to boosted campaigns
We received a lot of mixed feedback related to map clustering, and so introduced an option in a map’s settings to disable it.

The worldbuilding prompts also get some updates! Firstly, the prompt’s judge now displays on the event, with a link to their public profile. Secondly, all participants of an event are now visible when the prompt has a winner.
Calendars now how keyboard shortcuts. Ctrl left arrow to show the previous month/year, and Ctrl right arrow to show the next one.
The campaign’s relation interface now allows bulk deletion. The confirmation dialog also includes an option to delete mirrored relations.

Maps have a new sidebar UI, that will make markers links to entities with images pop more. Markers linked to locations that have maps will also link to those maps.

Organisations have a new checkbox, similar to a character’s dead status, to define that they are defunct. This new option is of course available in bulk editing.

Searching for characters with multiple races is possible. This feature isn’t yet available in the UI, but in the URL by chaining the races[]=race.id
parameters.
Talking about filters that do work in the UI, it’s now possible to filter on empty attributes. Write your attribute name, and !!
in the attribute value, to only show attributes with an empty value.
When viewing an entity you can’t edit, the pins section now hides by default. You can also enable this for all in your campaign with a custom CSS rule targeting entity-empty-pin
.

In a journal’s side-profile, the location is visible.
When viewing a race’s subraces, all descendants are now visible, more in line with how these children views work in the rest of Kanka.
The public campaigns page now has a way of displaying campaigns based on their number of followers, rather than by entity count.
Adding eras is now possible from the timeline’s main view. This option is visible either in the warning of a timeline having no eras, or at the end of the page of a timeline with eras.

General keyboard shortcuts
For our non-mobile users, we’re introducing three keyboard shortcuts today to help speed up your workflows in Kanka.
n
opens up the quick creator.k
focuses on the global search field.]
toggles the campaign sidebar.
More refactoring?
Yes, we can’t get enough of making Kanka’s code cleaner and faster! Posts have been migrated to the new visibility_id
system, resulting in faster page loads for non-admins viewing an entity with many posts.
We now only keep entity logs for one year. The “created at” and “updated at” fields will still work as they do, but viewing the history of an entity will no longer include knowing that someone edited it in 2017.
Feature deprecation
The Kanka 5e monster sheet is now official deprecated. It will continue working for entities that use it, but it is no longer available to apply to entities.
The Random character button and feature has been removed, as it wasn’t being used and needlessly complicated some parts of the application.
Bug squishing, squashing, and some other synonymous action
The API correctly tells users about their rate throttling limit. Entity can now be updated without their tags being removed.
Fixed the list of campaigns on a user’s profile.
When viewing the list of subjournals, the other wouldn’t show.
Fixed some issues with caching, which results in improved performance.
Quick links set to show the nested view of modules that don’t support it now use the non-nested view.
That’s it for this update! If you missed the previous one, you can read it here.
As always, thank you to our amazing subscribers who make these frequent updates possible. Come join us and our community on our Discord server!