mirror of
https://github.com/wekan/wekan.git
synced 2025-08-15 16:53:57 -04:00
Page:
Deep Dive Into WeKan
Pages
ADFS
AWS
Accounts Lockout
Adding new Snap settings to code
Adding users
Allow private boards only
Android
Apache
Archive and Delete
Asana
AsyncAwait
Azure
B2C
Backup
Browser compatibility matrix
Burndown and Velocity Chart
CAS
CSV
Caddy Webserver Config
Calendar
Change Language
Chromebook
Cloud Foundry
CloudFlare
Cloudron
Converting Meteor Stylus to CSS
Cover
Cron
Custom CSS themes
Custom Fields
Custom Logo
Customize Translations
Dark Mode
Day of week start
Debian
Debugging
Deep Dive Into WeKan
Delete Board
Design Principles
Developer Documentation
Directory Structure
Disable Password Login
Docker
Dome
Drag Drop
Due Date
Emoji
Excel and VBA
Export Docker Mongo Data
Export from Wekan Sandstorm grain .zip file
FAQ
Features
Forgot Password
FreeBSD
Friend
From Previous Export
Gantt
Google Cloud
Google login
Hall of Shame
Helm
Heroku
Home
IFTTT
IRC FAQ
If board does not open and keeps loading
Impersonate user
Install Wekan Docker for testing
Install Wekan Docker in production
Install Wekan Docker on SUSE Linux Enterprise Server 12 SP1
Install Wekan from source on Windows
Install Windows
Install and Update
Install from source without root
Install latest Wekan release on Uberspace
Install source without sudo on Linux
Integrations
Java
Jira
Keycloak
LDAP AD Simple Auth
LDAP
LaTeX
Leo
Let's Encrypt and Google Auth
Linked Cards
Local self signed TLS
Logs
Mac
Mermaid Diagram
Metal
Meteor bundle
Meteor
Metrics
Migrating from Trello
Migrating from old Wekan manually
Monkey Proof Software
Move Docker containers to other computer
Multiline
Multitenancy
NOT related to Wekan
New card with Python3 and REST API
Nextcloud
Nginx Webserver Config
Numbered text
OAuth2
OVH
Offline
OpenShift
OpenSuse
OpenVZ
Oracle Identity Cloud
Oracle OIM
Outgoing Webhook to Discord
PWA
Password Hashing
PikaPods
Planning Poker
Platforms
PostgreSQL
Press
Python
Qnap NAS
REST API Boards
REST API Cards
REST API Checklists
REST API Code
REST API Custom Fields
REST API Integrations
REST API Lists
REST API Role
REST API Swimlanes
REST API User
REST API
Rancher Rancher Active Proxy Wekan MongoDB Docker
Raspberry Pi
Rclone
Receiving Webhooks
Repair Docker
Repair MongoDB
Requirements
Roadmap
RocketChat
SAML
Sandstorm
Scaling
Scalingo
Secure Boot
Security Disclosure
Settings
SmartOS
Snap
Source
Subtasks
Swimlanes
Sync
Team
Templates
Test Edge
Time Tracking
Timezone
Touch Screen support
Traefik and self signed SSL certs
Translations
Troubleshooting Mail
UCS
Ubuntu Core
Upgrade
Vagrant
Vultr
WSL
Wait Spinners
WeKan Multiverse Roadmap
WebHook And CA
Webhook data
Wekan Markdown
Wekan Sandstorm cards to CSV using Python
Wekan vs Sandstorm
Wekan vs Trello vs Restyaboard
Windows
ZenKit
Zitadel
autologin
ppc
s390x
virtual appliance
No results
41
Deep Dive Into WeKan
Lauri Ojansivu edited this page 2025-06-13 21:42:39 +03:00
Table of Contents
- WeKan Interview 2023-12-08 starts at 22min 22sec
- Screenshot of Meteor WeKan
- Description of Meteor WeKan
- How much effort to create Meteor WeKan, in COCOMO model
- Meteor WeKan Browser support
- Meteor WeKan Server
- Meteor WeKan Features
- Technical details
- Upcoming Features
- Video
- Maybe?
- Upcoming upgrades to Meteor 3.0
WeKan Interview 2023-12-08 starts at 22min 22sec
https://www.youtube.com/watch?v=ke-mbnZM3zE
Screenshot of Meteor WeKan

