New Plugin: ApplicationBranding

Hello all,

Hope you find this new plugin useful. Don’t forget to star the repository if you do!

Thanks, this looks fantastic! I like very much how your collection of plugins, including this new one, are making kanboard look and function more and more like a modern webapp.

A couple things I noticed off the bat, which you probably know already but I figured I’d share for completeness’s sake:

  1. ApplicationBranding is not presently in the official plugin directory. I had to install it manually
  2. On the defaut login screen, at the very bottom of the login panel, I see “Your IP:”. I host kanboard behind a reverse proxy, so the web server only listens on
  3. The 2fa page is not branded in the same way as the login page
  4. My favicon was blown away and replaced by a different one, which I think is undesireable behavior–I chose the favicon carefully. Also, this conflicts with what the Customizer plugin says. That plugin reports my usual favicon, but the favicon has definitely been changed and is not the one being reported by Customrizer
  5. What had been my favicon became an image on the login screen (I think? Otherwise I’m not sure how the image I see there appeared there)
1 Like

It’s unclear to me whether this is the result of the ApplicationBranding plugin or an existing problem, and I don’t have time to troubleshoot right now, but I just now clicked “remove login icon” in the Customizer plugin, hit Yes, and was sent to a non-existent page (a 404 error). Customizer did what I asked, it just sent me to a bad page.

1 Like

Thanks, this looks fantastic! I like very much how your collection of plugins, including this new one, are making kanboard look and function more and more like a modern webapp.

  • Thanks so much, you made my day!

My responses:

  1. Yes, I’m waiting for it to merge. A few of my pugins today have been updated, just waiting for the updates to be merged. Its random, whenever the core developer ogins in I suppose. Usually gets merged in 1-3 days. Update Listing by aljawaid · Pull Request #404 · kanboard/website · GitHub
  2. ok, I will fix that to ignore localhost… I created an issue, Ignore `localhost` as IP Address · Issue #5 · aljawaid/ApplicationBranding · GitHub …please add a screenshot? I will do the rest.
  3. I dont have 2FA enabled (I was always scared to lock myself out… the screenshot figures of my global dashboard are real so I have a lot of data)… could you please, again, add a screenshot? I created an issue 2FA Page Styling is Inconsistent with Plugin · Issue #6 · aljawaid/ApplicationBranding · GitHub
  4. The point of the plugin is to replace the Kanboard favicons with a generic My Workspace one. I need to work with the Customizer plugin yet… I was expecting this, allow me some time. I have created an issue for it Cross Plugin Compatibility: Customizer · Issue #4 · aljawaid/ApplicationBranding · GitHub
  5. I’m not sure what you mean by this one…please expain or show me a screenshot

I added the two screenshots you requested. You can ignore #5, that’s easy enough to deal with.

1 Like

this is overriding at least 3 or the same templates as customizer, and i think i added at least 1 hook into one of those layouts to attach to. aside from that i can think of some redundancy, so you need to figure out which plugin will trump in some areas/area and be clear about it so as to not look like an issue. feel free to jog my brain if you hit stumps, but i wrote it like 4 years ago, and may not remember all the rhymes or reasons i did this over that or yadda yadda.


hey @creecros, hope things are easing up on your side.

I havent looked at your code yet, but initially, I was thinking to disable my parts in favour of Customizer as my plugin is just to whitelabel, whereas yours allows to set up options. If I get time, maybe I will include some ifs … surely I will be in touch…

be prepared, its a disorganized cluster f%$@. takes me at least a good 15 mins of remembering where i put stuff every time i touch it.

1 Like

hahahahah ahahahahahaha. if worst happens, then it wont be compatible but Im sure we can find a way around it in due course

can you add me to the repo please?

I cant see any other way around overriding the same template without creating ifs in both plugins.

Hello, I have updated both plugins, you will need to install the updated version on your side to test.

No features are lost from what I know from either plugin. I will make a on/off switch for unsplash background as Customizer also uses that (well it can if the user sets it)

If all works fine on your side I will issue a release for both plugins.

@creecros, can you please have a skim through my changes and let me know what version you would like your next release… I did quite a few fixes to the code/css also.

not just yet, bugger, I got a site down error…not sure where I have gone wrong as I dont even have customizer installed so not sure why it is looking for it

Internal Error: SQL Error: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'myworkspace.customizer_files' doesn't exist

ITS FINE, I GOT IT SORTED. I had a customizer folder which wasnt deleted properly

I have installed the current (as of time of writing) commits of ApplicationBranding and Customizer plugins from github. Can you advise what you’d like me to test?

Here’s what I observe so far:

  • The login screen no longer says “Your IP:”. However now it says “Your IP: localhost ?>”, with a dotted underline under “localhost” and hovertext that says “” when hovered
  • The cool background pictures on the login screen are gone :frowning: Never mind! I tried another browser and they work fine; must be a cache thing
  • The new 2fa page is great
  • My favicon and project header images are back, great!
  • Changing themes works as expected (that wasn’t a problem before, just something I tried)

Regarding the localhost on the login screen: I have no idea how hard this would be to do in a Kanboard plugin, but the (one?) “correct” way to obtain the incoming user’s domain or IP address when something is hosted behind a reverse proxy is to grab the X-Forwarded-For HTTP header from the incoming request (I put correct in quotes because I don’t get the impression that this is standardized fully). This answer on StackOverflow might help; here’s a similar question with more details.

This is not a showstopper issue, and it seems like the new 2fa layout + control of favicon and header images via Customizer being fixed are very good improvements!

Thanks for that. You just tested it lol

Glad you not getting any errors.

You shouldn’t get the ? > IP part, will check, it could be a typo.

It shows 'local host intentionally, whereas on mine it shows my real IP. The tooltips is correct showing the IP for local host, I did it as a way of checking your connection at a glance before you login.

Yes sounds like a cache issue but the random backgrounds are there, can also be switched off to a white background through the settings. I purposely kept 2FA plain white background as it should be a fast non-distracting page.

About the favicon, I’ve extended the favicons for the full 30 icons in my plugin, so with customizer installed, it adds another 26 icons.

This is what I’m seeing on the login screen, if it helps:

2023-02-05 13.33.42 3265c925c898

1 Like

Customizer and ApplicationBranding have both been released and are available as updates in the directory now.

ApplicationBranding v3.0 has been released (waiting to be pushed into the directory) with compatibility with the new TemplateManager (template counts are now included). Hope its all useful.