-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
WeKan Multiverse Roadmap
- Requires CPU to support AVX
- Bun Javascript Engine https://bun.sh
- MongoDB 5.x and newer https://github.com/turnkeylinux/tracker/issues/1724#issuecomment-2351544191
- Does not work at s390x
- Bun Javascript Engine https://github.com/oven-sh/bun/issues/2632
- Deno Javascript Engine https://github.com/denoland/deno/issues/20212#issuecomment-1756663943
- Lazarus IDE https://www.lazarus-ide.org
- FreePascal programming language https://www.freepascal.org
- TigerBeetle database https://github.com/tigerbeetle/tigerbeetle/issues/2241
- Works at s390x
- Programming languages
- Node.js https://nodejs.org https://github.com/wekan/ferretdb/tree/main/node-deno-bun (not Deno or Bun)
- C89 https://github.com/xet7/darkesthour
- PHP https://github.com/wekan/php
- Go https://github.com/wekan/wekango
- Tcl/Tk
- Web Frameworks
- V veb https://github.com/vlang/v/issues/18737
- Gambas https://github.com/wekan/hx/tree/main/prototypes/ui/gambas
- Python Py4Web https://py4web.com
- Ruby on Rails https://github.com/werot
- WeKan Studio https://github.com/wekan/wekanstudio
- Programming languages
- Works at AmigaOS 3.x/4.x/MorphOS/AROS, Win/Mac/Linux
- Web frameworks
- FreePascal https://github.com/wekan/wami
- Web frameworks
- GUI
- Try building many prototypes, see what works
- https://en.wiktionary.org/wiki/throw_things_at_the_wall_and_see_what_sticks
- Will this happen? With what tech? See https://github.com/wekan/wekan/blob/main/FUTURE.md
- You can comment at https://github.com/wekan/wekan/issues/4578
- You can help by sending PR to any prototype repo mentioned below
- Documentation about how to upgrade, all required steps. Or alternatively, a script that does changes required to upgrade.
- Using parts of frameworks as separate packages, like:
- Authentication, like OAuth2, Gmail, etc
- Option to not use websockets, because at some corporate networks do not allow them.
- Option to not have Javascript at frontend, having SSR only. Working with and without Javascript at frontend, like ufront did.
- https://github.com/ufront/ufront
- https://jasono.co/2020/10/03/im-going-to-write-a-web-app-framework-again-maybe-well-see/
- Please do not discontinue HTML (no Javascript) version https://news.ycombinator.com/item?id=37558372
- Storing session to database, for round robin
- Not having build step:
- Keep all files at directories they currently are, with understandable directory structure naming, like:
- Feature name
- Feature part name 1
- Feature part name 2
- Feature name
- Only use file from it's location on page where it is needed
- Cache dependencies. Make possible coding offline.
- Do not uglify
-
https://world.hey.com/dhh/you-can-t-get-faster-than-no-build-7a44131c
- Rails World Opening Keynote by DHH
- I merged all branches to one main branch, because merging between branches did take a lot of time.
- Do not use linters like eslint and prettier. What I did, is I removed all linters, like eslint, prettier etc, because they did disagree about syntax. Point is to make to code minimal change, that fixes something, or adds some feature. Not that most commits would be about fixing syntax.
- Keep all files at directories they currently are, with understandable directory structure naming, like:
- How to not become slow and unresponsive after a week https://github.com/wekan/wekan/issues/5140
- Run code like CGI, release all memory
- Looking for most cross-platform web frameworks, supporting many different CPU, OS and database.
- Both On-Premise AND MultiCloud possible
- License: MIT and other https://copyfree.org
- Meteor
- Helene
- Forum Post https://forums.meteor.com/t/helene-a-lightweight-real-time-web-framework-for-node-js-and-bun/60626
- Repo https://github.com/leonardoventurini/helene
- Discussions https://github.com/leonardoventurini/helene/discussions
- NPM package https://www.npmjs.com/package/helene
- Discord https://discord.com/invite/PbY36PU75C
- Any others?
Supporting many more webbrowsers:
- Maintainer of WeKan since December 2016, xet7 (Lauri Ojansivu), about WeKan Multiverse at EU NGI Dapsi https://www.youtube.com/watch?v=BPPjiZHVeyM
- https://dapsi.ngi.eu/20-new-solutions-to-bring-the-power-of-data-back-to-peoples-hands/
- https://dapsi.ngi.eu/hall-of-fame/multiverse/
- WeKan Open Source kanban: add multiple Import/Export/Sync options and UI Designer, making it possible to create any app.
From https://github.com/wekan/wekan/issues/4578#issuecomment-1407769397
- Web Sustainability Guidelines (WSG) 1.0 at a Glance
- https://w3c.github.io/sustyweb/glance.html
- Minimize size, support all devices https://w3c.github.io/sustyweb/#benefits-90
- Other standards? https://news.ycombinator.com/item?id=36675451
Are you fed up? Need some therapy? Write a webbrowser!
- Gosub
- Ladybird
- Use Javascript to add drag-drop etc Javascript features, and hide UI elements like buttons etc that are for non-Javascript
- Maybe with long poll. Or no live update, require webpage reload.
- For internal corporate networks where websockets are not allowed
or have Javascript disabled for security reasons.
- Netsurf https://www.netsurf-browser.org/downloads/ , Development Builds https://ci.netsurf-browser.org/builds/
- RISC OS https://www.riscosopen.org/content/downloads , https://www.riscosdev.com/direct/
- ReactOS https://reactos.org , https://github.com/howinfo/howinfo/wiki/ReactOS
- Redox OS https://www.redox-os.org
- Haiku, Linux, Windows, Amiga, Atari etc
- Amiga: AWeb, iBrowse
- Dillo Webbrowser at FreeDOS https://github.com/wekan/wekan/issues/4578#issuecomment-1248525591
- Netscape, IE, etc all browsers at all OS/CPU
- FreeDOS: Dillo, Arachne
- Text based browsers: Lynx, Links, w3m (sudo apt-get install w3m w3m-img)
- Ancient browsers:
- SQLite
- PostgreSQL
- Migrations between databases
- Using many databases at the same time
- Offline or Local-First
- Raphael JS, supports also many legacy browsers, with VML and SVG graphics https://dmitrybaranovskiy.github.io/raphael/
- Related forked repos for various graphics at https://github.com/raphaeljsorg
- Or alternatively, just use HTML4, images, imagemaps etc to be compatible to non-Javascript browsers
-
Optionally, use some transpiler:
- https://en.wikipedia.org/wiki/Source-to-source_compiler
- Haxe https://haxe.org , with HaxeUI GUI/WebUI and TUI
- Wax https://github.com/xet7/wax
- Nim https://nim-lang.org
- V https://vlang.io
- Maybe transpiling UI to/from HaxeUI XML, HTML4, HTML5, Gopher, Gemini, Lazarus, Gambas, Godot, MUI/ZUI Amiga/AROS
-
Cross-platform:
- C89 code for 30+ OS/CPU like at https://github.com/xet7/darkesthour
- Pascal code with TRSE https://lemonspawn.com/turbo-rascal-syntax-error-expected-but-begin/
-
Embedded webserver, for example:
-
Try to avoid strange NPM packages
- For selecting programming language:
- https://github.com/wekan/hx/tree/main/prototypes/code/webserver
- https://forums.meteor.com/t/performance-tests-between-meteor-3-meteor-2-help-on-format/60458
- https://www.techempower.com/benchmarks/
- https://github.com/TechEmpower/Framew 10000 orkBenchmarks/tree/master/frameworks
From https://github.com/wekan/wekan/issues/4578#issuecomment-1250143726
When there is a lot of boards, it is very useful to group by first character of board (and after that click charater to see list of boards for that character, to be added later). I could not figure out how to do it with MongoDB aggregate query. Here is how I did it with SQLite, for type board. SQLite returns results immediately. Note that emojis, UTF-8 shows also on Netsurf browser. TODO is to figure out, could I get these visible also in FreeDOS Dillo browser.
SELECT _id, substr(title,1,1), COUNT(*), type from boards
WHERE type=:type GROUP BY substr(title,1,1) ORDER BY substr(title,1,1) ASC;
Actually, somewhere I saved answer from ChatGPT or Bing AI search, what this SQL query using MongoDB Javascript syntax. So maybe I should ask again.
https://github.com/wekan/php/blob/main/page/allboardschar.php
- Currently xet7 actively working with this prototype: https://github.com/wekan/wekanstudio
- https://redbean.dev
- Minimal kanban board drag drop example
- Repo https://github.com/wekan/hx/tree/main/prototypes/code/webserver/works/fullmoon
- Redbean amd64 binary works at Win/Mac/Linux/BSD/BIOS without any modifications, because it is based on Cosmopolitan https://github.com/jart/cosmopolitan
- Uses HTMX https://htmx.org at UI
- Saves to SQLite database
- Petclinic fork, using Blink to run at s390x https://github.com/wekan/wekan/wiki/s390x#petclinic-s390x
- Repo https://github.com/wekan/php
- Features:
- Some webpages compatible with all browsers
- SQLite list all boards with first character, show board with some data
- MongoDB test for newer MongoDB
- upload file(s) with drag-drop, for upcoming feature https://github.com/wekan/wekan/issues/2936
- RTL https://github.com/wekan/wekan/issues/3376#issuecomment-1243922087
- Not yet: Login, Move card
- Repo https://github.com/wekan/hx/tree/main/prototypes/ui/gambas
- Features: Login, dropdown menu structure, SQLite database
- Not yet: Show board
- Problems: Gambas login page etc requires Javascript, does not work in Netsurf
- https://github.com/wekan/we
- Features:
- Only serverside rendering. Javascript removed removed from frontend.
- Only test webpage. No actual features.
- Repo https://github.com/wekan/ferretdb/tree/main/node-deno-bun
- Features:
- main.js makes database queries to many databases
- Database drivers:
- MongoDB driver for Legacy MongoDB 3.2.x, using MongoDB from
sudo snap install wekan
- MongoDB driver for newest MongoDB included, using MongoDB 6.x from rebuild-wekan.sh from https://github.com/wekan/wekan
- FerretDB proxy to PostgreSQL, from docker-compose.yml
- FerretDB proxy to SQLite, from docker-compose.yml
- MongoDB driver for Legacy MongoDB 3.2.x, using MongoDB from
- Bun size is about 93 MB
- Deno size is usually about 350 MB https://github.com/wekan/wekan-node20/releases , but from source built Linux arm64 is 1.1 GB because of some bug somewhere.
- Deno also includes Node.js as Deno's Node.js compatibility layer.
- Node.js supports many CPU/OS
- Node.js is used in production and has traceability. https://changelog.com/jsparty/294
- https://github.com/wekan/wekan/wiki/s390x
- https://nodejs.org/dist/latest-v20.x/
- https://github.com/wekan/node-v14-esm/releases/tag/v14.21.4
- https://haxe.org
- Hello world example
- Repo https://github.com/wekan/hx/blob/main/prototypes/code/hello
- Transpiled with Haxe to many programming languages
- Tinkweb
- Repo https://github.com/wekan/hx/tree/main/prototypes/ui/tinkweb
- Has router and webpage
- Transpiles to PHP and Node.js
- Repo https://github.com/wekan/wami
- Some static pages. At upload page, uploading file now works.
- Previous:
- Repo https://github.com/wekan/hx/tree/main/prototypes/code/webserver/works/freepascal-router
- Router and some webpage
- Works at many retro and modern OS, but not at s390x that FreePascal does not support yet https://wiki.freepascal.org/ZSeries
- Repo https://github.com/wekan/wedos
- Features:
- DOS: .bat script, that shows menu, and uses SQLite DOS version to make queries to WeKan SQLite database
- Bash: .sh script, that shows menu, and uses SQLite CLI to make queris to WeKan SQLite database
- Repo: https://github.com/wekan/minio-metadata
- Features:
- Uses Bash script and CLI binaries to migerate text data and attachments from MongoDB to SQLite and Minio
- There is Node.js, Go etc drivers for using Minio
- Developing
- D1 SQLite
- https://developers.cloudflare.com/d1/platform/community-projects/#d1-adapter-for-kysely-orm
- https://blog.cloudflare.com/d1-open-beta-is-here/
- https://blog.cloudflare.com/introducing-d1/
- https://www.cloudflare.com/developer-platform/d1/
- https://blog.cloudflare.com/hyperdrive-making-regional-databases-feel-distributed/
- Northwind Traders example
- Kysely Query builder for D1 SQLite database
- https://codedamn.com/news/product/dont-use-prisma
- https://news.ycombinator.com/item?id=37804072
- https://kysely.dev
- https://github.com/kysely-org/kysely
- https://www.npmjs.com/package/kysely
- Awesome Kysely https://github.com/kysely-org/awesome-kysely
- Older database examples: https://github.com/cloudflare/db-connect
- Hono
- WebGPU
- CloudFlare TV https://cloudflare.tv
- CloudFlare https://cloudflare.com
- TODO example with KV https://github.com/wekan/cloudflare-workers-todos
- https://github.com/wekan/weror . Password register and login works, there is workspaces and dragging cards, but no user management etc features yet.
Wekan - OpenSource Kanban
- 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
- Allow private boards only: Disable Public Boards
- Security Disclosure and details of Security in Wekan
- Security issues
- Password Hashing
- 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
- 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
- Repair MongoDB
- Using Meteor MongoDB to repair files
- If board does not open and keeps loading
- Repair Docker
- Wekan Markdown
- Emoji
- Mermaid Diagram DOES NOT WORK ANYMORE
- Numbered text
- 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
- 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
- Download Wekan for various Platforms: Supported by xet7, Operating Systems, NAS, Cloud
- Helm Chart for Kubernetes
- Caddy
- Nginx
- Apache
- OpenLiteSpeed
- Local self signed TLS
- Let's Encrypt and Google Auth
- TLS with Node.js
- Traefik and self-signed SSL certs
- 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
- 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