Updated docs

This commit is contained in:
Lauri Ojansivu 2025-06-13 23:05:01 +03:00
parent 4bfc0140be
commit f54cbac370
19 changed files with 490 additions and 55 deletions

View file

@ -0,0 +1,188 @@
## [FOR SANDSTORM WEKAN DEVELOPERS, CLICK HERE FOR OTHER DOCS](https://github.com/wekan/wekan-maintainer/wiki/Developing-Wekan-for-Sandstorm).
## NOTE: This remaining page below is only for maintainers, and is partially outdated.
***
## 1) Download Wekan Sandstorm VirtualBox image
[https://releases.wekan.team](https://releases.wekan.team)
## 2) Update all packages
```
sudo apt-get update && sudo apt-get -y dist-upgrade
```
## 3) Install kernel that works with building for Sandtorm
[Sandstorm issue about kernel bug](https://github.com/sandstorm-io/sandstorm/issues/2526)
[Kernel packaces list](http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.14-xenial/)
```
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.14-xenial/linux-headers-4.4.14-040414_4.4.14-040414.201606241434_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.14-xenial/linux-headers-4.4.14-040414-generic_4.4.14-040414.201606241434_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4.14-xenial/linux-image-4.4.14-040414-generic_4.4.14-040414.201606241434_amd64.deb
sudo dpkg -i linux-headers-4.4.14-040414_4.4.14-040414.201606241434_all.deb \
linux-headers-4.4.14-040414-generic_4.4.14-040414.201606241434_amd64.deb \
linux-image-4.4.14-040414-generic_4.4.14-040414.201606241434_amd64.deb
```
## 4) Install gcc version that works for compiling VirtualBox extensions on kernel 4.4.14
[Info source at VirtualBox forums](https://forums.virtualbox.org/viewtopic.php?f=7&t=76032)
[Info source at AskUbuntu](https://askubuntu.com/questions/428198/getting-installing-gcc-g-4-9-on-ubuntu)
```
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
```
## 5) Install VirtualBox kernel extensions
From Devices / Install Guest Additions CD image...
## 6) Install Sandstorm dev version
[Info source](https://sandstorm.io/install)
Start install:
```
curl https://install.sandstorm.io | bash
```
Use options for development / dev install.
Edit Sandstorm config:
```
sudo nano /opt/sandstorm/sandstorm.conf
```
Uncomment this line this way, so Sandstorm packages are not updated automatically:
```
#UPDATE_CHANNEL=dev
```
## 7) Add Wekan to sandstorm user group textfile /etc/group
```
sudo useradd -G sandstorm wekan
```
## 8) Download meteor-spk packaging tool
[Info source](https://github.com/sandstorm-io/meteor-spk)
```
cd ~/repos
curl https://dl.sandstorm.io/meteor-spk-0.4.0.tar.xz | tar Jxf -
echo "export PATH=$PATH:~/repos/meteor-spk-0.4.0" >> ~/.bashrc
```
## 9) Reboot
```
sudo reboot
```
## 10) Stop Wekan
```
cd ~/repos
./stop.wekan.sh
```
Check did Wekan stop really:
```
ps aux | grep 'node main.js'
```
You may need to kill it:
```
sudo kill -9 PID-NUMBER-HERE
```
(This process should be improved).
## 11) Rebuild Wekan
```
cd ~/repos
./rebuild-wekan.sh
```
## 12) Build development package and install to local Sandstorm
```
cd ~/repos/wekan
meteor-spk dev
```
## 13) After building Wekan, last line of text should be:
```
App in now available from Sandstorm server. Ctrl-C to disconnect.
```
## 14) In terminal, click File / Open Tab to open new shell, and get login URL
```
sudo sandstorm admin-token
```
## 15) Go to login URL with Firefox
## 16) You may need to setup your username etc
## 17) Go to Apps / Wekan. Wekan has grey "dev mode" background. Click Wekan.
## 18) Click + (Dev) Create new board
## 19) Check is everything working in Wekan.
***
# After testing, when really xet7 is making release
## 20) Update Sandstorm release number
```
cd ~/repos/wekan
nano sandstorm-pkgdef.capnp
```
You may need to change these when everything works. AFAIK appVersion 20 is not released yet, as xet7 did increment it to 20. Sandstorm will reject wrong metadata, so it can be checked later.
```
appVersion = 20,
# Increment this for every release.
appMarketingVersion = (defaultText = "0.32.0~2017-07-30"),
# Human-readable presentation of the app version.
```
## 21) Build .spk package
```
meteor-spk pack wekan-0.32.spk
```
## 22) Publish to experimental Sandstorm App Market
```
spk publish wekan-0.32.spk
```
## 23) And then ocdtrekkie checks it, if it's Ok then he releases for official Sandstorm App Market

View file

@ -0,0 +1,144 @@
Development is usually done on Xubuntu 16.04 64bit. This could also work on other Ubuntu or Debian based distros, that are 64bit.
Standalone and Sandstorm Wekan has same code. Only difference is, that at Sandstorm, some features are hidden from web UI by checking `isSandstorm` environment variable that is defined at `wekan/sandstorm*` code files. You see checking at webpage templates `wekan/client/components/*/*.jade` and `wekan/client/components/*/*.js` Javascript code that clicking triggers. See [Directory Structure](https://github.com/wekan/wekan/wiki/Directory-Structure). Also, at Sandstorm there is single SSO login, with code at `wekan/server/authentication.js` and `wekan/sandstorm*`. Sandstorm does not use username and passwords, instead Sandstorm saves sandstorm ID to MongoDB, so that database structure is different on Sandstorm. Database tables/collections are defined at `wekan/models/*`.
Read:
- [Developer Docs](https://github.com/wekan/wekan/wiki/Developer-Documentation)
- [Directory Structure](https://github.com/wekan/wekan/wiki/Directory-Structure)
## 1) Install Sandstorm
Start install:
```
curl https://install.sandstorm.io | bash
```
Use options for development / dev install.
Edit Sandstorm config:
```
sudo nano /opt/sandstorm/sandstorm.conf
```
Uncomment this line this way, so Sandstorm packages are not updated automatically:
```
#UPDATE_CHANNEL=dev
```
Stop and start Sandstorm:
```
sudo sandstorm stop
sudo sandstorm start
```
## 2) Download meteor-spk packaging tool
[Info source](https://github.com/sandstorm-io/meteor-spk)
```
mkdir ~/repos
cd ~/repos
curl https://dl.sandstorm.io/meteor-spk-0.4.0.tar.xz | tar Jxf -
echo "export PATH=$PATH:~/repos/meteor-spk-0.4.0" >> ~/.bashrc
```
## 3) Fork Wekan, and clone your fork
Fork repo https://github.com/wekan/wekan
```
cd ~/repos
git clone git@github.com:YOUR-USER-NAME-HERE/wekan.git
```
Add Wekan as upstream repo:
```
git remote add upstream https://github.com/wekan/wekan.git
```
Change to master repo, to work there:
```
git checkout master
```
Get latest changes from master:
```
git fetch upstream
git merge upstream/master
```
## 4) Install deps and build Wekan
```
cd ~/repos
./rebuild-wekan.sh
```
First with option 1, to install deps.
Then same `./rebuild-wekan.sh` again with option 2, to build Wekan.
## 5) Developing with Standalone Wekan
```
cd ~/repos/wekan
meteor --port 4000
```
Wekan is at http://localhost:4000
When you make changes to files, Meteor automatically notices that, and rebuilds Wekan. If Meteor does not notice change, you need to Ctrl-c and `./rebuild-wekan.sh` option 2.
## 6) Using MongoDB
Install MongoDB 3.2.x tools and shell from https://docs.mongodb.com/v3.2/tutorial/install-mongodb-on-ubuntu/
You need to add repo, key etc from above before this step:
```
sudo apt-get -y install mongodb-org-shell mongodb-org-tools
```
And connect to next port after meteor node above:
```
mongo --port 4001
```
or alternatively:
```
meteor mongo
```
You can also connect with MongoDB GUI to localhost 4001:
https://www.nosqlbooster.com/downloads
## 7) Test feature at Sandstorm
When your feature works at Standalone Wekan, you can also test it at Sandstorm.
First build wekan with option 2:
```
cd ~/repos/wekan
./rebuild-wekan.sh
```
Then build Sandstorm Wekan dev version
```
meteor-spk dev
```
## 8) After building Wekan, last line of text should be:
`App in now available from Sandstorm server. Ctrl-C to disconnect.`
With Firefox/Chromium/Chrome/Edge/Chromium Edge browser, open http://local.sandstorm.io:6080/
Login with premade local dev account Alice.
## 9) Go to Apps / Wekan. Wekan has grey "dev mode" background. Click Wekan.
## 10) Click + (Dev) Create new board
## 11) Check is everything working in Wekan.
## 12) When it works: Commit, push, make pull request
```
git add --all
git commit -a -m "Add Feature: ADD-YOUR-FEATURE-DESCRIPTION-HERE"
git push
```
Then at GitHub your fork of Wekan, click `Create Pull Request`
Then wait for comments or merge by xet7. You can see when your change is at Wekan new release at website https://wekan.github.io click `Stable ChangeLog`, newest changes at top.
Thanks for your contributions!

View file

@ -0,0 +1,29 @@
## What is Wekan
[Wekan FAQ](https://github.com/wekan/wekan/wiki/FAQ)
## Anyone can already do this, no need to be a maintainer
- Answer Github issues
- Keep any Wekan wikis up-to-date
## Wekan welcomes new co-maintainers
[xet7](https://github.com/xet7) did have to [bring Wekan back to life](https://github.com/wekan/wekan/wiki/FAQ#what-was-wekan-fork--wefork) already once before. Generally in Open Source it's good to have more that one maintainer to keep project alive.
## Requirements for maintainers
When you [contributions on Wekan Team page](https://github.com/wekan/wekan/wiki/Team) starts growing, one of Wekan maintainers may ask if you'd like to become co-maintainer.
## Responsibilities of maintainer
- Check that pull requests work. Merge pull requests.
- Make new releases for Wekan.
- Ask other maintainers for more documentation how to maintain something.
- Keep documentation on wikis up-to-date.
## Maintainers do need to also remember
- Do not try to rewrite whole project. That takes too much time and resources. We prefer small incremental improvements.
- Do maintaining on your free time. There is no need to be always available. You are free to have pauses from maintaining for any length of time. Telling to other maintainers about long pauses is recommended but anyway optional.
- Also take care of yourself and your personal life. Remember to take enough rest.

View file

@ -0,0 +1,10 @@
- Add more [Developer Documentation](https://github.com/wekan/wekan/wiki/Developer-Documentation), like directory structure etc
- Make it easier to develop on Windows
- Make it possible to build virtual appliance from source
- Update [wekan-dev](https://github.com/wekan/wekan-dev) for developing with Docker
- Make automated builds for VirtualBox and Windows
- Fix [wekan-autoinstall](https://github.com/wekan/wekan-autoinstall)
- Integrate [Install source without sudo](https://github.com/wekan/wekan/wiki/Install-source-without-sudo-on-Linux) to other install instructions and install scripts
- Try to combine duplicate Docker etc install instructions on [Wekan wiki](https://github.com/wekan/wekan/wiki) to make it easier to keep up-to-date
- Add more platforms
- Add [Tests](https://github.com/wekan/wekan/issues/467) to Wekan. [Cloudron](https://github.com/wekan/wekan/issues/1065) has some selenium tests, check are they on [Cloudron repos](https://github.com/wekan/wekan/wiki/Platforms#cloudron) and could those tests be integrated to Wekan.

View file

@ -0,0 +1 @@
https://arstechnica.com/security/2024/07/secure-boot-is-completely-compromised-on-200-models-from-5-big-device-makers/