Add feature: Themes. Upload, switch and manage in settings.
Brought to you by:
wekan
Originally created by: xet7
Originally from @vanila.web.studio at Wefork Rocket.Chat.
Theme settings:
Example themes:
Themes should be based on Wekan theme, as we have no rights to use Trello theme.
Example theme screenshot from @vanila.web.studio :

Originally posted by: Abacaxi-Nelson
I need this too 👍
How can we achieve this ? plugins ? cause many template are involved...
Originally posted by: xet7
@tugal
Implementation plan v1 - not good enough
There's no plugin system in Wekan.
Here are the steps how somebody wanting this feature would implement this:
1) User interface is defined by images and CSS. Currently it works so that some of those are generated with Wekan build process, that takes templates and and combines and minimizes final CSS. Building themes needs to be separated to different build script, that has option of theme name, so it saves theme to different named theme directory.
2) Theme is then archived to .zip file.
3) On Wekan Settings / Theme, there is list of themes, and those can be uploaded, renamed and downloaded.
4) When new theme is uploaded, it is unarchived on server, and all files are added to MongoDB.
5) In Theme Settings you can change what theme is used. That change then changes URLs on Wekan, so CSS points to for example themes/websitemanager/css/layout.css etc.
Originally posted by: Abacaxi-Nelson
Hi,
So this feature only cover css & images, not templates ?
Originally posted by: xet7
@tugal
Please give more detailed description of what templates you mean, english is not my native language.
Originally posted by: xet7
@tugal
Do you mean https://github.com/wefork/wekan/issues/39 ? That's separate issue that is about board data, that could be added and copied to new board. This issue is about visual look: images, CSS, layout. Not board content.
Originally posted by: xet7
@tugal
I think board data also includes what theme that board uses. I'll update this issue description.
Originally posted by: jelenajjo
I started working on theme and here is the first update on what I got so far, just by changing CSS.
Originally posted by: xet7
Using .zip files would be too compicated, it would result in constant zip/unzip when making changes.
Implementation plan v2
1) User interface is defined by images and CSS. Currently it works so that some of those are generated with Wekan build process, that takes templates and and combines and minimizes final CSS. Building themes needs to be separated to different build script, that has option of theme name, so it saves theme to different named theme directory.
2) Like there is separate Archived cards, there would be list of Theme cards. Could same board have different views for Normal cards/Archived cards/Theme cards/other card types?
3) Card would have new option to checkmark it as:
[X] Theme card
4) Add images, css, etc theme files as attachments to Theme card.
I don't know is this good idea:
Theme card does not need to be on the same board, it can be on separate board that Admin user also has access. But then, if only Admin has access to separate board that has Theme card, and users of board don't have access to board where Theme card is, how would we make it possible that users also have permission to see new theme on board?
5) In board settings, select:
5.1) 1st dropdown list of Board names that admin has access.
5.2) 2nd dropdown list of of Theme cards in that board. This list should show only those cards that are checkmarked as Theme card.
6) When new Theme card is selected for that one board, URLs would be changed to use CSS and images from selected Theme card.
Pro
Con
Conclusion
Please add your comment could this design work, or have I not considered some use cases etc in this properly. It's also possible that this is still more complicated, and it would be better to just have Theme menu with upload/download of theme files as one multi-file upload/download, and maybe .zip file option if that's needed by somebody.
Originally posted by: xet7
This is related to https://github.com/wekan/wekan/issues/776
Originally posted by: elioqoshi
That looks pretty good! I'd put the title of the board on the same place where it is currently in Wekan (same also in Trello). I'd give the list columns also a bit more opacity, to differentiate them a bit more.
I'm not the best to help with technicalities here, but I'd be happy to help with the UI
Originally posted by: xet7
Please note, that any CSS and images from Trello will not accepted to Wekan.
There was already a lot of work done to create Wekan's own theme during previous time of DMCA takedown notice https://github.com/wekan/wekan/issues/92
Originally posted by: neooleg
Not sure that I understood the idea. Is it means that I can apply different theme (sub-theme) per different board?
Originally posted by: xet7
@neooleg
Yes. Complete themes.
Admin Panel:
Board settings:
This Themes, API, programmability etc makes working like Jira possible:
API, programmability etc makes also integration possible https://github.com/johannesjo/super-productivity/issues/7
Originally posted by: neooleg
@xet7,
thanks for sharing, looks good. Versioning is really important, nice to see it 👍
However, what confuses me is (possibly) mixing very different features:
Am I missing something?
Originally posted by: xet7
@neooleg
There is separate open issues about API etc, I did not have time to link to those issue numbers. This issue is only about themes.
Originally posted by: xet7
I'm rethinking about Themes feature, mostly by having only minimal changes that other features need integrated in Wekan.
For Jira use case there would be only those different layouts where horizontal / vertical can be changed, and all this while still showing Wekan logo and having Wekan look and feel.
For full theme changes, users would need to use them on browser plugins so they would not make Wekan broken so easily.
Originally posted by: whittssg
@jelenajjo Did you ever finish the theme that you posted a while back? It was looking good, Thanks
Originally posted by: xet7
I did chat with one company about implementation of General Themes feature, it they choose to try to implement this. Currently many companies have hacked Wekan web interface to:
a) have some kind of company theme, that is acceptable use
b) to have Trello theme, that if you use images and CSS from Trello, is a DMCA violation and also why new Wekan theme was developed years ago. Having Trello theme in Wekan repo, or hosted elsewhere by Wekan Team, is not legal.
For the a) case, requirements for implementing full themes feature:
If some themes implementation has different way of implementing this, it could be good starting point also.
Ticket changed by: xet7
Originally posted by: xet7
https://github.com/wekan/wekan/wiki/FAQ#policy-about-wekan-ui-changes
Originally posted by: amitkparekh5
How can I get this theme?
Originally posted by: xet7
@amitkparekh5
I don't have code to that theme.
Wekan now has some themes:
https://github.com/wekan/wekan/wiki/Custom-CSS-themes