Description of Meteor WeKan
- WeKan Open Source kanban with MIT license.
- Translated to 70+ languages https://explore.transifex.com/wekan/wekan/
- Used in most countries of the world https://snapcraft.io/wekan
- Biggest user have about 30k users, using many pods at Kubernetes
- Changelog https://github.com/wekan/wekan/blob/main/CHANGELOG.md
- Commercial Support at https://wekan.team/commercial-support/ . Currently looking who could sponsor more of maintenance and development.
How much effort to create Meteor WeKan, in COCOMO model
- WeKan 134k lines of code: 34 years of effort, 316 contributors https://openhub.net/p/wekan
- Meteor.js, 224k lines of code: 59 years of effort, 819 contributors https://openhub.net/p/meteor-js
- Since December 2016, WeKan maintainer https://github.com/xet7 :
- has added and removed about 4M lines of code https://github.com/wekan/wekan/graphs/contributors
- https://openhub.net/accounts/xet7
Meteor WeKan Browser support
- Javascript enabled Desktop and Mobile Safari/Chromium/Firefox based browsers
- Apps at Play Store, Windows Microsoft Store, Ubuntu Touch OpenStore https://github.com/wekan/wekan/wiki/Browser-compatibility-matrix
- Alternatively, for self-hosted WeKan, create PWA icon https://github.com/wekan/wekan/wiki/PWA
- Using WeKan with big touchscreen https://github.com/wekan/wekan/wiki/Touch-Screen-support
Meteor WeKan Server
- Meteor.js 2.x, Node.js 14.x https://github.com/wekan/node-v14-esm/releases/tag/v14.21.4 , MongoDB 6.x
- CPU: amd64, arm64, s390x, Source Bundle at https://github.com/wekan/wekan/wiki/Raspberry-Pi
- Windows On-Premise: https://github.com/wekan/wekan/wiki/Offline
- Mac: Docker, or at https://github.com/wekan/wekan/wiki/Mac
- Newest at platforms: Source Bundle, Snap Candidate, Docker, Kubernetes https://wekan.github.io
- Platforms that will be updated to be up-to-date: Snap Stable, Sandstorm, UCS https://wekan.github.io
Meteor WeKan Features
- WeKan Design Principles
- Realtime UI. When someone makes change, like drag card or add text, everyone will see changes immediately. This is because Meteor listens to MongoDB change stream, and updates UI. For some rare cases, there needs to be reload of page, those need to be fixed.
- Whitelabel: Change product name and product image at login screen and board left top corner. Not changing favicon, because there are 100+ favicons for different devices.
- Drag Drop at Desktop and Mobile:
- Board Icons, Swimlanes, Lists, Cards, Checklists, Checklist Items
- Drag handles, per screen https://github.com/wekan/wekan/wiki/Drag-Drop
- Some features similar to Trello and Jira. Some features not in Trello and Jira.
- IFTTT Rules like Trello Butler https://github.com/wekan/wekan/wiki/IFTTT , translated to all supported languages. Trello Butler is only In English.
- Many Assignees like in Jira.
- Change background image and Card Cover. Change Theme. Change color of Boards, Swimlane, List, Card, Label.
- Markdown at: Board name and description, Swimlane, List, Card title and description, Checklist and Checklist Item, Subtask title, https://github.com/wekan/wekan/wiki/Wekan-Markdown
- Emoji https://github.com/wekan/wekan/wiki/Emoji
- MathML
- Preview card attachment image and PDF
- Show Start at End Dates of card at Calendar of Swimlanes/Lists/Calendar dropdown menu
- Custom Fields https://github.com/wekan/wekan/wiki/Custom-Fields
- Subtasks https://github.com/wekan/wekan/wiki/Subtasks
- Planning Poker / Scrum Poker at Card https://github.com/wekan/wekan/wiki/Planning-Poker . No other card games yet ;)
- For board actions, like move card etc, Per Board and Global Outgoing and 2-way webhooks to Chat (RocketChat, Slack, Discord etc), NodeRED, or PHP webhook receiver like https://github.com/wekan/webhook
- At top right username menu:
- Search All Boards, with search options
- Public Boards. Board can be set private or public. At Admin Panel is option to disable public boards, so all boards are private.
- Change Language
- My Cards and Due Cards: Show cards where you are member or assignee, from all boards
- At top of current board:
- Filter cards, by user etc
- Multi-Selection, checkmark and drag many cards at once
- Sort current board
- Python and PHP based additional features https://github.com/wekan/wekan/wiki/Python
- Admin Panel:
- Organizations/Teams/People. Impersonate User, logged to database when someone uses that feature.
- Customize Translations https://github.com/wekan/wekan/wiki/Customize-Translations
Technical details
- Reactive Cache
- mfilser tested speed improvement for half a year, and finally made huge PR to WeKan v7.00 to make all of WeKan use Reactive cache https://github.com/wekan/wekan/pull/5014
- Reactive Cache Repo https://github.com/wekan/meteor-reactive-cache , xet7 updated dependencies
- Big performance improvements https://github.com/wekan/wekan/issues/5000
- Using same style of API for client and serverside
- Use more ReactiveCache than MiniMongo
- Optimizing and Debugging Meteor, reducing size, links to WeKan dependencies https://github.com/wekan/wekan/wiki/Debugging
- Custom OIDC/OAuth2 login
- Repo https://github.com/wekan/wekan/tree/main/packages/wekan-oidc
- Features:
- At Admin Panel, you can change text of login page button
Login with OIDC
- Auth0 https://github.com/wekan/wekan/wiki/OAuth2#auth0 . This did take about half year to implement by xet7, was not available anywhere else for Meteor.
- Oracle OIM. https://github.com/wekan/wekan/wiki/Oracle-OIM . For this, customer provided some code. xet7 added fix to make login work even when some login field was missing data, by taking data from other field, all this while xet7 did not have access to customers Oracle OIM, just guessing about what code to add, and it worked.
- GitLab https://github.com/wekan/wekan/wiki/OAuth2#gitlab-providing-oauth2-login-to-wekan
- RocketChat https://github.com/wekan/wekan/wiki/OAuth2#rocketchat-providing-oauth2-login-to-wekan
- Nextcloud https://github.com/wekan/wekan/wiki/Nextcloud
- ADFS 4.0 using OAuth2 and OpenID https://github.com/wekan/wekan/wiki/ADFS
- Azure https://github.com/wekan/wekan/wiki/Azure
- Keycloak https://github.com/wekan/wekan/wiki/Keycloak
- Google login https://github.com/wekan/wekan/wiki/Google-login
- At Admin Panel, you can change text of login page button
- Custom LDAP
- LDAP https://github.com/wekan/wekan/wiki/LDAP
- LDAP AD Simple Auth https://github.com/wekan/wekan/wiki/LDAP-AD-Simple-Auth
- Default board for users https://github.com/wekan/wekan/pull/5098
- Brute Force Accounts Lockout https://github.com/wekan/wekan/wiki/Accounts-Lockout
- Markdown, Emoji, MathML, sanitizing https://github.com/wekan/wekan/blob/main/packages/markdown/src/template-integration.js
- Many security fixes from Responsible Disclosure https://wekan.github.io/hall-of-fame/
Upcoming Features
Video
- Creator of WeKan, mquandalle (Maxime Quandalle) https://www.youtube.com/watch?v=N3iMLwCNOro
- https://github.com/wekan/wekan/wiki/FAQ#what-was-wekan-fork--wefork
- Maintainer of WeKan since December 2016, xet7 (Lauri Ojansivu), about WeKan Multiverse at EU NGI Dapsi https://www.youtube.com/watch?v=BPPjiZHVeyM . More about Multiverse at https://github.com/wekan/wekan/wiki/WeKan-Multiverse-Roadmap
Maybe?
Upcoming upgrades to Meteor 3.0
- This Week in MeteorJS: 22 September 2023 https://www.youtube.com/watch?v=UWVL1xUP9r0
- There Jan Dvorak IV https://github.com/StorytellerCZ commented chat: "We should do deep dive into WeKan!"
- So here is The Deep Dive!
- Questions for upcoming "This Week in MeteorJS", some already mentioned to be upcoming:
- How to upgrade dependencies to Meteor 3.0 ? Some answer was to mention Meteor version at package dependency:
- But what if adding dependency adds some more error messages? Probably that depends on error message, like here when trying to upgrade to Meteor 3.0 alpha 15: https://github.com/wekan/wekan/issues/5142
- https://forums.meteor.com/t/my-journey-towards-meteor-3-0/60001/23
- How to upgrade dependencies to Meteor 3.0 ? Some answer was to mention Meteor version at package dependency:
Wekan
General
- Deep Dive Into WeKan
- Meteor WeKan Roadmap - board at Wekan demo
- Multiverse WeKan Roadmap
- Docs/Manual
- Change Language
- Forgot Password
- About
- Test Edge
- WeKan Design Principles
- FAQ
- IRC FAQ - answers to questions asked at IRC
- Team
- Press
- Blog
- Wekan vs Trello vs Restyaboard
- Results of Survey 2020-01
Fake: Not WeKan kanban
Security
- Allow private boards only: Disable Public Boards
- Security Disclosure and details of Security in Wekan
- Security issues
- Password Hashing
Scaling
- Cron: Hourly restart WeKan, because of memory leaks
- Maybe: Add more RAM to Node.js to prevent crash
- Clustering AWS etc
- Scaling
- Kubernetes
- Redis Oplog
- Meteor Scaling at Meteor Cloud
- Scaling at Meteor forums
Migrating
- From Previous Export, paste big WeKan JSON
- Progress: Import/Export/Sync
- From CSV/TSV
- From Trello
- From Jira
- From Asana
- From Zenkit
- From old Wekan manually
- Converting Meteor Stylus to CSS
Support priorities for new features and bugfixes
Backup
Repair
- Repair MongoDB
- Using Meteor MongoDB to repair files
- If board does not open and keeps loading
- Repair Docker
Themes
Markdown Syntax
- Wekan Markdown
- Emoji
- Mermaid Diagram DOES NOT WORK ANYMORE
- Numbered text
Login Auth
- Automatic login
- Disable Password Login
- Forgot Password
- Admin: Impersonate user
- Adding Users
- Active users Presence
- Accounts Lockout: Brute force login protection
- LDAP
- LDAP AD Simple Auth
- Keycloak
- Google login
- Azure
- OAuth2, Auth0, GitLab, RocketChat
- Oracle OIM on premise using OAuth2
- ADFS 4.0 using OAuth2 and OpenID
- Azure AD B2C using OAuth2
- Nextcloud
- CAS Please test
- SAML Please test
- Zitadel
Metrics, Logs, Stats
Integrations
Time
Features
- Multiline
- Linked Cards
- Drag Drop on Mobile and Desktop
- Rclone: Store attachments to cloud storage like S3, MinIO, etc
- Python based features
- Burndown and Velocity Chart
- Wait Spinners
- Translations
- Default Language for All Users
- Roadmap
- Features
- Planning Poker
- Scaling
- Custom Logo
- Subtasks <== Has fix
- Templates
- Cover
- Archive and Delete
- Custom Fields
- Fix Export board menu not visible on some boards
- RAM usage
- Demo
- Swimlane Documentation
- Customize Translations
Required Settings
Download
- Download Wekan for various Platforms: Supported by xet7, Operating Systems, NAS, Cloud
- Helm Chart for Kubernetes
Webservers
- Caddy
- Nginx
- Apache
- OpenLiteSpeed
- Local self signed TLS
- Let's Encrypt and Google Auth
- TLS with Node.js
- Traefik and self-signed SSL certs
REST API Docs
REST API issue
REST API client code
- Example: New card with Python3 and REST API
- Python client to REST API
- Go client to REST API
- Java
- Wekan Sandstorm cards to CSV using Python
- Excel and VBA
Webhooks
- Global Webhook
- Limiting Webhook data
- Receiving Webhooks
- Outgoing Webhook to Discord/Slack/RocketChat/Riot
- Outgoing Webhook to NodeRed
- Outgoing Webhook to PowerShell
- Security: Webhook and CA
- Outgoing Webhooks Data
- Outgoing Webhooks and Let's Encrypt
- Outgoing Webhooks Original Pull Request, multiple Webhooks, more parameters and response order
Case Studies
Development
- Kadira integration
- Debugging
- Developer Docs for Standalone Wekan
- Developer Docs for Sandstorm Wekan
- Adding new Snap setting to code
- Directory Structure
- Building Wekan for Sandstorm
- Docs - Sandstorm etc
- Beginner
- Maintainer FAQ
Issues
Wekan - OpenSource Kanban