xet7
September 4, 2026, 5:08pm
4
@dupontbertrand
Meteor Beta is old. There is now RC.
meteor update --release 3.5.2-rc.0
JQuery
WeKan uses JQuery. Sorry.
Multitenancy
For this, currently I have one Docker container, MongoDB user/password and database per user, at same MongoDB database:
The Open Source kanban, built with Meteor. GitHub issues/PRs are only for FLOSS Developers, not for support, support is at https://wekan.fi/commercial-support/ . PR source translation to imports/i1...
Less Code
It’s possible deduplicate code, by combinining Blaze templates, CSS, etc. This also fixed many bugs, when there were differences at those templates, there is less code to maintain, etc.
# Less Code
This document records a measured plan for reducing WeKan's maintained source
code without removing supported behaviour, translations, accessibility or
tests. Fewer lines are useful only when they also leave fewer independent
implementations to understand and keep consistent.
## Baseline
Measured on 2026-09-03 from JavaScript, Jade, CSS and MJS files below
`client/`, `server/`, `imports/` and `models/`:
| Source | Files | Lines |
| --- | ---: | ---: |
| JavaScript and MJS | 798 | 150,724 |
| CSS | 73 | 28,941 |
| Jade | 111 | 13,287 |
| Total | 982 | 192,952 |
Generated bundles, dependencies, translation JSON and tests are not included.
This file has been truncated. show original
# Design: the Table Page
One design, one implementation, for every paginated table in WeKan: a title, an
optional status line, a controls row (search + pagination) and a table of rows.
This page is the **single source** for everything those pages have in common.
A page-specific design doc describes only what is different about *that* page and
links back here — it must not restate the layout, the controls or the paging
rules, because they are defined once, here and in one template.
## Related files
Everything that makes a table page work. Paths are from the repository root.
| File Path | File Type | Description |
| --- | --- | --- |
| `client/components/settings/tablePage.jade` | `.jade` template | **The** table page: title, optional status row, controls, table. The row order is defined here, once. |
| `client/components/settings/tablePage.css` | `.css` stylesheet | The **layout**: full width, equal columns, wrapping cells, and the ≤ 800px stacking of menu and table. No button colours — see the next row. |
| `client/components/main/paginationControls.css` | `.css` stylesheet | The **colours** of every prev/next pager in WeKan, table pages included: the per-user theme accent, falling back to the WeKan default blue. |
| `client/components/forms/forms.css` | `.css` stylesheet | The global `button` rules the pager stylesheet has to out-specify. Read the note in `paginationControls.css` before touching either. |
This file has been truncated. show original
Roles
WeKan does not yet use Meteor Roles. WeKan hardcodes roles, so that it is possible to have feature Impersonate User, logging of impersonation at Admin Panel Problems Impersonation, etc.
2 Likes