mirror of
https://github.com/wekan/wekan.git
synced 2025-12-16 23:40:13 +01:00
Renamed wekan/wekan branch master to main.
parent
19ba7bc6e9
commit
ad3be1e8c2
50 changed files with 218 additions and 218 deletions
|
|
@ -1,3 +1,3 @@
|
||||||
[Wekan v5.55 and newer](https://github.com/wekan/wekan/blob/master/CHANGELOG.md#v555-2021-08-31-wekan-release)
|
[Wekan v5.55 and newer](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v555-2021-08-31-wekan-release)
|
||||||
|
|
||||||
<img src="https://wekan.github.io/allow-private-boards-only.png" width="60%" alt="Allow private boards only" />
|
<img src="https://wekan.github.io/allow-private-boards-only.png" width="60%" alt="Allow private boards only" />
|
||||||
2
Asana.md
2
Asana.md
|
|
@ -1,5 +1,5 @@
|
||||||
2022-03-02
|
2022-03-02
|
||||||
|
|
||||||
[Added Perl scripts for Asana export to WeKan ®](https://github.com/wekan/wekan/tree/master/asana)
|
[Added Perl scripts for Asana export to WeKan ®](https://github.com/wekan/wekan/tree/main/asana)
|
||||||
|
|
||||||
Thanks to GeekRuthie !
|
Thanks to GeekRuthie !
|
||||||
4
CSV.md
4
CSV.md
|
|
@ -9,10 +9,10 @@ Here's a copy of the CSV and TSV to test out the functionality:
|
||||||
- [board-import.tsv](https://wekan.github.io/csv/board-import.tsv)
|
- [board-import.tsv](https://wekan.github.io/csv/board-import.tsv)
|
||||||
|
|
||||||
Frontend:
|
Frontend:
|
||||||
- [Import CSV code](https://github.com/wekan/wekan/tree/master/client/components/import)
|
- [Import CSV code](https://github.com/wekan/wekan/tree/main/client/components/import)
|
||||||
|
|
||||||
Backend:
|
Backend:
|
||||||
- [Import CSV code](https://github.com/wekan/wekan/blob/master/models/csvCreator.js) and [General Import code](https://github.com/wekan/wekan/blob/master/models/import.js)
|
- [Import CSV code](https://github.com/wekan/wekan/blob/main/models/csvCreator.js) and [General Import code](https://github.com/wekan/wekan/blob/main/models/import.js)
|
||||||
|
|
||||||
Related:
|
Related:
|
||||||
- [Related PRs](https://github.com/wekan/wekan/pulls?q=is%3Apr+is%3Aclosed+csv)
|
- [Related PRs](https://github.com/wekan/wekan/pulls?q=is%3Apr+is%3Aclosed+csv)
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ Stylus code was located at `wekan/client/components/*/*.styl`, for example `weka
|
||||||
|
|
||||||
## Converting Stylus to CSS
|
## Converting Stylus to CSS
|
||||||
|
|
||||||
[Source](https://github.com/wekan/wekan/blob/master/releases/stylus-to-css.sh)
|
[Source](https://github.com/wekan/wekan/blob/main/releases/stylus-to-css.sh)
|
||||||
|
|
||||||
#### 1) Install Stylus
|
#### 1) Install Stylus
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ After you have sent new theme as pull request, you see it as open pull request:
|
||||||
https://github.com/wekan/wekan/pulls?q=is%3Apr+theme+is%3Aopen
|
https://github.com/wekan/wekan/pulls?q=is%3Apr+theme+is%3Aopen
|
||||||
|
|
||||||
And when I have merged it to Wekan, that theme will be in next Wekan release, listed at ChangeLog:
|
And when I have merged it to Wekan, that theme will be in next Wekan release, listed at ChangeLog:
|
||||||
https://github.com/wekan/wekan/blob/master/CHANGELOG.md
|
https://github.com/wekan/wekan/blob/main/CHANGELOG.md
|
||||||
|
|
||||||
At Wekan Snap page you see with webpage reload, when new version has been released:
|
At Wekan Snap page you see with webpage reload, when new version has been released:
|
||||||
https://snapcraft.io/wekan
|
https://snapcraft.io/wekan
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,8 @@ where is added new custom fields, that are not default.
|
||||||
|
|
||||||
## Admin Panel / Translation
|
## Admin Panel / Translation
|
||||||
|
|
||||||
- Language: https://github.com/wekan/wekan/blob/master/imports/i18n/languages.js
|
- Language: https://github.com/wekan/wekan/blob/main/imports/i18n/languages.js
|
||||||
- Text, source string In English: https://github.com/wekan/wekan/blob/master/imports/i18n/data/en.i18n.json
|
- Text, source string In English: https://github.com/wekan/wekan/blob/main/imports/i18n/data/en.i18n.json
|
||||||
- Translation text: Your new translation custom string
|
- Translation text: Your new translation custom string
|
||||||
|
|
||||||
## Source
|
## Source
|
||||||
|
|
|
||||||
22
Debugging.md
22
Debugging.md
|
|
@ -9,19 +9,19 @@ This can happen, when there is too much or incompatible code at browserside, for
|
||||||
To fix it:
|
To fix it:
|
||||||
|
|
||||||
1. Move ExcelJS from browserside to run at serverside https://github.com/wekan/wekan/pull/3871
|
1. Move ExcelJS from browserside to run at serverside https://github.com/wekan/wekan/pull/3871
|
||||||
2. Use Bundle Visualizer to see what is the size of dependencies, and try what can be moved to serverside like at step 1, that bundle visualizer is used in this script https://github.com/wekan/wekan/blob/master/rebuild-wekan.sh
|
2. Use Bundle Visualizer to see what is the size of dependencies, and try what can be moved to serverside like at step 1, that bundle visualizer is used in this script https://github.com/wekan/wekan/blob/main/rebuild-wekan.sh
|
||||||
```
|
```
|
||||||
meteor run --exclude-archs web.browser.legacy,web.cordova --port 4000 --extra-packages bundle-visualizer --production 2>&1 | tee ../log.txt
|
meteor run --exclude-archs web.browser.legacy,web.cordova --port 4000 --extra-packages bundle-visualizer --production 2>&1 | tee ../log.txt
|
||||||
```
|
```
|
||||||
3. Make dependencies smaller. For example, use only required files, and do not include all dependencies: https://github.com/wekan/wekan/commit/23e5e1e3bd081699ce39ce5887db7e612616014d . In that commit, package was forked to packages directory, then renamed, and added with `meteor add packagename`, where package name does not have character `:`
|
3. Make dependencies smaller. For example, use only required files, and do not include all dependencies: https://github.com/wekan/wekan/commit/23e5e1e3bd081699ce39ce5887db7e612616014d . In that commit, package was forked to packages directory, then renamed, and added with `meteor add packagename`, where package name does not have character `:`
|
||||||
4. Use Browserstack.com to see errors at browser / inspect / console, or use iOS or other device emulators, to see error messages. Testing at real device is more important, because they could work differently than emulators, emulators sometimes do not emulate all same features. Those error messages have file where error happened, and line number, like `something.js:301` . From there, scroll up a little, look at what function or what package dependency it is where it happened. If possible, try to move that package serverside, like at step 1. Or alternatively, look is it possible to remove or change to some other compatible dependency.
|
4. Use Browserstack.com to see errors at browser / inspect / console, or use iOS or other device emulators, to see error messages. Testing at real device is more important, because they could work differently than emulators, emulators sometimes do not emulate all same features. Those error messages have file where error happened, and line number, like `something.js:301` . From there, scroll up a little, look at what function or what package dependency it is where it happened. If possible, try to move that package serverside, like at step 1. Or alternatively, look is it possible to remove or change to some other compatible dependency.
|
||||||
5. See what are the dependencies at your Meteor based software, compared to WeKan dependencies that are usually already upgraded to newest Meteor, is there any differences where changing to correct dependencies could help you to upgrade to newest Meteor:
|
5. See what are the dependencies at your Meteor based software, compared to WeKan dependencies that are usually already upgraded to newest Meteor, is there any differences where changing to correct dependencies could help you to upgrade to newest Meteor:
|
||||||
- https://github.com/wekan/wekan/blob/master/package.json
|
- https://github.com/wekan/wekan/blob/main/package.json
|
||||||
- https://github.com/wekan/wekan/blob/master/.meteor/packages
|
- https://github.com/wekan/wekan/blob/main/.meteor/packages
|
||||||
- https://github.com/wekan/wekan/blob/master/.meteor/versions
|
- https://github.com/wekan/wekan/blob/main/.meteor/versions
|
||||||
- https://github.com/wekan/wekan/blob/master/.meteor/release
|
- https://github.com/wekan/wekan/blob/main/.meteor/release
|
||||||
5. If you get some errors, search are those same already fixed in WeKan/Meteor/RocketChat, could you fix them same way:
|
5. If you get some errors, search are those same already fixed in WeKan/Meteor/RocketChat, could you fix them same way:
|
||||||
- https://github.com/wekan/wekan/blob/master/CHANGELOG.md
|
- https://github.com/wekan/wekan/blob/main/CHANGELOG.md
|
||||||
- https://github.com/wekan/wekan/issues
|
- https://github.com/wekan/wekan/issues
|
||||||
- https://github.com/wekan/wekan/issues?q=is%3Aissue+is%3Aclosed
|
- https://github.com/wekan/wekan/issues?q=is%3Aissue+is%3Aclosed
|
||||||
- https://github.com/meteor/meteor/issues
|
- https://github.com/meteor/meteor/issues
|
||||||
|
|
@ -70,7 +70,7 @@ meteor run --exclude-archs web.browser.legacy,web.cordova --port 4000 --extra-pa
|
||||||
|
|
||||||
1) Increase ulimit system wide to 100 000 in systemd config.
|
1) Increase ulimit system wide to 100 000 in systemd config.
|
||||||
|
|
||||||
2) Wekan Javascript code has [increaded fiber poolsize](https://github.com/wekan/wekan/blob/master/server/authentication.js#L5-L9).
|
2) Wekan Javascript code has [increaded fiber poolsize](https://github.com/wekan/wekan/blob/main/server/authentication.js#L5-L9).
|
||||||
|
|
||||||
3) There is [on-going 100% CPU usage Meteor issue](https://github.com/meteor/meteor/issues/9796#issuecomment-400079380) and hopefully [fixes to Node.js will land in Node v8.12](https://github.com/nodejs/node/pull/21593#issuecomment-403636667) sometime. Node 8.12 is now released and official version included at Wekan.
|
3) There is [on-going 100% CPU usage Meteor issue](https://github.com/meteor/meteor/issues/9796#issuecomment-400079380) and hopefully [fixes to Node.js will land in Node v8.12](https://github.com/nodejs/node/pull/21593#issuecomment-403636667) sometime. Node 8.12 is now released and official version included at Wekan.
|
||||||
|
|
||||||
|
|
@ -80,13 +80,13 @@ meteor run --exclude-archs web.browser.legacy,web.cordova --port 4000 --extra-pa
|
||||||
|
|
||||||
## Current versions of dependencies
|
## Current versions of dependencies
|
||||||
|
|
||||||
[Dockerfile](https://github.com/wekan/wekan/blob/master/Dockerfile), versions of Meteor.js, Node etc listed at beginning.
|
[Dockerfile](https://github.com/wekan/wekan/blob/main/Dockerfile), versions of Meteor.js, Node etc listed at beginning.
|
||||||
|
|
||||||
[Included Meteor packages](https://github.com/wekan/wekan/blob/master/.meteor/packages)
|
[Included Meteor packages](https://github.com/wekan/wekan/blob/main/.meteor/packages)
|
||||||
|
|
||||||
[Included Meteor package versions](https://github.com/wekan/wekan/blob/master/.meteor/versions)
|
[Included Meteor package versions](https://github.com/wekan/wekan/blob/main/.meteor/versions)
|
||||||
|
|
||||||
[Added packages at package.json](https://github.com/wekan/wekan/blob/master/package.json)
|
[Added packages at package.json](https://github.com/wekan/wekan/blob/main/package.json)
|
||||||
|
|
||||||
## Build from source
|
## Build from source
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
- Translated to 70+ languages https://explore.transifex.com/wekan/wekan/
|
- Translated to 70+ languages https://explore.transifex.com/wekan/wekan/
|
||||||
- Used in most countries of the world https://snapcraft.io/wekan
|
- Used in most countries of the world https://snapcraft.io/wekan
|
||||||
- Biggest user have about 30k users, using many pods at Kubernetes
|
- Biggest user have about 30k users, using many pods at Kubernetes
|
||||||
- Changelog https://github.com/wekan/wekan/blob/master/CHANGELOG.md
|
- 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.
|
- 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
|
## How much effort to create Meteor WeKan, in COCOMO model
|
||||||
|
|
@ -91,7 +91,7 @@
|
||||||
- Use more ReactiveCache than MiniMongo
|
- Use more ReactiveCache than MiniMongo
|
||||||
- Optimizing and Debugging Meteor, reducing size, links to WeKan dependencies https://github.com/wekan/wekan/wiki/Debugging
|
- Optimizing and Debugging Meteor, reducing size, links to WeKan dependencies https://github.com/wekan/wekan/wiki/Debugging
|
||||||
- Custom OIDC/OAuth2 login
|
- Custom OIDC/OAuth2 login
|
||||||
- Repo https://github.com/wekan/wekan/tree/master/packages/wekan-oidc
|
- Repo https://github.com/wekan/wekan/tree/main/packages/wekan-oidc
|
||||||
- Features:
|
- Features:
|
||||||
- At Admin Panel, you can change text of login page button `Login with OIDC`
|
- 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.
|
- 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.
|
||||||
|
|
@ -108,7 +108,7 @@
|
||||||
- LDAP AD Simple Auth https://github.com/wekan/wekan/wiki/LDAP-AD-Simple-Auth
|
- 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
|
- Default board for users https://github.com/wekan/wekan/pull/5098
|
||||||
- Brute Force Accounts Lockout https://github.com/wekan/wekan/wiki/Accounts-Lockout
|
- Brute Force Accounts Lockout https://github.com/wekan/wekan/wiki/Accounts-Lockout
|
||||||
- Markdown, Emoji, MathML, sanitizing https://github.com/wekan/wekan/blob/master/packages/markdown/src/template-integration.js
|
- 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/
|
- Many security fixes from Responsible Disclosure https://wekan.github.io/hall-of-fame/
|
||||||
|
|
||||||
## Upcoming Features
|
## Upcoming Features
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ When you run this, you see .jade template files where is search input box, and .
|
||||||
- Currently Wekan development is done mainly at Ubuntu 20.10 64bit, but building Wekan does work on any Debian, Ubuntu, WSL Ubuntu 20.04, [Mac](Mac). Sametime maybe on [Windows](Windows) with `choco install -y meteor` and installing packages it then asks for with `meteor add ...` or `meteor npm install --save ...` and then running meteor again.
|
- Currently Wekan development is done mainly at Ubuntu 20.10 64bit, but building Wekan does work on any Debian, Ubuntu, WSL Ubuntu 20.04, [Mac](Mac). Sametime maybe on [Windows](Windows) with `choco install -y meteor` and installing packages it then asks for with `meteor add ...` or `meteor npm install --save ...` and then running meteor again.
|
||||||
- Look through old [pull requests](https://github.com/wekan/wekan/pulls)
|
- Look through old [pull requests](https://github.com/wekan/wekan/pulls)
|
||||||
- Read Wekan source code, you can use some git history viewer GUI like gitk
|
- Read Wekan source code, you can use some git history viewer GUI like gitk
|
||||||
- Read [Meteor documentation](https://docs.meteor.com/) for [Meteor version](https://github.com/wekan/wekan/blob/master/.meteor/release) in use, other versions mentioned at [Dockerfile](https://github.com/wekan/wekan/blob/master/Dockerfile)
|
- Read [Meteor documentation](https://docs.meteor.com/) for [Meteor version](https://github.com/wekan/wekan/blob/main/.meteor/release) in use, other versions mentioned at [Dockerfile](https://github.com/wekan/wekan/blob/main/Dockerfile)
|
||||||
- Docker up-to-date way: You can clone wekan/wekan repo and update docker-compose.yml file ROOT_URL etc as documented at https://github.com/wekan/wekan-mongodb commented docker-compose.yml file, install docker, and build from source with docker with "docker-compose up -d --build"
|
- Docker up-to-date way: You can clone wekan/wekan repo and update docker-compose.yml file ROOT_URL etc as documented at https://github.com/wekan/wekan-mongodb commented docker-compose.yml file, install docker, and build from source with docker with "docker-compose up -d --build"
|
||||||
- Docker not up-to-date way: [Docker environment for Wekan development](https://github.com/wekan/wekan-dev).
|
- Docker not up-to-date way: [Docker environment for Wekan development](https://github.com/wekan/wekan-dev).
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,183 +1,183 @@
|
||||||
# Routing
|
# Routing
|
||||||
|
|
||||||
We're using [FlowRouter](https://github.com/kadirahq/flow-router) client side router inside **[config/router.js](https://github.com/wekan/wekan/tree/master/config/router.js)**.
|
We're using [FlowRouter](https://github.com/kadirahq/flow-router) client side router inside **[config/router.js](https://github.com/wekan/wekan/tree/main/config/router.js)**.
|
||||||
For accounts there is [AccountsTemplates](https://github.com/meteor-useraccounts) configured in **[config/accounts.js](https://github.com/wekan/wekan/tree/master/config/accounts.js)**.
|
For accounts there is [AccountsTemplates](https://github.com/meteor-useraccounts) configured in **[config/accounts.js](https://github.com/wekan/wekan/tree/main/config/accounts.js)**.
|
||||||
|
|
||||||
# Client
|
# Client
|
||||||
|
|
||||||
## public
|
## public
|
||||||
|
|
||||||
Files in this directory are served by meteor as-is to the client. It hosts some (fav)icons and fonts.
|
Files in this directory are served by meteor as-is to the client. It hosts some (fav)icons and fonts.
|
||||||
**[wekan-manifest.json](https://github.com/wekan/wekan/tree/master/wekan-manifest.json)**: goes into `link rel="manifest"` in the header of the generated page and is a [Web App Manifest](https://developer.mozilla.org/en-US/docs/Web/Manifest).
|
**[wekan-manifest.json](https://github.com/wekan/wekan/tree/main/wekan-manifest.json)**: goes into `link rel="manifest"` in the header of the generated page and is a [Web App Manifest](https://developer.mozilla.org/en-US/docs/Web/Manifest).
|
||||||
|
|
||||||
## components
|
## components
|
||||||
|
|
||||||
* **[activities](https://github.com/wekan/wekan/tree/master/client/components/activities)**:
|
* **[activities](https://github.com/wekan/wekan/tree/main/client/components/activities)**:
|
||||||
* **[activities.jade](https://github.com/wekan/wekan/tree/master/client/components/activities/activities.jade)**: `activities` template for the list of activities placed inside a `sidebar-content`; uses `boardActivities` or `cardActivities` depending on `mode`; <span style="color:red">*XXX: does this mean that sidebar should be visible in board list mode? when does the `board` activity gets shown?*</span>
|
* **[activities.jade](https://github.com/wekan/wekan/tree/main/client/components/activities/activities.jade)**: `activities` template for the list of activities placed inside a `sidebar-content`; uses `boardActivities` or `cardActivities` depending on `mode`; <span style="color:red">*XXX: does this mean that sidebar should be visible in board list mode? when does the `board` activity gets shown?*</span>
|
||||||
* **[comments.jade](https://github.com/wekan/wekan/tree/master/client/components/activities/comments.jade)**: `commentForm` template used in `card-details-canvas` for adding comments;
|
* **[comments.jade](https://github.com/wekan/wekan/tree/main/client/components/activities/comments.jade)**: `commentForm` template used in `card-details-canvas` for adding comments;
|
||||||
* **[boards](https://github.com/wekan/wekan/tree/master/client/components/boards)**:
|
* **[boards](https://github.com/wekan/wekan/tree/main/client/components/boards)**:
|
||||||
* **[boardArchive.jade](https://github.com/wekan/wekan/tree/master/client/components/boards/boardArchive.jade)**: `archivedBoards` template for the modal dialog showing the list of archived boards that might be restored;
|
* **[boardArchive.jade](https://github.com/wekan/wekan/tree/main/client/components/boards/boardArchive.jade)**: `archivedBoards` template for the modal dialog showing the list of archived boards that might be restored;
|
||||||
* **[boardBody.jade](https://github.com/wekan/wekan/tree/master/client/components/boards/boardBody.jade)**: top level template for presenting a board is `board` and, based on screen size and current state, it uses either `cardDetails` or `boardBody` templates; `boardBody` is the one including the `sidebar`, each `list`, `cardDetails` for larger screens when a card is selected and the `addListForm` for adding a new list (also defined in this file);
|
* **[boardBody.jade](https://github.com/wekan/wekan/tree/main/client/components/boards/boardBody.jade)**: top level template for presenting a board is `board` and, based on screen size and current state, it uses either `cardDetails` or `boardBody` templates; `boardBody` is the one including the `sidebar`, each `list`, `cardDetails` for larger screens when a card is selected and the `addListForm` for adding a new list (also defined in this file);
|
||||||
* **[boardHeader.jade](https://github.com/wekan/wekan/tree/master/client/components/boards/boardHeader.jade)**: `boardHeaderBar`, `boardMenuPopup`, `boardVisibilityList`, `boardChangeVisibilityPopup`, `boardChangeWatchPopup`, `boardChangeColorPopup`, `createBoard`, `chooseBoardSource`, `boardChangeTitlePopup`, `archiveBoardPopup`, `outgoingWebhooksPopup`;
|
* **[boardHeader.jade](https://github.com/wekan/wekan/tree/main/client/components/boards/boardHeader.jade)**: `boardHeaderBar`, `boardMenuPopup`, `boardVisibilityList`, `boardChangeVisibilityPopup`, `boardChangeWatchPopup`, `boardChangeColorPopup`, `createBoard`, `chooseBoardSource`, `boardChangeTitlePopup`, `archiveBoardPopup`, `outgoingWebhooksPopup`;
|
||||||
* **[boardsList.jade](https://github.com/wekan/wekan/tree/master/client/components/boards/boardsList.jade)**: `boardList` and `boardListHeaderBar` for the list of boards in the initial screen;
|
* **[boardsList.jade](https://github.com/wekan/wekan/tree/main/client/components/boards/boardsList.jade)**: `boardList` and `boardListHeaderBar` for the list of boards in the initial screen;
|
||||||
* **[cards](https://github.com/wekan/wekan/tree/master/client/components/cards)**:
|
* **[cards](https://github.com/wekan/wekan/tree/main/client/components/cards)**:
|
||||||
* **[attachments.jade](https://github.com/wekan/wekan/tree/master/client/components/cards/attachments.jade)**: `cardAttachmentsPopup`, `previewClipboardImagePopup`, `previewAttachedImagePopup`, `attachmentDeletePopup`, `attachmentsGalery`;
|
* **[attachments.jade](https://github.com/wekan/wekan/tree/main/client/components/cards/attachments.jade)**: `cardAttachmentsPopup`, `previewClipboardImagePopup`, `previewAttachedImagePopup`, `attachmentDeletePopup`, `attachmentsGalery`;
|
||||||
* **[cardDate.jade](https://github.com/wekan/wekan/tree/master/client/components/cards/cardDate.jade)**: `editCardDate` and `dateBadge` templates;
|
* **[cardDate.jade](https://github.com/wekan/wekan/tree/main/client/components/cards/cardDate.jade)**: `editCardDate` and `dateBadge` templates;
|
||||||
* **[cardDetails.jade](https://github.com/wekan/wekan/tree/master/client/components/cards/cardDetails.jade)**: `boardsAndLists` is the usual layout for a board display with `boardLists` being used in sandstorm where each board is independent;`cardDetails`, `editCardTitleForm`, `cardDetailsActionsPopup`, `moveCardPopup`, `copyCardPopup`,`cardMembersPopup`,`cardMorePopup`, `cardDeletePopup`;
|
* **[cardDetails.jade](https://github.com/wekan/wekan/tree/main/client/components/cards/cardDetails.jade)**: `boardsAndLists` is the usual layout for a board display with `boardLists` being used in sandstorm where each board is independent;`cardDetails`, `editCardTitleForm`, `cardDetailsActionsPopup`, `moveCardPopup`, `copyCardPopup`,`cardMembersPopup`,`cardMorePopup`, `cardDeletePopup`;
|
||||||
* **[cardTime.jade](https://github.com/wekan/wekan/tree/master/client/components/cards/cardTime.jade)**: `editCardSpentTime` and `timeBadge` templates;
|
* **[cardTime.jade](https://github.com/wekan/wekan/tree/main/client/components/cards/cardTime.jade)**: `editCardSpentTime` and `timeBadge` templates;
|
||||||
* **[checklists.jade](https://github.com/wekan/wekan/tree/master/client/components/cards/checklists.jade)**: `checklists`, `checklistDetail`, `checklistDeleteDialog`, `addChecklistItemForm`, `editChecklistItemForm`, `checklistItems`, `itemDetail`;
|
* **[checklists.jade](https://github.com/wekan/wekan/tree/main/client/components/cards/checklists.jade)**: `checklists`, `checklistDetail`, `checklistDeleteDialog`, `addChecklistItemForm`, `editChecklistItemForm`, `checklistItems`, `itemDetail`;
|
||||||
* **[labels.jade](https://github.com/wekan/wekan/tree/master/client/components/cards/labels.jade)**: `formLabel`, `createLabelPopup`, `editLabelPopup`, `deleteLabelPopup`, `cardLabelsPopup`;
|
* **[labels.jade](https://github.com/wekan/wekan/tree/main/client/components/cards/labels.jade)**: `formLabel`, `createLabelPopup`, `editLabelPopup`, `deleteLabelPopup`, `cardLabelsPopup`;
|
||||||
* **[minicard.jade](https://github.com/wekan/wekan/tree/master/client/components/cards/minicard.jade)**: has the `minicard` template
|
* **[minicard.jade](https://github.com/wekan/wekan/tree/main/client/components/cards/minicard.jade)**: has the `minicard` template
|
||||||
* **[forms](https://github.com/wekan/wekan/tree/master/client/components/forms)**: **[inlinedform.jade](https://github.com/wekan/wekan/tree/master/client/components/forms/inlinedform.jade)** has the`inlinedForm` template;
|
* **[forms](https://github.com/wekan/wekan/tree/main/client/components/forms)**: **[inlinedform.jade](https://github.com/wekan/wekan/tree/main/client/components/forms/inlinedform.jade)** has the`inlinedForm` template;
|
||||||
* **[import](https://github.com/wekan/wekan/tree/master/client/components/import)**:
|
* **[import](https://github.com/wekan/wekan/tree/main/client/components/import)**:
|
||||||
* **[import.jade](https://github.com/wekan/wekan/tree/master/client/components/import/import.jade)**: `importHeaderBar`, `import`, `importTextarea`, `importMapMembers`, `importMapMembersAddPopup` are all templates used for importing Trello (via **[trelloMembersMapper.js](https://github.com/wekan/wekan/tree/master/client/components/import/trelloMembersMapper.js)**) and Wekan (via **[wekanMembersMapper.js](https://github.com/wekan/wekan/tree/master/client/components/import/wekanMembersMapper.js)**) boards;
|
* **[import.jade](https://github.com/wekan/wekan/tree/main/client/components/import/import.jade)**: `importHeaderBar`, `import`, `importTextarea`, `importMapMembers`, `importMapMembersAddPopup` are all templates used for importing Trello (via **[trelloMembersMapper.js](https://github.com/wekan/wekan/tree/main/client/components/import/trelloMembersMapper.js)**) and Wekan (via **[wekanMembersMapper.js](https://github.com/wekan/wekan/tree/main/client/components/import/wekanMembersMapper.js)**) boards;
|
||||||
* **[lists](https://github.com/wekan/wekan/tree/master/client/components/lists)**:
|
* **[lists](https://github.com/wekan/wekan/tree/main/client/components/lists)**:
|
||||||
* **[list.jade](https://github.com/wekan/wekan/tree/master/client/components/lists/list.jade)**: `list` is the simple, main template for lists;
|
* **[list.jade](https://github.com/wekan/wekan/tree/main/client/components/lists/list.jade)**: `list` is the simple, main template for lists;
|
||||||
* **[listBody.jade](https://github.com/wekan/wekan/tree/master/client/components/lists/listBody.jade)**: `listBody`, `addCardForm`, `autocompleteLabelLine` templates;
|
* **[listBody.jade](https://github.com/wekan/wekan/tree/main/client/components/lists/listBody.jade)**: `listBody`, `addCardForm`, `autocompleteLabelLine` templates;
|
||||||
* **[listHeader.jade](https://github.com/wekan/wekan/tree/master/client/components/lists/listHeader.jade)**: `listHeader`, `editListTitleForm`, `listActionPopup`, `boardLists`, `listMorePopup`, `listDeletePopup`, `setWipLimitPopup`, `wipLimitErrorPopup` templates;
|
* **[listHeader.jade](https://github.com/wekan/wekan/tree/main/client/components/lists/listHeader.jade)**: `listHeader`, `editListTitleForm`, `listActionPopup`, `boardLists`, `listMorePopup`, `listDeletePopup`, `setWipLimitPopup`, `wipLimitErrorPopup` templates;
|
||||||
* **[main](https://github.com/wekan/wekan/tree/master/client/components/main)**:
|
* **[main](https://github.com/wekan/wekan/tree/main/client/components/main)**:
|
||||||
* **[editor.jade](https://github.com/wekan/wekan/tree/master/client/components/main/editor.jade)**: `editor` and `viewer` templates;
|
* **[editor.jade](https://github.com/wekan/wekan/tree/main/client/components/main/editor.jade)**: `editor` and `viewer` templates;
|
||||||
* **[header.jade](https://github.com/wekan/wekan/tree/master/client/components/main/header.jade)**: `header` and `offlineWarning` templates; if the user is connected we display a small "quick-access" top bar that list all starred boards with a link to go there (this is inspired by the Reddit "subreddit" bar); the first link goes to the boards page;
|
* **[header.jade](https://github.com/wekan/wekan/tree/main/client/components/main/header.jade)**: `header` and `offlineWarning` templates; if the user is connected we display a small "quick-access" top bar that list all starred boards with a link to go there (this is inspired by the Reddit "subreddit" bar); the first link goes to the boards page;
|
||||||
* **[keyboardShortcuts.jade](https://github.com/wekan/wekan/tree/master/client/components/main/keyboardShortcuts.jade)**: `shortcutsHeaderBar`, `shortcutsModalTitle`, `keyboardShortcuts` - all for the shortcuts that are presented when you press `?`re implemented inhere;
|
* **[keyboardShortcuts.jade](https://github.com/wekan/wekan/tree/main/client/components/main/keyboardShortcuts.jade)**: `shortcutsHeaderBar`, `shortcutsModalTitle`, `keyboardShortcuts` - all for the shortcuts that are presented when you press `?`re implemented inhere;
|
||||||
* **[layouts.jade](https://github.com/wekan/wekan/tree/master/client/components/main/layouts.jade)**: has the template for head portion of the html page and other general purpose templates: `userFormsLayout`, `defaultLayout`, `notFound`, `message`;
|
* **[layouts.jade](https://github.com/wekan/wekan/tree/main/client/components/main/layouts.jade)**: has the template for head portion of the html page and other general purpose templates: `userFormsLayout`, `defaultLayout`, `notFound`, `message`;
|
||||||
* **[popup.tpl.jade](https://github.com/wekan/wekan/tree/master/client/components/main/popup.tpl.jade)**: tpl files only define a single template so there's no need to wrap content in a template tag; the name of the template is the base name of the file (`popup` in this case);
|
* **[popup.tpl.jade](https://github.com/wekan/wekan/tree/main/client/components/main/popup.tpl.jade)**: tpl files only define a single template so there's no need to wrap content in a template tag; the name of the template is the base name of the file (`popup` in this case);
|
||||||
* **[spinner.tpl.jade](https://github.com/wekan/wekan/tree/master/client/components/main/spinner.tpl.jade)**: is the template for a "waiting" dialog;
|
* **[spinner.tpl.jade](https://github.com/wekan/wekan/tree/main/client/components/main/spinner.tpl.jade)**: is the template for a "waiting" dialog;
|
||||||
* **[settings](https://github.com/wekan/wekan/tree/master/client/components/settings)**:
|
* **[settings](https://github.com/wekan/wekan/tree/main/client/components/settings)**:
|
||||||
* **[informationBody.jade](https://github.com/wekan/wekan/tree/master/client/components/settings/informationBody.jade)**: `information`, `statistics` templates;
|
* **[informationBody.jade](https://github.com/wekan/wekan/tree/main/client/components/settings/informationBody.jade)**: `information`, `statistics` templates;
|
||||||
* **[invitationCode.jade](https://github.com/wekan/wekan/tree/master/client/components/settings/invitationCode.jade)**: `invitationCode` template;
|
* **[invitationCode.jade](https://github.com/wekan/wekan/tree/main/client/components/settings/invitationCode.jade)**: `invitationCode` template;
|
||||||
* **[peopleBody.jade](https://github.com/wekan/wekan/tree/master/client/components/settings/peopleBody.jade)**: `people`, `peopleGeneral`, `peopleRow`, `editUserPopup`;
|
* **[peopleBody.jade](https://github.com/wekan/wekan/tree/main/client/components/settings/peopleBody.jade)**: `people`, `peopleGeneral`, `peopleRow`, `editUserPopup`;
|
||||||
* **[settingBody.jade](https://github.com/wekan/wekan/tree/master/client/components/settings/settingBody.jade)**: `setting`, `general`, `email`, `accountSettings`, `announcementSettings`
|
* **[settingBody.jade](https://github.com/wekan/wekan/tree/main/client/components/settings/settingBody.jade)**: `setting`, `general`, `email`, `accountSettings`, `announcementSettings`
|
||||||
* **[settingHeader.jade](https://github.com/wekan/wekan/tree/master/client/components/settings/settingHeader.jade)**: `settingHeaderBar` template;
|
* **[settingHeader.jade](https://github.com/wekan/wekan/tree/main/client/components/settings/settingHeader.jade)**: `settingHeaderBar` template;
|
||||||
* **[sidebar](https://github.com/wekan/wekan/tree/master/client/components/sidebar)**:
|
* **[sidebar](https://github.com/wekan/wekan/tree/main/client/components/sidebar)**:
|
||||||
* **[sidebar.jade](https://github.com/wekan/wekan/tree/master/client/components/sidebar/sidebar.jade)**: `sidebar`, `homeSidebar`, `membersWidget`, `labelsWidget`, `memberPopup`, `removeMemberPopup`, `leaveBoardPopup`, `addMemberPopup`, `changePermissionsPopup`
|
* **[sidebar.jade](https://github.com/wekan/wekan/tree/main/client/components/sidebar/sidebar.jade)**: `sidebar`, `homeSidebar`, `membersWidget`, `labelsWidget`, `memberPopup`, `removeMemberPopup`, `leaveBoardPopup`, `addMemberPopup`, `changePermissionsPopup`
|
||||||
* **[sidebarArchives.jade](https://github.com/wekan/wekan/tree/master/client/components/sidebar/sidebarArchives.jade)**: `archivesSidebar`
|
* **[sidebarArchives.jade](https://github.com/wekan/wekan/tree/main/client/components/sidebar/sidebarArchives.jade)**: `archivesSidebar`
|
||||||
* **[sidebarFilters.jade](https://github.com/wekan/wekan/tree/master/client/components/sidebar/sidebarFilters.jade)**: `filterSidebar`, `multiselectionSidebar`, `disambiguateMultiLabelPopup`, `disambiguateMultiMemberPopup`, `moveSelectionPopup`;
|
* **[sidebarFilters.jade](https://github.com/wekan/wekan/tree/main/client/components/sidebar/sidebarFilters.jade)**: `filterSidebar`, `multiselectionSidebar`, `disambiguateMultiLabelPopup`, `disambiguateMultiMemberPopup`, `moveSelectionPopup`;
|
||||||
* **[users](https://github.com/wekan/wekan/tree/master/client/components/users)**:
|
* **[users](https://github.com/wekan/wekan/tree/main/client/components/users)**:
|
||||||
* **[userAvatar.jade](https://github.com/wekan/wekan/tree/master/client/components/users/userAvatar.jade)**: `userAvatar`, `userAvatarInitials`, `userPopup`, `memberName`, `changeAvatarPopup`, `cardMemberPopup`
|
* **[userAvatar.jade](https://github.com/wekan/wekan/tree/main/client/components/users/userAvatar.jade)**: `userAvatar`, `userAvatarInitials`, `userPopup`, `memberName`, `changeAvatarPopup`, `cardMemberPopup`
|
||||||
* **[userHeader.jade](https://github.com/wekan/wekan/tree/master/client/components/users/userHeader.jade)**: `headerUserBar`, `memberMenuPopup`, `editProfilePopup`, `editNotificationPopup`, `changePasswordPopup`, `changeLanguagePopup`, `changeSettingsPopup`;
|
* **[userHeader.jade](https://github.com/wekan/wekan/tree/main/client/components/users/userHeader.jade)**: `headerUserBar`, `memberMenuPopup`, `editProfilePopup`, `editNotificationPopup`, `changePasswordPopup`, `changeLanguagePopup`, `changeSettingsPopup`;
|
||||||
* **[mixins](https://github.com/wekan/wekan/tree/master/client/components/mixins)**: [extends](http://www.meteorpedia.com/read/Infinite_Scrolling) **[infiniteScrolling.js](https://github.com/wekan/wekan/tree/master/client/components/mixins/infiniteScrolling.js)** for card details, sidebar and also extends **[perfectScrollbar.js](https://github.com/wekan/wekan/tree/master/client/components/mixins/perfectScrollbar.js)**;
|
* **[mixins](https://github.com/wekan/wekan/tree/main/client/components/mixins)**: [extends](http://www.meteorpedia.com/read/Infinite_Scrolling) **[infiniteScrolling.js](https://github.com/wekan/wekan/tree/main/client/components/mixins/infiniteScrolling.js)** for card details, sidebar and also extends **[perfectScrollbar.js](https://github.com/wekan/wekan/tree/main/client/components/mixins/perfectScrollbar.js)**;
|
||||||
|
|
||||||
## config
|
## config
|
||||||
|
|
||||||
* **[blazeHelpers.js](https://github.com/wekan/wekan/tree/master/client/config/blazeHelpers.js)**: following [Blaze](http://blazejs.org/) helpers are registered here:`currentBoard()`, `currentCard()`, `getUser()` and `concat()`;
|
* **[blazeHelpers.js](https://github.com/wekan/wekan/tree/main/client/config/blazeHelpers.js)**: following [Blaze](http://blazejs.org/) helpers are registered here:`currentBoard()`, `currentCard()`, `getUser()` and `concat()`;
|
||||||
* **[gecko-fix.js](https://github.com/wekan/wekan/tree/master/client/config/gecko-fix.js)**: removes [deprecated](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch)`watch` and `unwatch` from Firefox prior to version 58;
|
* **[gecko-fix.js](https://github.com/wekan/wekan/tree/main/client/config/gecko-fix.js)**: removes [deprecated](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch)`watch` and `unwatch` from Firefox prior to version 58;
|
||||||
* **[presence.js](https://github.com/wekan/wekan/tree/master/client/config/presence.js)**: custom state function for [Presence](https://github.com/dburles/meteor-presence) that keeps track of current board;
|
* **[presence.js](https://github.com/wekan/wekan/tree/main/client/config/presence.js)**: custom state function for [Presence](https://github.com/dburles/meteor-presence) that keeps track of current board;
|
||||||
* **[reactiveTabs.js](https://github.com/wekan/wekan/tree/master/client/config/reactiveTabs.js)**: [ReactiveTabs](https://github.com/meteortemplates/tabs) are configured to use `basicTabs` template.
|
* **[reactiveTabs.js](https://github.com/wekan/wekan/tree/main/client/config/reactiveTabs.js)**: [ReactiveTabs](https://github.com/meteortemplates/tabs) are configured to use `basicTabs` template.
|
||||||
|
|
||||||
## lib
|
## lib
|
||||||
|
|
||||||
* **[accessibility.js](https://github.com/wekan/wekan/tree/master/client/lib/accessibility.js)**: define a set of DOM transformations that are specifically intended for blind screen readers;
|
* **[accessibility.js](https://github.com/wekan/wekan/tree/main/client/lib/accessibility.js)**: define a set of DOM transformations that are specifically intended for blind screen readers;
|
||||||
* **[cssEvents.js](https://github.com/wekan/wekan/tree/master/client/lib/cssEvents.js)**: the `CSSEvents`object has methods that select the name of the event based on the specific transitions and animations;
|
* **[cssEvents.js](https://github.com/wekan/wekan/tree/main/client/lib/cssEvents.js)**: the `CSSEvents`object has methods that select the name of the event based on the specific transitions and animations;
|
||||||
* **[pasteImage.js](https://github.com/wekan/wekan/tree/master/client/lib/pasteImage.js)** and **[dropImage.js](https://github.com/wekan/wekan/tree/master/client/lib/dropImage.js)**: utility for pasting and dropping images on a web app; <span style="color:red">*XXX: add comments; not same style as the rest of the code*</span>
|
* **[pasteImage.js](https://github.com/wekan/wekan/tree/main/client/lib/pasteImage.js)** and **[dropImage.js](https://github.com/wekan/wekan/tree/main/client/lib/dropImage.js)**: utility for pasting and dropping images on a web app; <span style="color:red">*XXX: add comments; not same style as the rest of the code*</span>
|
||||||
* **[emoji-values.js](https://github.com/wekan/wekan/tree/master/client/lib/emoji-values.js)**: sets Emoji.values;
|
* **[emoji-values.js](https://github.com/wekan/wekan/tree/main/client/lib/emoji-values.js)**: sets Emoji.values;
|
||||||
* **[escapeActions.js](https://github.com/wekan/wekan/tree/master/client/lib/escapeActions.js)**: defines the behavior (mostly canceling current edit) for escape keyboard key;
|
* **[escapeActions.js](https://github.com/wekan/wekan/tree/main/client/lib/escapeActions.js)**: defines the behavior (mostly canceling current edit) for escape keyboard key;
|
||||||
* **[i18n.js](https://github.com/wekan/wekan/tree/master/client/lib/i18n.js)**: at startup we choose the language for the ui based on user profile or browser language;
|
* **[i18n.js](https://github.com/wekan/wekan/tree/main/client/lib/i18n.js)**: at startup we choose the language for the ui based on user profile or browser language;
|
||||||
* **[inlinedform.js](https://github.com/wekan/wekan/tree/master/client/lib/inlinedform.js)**: forms for editing a single field (like adding a card); <span style="color:red">*XXX: comments in code suggest that a form that is not submitted will retain its value to prevent data loss using [unsavedEdits.js](https://github.com/wekan/wekan/tree/master/client/lib/unsavedEdits.js);bug?*</span>; <span style="color:red">*XXX: edit button to save and open*</span>;
|
* **[inlinedform.js](https://github.com/wekan/wekan/tree/main/client/lib/inlinedform.js)**: forms for editing a single field (like adding a card); <span style="color:red">*XXX: comments in code suggest that a form that is not submitted will retain its value to prevent data loss using [unsavedEdits.js](https://github.com/wekan/wekan/tree/main/client/lib/unsavedEdits.js);bug?*</span>; <span style="color:red">*XXX: edit button to save and open*</span>;
|
||||||
* **[keyboard.js](https://github.com/wekan/wekan/tree/master/client/lib/keyboard.js)**: the shortcuts that are presented when you press `?`re implemented inhere;
|
* **[keyboard.js](https://github.com/wekan/wekan/tree/main/client/lib/keyboard.js)**: the shortcuts that are presented when you press `?`re implemented inhere;
|
||||||
* **[mixins.js](https://github.com/wekan/wekan/tree/master/client/lib/mixins.js)**: stub; no `Mixins` at this point; <span style="color:red">*XXX: what does `new class` do? exlint: missing () invoking a constructor*</span>
|
* **[mixins.js](https://github.com/wekan/wekan/tree/main/client/lib/mixins.js)**: stub; no `Mixins` at this point; <span style="color:red">*XXX: what does `new class` do? exlint: missing () invoking a constructor*</span>
|
||||||
* **[popup.js](https://github.com/wekan/wekan/tree/master/client/lib/popup.js)**: defines `Popup` class for things likes electing a date; <span style="color:red">*XXX: not a Blaze helper?*</span>
|
* **[popup.js](https://github.com/wekan/wekan/tree/main/client/lib/popup.js)**: defines `Popup` class for things likes electing a date; <span style="color:red">*XXX: not a Blaze helper?*</span>
|
||||||
* **[textComplete.js](https://github.com/wekan/wekan/tree/master/client/lib/textComplete.js)**: extends [jquery-textcomplete](https://yuku-t.com/jquery-textcomplete/) to integrate with the rest of the system (like escape actions, tab and enter key handling); <span style="color:red">*XXX: deprecated?*</span>
|
* **[textComplete.js](https://github.com/wekan/wekan/tree/main/client/lib/textComplete.js)**: extends [jquery-textcomplete](https://yuku-t.com/jquery-textcomplete/) to integrate with the rest of the system (like escape actions, tab and enter key handling); <span style="color:red">*XXX: deprecated?*</span>
|
||||||
* **[utils.js](https://github.com/wekan/wekan/tree/master/client/lib/utils.js)**: various methods all over the place (resize, screen size, sort, capitalize, navigate to board and card);
|
* **[utils.js](https://github.com/wekan/wekan/tree/main/client/lib/utils.js)**: various methods all over the place (resize, screen size, sort, capitalize, navigate to board and card);
|
||||||
* **Blaze helpers**:
|
* **Blaze helpers**:
|
||||||
* **[filter.js](https://github.com/wekan/wekan/tree/master/client/lib/filter.js)**: registers `Filter` [Blaze](http://blazejs.org/) helper to support filtering cards by labels and by members;
|
* **[filter.js](https://github.com/wekan/wekan/tree/main/client/lib/filter.js)**: registers `Filter` [Blaze](http://blazejs.org/) helper to support filtering cards by labels and by members;
|
||||||
* **[modal.js](https://github.com/wekan/wekan/tree/master/client/lib/modal.js)**: registers `Modal` [Blaze](http://blazejs.org/) helper to support showing modal windows like the one for archived boards;
|
* **[modal.js](https://github.com/wekan/wekan/tree/main/client/lib/modal.js)**: registers `Modal` [Blaze](http://blazejs.org/) helper to support showing modal windows like the one for archived boards;
|
||||||
* **[multiSelection.js](https://github.com/wekan/wekan/tree/master/client/lib/multiSelection.js)**: registers `Modal` [Blaze](http://blazejs.org/) helper to support multiple selection mode;
|
* **[multiSelection.js](https://github.com/wekan/wekan/tree/main/client/lib/multiSelection.js)**: registers `Modal` [Blaze](http://blazejs.org/) helper to support multiple selection mode;
|
||||||
* **[unsavedEdits.js](https://github.com/wekan/wekan/tree/master/client/lib/unsavedEdits.js)**: registers `getUnsavedValue` and `hasUnsavedValue` [Blaze](http://blazejs.org/) helpers to preserve content entered in fields but not saved;
|
* **[unsavedEdits.js](https://github.com/wekan/wekan/tree/main/client/lib/unsavedEdits.js)**: registers `getUnsavedValue` and `hasUnsavedValue` [Blaze](http://blazejs.org/) helpers to preserve content entered in fields but not saved;
|
||||||
|
|
||||||
# Server
|
# Server
|
||||||
|
|
||||||
.js files in this directory are not available to the client.
|
.js files in this directory are not available to the client.
|
||||||
|
|
||||||
* **[statistics.js](https://github.com/wekan/wekan/tree/master/server/statistics.js)** implements a Meteor server-only [method](https://guide.meteor.com/methods.html) for general-purpose information such as OS, memory, CPUs, PID of the process and so on.
|
* **[statistics.js](https://github.com/wekan/wekan/tree/main/server/statistics.js)** implements a Meteor server-only [method](https://guide.meteor.com/methods.html) for general-purpose information such as OS, memory, CPUs, PID of the process and so on.
|
||||||
* **[migrations.js](https://github.com/wekan/wekan/tree/master/server/migrations.js)** is where code that update sold databases to new schema is located. Anytime the schema of one of the collection changes in a non-backward compatible way a migration needs to be written in this file.
|
* **[migrations.js](https://github.com/wekan/wekan/tree/main/server/migrations.js)** is where code that update sold databases to new schema is located. Anytime the schema of one of the collection changes in a non-backward compatible way a migration needs to be written in this file.
|
||||||
* **[authentication.js](https://github.com/wekan/wekan/tree/master/server/authentication.js)** add the `Authentication`object to Meteor that provides methods for checking access rights.
|
* **[authentication.js](https://github.com/wekan/wekan/tree/main/server/authentication.js)** add the `Authentication`object to Meteor that provides methods for checking access rights.
|
||||||
* **[lib/utils.js](https://github.com/wekan/wekan/tree/master/server/lib/utils.js)** defines some checks used by [checklists.js](https://github.com/wekan/wekan/tree/master/models/checklists.js)** model. <span style="color:red">*XXX: these methods are defined in server-only code by are used in models, which are visible by the client (in Checklists.allow)?*</span>
|
* **[lib/utils.js](https://github.com/wekan/wekan/tree/main/server/lib/utils.js)** defines some checks used by [checklists.js](https://github.com/wekan/wekan/tree/main/models/checklists.js)** model. <span style="color:red">*XXX: these methods are defined in server-only code by are used in models, which are visible by the client (in Checklists.allow)?*</span>
|
||||||
* **[notifications](https://github.com/wekan/wekan/tree/master/server/notifications)**
|
* **[notifications](https://github.com/wekan/wekan/tree/main/server/notifications)**
|
||||||
* **[notifications.js](https://github.com/wekan/wekan/tree/master/server/notifications/notifications.js)**: defines the `Notifications` object that supports [Activities](models/activities.js) and holds a list of functions to call when its `notify()` method is called along with convenience methods to subscribe, unsubscribe and a way to filter recipients according to user settings for notification;
|
* **[notifications.js](https://github.com/wekan/wekan/tree/main/server/notifications/notifications.js)**: defines the `Notifications` object that supports [Activities](models/activities.js) and holds a list of functions to call when its `notify()` method is called along with convenience methods to subscribe, unsubscribe and a way to filter recipients according to user settings for notification;
|
||||||
* **[email.js](https://github.com/wekan/wekan/tree/master/server/notifications/email.js)**: makes use of the notification system to send an email to a user;
|
* **[email.js](https://github.com/wekan/wekan/tree/main/server/notifications/email.js)**: makes use of the notification system to send an email to a user;
|
||||||
* **[profile.js](https://github.com/wekan/wekan/tree/master/server/notifications/profile.js)**: *stub*; will allow associating notifications with user ids to be consumed by mobile apps;
|
* **[profile.js](https://github.com/wekan/wekan/tree/main/server/notifications/profile.js)**: *stub*; will allow associating notifications with user ids to be consumed by mobile apps;
|
||||||
* **[notifications.js](https://github.com/wekan/wekan/tree/master/server/notifications/notifications.js)**: adds the `watch()` Meteor server-only [method](https://guide.meteor.com/methods.html) that may watch boards, lists or cards using [models/watchable.js](https://github.com/wekan/wekan/tree/master/models/watchable.js);
|
* **[notifications.js](https://github.com/wekan/wekan/tree/main/server/notifications/notifications.js)**: adds the `watch()` Meteor server-only [method](https://guide.meteor.com/methods.html) that may watch boards, lists or cards using [models/watchable.js](https://github.com/wekan/wekan/tree/main/models/watchable.js);
|
||||||
* **[outgoing.js](https://github.com/wekan/wekan/tree/master/server/notifications/outgoing.js)**: adds the `outgoingWebhooks()` Meteor server-only [method](https://guide.meteor.com/methods.html) that can call external API <span style="color:red">*XXX: I guess*</span>
|
* **[outgoing.js](https://github.com/wekan/wekan/tree/main/server/notifications/outgoing.js)**: adds the `outgoingWebhooks()` Meteor server-only [method](https://guide.meteor.com/methods.html) that can call external API <span style="color:red">*XXX: I guess*</span>
|
||||||
* **[publications](https://github.com/wekan/wekan/tree/master/server/publications)** defines sets of records that are [published](https://docs.meteor.com/api/pubsub.html#Meteor-publish) by the server and how clients can subscribe to those:
|
* **[publications](https://github.com/wekan/wekan/tree/main/server/publications)** defines sets of records that are [published](https://docs.meteor.com/api/pubsub.html#Meteor-publish) by the server and how clients can subscribe to those:
|
||||||
* **[accountSettings.js](https://github.com/wekan/wekan/tree/master/server/publications/accountSettings.js)**: [AccountSettings](models/accountSettings.js) collection;
|
* **[accountSettings.js](https://github.com/wekan/wekan/tree/main/server/publications/accountSettings.js)**: [AccountSettings](models/accountSettings.js) collection;
|
||||||
* **[activities.js](https://github.com/wekan/wekan/tree/master/server/publications/activities.js)**: [Activities](models/activities.js) collection filtered and paginated;
|
* **[activities.js](https://github.com/wekan/wekan/tree/main/server/publications/activities.js)**: [Activities](models/activities.js) collection filtered and paginated;
|
||||||
* **[announcements.js](https://github.com/wekan/wekan/tree/master/server/publications/announcements.js)**: [Announcements](models/announcements.js) collection;
|
* **[announcements.js](https://github.com/wekan/wekan/tree/main/server/publications/announcements.js)**: [Announcements](models/announcements.js) collection;
|
||||||
* **[avatars.js](https://github.com/wekan/wekan/tree/master/server/publications/avatars.js)**: [Avatars](models/avatars.js) collection for current user;
|
* **[avatars.js](https://github.com/wekan/wekan/tree/main/server/publications/avatars.js)**: [Avatars](models/avatars.js) collection for current user;
|
||||||
* **[boards.js](https://github.com/wekan/wekan/tree/master/server/publications/boards.js)**: [Boards](models/boards.js) collection for current user, archived boards collection and individual board as a [relation](https://atmospherejs.com/cottz/publish-relations);
|
* **[boards.js](https://github.com/wekan/wekan/tree/main/server/publications/boards.js)**: [Boards](models/boards.js) collection for current user, archived boards collection and individual board as a [relation](https://atmospherejs.com/cottz/publish-relations);
|
||||||
* **[cards.js](https://github.com/wekan/wekan/tree/master/server/publications/cards.js)**: a [Card](https://github.com/wekan/wekan/tree/master/models/cards.js) by its id;
|
* **[cards.js](https://github.com/wekan/wekan/tree/main/server/publications/cards.js)**: a [Card](https://github.com/wekan/wekan/tree/main/models/cards.js) by its id;
|
||||||
* **[fast-render.js](https://github.com/wekan/wekan/tree/master/server/publications/fast-render.js)**: configures [FastRender](https://github.com/kadirahq/fast-render) to use the board data; <span style="color:red">*XXX: FastRender docs say "Make sure you're using Meteor.subscribe and not this.subscribe"*</span>
|
* **[fast-render.js](https://github.com/wekan/wekan/tree/main/server/publications/fast-render.js)**: configures [FastRender](https://github.com/kadirahq/fast-render) to use the board data; <span style="color:red">*XXX: FastRender docs say "Make sure you're using Meteor.subscribe and not this.subscribe"*</span>
|
||||||
* **[people.js](https://github.com/wekan/wekan/tree/master/server/publications/people.js)**: [Users](models/users.js) collection;
|
* **[people.js](https://github.com/wekan/wekan/tree/main/server/publications/people.js)**: [Users](models/users.js) collection;
|
||||||
* **[settings.js](https://github.com/wekan/wekan/tree/master/server/publications/settings.js)**: [Settings](models/settings.js) collection and, separately, the mail server;
|
* **[settings.js](https://github.com/wekan/wekan/tree/main/server/publications/settings.js)**: [Settings](models/settings.js) collection and, separately, the mail server;
|
||||||
* **[unsavedEdits.js](https://github.com/wekan/wekan/tree/master/server/publications/unsavedEdits.js)**: [UnsavedEdits](models/unsavedEdits.js) collection;
|
* **[unsavedEdits.js](https://github.com/wekan/wekan/tree/main/server/publications/unsavedEdits.js)**: [UnsavedEdits](models/unsavedEdits.js) collection;
|
||||||
* **[users.js](https://github.com/wekan/wekan/tree/master/server/publications/users.js)**: provides a "mini-profile" for individual users and a [way](https://docs.meteor.com/api/collections.html#fieldspecifiers) to check if current user is admin.
|
* **[users.js](https://github.com/wekan/wekan/tree/main/server/publications/users.js)**: provides a "mini-profile" for individual users and a [way](https://docs.meteor.com/api/collections.html#fieldspecifiers) to check if current user is admin.
|
||||||
|
|
||||||
# Models
|
# Models
|
||||||
|
|
||||||
The files in **[models](https://github.com/wekan/wekan/tree/master/models)** directory mainly define collections; most of them have [aldeed SimpleSchema](https://atmospherejs.com/aldeed/simple-schema) for automatic validation of insert and update of collections. This is also where helpers, mutations, methods, hooks and bootstrap code is to be found. [Server side code](https://docs.meteor.com/api/core.html#Meteor-isServer) also implements json REST API.
|
The files in **[models](https://github.com/wekan/wekan/tree/main/models)** directory mainly define collections; most of them have [aldeed SimpleSchema](https://atmospherejs.com/aldeed/simple-schema) for automatic validation of insert and update of collections. This is also where helpers, mutations, methods, hooks and bootstrap code is to be found. [Server side code](https://docs.meteor.com/api/core.html#Meteor-isServer) also implements json REST API.
|
||||||
|
|
||||||
Collections (mostly `Mongo.Collection` except as noted) are defined in:
|
Collections (mostly `Mongo.Collection` except as noted) are defined in:
|
||||||
* **[accountSettings.js](https://github.com/wekan/wekan/tree/master/models/accountSettings.js)**;
|
* **[accountSettings.js](https://github.com/wekan/wekan/tree/main/models/accountSettings.js)**;
|
||||||
* **[activities.js](https://github.com/wekan/wekan/tree/master/models/activities.js)**: does not have a SimpleSchema;
|
* **[activities.js](https://github.com/wekan/wekan/tree/main/models/activities.js)**: does not have a SimpleSchema;
|
||||||
* **[announcements.js](https://github.com/wekan/wekan/tree/master/models/announcements.js)**;
|
* **[announcements.js](https://github.com/wekan/wekan/tree/main/models/announcements.js)**;
|
||||||
* **[attachments.js](https://github.com/wekan/wekan/tree/master/models/attachments.js)**: file-system collection;
|
* **[attachments.js](https://github.com/wekan/wekan/tree/main/models/attachments.js)**: file-system collection;
|
||||||
* **[avatars.js](https://github.com/wekan/wekan/tree/master/models/avatars.js)**: file-system collection;
|
* **[avatars.js](https://github.com/wekan/wekan/tree/main/models/avatars.js)**: file-system collection;
|
||||||
* **[boards.js](https://github.com/wekan/wekan/tree/master/models/boards.js)**;
|
* **[boards.js](https://github.com/wekan/wekan/tree/main/models/boards.js)**;
|
||||||
* **[cardComments.js](https://github.com/wekan/wekan/tree/master/models/cardComments.js)**;
|
* **[cardComments.js](https://github.com/wekan/wekan/tree/main/models/cardComments.js)**;
|
||||||
* **[cards.js](https://github.com/wekan/wekan/tree/master/models/cards.js)**;
|
* **[cards.js](https://github.com/wekan/wekan/tree/main/models/cards.js)**;
|
||||||
* **[checklists.js](https://github.com/wekan/wekan/tree/master/models/checklists.js)**;
|
* **[checklists.js](https://github.com/wekan/wekan/tree/main/models/checklists.js)**;
|
||||||
* **[integrations.js](https://github.com/wekan/wekan/tree/master/models/integrations.js)**;
|
* **[integrations.js](https://github.com/wekan/wekan/tree/main/models/integrations.js)**;
|
||||||
* **[invitationCodes.js](https://github.com/wekan/wekan/tree/master/models/invitationCodes.js)**;
|
* **[invitationCodes.js](https://github.com/wekan/wekan/tree/main/models/invitationCodes.js)**;
|
||||||
* **[lists.js](https://github.com/wekan/wekan/tree/master/models/lists.js)**;
|
* **[lists.js](https://github.com/wekan/wekan/tree/main/models/lists.js)**;
|
||||||
* **[settings.js](https://github.com/wekan/wekan/tree/master/models/settings.js)**;
|
* **[settings.js](https://github.com/wekan/wekan/tree/main/models/settings.js)**;
|
||||||
* **[unsavedEdits.js](https://github.com/wekan/wekan/tree/master/models/unsavedEdits.js)**;
|
* **[unsavedEdits.js](https://github.com/wekan/wekan/tree/main/models/unsavedEdits.js)**;
|
||||||
* **[users.js](https://github.com/wekan/wekan/tree/master/models/users.js)**: extends the `Meteor.users` collection.
|
* **[users.js](https://github.com/wekan/wekan/tree/main/models/users.js)**: extends the `Meteor.users` collection.
|
||||||
|
|
||||||
Other files:
|
Other files:
|
||||||
* **[watchable.js](https://github.com/wekan/wekan/tree/master/models/watchable.js)**: extends the schema, helpers and mutations of `Boards`, `Lists` and `Cards`.
|
* **[watchable.js](https://github.com/wekan/wekan/tree/main/models/watchable.js)**: extends the schema, helpers and mutations of `Boards`, `Lists` and `Cards`.
|
||||||
* **[export.js](https://github.com/wekan/wekan/tree/master/models/export.js)**: has some code to support the REST API.
|
* **[export.js](https://github.com/wekan/wekan/tree/main/models/export.js)**: has some code to support the REST API.
|
||||||
* **[import.js](https://github.com/wekan/wekan/tree/master/models/import.js)**: implements `importBoard()` method so that Trello (in **[trelloCreator.js](https://github.com/wekan/wekan/tree/master/models/trelloCreator.js)**) and Wekan (in **[wekanCreator.js](https://github.com/wekan/wekan/tree/master/models/wekanCreator.js)**) boards can be imported. <span style="color:red">*XXX: Solid candidates for a directory of their own.*</span>
|
* **[import.js](https://github.com/wekan/wekan/tree/main/models/import.js)**: implements `importBoard()` method so that Trello (in **[trelloCreator.js](https://github.com/wekan/wekan/tree/main/models/trelloCreator.js)**) and Wekan (in **[wekanCreator.js](https://github.com/wekan/wekan/tree/main/models/wekanCreator.js)**) boards can be imported. <span style="color:red">*XXX: Solid candidates for a directory of their own.*</span>
|
||||||
|
|
||||||
# Tools
|
# Tools
|
||||||
|
|
||||||
* Git:
|
* Git:
|
||||||
* **.git**;
|
* **.git**;
|
||||||
* **[.gitignore](https://github.com/wekan/wekan/tree/master/.gitignore)**;
|
* **[.gitignore](https://github.com/wekan/wekan/tree/main/.gitignore)**;
|
||||||
* Docker:
|
* Docker:
|
||||||
* **[docker-compose.yml](https://github.com/wekan/wekan/tree/master/docker-compose.yml)**: the compose file is a YAML file defining services, networks and volumes;
|
* **[docker-compose.yml](https://github.com/wekan/wekan/tree/main/docker-compose.yml)**: the compose file is a YAML file defining services, networks and volumes;
|
||||||
* **[Dockerfile](https://github.com/wekan/wekan/tree/master/Dockerfile)**;
|
* **[Dockerfile](https://github.com/wekan/wekan/tree/main/Dockerfile)**;
|
||||||
* Snap:
|
* Snap:
|
||||||
* **[snapcraft.yaml](https://github.com/wekan/wekan/tree/master/snapcraft.yaml)**: [Snapcraft](https://snapcraft.io/) packages any app for every Linux desktop, server, cloud or device, and deliver updates directly;
|
* **[snapcraft.yaml](https://github.com/wekan/wekan/tree/main/snapcraft.yaml)**: [Snapcraft](https://snapcraft.io/) packages any app for every Linux desktop, server, cloud or device, and deliver updates directly;
|
||||||
* **[snap](https://github.com/wekan/wekan/tree/master/snap)**;
|
* **[snap](https://github.com/wekan/wekan/tree/main/snap)**;
|
||||||
* **[snap-src](https://github.com/wekan/wekan/tree/master/snap-src)**;
|
* **[snap-src](https://github.com/wekan/wekan/tree/main/snap-src)**;
|
||||||
* Sandstorm:
|
* Sandstorm:
|
||||||
* **[sandstorm.js](https://github.com/wekan/wekan/tree/master/sandstorm.js)**: [Sandstorm](https://sandstorm.io/) specific code;
|
* **[sandstorm.js](https://github.com/wekan/wekan/tree/main/sandstorm.js)**: [Sandstorm](https://sandstorm.io/) specific code;
|
||||||
* **[sandstorm-pkgdef.capnp](https://github.com/wekan/wekan/tree/master/sandstorm-pkgdef.capnp)**: used the meteor-spk tool to generate a sandstorm package;
|
* **[sandstorm-pkgdef.capnp](https://github.com/wekan/wekan/tree/main/sandstorm-pkgdef.capnp)**: used the meteor-spk tool to generate a sandstorm package;
|
||||||
* Node:
|
* Node:
|
||||||
* **[package.json](https://github.com/wekan/wekan/tree/master/package.json)**;
|
* **[package.json](https://github.com/wekan/wekan/tree/main/package.json)**;
|
||||||
* **node_modules**
|
* **node_modules**
|
||||||
* **[app.json](https://github.com/wekan/wekan/tree/master/app.json)**: is a manifest format for describing web apps (build requirements, environment variables, addons, and other information);
|
* **[app.json](https://github.com/wekan/wekan/tree/main/app.json)**: is a manifest format for describing web apps (build requirements, environment variables, addons, and other information);
|
||||||
* **[app.env](https://github.com/wekan/wekan/tree/master/app.env)**: environment variables;
|
* **[app.env](https://github.com/wekan/wekan/tree/main/app.env)**: environment variables;
|
||||||
* Meteor: is a full-stack JavaScript platform for developing modern web and mobile applications.
|
* Meteor: is a full-stack JavaScript platform for developing modern web and mobile applications.
|
||||||
* **[.meteor](https://github.com/wekan/wekan/tree/master/.meteor)**;
|
* **[.meteor](https://github.com/wekan/wekan/tree/main/.meteor)**;
|
||||||
* Translation:
|
* Translation:
|
||||||
* **[i18n](https://github.com/wekan/wekan/tree/master/i18n)** directory has one .json file for each supported language
|
* **[i18n](https://github.com/wekan/wekan/tree/main/i18n)** directory has one .json file for each supported language
|
||||||
* **[.tx](https://github.com/wekan/wekan/tree/master/.tx)**: configuration for [Transifex](https://app.transifex.com/wekan/) tool used to manage translation;
|
* **[.tx](https://github.com/wekan/wekan/tree/main/.tx)**: configuration for [Transifex](https://app.transifex.com/wekan/) tool used to manage translation;
|
||||||
* Text editors:
|
* Text editors:
|
||||||
* **[.vscode](https://github.com/wekan/wekan/tree/master/.vscode)**: [Visual Studio Code Editor](https://code.visualstudio.com/docs/getstarted/settings);
|
* **[.vscode](https://github.com/wekan/wekan/tree/main/.vscode)**: [Visual Studio Code Editor](https://code.visualstudio.com/docs/getstarted/settings);
|
||||||
* **[.editorconfig](https://github.com/wekan/wekan/tree/master/.editorconfig)**: [EditorConfig](http://EditorConfig.org) provides consistent coding styles between different editors and IDEs;
|
* **[.editorconfig](https://github.com/wekan/wekan/tree/main/.editorconfig)**: [EditorConfig](http://EditorConfig.org) provides consistent coding styles between different editors and IDEs;
|
||||||
* **[.github](https://github.com/wekan/wekan/tree/master/.github)**: hosts the issues template;
|
* **[.github](https://github.com/wekan/wekan/tree/main/.github)**: hosts the issues template;
|
||||||
* **[.eslintrc.json](https://github.com/wekan/wekan/tree/master/.eslintrc.json)**: [ESLint](https://eslint.org/docs/user-guide/configuring) configuration;
|
* **[.eslintrc.json](https://github.com/wekan/wekan/tree/main/.eslintrc.json)**: [ESLint](https://eslint.org/docs/user-guide/configuring) configuration;
|
||||||
* **[.travis.yml](https://github.com/wekan/wekan/tree/master/.travis.yml)**: configuration for [Travis CI](https://travis-ci.org/);
|
* **[.travis.yml](https://github.com/wekan/wekan/tree/main/.travis.yml)**: configuration for [Travis CI](https://travis-ci.org/);
|
||||||
* **[scalingo.json](https://github.com/wekan/wekan/tree/master/scalingo.json)**: [Scalingo](https://scalingo.com/) is a deploy solution;
|
* **[scalingo.json](https://github.com/wekan/wekan/tree/main/scalingo.json)**: [Scalingo](https://scalingo.com/) is a deploy solution;
|
||||||
* **[fix-download-unicode](https://github.com/wekan/wekan/tree/master/fix-download-unicode)**: `cfs_access-point.txt` from this folder is copied to `bundle/programs/server/packages/cfs_access-point.js` in Docker build and in snapcraft build; this is a monkey patch fix for [downloading files that have unicode in filename](https://github.com/wekan/wekan/issues/784).
|
* **[fix-download-unicode](https://github.com/wekan/wekan/tree/main/fix-download-unicode)**: `cfs_access-point.txt` from this folder is copied to `bundle/programs/server/packages/cfs_access-point.js` in Docker build and in snapcraft build; this is a monkey patch fix for [downloading files that have unicode in filename](https://github.com/wekan/wekan/issues/784).
|
||||||
|
|
||||||
# Info
|
# Info
|
||||||
|
|
||||||
* **[meta](https://github.com/wekan/wekan/tree/master/meta)**: binary signatures, project description, icons, screenshots and, oui, a French change-log;
|
* **[meta](https://github.com/wekan/wekan/tree/main/meta)**: binary signatures, project description, icons, screenshots and, oui, a French change-log;
|
||||||
* **[CHANGELOG.md](https://github.com/wekan/wekan/tree/master/CHANGELOG.md)**;
|
* **[CHANGELOG.md](https://github.com/wekan/wekan/tree/main/CHANGELOG.md)**;
|
||||||
* **[Contributing.md](https://github.com/wekan/wekan/tree/master/Contributing.md)**;
|
* **[Contributing.md](https://github.com/wekan/wekan/tree/main/Contributing.md)**;
|
||||||
* **[LICENSE](https://github.com/wekan/wekan/tree/master/LICENSE)**;
|
* **[LICENSE](https://github.com/wekan/wekan/tree/main/LICENSE)**;
|
||||||
* **[README.md](https://github.com/wekan/wekan/tree/master/README.md)**.
|
* **[README.md](https://github.com/wekan/wekan/tree/main/README.md)**.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ If you like to build from source, clone Wekan repo:
|
||||||
```
|
```
|
||||||
git clone https://github.com/wekan/wekan
|
git clone https://github.com/wekan/wekan
|
||||||
```
|
```
|
||||||
Then edit docker-compose.yml with [these lines uncommented](https://github.com/wekan/wekan/blob/master/docker-compose.yml#L132-L142) this way:
|
Then edit docker-compose.yml with [these lines uncommented](https://github.com/wekan/wekan/blob/main/docker-compose.yml#L132-L142) this way:
|
||||||
```
|
```
|
||||||
#-------------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------------
|
||||||
# ==== BUILD wekan-app DOCKER CONTAINER FROM SOURCE, if you uncomment these ====
|
# ==== BUILD wekan-app DOCKER CONTAINER FROM SOURCE, if you uncomment these ====
|
||||||
|
|
@ -156,7 +156,7 @@ TODO: [Docker Compose: Wekan <=> MongoDB <=> ToroDB => MySQL read-only mirroring
|
||||||
## Admin Panel
|
## Admin Panel
|
||||||
|
|
||||||
First registered Wekan user will get Admin Panel on new Docker and source based
|
First registered Wekan user will get Admin Panel on new Docker and source based
|
||||||
installs. You can also [enable Admin Panel manually](https://github.com/wekan/wekan/blob/master/CHANGELOG.md#v0111-rc2-2017-03-05-wekan-prerelease)
|
installs. You can also [enable Admin Panel manually](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v0111-rc2-2017-03-05-wekan-prerelease)
|
||||||
|
|
||||||
## Docker Hub - sometimes broken
|
## Docker Hub - sometimes broken
|
||||||
|
|
||||||
|
|
|
||||||
4
FAQ.md
4
FAQ.md
|
|
@ -44,14 +44,14 @@ It's a very specific niche, with limited amount competitors, with all of this ap
|
||||||
[Mac](Mac) / [Windows](Install-Wekan-from-source-on-Windows).
|
[Mac](Mac) / [Windows](Install-Wekan-from-source-on-Windows).
|
||||||
[More Platforms](Platforms). [ARM progress](https://github.com/wekan/wekan/issues/1053#issuecomment-410919264).
|
[More Platforms](Platforms). [ARM progress](https://github.com/wekan/wekan/issues/1053#issuecomment-410919264).
|
||||||
- 1 GB RAM minimum free for Wekan. Production server should have miminum total 4 GB RAM.
|
- 1 GB RAM minimum free for Wekan. Production server should have miminum total 4 GB RAM.
|
||||||
For thousands of users, for example with [Docker](https://github.com/wekan/wekan/blob/master/docker-compose.yml): 3 frontend servers,
|
For thousands of users, for example with [Docker](https://github.com/wekan/wekan/blob/main/docker-compose.yml): 3 frontend servers,
|
||||||
each having 2 CPU and 2 wekan-app containers. One backend wekan-db server with many CPUs.
|
each having 2 CPU and 2 wekan-app containers. One backend wekan-db server with many CPUs.
|
||||||
- Enough disk space and alerts about low disk space. If you run out disk space, MongoDB database gets corrupted.
|
- Enough disk space and alerts about low disk space. If you run out disk space, MongoDB database gets corrupted.
|
||||||
- SECURITY: Updating to newest Wekan version very often. Please check you do not have automatic updates of Sandstorm or Snap turned off.
|
- SECURITY: Updating to newest Wekan version very often. Please check you do not have automatic updates of Sandstorm or Snap turned off.
|
||||||
Old versions have security issues because of old versions Node.js etc. Only newest Wekan is supported.
|
Old versions have security issues because of old versions Node.js etc. Only newest Wekan is supported.
|
||||||
Wekan on Sandstorm is not usually affected by any Standalone Wekan (Snap/Docker/Source) security issues.
|
Wekan on Sandstorm is not usually affected by any Standalone Wekan (Snap/Docker/Source) security issues.
|
||||||
- [Reporting all new bugs immediately](https://github.com/wekan/wekan/issues).
|
- [Reporting all new bugs immediately](https://github.com/wekan/wekan/issues).
|
||||||
New features and fixes are added to Wekan [many times a day](https://github.com/wekan/wekan/blob/master/CHANGELOG.md).
|
New features and fixes are added to Wekan [many times a day](https://github.com/wekan/wekan/blob/main/CHANGELOG.md).
|
||||||
- [Backups](Backup) of Wekan database once a day miminum.
|
- [Backups](Backup) of Wekan database once a day miminum.
|
||||||
Bugs, updates, users deleting list or card, harddrive full, harddrive crash etc can eat your data. There is no undo yet.
|
Bugs, updates, users deleting list or card, harddrive full, harddrive crash etc can eat your data. There is no undo yet.
|
||||||
Some bug can cause Wekan board to not load at all, requiring manual fixing of database content.
|
Some bug can cause Wekan board to not load at all, requiring manual fixing of database content.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Current
|
# Current
|
||||||
|
|
||||||
Not all from [CHANGELOG](https://github.com/wekan/wekan/blob/master/CHANGELOG.md) are added to here yet.
|
Not all from [CHANGELOG](https://github.com/wekan/wekan/blob/main/CHANGELOG.md) are added to here yet.
|
||||||
|
|
||||||
## Kanban
|
## Kanban
|
||||||
|
|
||||||
|
|
@ -105,7 +105,7 @@ Tip: Normally you archive a card so you can restore it back. If you want to dele
|
||||||
|
|
||||||
NOTE: There is user admin as "People" in Admin Panel, but no screenshot here yet.
|
NOTE: There is user admin as "People" in Admin Panel, but no screenshot here yet.
|
||||||
|
|
||||||
* Source and Docker platforms: [Admin Panel](https://github.com/wekan/wekan/blob/master/CHANGELOG.md#v0111-rc2-2017-03-05-wekan-prerelease): Self-registration, or change to invite-only and inviting users to boards. SMTP Settings.
|
* Source and Docker platforms: [Admin Panel](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v0111-rc2-2017-03-05-wekan-prerelease): Self-registration, or change to invite-only and inviting users to boards. SMTP Settings.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
@ -184,7 +184,7 @@ ElasticSearch / Kibana (ELK)](https://github.com/wekan/wekan-logstash)
|
||||||
|
|
||||||
# Already merged, will be at next version
|
# Already merged, will be at next version
|
||||||
|
|
||||||
* [Changelog](https://github.com/wekan/wekan/blob/master/CHANGELOG.md)
|
* [Changelog](https://github.com/wekan/wekan/blob/main/CHANGELOG.md)
|
||||||
|
|
||||||
# Wishes for pull requests
|
# Wishes for pull requests
|
||||||
|
|
||||||
|
|
|
||||||
2
Helm.md
2
Helm.md
|
|
@ -1,5 +1,5 @@
|
||||||
# Helm Chart for Kubernetes
|
# Helm Chart for Kubernetes
|
||||||
|
|
||||||
[Official Helm Chart](https://github.com/wekan/wekan/tree/master/helm/wekan)
|
[Official Helm Chart](https://github.com/wekan/wekan/tree/main/helm/wekan)
|
||||||
|
|
||||||
[Related issue](https://github.com/wekan/wekan/issues/3923)
|
[Related issue](https://github.com/wekan/wekan/issues/3923)
|
||||||
2
Home.md
2
Home.md
|
|
@ -17,5 +17,5 @@ There are various ways to get started with Wekan:
|
||||||
If you still have questions, check out the [[FAQ]]!
|
If you still have questions, check out the [[FAQ]]!
|
||||||
|
|
||||||
[kanban board]: https://en.wikipedia.org/wiki/Kanban_board
|
[kanban board]: https://en.wikipedia.org/wiki/Kanban_board
|
||||||
[mit license]: https://github.com/wekan/wekan/blob/master/LICENSE
|
[mit license]: https://github.com/wekan/wekan/blob/main/LICENSE
|
||||||
[sandstorm app demo]: https://demo.sandstorm.io/appdemo/m86q05rdvj14yvn78ghaxynqz7u2svw6rnttptxx49g1785cdv1h
|
[sandstorm app demo]: https://demo.sandstorm.io/appdemo/m86q05rdvj14yvn78ghaxynqz7u2svw6rnttptxx49g1785cdv1h
|
||||||
|
|
@ -315,7 +315,7 @@ I do have server at AWS LightSail that has 4 GB RAM and 60 GB SSD,
|
||||||
running [Snap versions of Wekan and RocketChat installed this way](OAuth2)
|
running [Snap versions of Wekan and RocketChat installed this way](OAuth2)
|
||||||
on same server, and it does not crash.
|
on same server, and it does not crash.
|
||||||
|
|
||||||
BTW, I did yesterday release [Wekan v2.95 with these new features](https://github.com/wekan/wekan/blob/master/CHANGELOG.md#v295-2019-07-01-wekan-release).
|
BTW, I did yesterday release [Wekan v2.95 with these new features](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v295-2019-07-01-wekan-release).
|
||||||
|
|
||||||
***
|
***
|
||||||
### Q: Board cleanup?
|
### Q: Board cleanup?
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
# OLD:
|
# OLD:
|
||||||
|
|
||||||
**NOTE**:
|
**NOTE**:
|
||||||
- [Newest Node/Mongo/Meteor versions](https://github.com/wekan/wekan/blob/master/Dockerfile).
|
- [Newest Node/Mongo/Meteor versions](https://github.com/wekan/wekan/blob/main/Dockerfile).
|
||||||
- For x64 wekan-VERSION.zip is at https://releases.wekan.team and some related install info https://github.com/wekan/wekan/wiki/Raspberry-Pi
|
- For x64 wekan-VERSION.zip is at https://releases.wekan.team and some related install info https://github.com/wekan/wekan/wiki/Raspberry-Pi
|
||||||
|
|
||||||
**Purpose**: Install latest Wekan release on [Uberspace](https://uberspace.de/) 6 and run as [daemontools](https://cr.yp.to/daemontools/faq/create.html) service in local userspace.
|
**Purpose**: Install latest Wekan release on [Uberspace](https://uberspace.de/) 6 and run as [daemontools](https://cr.yp.to/daemontools/faq/create.html) service in local userspace.
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ Anyone: If you get this working, edit this wiki and add remaining to be installe
|
||||||
- Update [Install from source](Install-and-Update#install-mongodb-1) so then this temporary page can possibly be removed later
|
- Update [Install from source](Install-and-Update#install-mongodb-1) so then this temporary page can possibly be removed later
|
||||||
|
|
||||||
## Related info
|
## Related info
|
||||||
- Node.js and npm version downloaded at [Dockerfile](https://github.com/wekan/wekan/blob/master/Dockerfile)
|
- Node.js and npm version downloaded at [Dockerfile](https://github.com/wekan/wekan/blob/main/Dockerfile)
|
||||||
- https://gist.github.com/isaacs/579814
|
- https://gist.github.com/isaacs/579814
|
||||||
- http://linuxbrew.sh
|
- http://linuxbrew.sh
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Current
|
# Current
|
||||||
|
|
||||||
* [PostgreSQL](https://github.com/wekan/wekan/tree/master/torodb-postgresql)
|
* [PostgreSQL](https://github.com/wekan/wekan/tree/main/torodb-postgresql)
|
||||||
* [Webhooks](Features#webhooks), works by showing board activities with [Slack](https://slack.com/), [Rocket.chat](https://rocket.chat/) and others that supports Webhooks.
|
* [Webhooks](Features#webhooks), works by showing board activities with [Slack](https://slack.com/), [Rocket.chat](https://rocket.chat/) and others that supports Webhooks.
|
||||||
* [Gogs Integration](https://github.com/wekan/wekan-gogs) as separate project.
|
* [Gogs Integration](https://github.com/wekan/wekan-gogs) as separate project.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ sudo systemctl status snap.wekan.wekan
|
||||||
|
|
||||||
## Docker
|
## Docker
|
||||||
|
|
||||||
[docker-compose.yml](https://github.com/wekan/wekan/blob/master/docker-compose.yml)
|
[docker-compose.yml](https://github.com/wekan/wekan/blob/main/docker-compose.yml)
|
||||||
```
|
```
|
||||||
- DEBUG=true
|
- DEBUG=true
|
||||||
- OAUTH2_ENABLED=true
|
- OAUTH2_ENABLED=true
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
## Docker
|
## Docker
|
||||||
|
|
||||||
Uncomment settings lines this wasy at [docker-compose.yml](https://github.com/wekan/wekan/blob/master/docker-compose.yml) to enable:
|
Uncomment settings lines this wasy at [docker-compose.yml](https://github.com/wekan/wekan/blob/main/docker-compose.yml) to enable:
|
||||||
```
|
```
|
||||||
#-----------------------------------------------------------------
|
#-----------------------------------------------------------------
|
||||||
# ==== LDAP AD Simple Auth ====
|
# ==== LDAP AD Simple Auth ====
|
||||||
|
|
|
||||||
4
LDAP.md
4
LDAP.md
|
|
@ -1,6 +1,6 @@
|
||||||
## LDAP info
|
## LDAP info
|
||||||
|
|
||||||
- [LDAP sync script, that also correctly removes users](https://github.com/wekan/wekan/blob/master/ldap-sync/ldap-sync.py)
|
- [LDAP sync script, that also correctly removes users](https://github.com/wekan/wekan/blob/main/ldap-sync/ldap-sync.py)
|
||||||
- [LDAP AD Simple Auth](LDAP-AD-Simple-Auth) 2021-07-24 and related [Search Filter Settings](https://github.com/wekan/wekan/issues/3908#issuecomment-887545168):
|
- [LDAP AD Simple Auth](LDAP-AD-Simple-Auth) 2021-07-24 and related [Search Filter Settings](https://github.com/wekan/wekan/issues/3908#issuecomment-887545168):
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
- [LDAP issues](https://github.com/wekan/wekan-ldap/issues)
|
- [LDAP issues](https://github.com/wekan/wekan-ldap/issues)
|
||||||
- [Univention LDAP related issues](https://github.com/wekan/univention/issues)
|
- [Univention LDAP related issues](https://github.com/wekan/univention/issues)
|
||||||
- [Teams/Organizations feature related LDAP plans](https://github.com/wekan/wekan/issues/802). Needs info from LDAP experts to describe how LDAP works.
|
- [Teams/Organizations feature related LDAP plans](https://github.com/wekan/wekan/issues/802). Needs info from LDAP experts to describe how LDAP works.
|
||||||
- [Wekan LDAP code](https://github.com/wekan/wekan/tree/master/packages/wekan-ldap)
|
- [Wekan LDAP code](https://github.com/wekan/wekan/tree/main/packages/wekan-ldap)
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
|
|
|
||||||
2
Logs.md
2
Logs.md
|
|
@ -4,7 +4,7 @@ Also see at this wiki right menu Webhooks:
|
||||||
|
|
||||||
## Enable more Wekan debug logs:
|
## Enable more Wekan debug logs:
|
||||||
|
|
||||||
a) Snap: `sudo snap set wekan debug='true'` - but also notice that [in Wekan v4.56 newer most mongo logs go to `/dev/null` on Snap](https://github.com/wekan/wekan/blob/master/CHANGELOG.md#v456-2020-11-30-wekan-release)
|
a) Snap: `sudo snap set wekan debug='true'` - but also notice that [in Wekan v4.56 newer most mongo logs go to `/dev/null` on Snap](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v456-2020-11-30-wekan-release)
|
||||||
|
|
||||||
b) docker-compose.yml: `DEBUG=true`
|
b) docker-compose.yml: `DEBUG=true`
|
||||||
|
|
||||||
|
|
|
||||||
2
Mac.md
2
Mac.md
|
|
@ -87,7 +87,7 @@ If you like to build from source, clone Wekan repo:
|
||||||
```
|
```
|
||||||
git clone https://github.com/wekan/wekan
|
git clone https://github.com/wekan/wekan
|
||||||
```
|
```
|
||||||
Then edit docker-compose.yml with [these lines uncommented](https://github.com/wekan/wekan/blob/master/docker-compose.yml#L132-L142) this way:
|
Then edit docker-compose.yml with [these lines uncommented](https://github.com/wekan/wekan/blob/main/docker-compose.yml#L132-L142) this way:
|
||||||
```
|
```
|
||||||
#-------------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------------
|
||||||
# ==== BUILD wekan-app DOCKER CONTAINER FROM SOURCE, if you uncomment these ====
|
# ==== BUILD wekan-app DOCKER CONTAINER FROM SOURCE, if you uncomment these ====
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
- Read [Wekan new release ChangeLog](https://github.com/wekan/wekan/blob/master/CHANGELOG.md)
|
- Read [Wekan new release ChangeLog](https://github.com/wekan/wekan/blob/main/CHANGELOG.md)
|
||||||
- [Install Meteor.js](https://www.meteor.com/install). Note: Windows install is very slow, please use other option at [Windows wiki page](Windows)
|
- [Install Meteor.js](https://www.meteor.com/install). Note: Windows install is very slow, please use other option at [Windows wiki page](Windows)
|
||||||
- Download newest bundle from https://releases.wekan.team
|
- Download newest bundle from https://releases.wekan.team
|
||||||
- Unarchive bundle .tar.gz file: `tar -zxvf wekan-VERSION.tar.gz`
|
- Unarchive bundle .tar.gz file: `tar -zxvf wekan-VERSION.tar.gz`
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
Importing attachments from Trello:
|
Importing attachments from Trello:
|
||||||
- https://github.com/wekan/wekan/tree/master/trello
|
- https://github.com/wekan/wekan/tree/main/trello
|
||||||
- https://github.com/wekan/trello-board-exporter
|
- https://github.com/wekan/trello-board-exporter
|
||||||
- https://github.com/wekan/wekan/issues/4877
|
- https://github.com/wekan/wekan/issues/4877
|
||||||
- https://github.com/wekan/trello-backup
|
- https://github.com/wekan/trello-backup
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ sed -i 's|FindThisText|ReplaceWithThisText|g' *
|
||||||
|
|
||||||
### Newest
|
### Newest
|
||||||
- Schema https://github.com/wekan/wekan/tree/devel/models
|
- Schema https://github.com/wekan/wekan/tree/devel/models
|
||||||
- Migrations https://github.com/wekan/wekan/blob/master/server/migrations.js
|
- Migrations https://github.com/wekan/wekan/blob/main/server/migrations.js
|
||||||
|
|
||||||
## 5) Some migrations could be missing
|
## 5) Some migrations could be missing
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ Custom CSS and Javascript is very dangerous: https://github.com/wekan/wekan/issu
|
||||||
|
|
||||||
> I had to previously find a way [how to fix Custom Javascript in RocketChat](https://forums.rocket.chat/t/big-issue-with-custom-javascript/261/4?u=xet7) because it broke my RocketChat install.
|
> I had to previously find a way [how to fix Custom Javascript in RocketChat](https://forums.rocket.chat/t/big-issue-with-custom-javascript/261/4?u=xet7) because it broke my RocketChat install.
|
||||||
>
|
>
|
||||||
> Also, previously I had to [fix XSS bug](https://github.com/wekan/wekan/blob/master/CHANGELOG.md#v385-2020-03-23-wekan-release) because adding Javascript to input fields did run that Javascript code.
|
> Also, previously I had to [fix XSS bug](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v385-2020-03-23-wekan-release) because adding Javascript to input fields did run that Javascript code.
|
||||||
>
|
>
|
||||||
> I'll try to find is there a safe way to do this.
|
> I'll try to find is there a safe way to do this.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
[Docker, Wekan and MongoDB on OpenShift](https://github.com/wekan/wekan/tree/master/openshift)
|
[Docker, Wekan and MongoDB on OpenShift](https://github.com/wekan/wekan/tree/main/openshift)
|
||||||
|
|
||||||
[OpenShift config issue](https://github.com/wekan/wekan/issues/1778)
|
[OpenShift config issue](https://github.com/wekan/wekan/issues/1778)
|
||||||
|
|
||||||
|
|
|
||||||
2
PWA.md
2
PWA.md
|
|
@ -89,7 +89,7 @@ Related, for creating apps to other appstores: https://github.com/wekan/wekan/wi
|
||||||
|
|
||||||
1. https://www.pwabuilder.com to create Android app. Select fullscreen when creating app, also requires correctly installed assetlinks.json with below Caddy config to get fullscreen. When creating app, make your own signing key if you don't have one yet. Releasing Android app is at Play Console https://play.google.com/console/ .
|
1. https://www.pwabuilder.com to create Android app. Select fullscreen when creating app, also requires correctly installed assetlinks.json with below Caddy config to get fullscreen. When creating app, make your own signing key if you don't have one yet. Releasing Android app is at Play Console https://play.google.com/console/ .
|
||||||
|
|
||||||
2. PWABuilder has about 100+ downloadable icons etc webmanifest requirements like is at https://github.com/wekan/wekan/tree/master/public
|
2. PWABuilder has about 100+ downloadable icons etc webmanifest requirements like is at https://github.com/wekan/wekan/tree/main/public
|
||||||
|
|
||||||
3. Clone WeKan repo, add favicons etc from step 2 to wekan/public/ , and build WeKan bundle from source like at https://github.com/wekan/wekan/wiki/Emoji . Note: Currently WeKan does not have feature for custom favicons, it would require a lot of work for 100+ favicons etc customizations.
|
3. Clone WeKan repo, add favicons etc from step 2 to wekan/public/ , and build WeKan bundle from source like at https://github.com/wekan/wekan/wiki/Emoji . Note: Currently WeKan does not have feature for custom favicons, it would require a lot of work for 100+ favicons etc customizations.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ Only newest Wekan is supported. Please check you are running newest Wekan, becau
|
||||||
|
|
||||||
## Related
|
## Related
|
||||||
|
|
||||||
* [Wekan new release ChangeLog](https://github.com/wekan/wekan/blob/master/CHANGELOG.md)
|
* [Wekan new release ChangeLog](https://github.com/wekan/wekan/blob/main/CHANGELOG.md)
|
||||||
* [Adding Users](Adding-users)
|
* [Adding Users](Adding-users)
|
||||||
* [Forgot Password](Forgot-Password)
|
* [Forgot Password](Forgot-Password)
|
||||||
* [Settings](Settings)
|
* [Settings](Settings)
|
||||||
|
|
@ -138,7 +138,7 @@ New at 2019-08-04. For Ubuntu, Debian, CentOS and SLES.
|
||||||
[cloudron_install]: https://cloudron.io/button.html?app=io.wekan.cloudronapp
|
[cloudron_install]: https://cloudron.io/button.html?app=io.wekan.cloudronapp
|
||||||
[docker_image]: https://hub.docker.com/r/wekanteam/wekan/
|
[docker_image]: https://hub.docker.com/r/wekanteam/wekan/
|
||||||
[heroku_button]: https://www.herokucdn.com/deploy/button.png
|
[heroku_button]: https://www.herokucdn.com/deploy/button.png
|
||||||
[heroku_deploy]: https://heroku.com/deploy?template=https://github.com/wekan/wekan/tree/master
|
[heroku_deploy]: https://heroku.com/deploy?template=https://github.com/wekan/wekan/tree/main
|
||||||
[indiehosters_button]: https://indie.host/signup.png
|
[indiehosters_button]: https://indie.host/signup.png
|
||||||
[indiehosters_saas]: https://indiehosters.net/shop/product/wekan-20
|
[indiehosters_saas]: https://indiehosters.net/shop/product/wekan-20
|
||||||
[sandstorm_button]: https://img.shields.io/badge/try-Wekan%20on%20Sandstorm-783189.svg
|
[sandstorm_button]: https://img.shields.io/badge/try-Wekan%20on%20Sandstorm-783189.svg
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
Some Python etc code in WeKan, that is not yet added directly to WeKan:
|
Some Python etc code in WeKan, that is not yet added directly to WeKan:
|
||||||
- [LDAP sync script, that also correctly removes users](https://github.com/wekan/wekan/blob/master/ldap-sync/ldap-sync.py)
|
- [LDAP sync script, that also correctly removes users](https://github.com/wekan/wekan/blob/main/ldap-sync/ldap-sync.py)
|
||||||
- [Email notifications to AWS SES](https://github.com/wekan/wekan/issues/3543#issuecomment-1199897164)
|
- [Email notifications to AWS SES](https://github.com/wekan/wekan/issues/3543#issuecomment-1199897164)
|
||||||
- [Prometheus Exporter](https://github.com/wekan/wekan-prometheus-exporter)
|
- [Prometheus Exporter](https://github.com/wekan/wekan-prometheus-exporter)
|
||||||
- [Burndown Chart](Burndown-and-Velocity-Chart)
|
- [Burndown Chart](Burndown-and-Velocity-Chart)
|
||||||
- [Scheduler](https://github.com/wekan/wekan-scheduler)
|
- [Scheduler](https://github.com/wekan/wekan-scheduler)
|
||||||
- [Cleanup](https://github.com/wekan/wekan-cleanup)
|
- [Cleanup](https://github.com/wekan/wekan-cleanup)
|
||||||
- [API client, most complete](https://github.com/wekan/python-wekan) (modelled after Trello API client)
|
- [API client, most complete](https://github.com/wekan/python-wekan) (modelled after Trello API client)
|
||||||
- [API CLI](https://github.com/wekan/wekan/blob/master/api.py)
|
- [API CLI](https://github.com/wekan/wekan/blob/main/api.py)
|
||||||
- [2nd API client](https://github.com/wekan/wekan-python-api-client)
|
- [2nd API client](https://github.com/wekan/wekan-python-api-client)
|
||||||
- [Stats](https://github.com/wekan/wekan-stats)
|
- [Stats](https://github.com/wekan/wekan-stats)
|
||||||
- [Logstash and ElasticSearch](https://github.com/wekan/wekan-logstash)
|
- [Logstash and ElasticSearch](https://github.com/wekan/wekan-logstash)
|
||||||
- iCal server in [Python](https://github.com/wekan/wekan-ical-server) and [PHP](https://github.com/wekan/wekan-ical-php)
|
- iCal server in [Python](https://github.com/wekan/wekan-ical-server) and [PHP](https://github.com/wekan/wekan-ical-php)
|
||||||
- [Sandstorm CSV related Python code](Wekan-Sandstorm-cards-to-CSV-using-Python)
|
- [Sandstorm CSV related Python code](Wekan-Sandstorm-cards-to-CSV-using-Python)
|
||||||
- [Trello API test code](https://github.com/wekan/wekan/tree/master/trello)
|
- [Trello API test code](https://github.com/wekan/wekan/tree/main/trello)
|
||||||
|
|
|
||||||
|
|
@ -53,4 +53,4 @@ curl -H "Authorization: Bearer t7iYB86mXoLfP_XsMegxF41oKT7iiA9lDYiKVtXcctl" \
|
||||||
|
|
||||||
## In Wekan code
|
## In Wekan code
|
||||||
|
|
||||||
If you believe that code is the best documentation, be our guest: [models/cards.js](https://github.com/wekan/wekan/blob/master/models/boards.js "Board API code")
|
If you believe that code is the best documentation, be our guest: [models/cards.js](https://github.com/wekan/wekan/blob/main/models/boards.js "Board API code")
|
||||||
|
|
@ -91,4 +91,4 @@ The card's ID is returned in the format:
|
||||||
|
|
||||||
# In Wekan code
|
# In Wekan code
|
||||||
|
|
||||||
If you believe that code is the best documentation, be our guest: [models/cards.js](https://github.com/wekan/wekan/blob/master/models/cards.js "Card API code")
|
If you believe that code is the best documentation, be our guest: [models/cards.js](https://github.com/wekan/wekan/blob/main/models/cards.js "Card API code")
|
||||||
|
|
@ -8,13 +8,13 @@ meteor add simple:json-routes
|
||||||
|
|
||||||
https://atmospherejs.com/simple/json-routes
|
https://atmospherejs.com/simple/json-routes
|
||||||
|
|
||||||
https://github.com/wekan/wekan/blob/master/.meteor/packages#L139
|
https://github.com/wekan/wekan/blob/main/.meteor/packages#L139
|
||||||
|
|
||||||
### 2) API code
|
### 2) API code
|
||||||
|
|
||||||
At models directory:
|
At models directory:
|
||||||
|
|
||||||
https://github.com/wekan/wekan/blob/master/models/users.js#L2018
|
https://github.com/wekan/wekan/blob/main/models/users.js#L2018
|
||||||
|
|
||||||
### 3) Login to API as JSON
|
### 3) Login to API as JSON
|
||||||
|
|
||||||
|
|
@ -24,10 +24,10 @@ Also see at wiki right menu about REST API.
|
||||||
|
|
||||||
### 4) Use Python3 CLI to login to API and do REST API action
|
### 4) Use Python3 CLI to login to API and do REST API action
|
||||||
|
|
||||||
https://github.com/wekan/wekan/blob/master/api.py
|
https://github.com/wekan/wekan/blob/main/api.py
|
||||||
|
|
||||||
### 4) API Docs
|
### 4) API Docs
|
||||||
|
|
||||||
https://wekan.github.io/api/
|
https://wekan.github.io/api/
|
||||||
|
|
||||||
Building API Docs: https://github.com/wekan/wekan/blob/master/releases/rebuild-docs.sh
|
Building API Docs: https://github.com/wekan/wekan/blob/main/releases/rebuild-docs.sh
|
||||||
|
|
@ -12,7 +12,7 @@ Please somebody add example by looking this:
|
||||||
|
|
||||||
| API URL / Code Link | Requires Admin Auth | HTTP Method |
|
| API URL / Code Link | Requires Admin Auth | HTTP Method |
|
||||||
| :--- | :--- | :--- |
|
| :--- | :--- | :--- |
|
||||||
| [/api/boards/:boardId/swimlanes](https://github.com/wekan/wekan/blob/master/models/swimlanes.js#L223) | `yes` | `POST` |
|
| [/api/boards/:boardId/swimlanes](https://github.com/wekan/wekan/blob/main/models/swimlanes.js#L223) | `yes` | `POST` |
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
curl -H "Authorization: Bearer t7iYB86mXoLfP_XsMegxF41oKT7iiA9lDYiKVtXcctl" \
|
curl -H "Authorization: Bearer t7iYB86mXoLfP_XsMegxF41oKT7iiA9lDYiKVtXcctl" \
|
||||||
|
|
@ -33,7 +33,7 @@ The new swimlane's ID is returned in the format:
|
||||||
|
|
||||||
| API URL / Code Link | Requires Admin Auth | HTTP Method |
|
| API URL / Code Link | Requires Admin Auth | HTTP Method |
|
||||||
| :--- | :--- | :--- |
|
| :--- | :--- | :--- |
|
||||||
| [/api/boards/:boardId/swimlanes/:swimlaneId](https://github.com/wekan/wekan/blob/master/models/swimlanes.js#L257) | `yes` | `DELETE` |
|
| [/api/boards/:boardId/swimlanes/:swimlaneId](https://github.com/wekan/wekan/blob/main/models/swimlanes.js#L257) | `yes` | `DELETE` |
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
curl -H "Authorization: Bearer t7iYB86mXoLfP_XsMegxF41oKT7iiA9lDYiKVtXcctl" \
|
curl -H "Authorization: Bearer t7iYB86mXoLfP_XsMegxF41oKT7iiA9lDYiKVtXcctl" \
|
||||||
|
|
@ -51,4 +51,4 @@ The swimlane's ID is returned in the format:
|
||||||
|
|
||||||
# In Wekan code
|
# In Wekan code
|
||||||
|
|
||||||
If you believe that code is the best documentation, be our guest: [models/cards.js](https://github.com/wekan/wekan/blob/master/models/swimlanes.js "Swimlane API code")
|
If you believe that code is the best documentation, be our guest: [models/cards.js](https://github.com/wekan/wekan/blob/main/models/swimlanes.js "Swimlane API code")
|
||||||
|
|
@ -332,4 +332,4 @@ curl -H "Authorization: Bearer t7iYB86mXoLfP_XsMegxF41oKT7iiA9lDYiKVtXcctl" \
|
||||||
|
|
||||||
# In Wekan code
|
# In Wekan code
|
||||||
|
|
||||||
If you believe that code is the best documentation, be our guest: [models/cards.js](https://github.com/wekan/wekan/blob/master/models/users.js "User API code")
|
If you believe that code is the best documentation, be our guest: [models/cards.js](https://github.com/wekan/wekan/blob/main/models/users.js "User API code")
|
||||||
|
|
|
||||||
|
|
@ -491,7 +491,7 @@ mongorestore --drop --noIndexRestore
|
||||||
```
|
```
|
||||||
And maybe [run as service](https://www.certdepot.net/rhel7-install-wekan/)
|
And maybe [run as service](https://www.certdepot.net/rhel7-install-wekan/)
|
||||||
|
|
||||||
Or start at boot, by having [at bottom of /etc/rc.local](https://github.com/wekan/wekan/blob/master/releases/virtualbox/etc-rc.local.txt).
|
Or start at boot, by having [at bottom of /etc/rc.local](https://github.com/wekan/wekan/blob/main/releases/virtualbox/etc-rc.local.txt).
|
||||||
|
|
||||||
7) On other computer, with webbrowser go to http://192.168.0.12 (or other of your IP address you changed to start-wekan.sh)
|
7) On other computer, with webbrowser go to http://192.168.0.12 (or other of your IP address you changed to start-wekan.sh)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
Wekan works on x64. There is not yet version for [Raspberry Pi](https://github.com/wekan/wekan/issues/1053).
|
Wekan works on x64. There is not yet version for [Raspberry Pi](https://github.com/wekan/wekan/issues/1053).
|
||||||
|
|
||||||
Wekan requires MongoDB 3.2.x . For other requirements and versions see [VirtualBox scripts](https://github.com/wekan/wekan-maintainer/tree/master/virtualbox) or [Dockerfile](https://github.com/wekan/wekan/blob/master/Dockerfile).
|
Wekan requires MongoDB 3.2.x . For other requirements and versions see [VirtualBox scripts](https://github.com/wekan/wekan-maintainer/tree/master/virtualbox) or [Dockerfile](https://github.com/wekan/wekan/blob/main/Dockerfile).
|
||||||
|
|
||||||
Known bugs with other versions:
|
Known bugs with other versions:
|
||||||
- Node 6.x: 100% CPU usage.
|
- Node 6.x: 100% CPU usage.
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ GitHub Username | Feature | Status | Sponsor
|
||||||
[xet7](https://github.com/xet7) | [Calendar View](https://github.com/wekan/wekan/issues/808) | In Progress | [Bountysource](https://www.bountysource.com/issues/41780513-add-feature-calendar-view)
|
[xet7](https://github.com/xet7) | [Calendar View](https://github.com/wekan/wekan/issues/808) | In Progress | [Bountysource](https://www.bountysource.com/issues/41780513-add-feature-calendar-view)
|
||||||
[GhassenRjab](https://github.com/GhassenRjab) | [Search](https://github.com/wekan/wekan/issues/552) | In Progress | [Bountysource](https://www.bountysource.com/issues/32132712-feature-request-search-items) and nm11
|
[GhassenRjab](https://github.com/GhassenRjab) | [Search](https://github.com/wekan/wekan/issues/552) | In Progress | [Bountysource](https://www.bountysource.com/issues/32132712-feature-request-search-items) and nm11
|
||||||
[Serubin](https://github.com/Serubin) | [Top-level projects](https://github.com/wekan/wekan/issues/641) | In Progress | [Bountysource](https://www.bountysource.com/issues/36035028-top-level-projects)
|
[Serubin](https://github.com/Serubin) | [Top-level projects](https://github.com/wekan/wekan/issues/641) | In Progress | [Bountysource](https://www.bountysource.com/issues/36035028-top-level-projects)
|
||||||
[xet7](https://github.com/xet7), [thuanpq ](https://github.com/thuanpq) | [Teams/Organizations similar to Trello](https://github.com/wekan/wekan/issues/802) . Beginnings of user admin [already implemented](https://github.com/wekan/wekan/pull/1325) at [Wekan v0.55](https://github.com/wekan/wekan/blob/master/CHANGELOG.md#v055-2017-11-19-wekan-release) | In Progress | [FUUG.fi](https://fuug.fi/2017/wekan-kanban-taulun-perustoimintojen-kehitys-alkuun/) and [Bountysource](https://www.bountysource.com/issues/41780380-add-feature-teams-organizations-similar-to-trello)
|
[xet7](https://github.com/xet7), [thuanpq ](https://github.com/thuanpq) | [Teams/Organizations similar to Trello](https://github.com/wekan/wekan/issues/802) . Beginnings of user admin [already implemented](https://github.com/wekan/wekan/pull/1325) at [Wekan v0.55](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v055-2017-11-19-wekan-release) | In Progress | [FUUG.fi](https://fuug.fi/2017/wekan-kanban-taulun-perustoimintojen-kehitys-alkuun/) and [Bountysource](https://www.bountysource.com/issues/41780380-add-feature-teams-organizations-similar-to-trello)
|
||||||
[andresmanelli](https://github.com/andresmanelli) | [Gogs issue/commit integration](https://github.com/wekan/wekan/issues/253) | [Part 1 in Wekan already](https://github.com/wekan/wekan/pull/1189) |
|
[andresmanelli](https://github.com/andresmanelli) | [Gogs issue/commit integration](https://github.com/wekan/wekan/issues/253) | [Part 1 in Wekan already](https://github.com/wekan/wekan/pull/1189) |
|
||||||
[papoola](https://github.com/papoola) | [Custom Fields](https://github.com/wekan/wekan/issues/807) | In Progress |
|
[papoola](https://github.com/papoola) | [Custom Fields](https://github.com/wekan/wekan/issues/807) | In Progress |
|
||||||
[mfshiu](https://github.com/mfshiu) | [Custom Fields, Moving card on mobile phone, Filter cards by keyword](https://github.com/wekan/wekan/issues/1022#issuecomment-337646110), Integrate Wekan with [RIOT](http://riot.im) so user can be notified immediately on cell phone when Wekan cards change | Works, no pull request yet
|
[mfshiu](https://github.com/mfshiu) | [Custom Fields, Moving card on mobile phone, Filter cards by keyword](https://github.com/wekan/wekan/issues/1022#issuecomment-337646110), Integrate Wekan with [RIOT](http://riot.im) so user can be notified immediately on cell phone when Wekan cards change | Works, no pull request yet
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Moved to [SECURITY.md](https://github.com/wekan/wekan/blob/master/SECURITY.md)
|
Moved to [SECURITY.md](https://github.com/wekan/wekan/blob/main/SECURITY.md)
|
||||||
|
|
@ -40,7 +40,7 @@ Wekan runs http server on local port, so it is without SSL. To get SSL, some web
|
||||||
|
|
||||||
First registered Wekan user will get [Admin Panel](Features) on new
|
First registered Wekan user will get [Admin Panel](Features) on new
|
||||||
Docker and source based installs. You can also on MongoDB
|
Docker and source based installs. You can also on MongoDB
|
||||||
[enable Admin Panel](https://github.com/wekan/wekan/blob/master/CHANGELOG.md#v0111-rc2-2017-03-05-wekan-prerelease) and [change you as board admin](https://github.com/wekan/wekan/issues/1060#issuecomment-310545976).
|
[enable Admin Panel](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v0111-rc2-2017-03-05-wekan-prerelease) and [change you as board admin](https://github.com/wekan/wekan/issues/1060#issuecomment-310545976).
|
||||||
|
|
||||||
## LAN + VPN
|
## LAN + VPN
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ At [Virtual Appliance](virtual-appliance) there is build scripts and all depende
|
||||||
|
|
||||||
## Build from source on Linux
|
## Build from source on Linux
|
||||||
|
|
||||||
To have [Node 100% CPU fixes](https://github.com/wekan/wekan/blob/master/CHANGELOG.md#v084-2018-04-16-wekan-release): Increase ulimit for node in systemd config to 100 000
|
To have [Node 100% CPU fixes](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v084-2018-04-16-wekan-release): Increase ulimit for node in systemd config to 100 000
|
||||||
|
|
||||||
Wekan:
|
Wekan:
|
||||||
- On any x64 hardware that has Ubuntu 14.04 or Debian 9 or newer installed directly or in VM:
|
- On any x64 hardware that has Ubuntu 14.04 or Debian 9 or newer installed directly or in VM:
|
||||||
|
|
|
||||||
2
Team.md
2
Team.md
|
|
@ -15,7 +15,7 @@ GitHub Username | Location | Position | Details
|
||||||
|
|
||||||
# Current most frequent Contributors
|
# Current most frequent Contributors
|
||||||
|
|
||||||
Also, see newest contributors at [ChangeLog](https://github.com/wekan/wekan/blob/master/CHANGELOG.md)
|
Also, see newest contributors at [ChangeLog](https://github.com/wekan/wekan/blob/main/CHANGELOG.md)
|
||||||
|
|
||||||
GitHub Username | Location | Position | Details
|
GitHub Username | Location | Position | Details
|
||||||
------------ | ------------ | ------------ | ------------
|
------------ | ------------ | ------------ | ------------
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
## Testers to ping with new Wekan Edge release
|
## Testers to ping with new Wekan Edge release
|
||||||
- All those whose issues were fixed [at ChangeLog](https://github.com/wekan/wekan/blob/master/CHANGELOG.md)
|
- All those whose issues were fixed [at ChangeLog](https://github.com/wekan/wekan/blob/main/CHANGELOG.md)
|
||||||
- @saschafoerster
|
- @saschafoerster
|
||||||
|
|
||||||
Those should reply to new issue that has name `Test Edge Wekan (version-number-here)` at https://github.com/wekan/wekan/issues .
|
Those should reply to new issue that has name `Test Edge Wekan (version-number-here)` at https://github.com/wekan/wekan/issues .
|
||||||
|
|
@ -14,7 +14,7 @@ https://github.com/wekan/wekan/issues/2811
|
||||||
|
|
||||||
## What usually happens when Wekan gets broken
|
## What usually happens when Wekan gets broken
|
||||||
|
|
||||||
1. There is many new issues about some same new feature or bug. Yes, also when some notices new feature that is already [at ChangeLog](https://github.com/wekan/wekan/blob/master/CHANGELOG.md), they add issue about it, usually asking "Can this feature be turned off or made optional?". This is usually if new feature changes some old workflow radically.
|
1. There is many new issues about some same new feature or bug. Yes, also when some notices new feature that is already [at ChangeLog](https://github.com/wekan/wekan/blob/main/CHANGELOG.md), they add issue about it, usually asking "Can this feature be turned off or made optional?". This is usually if new feature changes some old workflow radically.
|
||||||
2. Many do tag @xet7 that are you aware of the issue.
|
2. Many do tag @xet7 that are you aware of the issue.
|
||||||
3. Someone yells at IRC that "this is too much, it's time to fork Wekan". Well, that's because he gets yelled at by all users of Wekan at his company.
|
3. Someone yells at IRC that "this is too much, it's time to fork Wekan". Well, that's because he gets yelled at by all users of Wekan at his company.
|
||||||
4. xet7 does not have time to answer those, he just fixes the issue - usually at the same day, makes new release, closes all related issues with last comment "Please try Wekan (version-number-here)".
|
4. xet7 does not have time to answer those, he just fixes the issue - usually at the same day, makes new release, closes all related issues with last comment "Please try Wekan (version-number-here)".
|
||||||
|
|
@ -23,7 +23,7 @@ https://github.com/wekan/wekan/issues/2811
|
||||||
|
|
||||||
## ChangeLog
|
## ChangeLog
|
||||||
|
|
||||||
https://github.com/wekan/wekan/blob/master/CHANGELOG.md
|
https://github.com/wekan/wekan/blob/main/CHANGELOG.md
|
||||||
|
|
||||||
## Backup before testing. And backup daily in production.
|
## Backup before testing. And backup daily in production.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
## Newest Wekan
|
## Newest Wekan
|
||||||
|
|
||||||
In [Wekan v5.02](https://github.com/wekan/wekan/blob/master/CHANGELOG.md#v502-2021-03-02-wekan-release) is fix for STMP settings [that works with very happy feedback](https://github.com/wekan/wekan/issues/3529#issuecomment-789085999). It requires:
|
In [Wekan v5.02](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v502-2021-03-02-wekan-release) is fix for STMP settings [that works with very happy feedback](https://github.com/wekan/wekan/issues/3529#issuecomment-789085999). It requires:
|
||||||
- **There is no email settings at Admin Panel anymore**
|
- **There is no email settings at Admin Panel anymore**
|
||||||
- Email settings are made only with snap commands like `sudo snap set wekan mail-url....` or similar in Docker/Source etc `MAIL_URL=...`, more details below.
|
- Email settings are made only with snap commands like `sudo snap set wekan mail-url....` or similar in Docker/Source etc `MAIL_URL=...`, more details below.
|
||||||
- For any errors like SSLv3 and STARTTLS, check [newest AWS SES info](#example-aws-ses) and use similar settings, other SSLv3/STARTTLS info could be outdated.
|
- For any errors like SSLv3 and STARTTLS, check [newest AWS SES info](#example-aws-ses) and use similar settings, other SSLv3/STARTTLS info could be outdated.
|
||||||
|
|
@ -72,7 +72,7 @@ let info = transporter.sendMail({
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
If with some code example sending email works, xet7 can add it to wekan, like in [Wekan v5.52](https://github.com/wekan/wekan/blob/master/CHANGELOG.md#v552-2021-08-26-wekan-release) xet7 added direct nodemailer usage for MAIL_SERVICE.
|
If with some code example sending email works, xet7 can add it to wekan, like in [Wekan v5.52](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v552-2021-08-26-wekan-release) xet7 added direct nodemailer usage for MAIL_SERVICE.
|
||||||
|
|
||||||
## MAIL_SERVICE (not currently in use)
|
## MAIL_SERVICE (not currently in use)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ When Wekan is loading big board, selected Wait Spinner animation is shown.
|
||||||
|
|
||||||
# Allowed Wait Spinners
|
# Allowed Wait Spinners
|
||||||
|
|
||||||
[Source](https://github.com/wekan/wekan/blob/master/config/const.js#L52-L61)
|
[Source](https://github.com/wekan/wekan/blob/main/config/const.js#L52-L61)
|
||||||
|
|
||||||
Currently:
|
Currently:
|
||||||
```
|
```
|
||||||
|
|
@ -48,6 +48,6 @@ https://app.transifex.com/wekan/
|
||||||
|
|
||||||
# Original English source
|
# Original English source
|
||||||
|
|
||||||
https://github.com/wekan/wekan/blob/master/i18n/en.i18n.json
|
https://github.com/wekan/wekan/blob/main/i18n/en.i18n.json
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,9 +29,9 @@ Other kanbans maybe listed at https://github.com/KanRule
|
||||||
- Atlassian is retiring self-managed server offerings https://www.atlassian.com/blog/platform/atlassian-server-is-going-away-next-steps
|
- Atlassian is retiring self-managed server offerings https://www.atlassian.com/blog/platform/atlassian-server-is-going-away-next-steps
|
||||||
|
|
||||||
|
|
||||||
## Please [search from ChangeLog page](https://github.com/wekan/wekan/blob/master/CHANGELOG.md) instead
|
## Please [search from ChangeLog page](https://github.com/wekan/wekan/blob/main/CHANGELOG.md) instead
|
||||||
|
|
||||||
Please [search from ChangeLog page](https://github.com/wekan/wekan/blob/master/CHANGELOG.md) instead about does Wekan have some feature.
|
Please [search from ChangeLog page](https://github.com/wekan/wekan/blob/main/CHANGELOG.md) instead about does Wekan have some feature.
|
||||||
|
|
||||||
This comparison below is over one year old and very outdated. All of Wekan/Trello/Restyaboard have changed very much and have many new features and fixes.
|
This comparison below is over one year old and very outdated. All of Wekan/Trello/Restyaboard have changed very much and have many new features and fixes.
|
||||||
|
|
||||||
|
|
@ -39,7 +39,7 @@ This comparison below is over one year old and very outdated. All of Wekan/Trell
|
||||||
|
|
||||||
Features | Wekan | Trello | Restyaboard
|
Features | Wekan | Trello | Restyaboard
|
||||||
------------ | ------------- | ------------- | -------------
|
------------ | ------------- | ------------- | -------------
|
||||||
Price | Free and Open Source, [MIT license](https://github.com/wekan/wekan/blob/master/LICENSE). Free for Commercial Use. | Free with limitations, Monthly payment, Annual Subscription, Quote-based | Open Core
|
Price | Free and Open Source, [MIT license](https://github.com/wekan/wekan/blob/main/LICENSE). Free for Commercial Use. | Free with limitations, Monthly payment, Annual Subscription, Quote-based | Open Core
|
||||||
Whitelabeling | Yes. Admin Panel/Layout: Hide Logo, Custom Product Name. | No | $ Yes
|
Whitelabeling | Yes. Admin Panel/Layout: Hide Logo, Custom Product Name. | No | $ Yes
|
||||||
Theming | [Yes](Custom-CSS-themes) | No | $ Yes
|
Theming | [Yes](Custom-CSS-themes) | No | $ Yes
|
||||||
Redistributing | Yes | No | $ Yes
|
Redistributing | Yes | No | $ Yes
|
||||||
|
|
@ -189,7 +189,7 @@ Undo from activities | No | No | Yes
|
||||||
Features | Wekan | Trello | Restyaboard
|
Features | Wekan | Trello | Restyaboard
|
||||||
------------ | ------------- | ------------- | -------------
|
------------ | ------------- | ------------- | -------------
|
||||||
API explorer | No | No | Yes
|
API explorer | No | No | Yes
|
||||||
OpenAPI | [Yes](https://github.com/wekan/wekan/tree/master/openapi) [here](https://wekan.github.io/api/) | ? | ?
|
OpenAPI | [Yes](https://github.com/wekan/wekan/tree/main/openapi) [here](https://wekan.github.io/api/) | ? | ?
|
||||||
Developer applications | Yes, using REST API | Yes | Yes
|
Developer applications | Yes, using REST API | Yes | Yes
|
||||||
Authorized OAuth applications | No, REST API [login as admin to get Bearer token](REST-API#example-call---as-form-data) | Yes | Yes
|
Authorized OAuth applications | No, REST API [login as admin to get Bearer token](REST-API#example-call---as-form-data) | Yes | Yes
|
||||||
Webhooks | Yes, per board or global at Admin Panel | Yes | Yes
|
Webhooks | Yes, per board or global at Admin Panel | Yes | Yes
|
||||||
|
|
|
||||||
|
|
@ -139,7 +139,7 @@ If you like to build from source, clone Wekan repo:
|
||||||
```
|
```
|
||||||
git clone https://github.com/wekan/wekan
|
git clone https://github.com/wekan/wekan
|
||||||
```
|
```
|
||||||
Then edit docker-compose.yml with [these lines uncommented](https://github.com/wekan/wekan/blob/master/docker-compose.yml#L132-L142) this way:
|
Then edit docker-compose.yml with [these lines uncommented](https://github.com/wekan/wekan/blob/main/docker-compose.yml#L132-L142) this way:
|
||||||
```
|
```
|
||||||
#-------------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------------
|
||||||
# ==== BUILD wekan-app DOCKER CONTAINER FROM SOURCE, if you uncomment these ====
|
# ==== BUILD wekan-app DOCKER CONTAINER FROM SOURCE, if you uncomment these ====
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
# <a name="Security"></a>Security
|
# <a name="Security"></a>Security
|
||||||
|
|
||||||
* [Allow private boards only: Disable Public Boards](Allow-private-boards-only)
|
* [Allow private boards only: Disable Public Boards](Allow-private-boards-only)
|
||||||
* [Security Disclosure and details of Security in Wekan](https://github.com/wekan/wekan/blob/master/SECURITY.md)
|
* [Security Disclosure and details of Security in Wekan](https://github.com/wekan/wekan/blob/main/SECURITY.md)
|
||||||
* [Security issues](https://github.com/wekan/wekan/issues?q=is%3Aissue+is%3Aopen+label%3ASecurity)
|
* [Security issues](https://github.com/wekan/wekan/issues?q=is%3Aissue+is%3Aopen+label%3ASecurity)
|
||||||
* [Password Hashing](Password-Hashing)
|
* [Password Hashing](Password-Hashing)
|
||||||
|
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
* [Add more RAM to Node.js to prevent crash](https://github.com/wekan/wekan/issues/3585)
|
* [Add more RAM to Node.js to prevent crash](https://github.com/wekan/wekan/issues/3585)
|
||||||
* [Clustering AWS etc](AWS)
|
* [Clustering AWS etc](AWS)
|
||||||
* [Scaling](Scaling)
|
* [Scaling](Scaling)
|
||||||
* [Kubernetes](https://github.com/wekan/wekan/tree/master/helm/wekan)
|
* [Kubernetes](https://github.com/wekan/wekan/tree/main/helm/wekan)
|
||||||
* [Redis Oplog](https://github.com/cult-of-coders/redis-oplog)
|
* [Redis Oplog](https://github.com/cult-of-coders/redis-oplog)
|
||||||
* [Meteor Scaling](https://galaxy-guide.meteor.com/scaling.html) at [Meteor Cloud](https://www.meteor.com/cloud)
|
* [Meteor Scaling](https://galaxy-guide.meteor.com/scaling.html) at [Meteor Cloud](https://www.meteor.com/cloud)
|
||||||
* [Scaling at Meteor forums](https://forums.meteor.com/t/meteor-scaling-performance-best-practices/52886/16)
|
* [Scaling at Meteor forums](https://forums.meteor.com/t/meteor-scaling-performance-best-practices/52886/16)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue