8000 Add feature: Themes. Upload, switch and manage in settings. · Issue #781 · wekan/wekan · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Add feature: Themes. Upload, switch and manage in settings. #781

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
xet7 opened this issue Feb 5, 2017 · 21 comments
Closed

Add feature: Themes. Upload, switch and manage in settings. #781

xet7 opened this issue Feb 5, 2017 · 21 comments

Comments

@xet7
Copy link
Member
xet7 commented Feb 5, 2017

Originally from @vanila.web.studio at Wefork Rocket.Chat.

Theme settings:

  • upload, download themes, including CSS files, images etc
  • on each board, it's possible to change what theme name to use
  • changing theme name changes it everywhere. This way you can have different versions of same theme, like summer1, summer2, summer3 etc.

Example themes:

  • desktop, responsive
  • mobile, responsive
  • custom application for managing websites
  • custom application for different kanban workflows

Themes should be based on Wekan theme, as we have no rights to use Trello theme.

Example theme screenshot from @vanila.web.studio :

trello-by-franciscoamk

@Abacaxi-Nelson
Copy link
Contributor

I need this too 👍
How can we achieve this ? plugins ? cause many template are involved...

@xet7
Copy link
Member Author
xet7 commented Feb 5, 2017

@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.

@Abacaxi-Nelson
Copy link
Contributor

Hi,

So this feature only cover css & images, not templates ?

@xet7
Copy link
Member Author
xet7 commented Feb 6, 2017

@tugal

Please give more detailed description of what templates you mean, english is not my native language.

@xet7
Copy link
Member Author
xet7 commented Feb 6, 2017

@tugal

Do you mean wefork#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.

@xet7
Copy link
Member Author
xet7 commented Feb 6, 2017

@tugal

I think board data also includes what theme that board uses. I'll update this issue description.

@jelenajjo
Copy link

I started working on theme and here is the first update on what I got so far, just by changing CSS.

Theme update

@xet7
Copy link
Member Author
xet7 commented Feb 19, 2017

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?

  1. 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.

  2. When new Theme card is selected for that one board, URLs would be changed to use CSS and images from selected Theme card.

Pro

  • If Wekan is running on Docker container, it can be replaced with new version of Wekan, as nothing is saved to Wekan container. All data including Themes are in MongoDB database.
  • In Sandstorm, Wekan files are cryptographically signed and read-only. All changeable data is in MongoDB database, including Themes.
  • We would not need to implement attachment upload logic for theme files

Con

  • On Sandstorm, Theme card needs to be on same board as boards are in separate grains.
  • Should Theme cards be completely separate, like Archived cards are in different place and not usually visible?
  • If Theme does make Wekan unuseable, how do we make sure that it's possible to change back to working theme?

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.

@xet7 xet7 mentioned this issue Feb 19, 2017
@xet7
Copy link
Member Author
xet7 commented Feb 19, 2017

This is related to #776

@elioqoshi
Copy link

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

@xet7
Copy link
Member Author
xet7 commented Feb 23, 2017

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 #92

@neooleg
Copy link
neooleg commented Mar 31, 2017

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?

Not sure that I understood the idea. Is it means that I can apply different theme (sub-theme) per different board?

@xet7
Copy link
Member Author
xet7 commented Apr 1, 2017

@neooleg

Yes. Complete themes.

Admin Panel:

  • List theme.
  • Upload theme files, specity theme name and version number.
  • Download theme
  • Edit theme name and version number, renaming it. No multiple themes with same name and version number allowed.
  • Delete themes.
  • Possibly: List all board names and themes, modify what theme is used.

Board settings:

  • Select theme name and version number from dropdown list.

This Themes, API, programmability etc makes working like Jira possible:

  • Multiple boards with different themes
  • Showing cards vertically or horizontally
  • Clicking something goes to another board that has another theme

API, programmability etc makes also integration possible johannesjo/super-productivity#7

@neooleg
Copy link
neooleg commented Apr 1, 2017

@xet7,

thanks for sharing, looks good. Versioning is really important, nice to see it 👍

However, what confuses me is (possibly) mixing very different features:

  • Plugin API which is extra logic and view
  • Themes which is view (for existing UI always).

Am I missing something?

@xet7
Copy link
Member Author
xet7 commented Apr 1, 2017

@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.

@xet7
Copy link
Member Author
xet7 commented Jun 5, 2017

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.

@whittssg
Copy link
whittssg commented Jul 24, 2017

@jelenajjo Did you ever finish the theme that you posted a while back? It was looking good, Thanks

@xet7
Copy link
Member Author
xet7 commented Mar 5, 2018

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:

  • Upload/Download themes to Wekan as .zip archives to board, stored at MongoDB
  • Select what theme board uses
  • In Admin Panel see what boards have what themes uploaded, and way to globally reset to original Wekan theme, or reset theme of one board, so boards that have broken theme could be accessed again
  • Documentation to Wekan GitHub wiki, how to update custom themes, when there is new feature added to Wekan, that changes original Wekan theme.

If some themes implementation has different way of implementing this, it could be good starting point also.

@xet7
Copy link
Member Author
xet7 commented Nov 9, 2018

@xet7 xet7 closed this as completed Nov 9, 2018
@amitkparekh5
Copy link

I started working on theme and here is the first update on what I got so far, just by changing CSS.

Theme update

How can I get this theme?

@xet7
Copy link
Member Author
xet7 commented Jul 3, 2019

@amitkparekh5

I don't have code to that theme.

Wekan now has some themes:
https://github.com/wekan/wekan/wiki/Custom-CSS-themes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants
0