# New Plugin: ApplicationBranding

**URL:** <https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592>\
**Category:** Plugins\
**Created:** [January 30, 2023, 5:38am UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592 "2023-01-30T05:38:52Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![aljawaid](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/aljawaid/32/1090_2.png) [@aljawaid](https://kanboard.discourse.group/u/aljawaid)\
**Post date:** [January 30, 2023, 5:38am UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/1 "2023-01-30T05:38:52Z")

</div>

Hello all,

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

> **[GitHub - aljawaid/ApplicationBranding: This plugin will rename your...](https://github.com/aljawaid/ApplicationBranding)**
>
> This plugin will rename your installation to 'My Workspace', and include matching device icons in the site metadata for a better user experience. A revamped login page, with a new Admin Das...

> [@First Look: New Admin Dashboard](https://kanboard.discourse.group/t/first-look-new-admin-dashboard/2591):
>
> Hello all, I’m still working on this but I thought I’d share to the community. I am revamping the about page to show an admin dashboard with some global statistics. It’s still work in progress, but it is happening. Your feedback is welcome.

---

<div class="post-metadata">

**Author:** ![abucci](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/abucci/32/1401_2.png) [@abucci](https://kanboard.discourse.group/u/abucci)\
**Post date:** [January 30, 2023, 2:54pm UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/2 "2023-01-30T14:54:22Z")

</div>

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: 127.0.0.1”. I host kanboard behind a reverse proxy, so the web server only listens on 127.0.0.1/localhost
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)

---

<div class="post-metadata">

**Author:** ![abucci](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/abucci/32/1401_2.png) [@abucci](https://kanboard.discourse.group/u/abucci)\
**Post date:** [January 30, 2023, 2:59pm UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/3 "2023-01-30T14:59:46Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![aljawaid](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/aljawaid/32/1090_2.png) [@aljawaid](https://kanboard.discourse.group/u/aljawaid)\
**Post date:** [January 30, 2023, 3:25pm UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/4 "2023-01-30T15:25:38Z")

</div>

> 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](https://github.com/kanboard/website/pull/404)
2. ok, I will fix that to ignore localhost… I created an issue, [Ignore `localhost` as IP Address · Issue #5 · aljawaid/ApplicationBranding · GitHub](https://github.com/aljawaid/ApplicationBranding/issues/5) …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](https://github.com/aljawaid/ApplicationBranding/issues/6)
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](https://github.com/aljawaid/ApplicationBranding/issues/4)
5. I’m not sure what you mean by this one…please expain or show me a screenshot

---

<div class="post-metadata">

**Author:** ![abucci](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/abucci/32/1401_2.png) [@abucci](https://kanboard.discourse.group/u/abucci)\
**Post date:** [January 30, 2023, 4:26pm UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/5 "2023-01-30T16:26:57Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![creecros](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/creecros/32/156_2.png) [@creecros](https://kanboard.discourse.group/u/creecros)\
**Post date:** [January 31, 2023, 3:19am UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/6 "2023-01-31T03:19:11Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![aljawaid](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/aljawaid/32/1090_2.png) [@aljawaid](https://kanboard.discourse.group/u/aljawaid)\
**Post date:** [January 31, 2023, 3:29am UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/7 "2023-01-31T03:29:27Z")

</div>

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 `if`s … surely I will be in touch…

---

<div class="post-metadata">

**Author:** ![creecros](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/creecros/32/156_2.png) [@creecros](https://kanboard.discourse.group/u/creecros)\
**Post date:** [January 31, 2023, 3:35am UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/8 "2023-01-31T03:35:55Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![aljawaid](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/aljawaid/32/1090_2.png) [@aljawaid](https://kanboard.discourse.group/u/aljawaid)\
**Post date:** [January 31, 2023, 3:38am UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/9 "2023-01-31T03:38:49Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![aljawaid](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/aljawaid/32/1090_2.png) [@aljawaid](https://kanboard.discourse.group/u/aljawaid)\
**Post date:** [February 3, 2023, 11:11am UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/10 "2023-02-03T11:11:24Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![aljawaid](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/aljawaid/32/1090_2.png) [@aljawaid](https://kanboard.discourse.group/u/aljawaid)\
**Post date:** [February 5, 2023, 8:01am UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/11 "2023-02-05T08:01:18Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![aljawaid](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/aljawaid/32/1090_2.png) [@aljawaid](https://kanboard.discourse.group/u/aljawaid)\
**Post date:** [February 5, 2023, 8:27am UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/12 "2023-02-05T08:27:32Z")

</div>

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

```auto
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

---

<div class="post-metadata">

**Author:** ![abucci](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/abucci/32/1401_2.png) [@abucci](https://kanboard.discourse.group/u/abucci)\
**Post date:** [February 5, 2023, 4:17pm UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/13 "2023-02-05T16:17:26Z")

</div>

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: 127.0.0.1”. However now it says “Your IP: localhost ?\>”, with a dotted underline under “localhost” and hovertext that says “127.0.0.1” when hovered
- ~~The cool background pictures on the login screen are gone ☹~~ 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](https://stackoverflow.com/a/23623744) might help; here’s a [similar question](https://stackoverflow.com/questions/7445592/what-is-the-difference-between-http-client-ip-and-http-x-forwarded-for) 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!

---

<div class="post-metadata">

**Author:** ![aljawaid](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/aljawaid/32/1090_2.png) [@aljawaid](https://kanboard.discourse.group/u/aljawaid)\
**Post date:** [February 5, 2023, 4:39pm UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/14 "2023-02-05T16:39:26Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![abucci](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/abucci/32/1401_2.png) [@abucci](https://kanboard.discourse.group/u/abucci)\
**Post date:** [February 5, 2023, 6:34pm UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/15 "2023-02-05T18:34:28Z")

</div>

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

![2023-02-05 13.33.42 www.bucci.onl 3265c925c898](https://global.discourse-cdn.com/free1/uploads/kanboard1/original/2X/d/d073a97892b998f59e888d04788b27194c36aa9d.png)

---

<div class="post-metadata">

**Author:** ![aljawaid](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/aljawaid/32/1090_2.png) [@aljawaid](https://kanboard.discourse.group/u/aljawaid)\
**Post date:** [February 6, 2023, 1:26pm UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/16 "2023-02-06T13:26:04Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![aljawaid](https://yyz2.discourse-cdn.com/free1/user_avatar/kanboard.discourse.group/aljawaid/32/1090_2.png) [@aljawaid](https://kanboard.discourse.group/u/aljawaid)\
**Post date:** [February 23, 2023, 4:47am UTC](https://kanboard.discourse.group/t/new-plugin-applicationbranding/2592/17 "2023-02-23T04:47:34Z")

</div>

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.

 ![image](https://global.discourse-cdn.com/free1/uploads/kanboard1/original/2X/1/199ffc6b86c01a318896ac2bf38e2ba18b364203.jpeg)
