1.25 Custom sidebar

1.25 – Easy custom campaign sidebar and attribute live updates

Dear Kanka users, buckle up and get ready for a big update! We’ve now got custom sidebars for campaigns! We’re also releasing not one but two options from the latest community vote. Introducing custom sidebar, and new exciting features for attributes, among with our usual batch of smaller improvements and bug fixes.

Custom sidebar for boosted campaigns

Boosted campaigns get a new interface to define a custom sidebar for the campaign. This includes renaming elements, changing sidebar icons, and moving their position around.

custom sidebar setup interface for a boosted campaign
custom sidebar rendering

This new interface is accessible directly from World > Sidebar setup.

Changing the name of a module doesn’t change its name in the rest of the app. Also, a section (sidebar element with elements) can’t be in another section. Please note that reordering the elements is only possible on a desktop device, and not on mobile.

The whole sidebar HTML and CSS was rewritten. This means that your custom CSS and marketplace plugins might need an update. Sub elements are now nested in their parent list element. The CSS rules for general sidebars no longer apply on a map’s explore page.

Live editing attributes

We’re also releasing the runner up of April’s community vote, focused on live editing attributes.

When viewing the attributes of an entity, hovering all attributes (except for sections) will reveal a small pencil icon. Clicking on it allows you to update that attribute, with it updating on the page without having to reload the whole page.

live edit attribute view

Note that this doesn’t “propagate” other attributes on the page. If you have other attributes that reference the updated attribute, the values won’t update on the page.

This new feature is also available for our marketplace developers! As detailed in the docs, you can use @editAttribute('attributeName') to have access to this feature.

Number Attribute

A new type of attribute is available, dedicated to numbers, but not just that. The name of the attribute can contain some properties to limit the min and max value of an attribute.

attribute number new button

For example, if you want a new HP attribute that contains a number between 0 and 20, use the following name: HP[range:0,20]. The range property automatically hides when displaying attributes. The range blocks updating the attribute outside of it. This also works with references to other attributes, meaning you can have HP[range:0,{MaxHP}], granted you have an attribute called MaxHP.

number attributes with range and references

You cannot do calculations in the attribute name, but referenced attributes can. Meaning you can’t do HP[range:0,{Level}*{Con}].

Other general improvements to Kanka

When viewing a location’s overview page, maps that have that location set will automatically show up in the profile sidebar. You no longer need to create and pin relations!

The recently released profile pages now show if a member is part of the Kanka team, and includes a link to the hall of fame for subscribers.

When creating moons on a calendar, an error now displays if the offset is larger than the first month’s length.

Sublists of entities now display the lock icon if the entity is private. We’ve also added a entity-private class on the table’s row element, allowing you to target such rows with custom CSS. Dead character also get a new character-dead class on the same row element.

sublists custom css class for private and dead entities

All of the sublist interfaces receive a lifting with this update, unifying the various helper texts to only be shown if there is no element.

When viewing a calendar in the year mode and editing it, the yearly layout displays after saving.

The recently introduced map snipping now alows 50 pixels of panning on all sides.

A timeline’s element visibility icon is now on the right of the element, next to the edit and delete buttons.

When editing an entity and Kanka goes down for maintenance, a warning will appear again so you don’t loose data.

In an entity’s overview page, the tag’s parent tag ids have been added to the body classes.

Boring tech stuff

We’ve removed several deprecated third party packages from the code source. We’ve also split the big “web” routing file into several files.

If you are self-hosting Kanka, this release is the last version to support PHP7. The next update will require PHP8.0 and higher.

Bug fixes

When editing a character that is part of organisations, its designated member leader is no longer lost.

Previously featured campaigns didn’t show up on the public campaigns.

A bug regarding Discord roles when upgrading to the Wyvern or Elemental role from Owlbear was hopefully fixed.

The random widget preview on dashboards was missing the entity-preview class.

On the marketplace, editing the source mode of a plugin’s description would freeze the browser. Text editor labels now show at the correct place.

Fixed a bug where a non-admin role allowed to create entities but not edit them wouldn’t automatically get the edit permission.

The API now shows an error when trying to create or edit a character if the family or race isn’t an array, instead of crashing.

Entities created by mentions by non campaign admins would be private if the campaign settings were set that way.

Editing a quest wouldn’t pre-select the parent quest in the dropdown.


That’s it for 1.25, we hope you enjoy it as much as we enjoyed working on it! If you missed 1.24, 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 *