Editors Note: The Open Mainframe Project is excited to see the support of the open source project on the mainframe platform. Recently Wekan completed adding s390x support to their project by leveraging the Supported Projects Program, and project lead Lauri Ojansivu shared this guest blog post on the project and the experience and outcomes from porting Wekan to s390x.
What is Wekan?
Wekan is Open Source kanban, with features like:
- WIP Limit
- Votes on Card
- Board/Swimlane/List/Card colors and themes, like Dark Mode
- IFTTT Rules similar to Trello Butler
- Notification Drawer like Trello
- Assignee field like Jira
- Received/Start/Due/End Date, Calendar, Spent Time
- Outgoing Webhooks to Chat/NodeRED per board, and Global Webhooks at Admin Panel
- Mobile PWA icon click to Fullscreen
- Board Setting / Card Settings with options to hide card fields
- Used in most countries of the world https://snapcraft.io/wekan
- The standalone version has Password, LDAP, OIDC Login.
- Sandstorm platform has Email, LDAP, SAML, GitHub, Google login.
- Import from Trello/Wekan/CSV/TSV, Export Wekan/CSV/TSV/HTML archive
- Translated to about 50 languages
Wekan is the combined work of about 180 contributors and a total of about 13 years of programming work.
How did Wekan get started?
Wekan git history started on May 12, 2005. Wekan was originally created by Maxime Quandalle, who lives in France. Since December 2016 maintainer of Wekan has been Lauri Ojansivu, that lives in Finland.
I have maintained for Wekan for over 3 years. Before that, my background is Linux SysAdmin, Cloud Architect, Win/Mac/Linux support, programming, websites, etc., computer-related, going back to OS/2 BBS SysOp, and Amiga 500.
Porting Wekan to s390x
I did learn about the Open Mainframe project on FLOSS Weekly 466] and FLOSS Weekly 564. For porting Wekan to s390x, I did get access to IBM LinuxOne Community Cloud server, where I did boot RHEL7 server. I did upload Node.js and MongoDB packages and Wekan Meteor bundle. Getting it running required that I upload the fibers package and build it locally on the server. After that, I was able to start Wekan on the server. Because that s390x server does not have open ports to the Internet, to see Wekan web interface, I did create ssh tunnel. Then I used my web browser to browse through ssh tunnel to see Wekan web interface.
The screenshot below is my Qubes OS desktop, and via SSH tunnel browsing Wekan Admin panel running on RHEL7 s390x.
What Wekan on s390x makes possible
Wekan on s390x makes possible various integrations. For example, some mainframe software can use Wekan REST API to send info to Wekan cards. It’s also possible to run many copies of Wekan on the same mainframe, for different users, using the same or different MongoDB database. With Wekan saving all data to the server, it’s possible to keep data private according to GDPR. Wekan works with many desktop and mobile webbrowsers and also PWA. It is recommended to keep at least daily backups of MongoDB database, which contains all saved data. It’s also possible to save attachments outside of the database, directly to the hard drive with the setting at start-wekan.sh script.
What’s next for Wekan
Currently, the Wekan bundle does run on s390x. Next is trying to get other packaging formats working on s390x and arm64, like for example:
With Snap, help is welcome with these:
- Changing the base image from Ubuntu 16.04 to newest 20.04
- Updating Snap MongoDB from v3.2.22 to newest v4.x
- Having Snap version built for all possible CPU architectures
With Docker, help is welcome with these:
- Having Docker version built for all possible CPU architectures
Docker version does already run with the newest MongoDB 4.x.
Other packaging formats could be possible if someone helps with them:
For .deb and .rpm, currently, there are automatic builds done at https://packager.io, but those builds are broken and would need some fixing.
Upcoming are those paid features marked URGENT or TOP PRIORITY at Roadmap.