Menu

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

closed
nobody
2019-07-03
2017-02-05
Anonymous
No

Originally created by: xet7

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

Discussion

  • Anonymous

    Anonymous - 2017-02-05

    Originally posted by: Abacaxi-Nelson

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

     
  • Anonymous

    Anonymous - 2017-02-05

    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.

     
  • Anonymous

    Anonymous - 2017-02-06

    Originally posted by: Abacaxi-Nelson

    Hi,

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

     
  • Anonymous

    Anonymous - 2017-02-06

    Originally posted by: xet7

    @tugal

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

     
  • Anonymous

    Anonymous - 2017-02-06

    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.

     
  • Anonymous

    Anonymous - 2017-02-06

    Originally posted by: xet7

    @tugal

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

     
  • Anonymous

    Anonymous - 2017-02-14

    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.

    Theme update

     
  • Anonymous

    Anonymous - 2017-02-19

    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

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

     
  • Anonymous

    Anonymous - 2017-02-19

    Originally posted by: xet7

    This is related to https://github.com/wekan/wekan/issues/776

     
  • Anonymous

    Anonymous - 2017-02-23

    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

     
  • Anonymous

    Anonymous - 2017-02-23

    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

     
  • Anonymous

    Anonymous - 2017-03-31

    Originally posted by: neooleg

    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?

     
  • Anonymous

    Anonymous - 2017-04-01

    Originally posted by: xet7

    @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 https://github.com/johannesjo/super-productivity/issues/7

     
  • Anonymous

    Anonymous - 2017-04-01

    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:

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

    Am I missing something?

     
  • Anonymous

    Anonymous - 2017-04-01

    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.

     
  • Anonymous

    Anonymous - 2017-06-05

    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.

     
  • Anonymous

    Anonymous - 2017-07-24

    Originally posted by: whittssg

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

     
  • Anonymous

    Anonymous - 2018-03-05

    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:

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

     
  • Anonymous

    Anonymous - 2018-11-09

    Ticket changed by: xet7

    • status: open --> closed
     
  • Anonymous

    Anonymous - 2019-03-26

    Originally posted by: amitkparekh5

    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?

     
  • Anonymous

    Anonymous - 2019-07-03

    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

     

Log in to post a comment.