Compare commits

..
45 Commits
Author SHA1 Message Date
Lauri Ojansivu 25ba6df007 v2.24 2019-02-23 19:23:36 +02:00
Lauri Ojansivu 6d750897a8 - [Add LDAP email] matching support](https://github.com/wekan/wekan-ldap/pull/39) and
[related env variables](https://github.com/wekan/wekan/pull/2198).
  Thanks to GitHub user stevenpwaters.
2019-02-23 19:18:43 +02:00
Lauri Ojansivu a7747c537b Merge pull request #2198 from stevenpwaters/devel
Add LDAP email environment variables
2019-02-23 19:07:16 +02:00
Lauri Ojansivu 65b6a21938 - Add missing text .env to wekan/server/authentication.js.
Thanks to Vanila Chat user .gitignore.
2019-02-23 19:04:02 +02:00
Lauri Ojansivu 4e6e78ccd2 - Add missing text .env
Thanks to Vanila Chat user .gitignore !
2019-02-23 19:00:29 +02:00
Lauri Ojansivu fd5d6546b2 Update translations. 2019-02-23 18:52:44 +02:00
Steven Waters 402d484182 Added LDAP email environment variables
Support for LDAP matching existing accounts with e-mail address.
2019-02-21 09:02:47 +00:00
Lauri Ojansivu 4bf0914f1e v2.23 2019-02-17 18:13:54 +02:00
Lauri Ojansivu 96519296e1 Update translations (sv). 2019-02-15 18:47:21 +02:00
Lauri Ojansivu 03d06685b0 - [Fix authentication dropdown](https://github.com/wekan/wekan/pull/2191).
Thanks to Akuket.
2019-02-15 18:45:41 +02:00
Lauri Ojansivu 7d57c56b17 Merge pull request #2191 from Akuket/feature-improve-authentication
Fix authentication dropdown
2019-02-15 18:41:38 +02:00
guillaume 4ce766853c Fix authentication dropdown 2019-02-15 17:06:05 +01:00
Lauri Ojansivu dc7bbd848c v2.22 2019-02-13 03:14:18 +02:00
Lauri Ojansivu 81744e6523 - Add [configurable](https://github.com/wekan/wekan/issues/1874#issuecomment-462759627)
settings [OAUTH2_ID_TOKEN_WHITELIST_FIELDS and
  OAUTH2_REQUEST_PERMISSIONS](https://github.com/wekan/wekan/commit/b66f471e530d41a3f12e4bfc29548313e9a73c35).
  Thanks to xet7.
2019-02-13 03:07:31 +02:00
Lauri Ojansivu b66f471e53 - Add configurable settings OAUTH2_ID_TOKEN_WHITELIST_FIELDS
and OAUTH2_REQUEST_PERMISSIONS.

Thanks to xet7.

Related #1874
2019-02-13 03:01:10 +02:00
Lauri Ojansivu 202b8a92af - Add Kadira integration. Thanks to GavinLilly.
Closes #2152
2019-02-13 02:24:21 +02:00
Lauri Ojansivu 1e98f6b781 Merge branch 'edge' into devel 2019-02-13 02:15:19 +02:00
Lauri Ojansivu f53e8fbd21 Merge pull request #2187 from GavinLilly/kadira-integration
Kadira integration
2019-02-13 02:13:46 +02:00
Gavin Lilly 8e95871534 Adding wekan-ldap back in to build in the Dockerfile 2019-02-13 00:01:47 +00:00
Gavin Lilly 595a2d2baa Cleaning up docker-compose for merge 2019-02-13 00:00:34 +00:00
Gavin Lilly 227772bc33 Added back wekan-ldap after it's fixed in a separate change 2019-02-12 23:56:40 +00:00
Lauri Ojansivu 2ca98e477d - Fix2: Remove overlap of side bar button with card/list menu button on mobile browser
Thanks to xet7 !

Closes #2183
2019-02-13 01:04:30 +02:00
Lauri Ojansivu 677bfc3f6b - Fix: Remove overlap of side bar button with card/list menu button on mobile browser
Thanks to xet7 !

Closes #2183
2019-02-13 00:01:38 +02:00
Lauri Ojansivu c7721b048d - Fix indenting textline. 2019-02-12 23:46:25 +02:00
Lauri Ojansivu 1417f091fe Update translations. 2019-02-12 23:38:24 +02:00
Lauri Ojansivu d22964bcfd v2.21 2019-02-12 03:24:32 +02:00
Lauri Ojansivu 59314ab17d - Add OIDC claim mapping parameters to docker-compose.yml/Snap/Source.
Thanks to xet7 !
2019-02-12 03:09:30 +02:00
Gavin Lilly 5c083d99e2 Moved to meteor-apm-agent and removed Wekan LDAP to test if working 2019-02-11 23:16:37 +00:00
Gavin Lilly d3abb0756e Pulled Wekan-LDAP locally for debug 2019-02-11 20:12:53 +00:00
Lauri Ojansivu 4de9848e34 Merge pull request #2182 from danpatdav/oidc
Add parameters for OIDC claim mapping
2019-02-11 20:30:01 +02:00
Daniel Davis bdbbb12f96 Added parameters for OIDC claim mapping
These mapping parameters take advantage of new code in salleman-oidc 1.0.12 to override the default claim names provided by the userinfo endpoint.
2019-02-11 10:48:20 -06:00
Gavin Lilly c1ea3f49ca Merge branch 'devel' of github.com:wekan/wekan into devel 2019-02-11 16:43:57 +00:00
Gavin Lilly 905c45f225 Replaced Kadira by meteor-apm-agent 2019-02-11 16:43:52 +00:00
Daniel Davis 352e5c6cb0 Bump salleman-oidc to 1.0.12 2019-02-11 10:41:24 -06:00
Lauri Ojansivu 2d291c8f5e v2.20 2019-02-11 16:45:11 +02:00
Lauri Ojansivu 86630fa1e0 Update changelog. 2019-02-11 16:38:23 +02:00
Lauri Ojansivu 8e02170dd1 - Add option DEBUG=true for docker-compose.yml/Snap/Source.
Thanks to xet7 !
2019-02-11 16:32:24 +02:00
Lauri Ojansivu 9edf95ec93 Merge pull request #2181 from danpatdav/debug-oidc
Added debug flag and bumped salleman package version
2019-02-11 16:11:15 +02:00
Lauri Ojansivu 2add875a38 Update translations. 2019-02-11 16:09:39 +02:00
Daniel Davis b20309f7aa Syntax 2019-02-11 07:46:24 -06:00
Gavin Lilly 8996df5c09 Added Kadira using meteor add method 2019-02-09 23:37:01 +00:00
Gavin Lilly 7b5f02b4c8 Added Kadira packages and env settings in Docker Compose 2019-02-09 23:22:22 +00:00
Lauri Ojansivu fc0287a829 Update translations. 2019-02-09 21:22:36 +02:00
Daniel Davis 303404acc6 Bumped salleman packages to 1.0.11
1.0.11 includes new debugging code
2019-02-06 10:18:05 -06:00
Daniel Davis f11d42e72d Add a debug argument
Implementing this for OIDC debugging, but I think it will be broadly useful for runtime debugging.
2019-02-06 10:12:32 -06:00
28 changed files with 817 additions and 415 deletions

No files matched your search

+1
View File
@@ -90,3 +90,4 @@ wekan:wekan-ldap
wekan:accounts-cas
wekan-scrollbar
mquandalle:perfect-scrollbar
mdg:meteor-apm-agent
+2 -1
View File
@@ -84,6 +84,7 @@ localstorage@1.2.0
logging@1.1.19
matb33:collection-hooks@0.8.4
matteodem:easy-search@1.6.4
mdg:meteor-apm-agent@3.1.2
mdg:validation-error@0.5.1
meteor@1.8.2
meteor-base@1.2.0
@@ -144,7 +145,7 @@ retry@1.0.9
routepolicy@1.0.12
rzymek:fullcalendar@3.8.0
salleman:accounts-oidc@1.0.10
salleman:oidc@1.0.10
salleman:oidc@1.0.12
service-configuration@1.0.11
session@1.1.7
sha@1.0.9
+65
View File
@@ -1,3 +1,68 @@
# v2.24 2019-02-23 Wekan release
This release adds the following new features:
- [Add LDAP email] matching support](https://github.com/wekan/wekan-ldap/pull/39) and
[related env variables](https://github.com/wekan/wekan/pull/2198).
Thanks to GitHub user stevenpwaters.
and fixes the following bugs:
- [Add missing text .env to wekan/server/authentication.js](https://github.com/wekan/wekan/commit/4e6e78ccd216045e6ad41bcdab4e524f715a7eb5).
Thanks to Vanila Chat user .gitignore.
Thanks to above contributors, and translators for their translation.
# v2.23 2019-02-17 Wekan relase
This release fixes the following bugs:
- [Fix authentication dropdown](https://github.com/wekan/wekan/pull/2191).
Thanks to Akuket.
Thanks to above GitHub users for their contributions, and translators for their translations.
# v2.22 2019-02-13 Wekan release
This release adds the following new features:
- [Kadira integration](https://github.com/wekan/wekan/issues/2152). Thanks to GavinLilly.
- Add [configurable](https://github.com/wekan/wekan/issues/1874#issuecomment-462759627)
settings [OAUTH2_ID_TOKEN_WHITELIST_FIELDS and
OAUTH2_REQUEST_PERMISSIONS](https://github.com/wekan/wekan/commit/b66f471e530d41a3f12e4bfc29548313e9a73c35).
Thanks to xet7.
and fixes the following bugs:
- [Fix: Remove overlap of side bar button with card/list menu button on
mobile browser](https://github.com/wekan/wekan/issues/2183). Thanks to xet7.
Thanks to above GitHub users for their contributions, and translators for their translations.
# v2.21 2019-02-12 Wekan release
This release adds the following new features:
- [Bump salleman-oidc to 1.0.12](https://github.com/wekan/wekan/commit/352e5c6cb07b1a09ef692af6f6c49c3b1f3e91c1). Thanks to danpatdav.
- [Added parameters for OIDC claim mapping](https://github.com/wekan/wekan/commit/bdbbb12f967f7e4f605e6c3310290180f6c8c6d1).
These mapping parameters take advantage of new code in salleman-oidc 1.0.12 to override the default claim names provided by the userinfo endpoint.
Thanks to danpatdav.
- [Add OIDC claim mapping parameters to docker-compose.yml/Snap/Source](https://github.com/wekan/wekan/commit/59314ab17d65e9579d2f29b32685b7777f2a06a1).
Thanks to xet7.
Thanks to above GitHub users for their contributions.
# v2.20 2019-02-11 Wekan release
This release adds the following new features:
- [Add OIDC / OAuth2 optional setting DEBUG=true to salleman-oidc and Dockerfile](https://github.com/wekan/wekan/pull/2181).
Thanks to danpatdav.
- [Add OIDC / OAuth2 optional setting DEBUG=true to docker-compose.yml/Snap/Source](https://github.com/wekan/wekan/commits/8e02170dd1d5a638ba47dcca910e6eecbfd03baf).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v2.19 2019-02-09 Wekan release
This release removes the following new features:
+22
View File
@@ -2,6 +2,7 @@ FROM debian:buster-slim
LABEL maintainer="wekan"
# Declare Arguments
ARG DEBUG
ARG NODE_VERSION
ARG METEOR_RELEASE
ARG METEOR_EDGE
@@ -25,6 +26,12 @@ ARG OAUTH2_SERVER_URL
ARG OAUTH2_AUTH_ENDPOINT
ARG OAUTH2_USERINFO_ENDPOINT
ARG OAUTH2_TOKEN_ENDPOINT
ARG OAUTH2_ID_MAP
ARG OAUTH2_USERNAME_MAP
ARG OAUTH2_FULLNAME_MAP
ARG OAUTH2_EMAIL_MAP
ARG OAUTH2_ID_TOKEN_WHITELIST_FIELDS
ARG OAUTH2_REQUEST_PERMISSIONS
ARG LDAP_ENABLE
ARG LDAP_PORT
ARG LDAP_HOST
@@ -60,6 +67,10 @@ ARG LDAP_UNIQUE_IDENTIFIER_FIELD
ARG LDAP_UTF8_NAMES_SLUGIFY
ARG LDAP_USERNAME_FIELD
ARG LDAP_FULLNAME_FIELD
ARG LDAP_EMAIL_FIELD
ARG LDAP_EMAIL_MATCH_ENABLE
ARG LDAP_EMAIL_MATCH_REQUIRE
ARG LDAP_EMAIL_MATCH_VERIFIED
ARG LDAP_MERGE_EXISTING_USERS
ARG LDAP_SYNC_USER_DATA
ARG LDAP_SYNC_USER_DATA_FIELDMAP
@@ -76,6 +87,7 @@ ARG DEFAULT_AUTHENTICATION_METHOD
# DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
# ENV BUILD_DEPS="paxctl"
ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential python python3 python3-distutils git ca-certificates gcc-7" \
DEBUG=false \
NODE_VERSION=v8.15.0 \
METEOR_RELEASE=1.6.0.1 \
USE_EDGE=false \
@@ -99,6 +111,12 @@ ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential pyth
OAUTH2_AUTH_ENDPOINT="" \
OAUTH2_USERINFO_ENDPOINT="" \
OAUTH2_TOKEN_ENDPOINT="" \
OAUTH2_ID_MAP="" \
OAUTH2_USERNAME_MAP="" \
OAUTH2_FULLNAME_MAP="" \
OAUTH2_EMAIL_MAP="" \
OAUTH2_ID_TOKEN_WHITELIST_FIELDS=[] \
OAUTH2_REQUEST_PERMISSIONS=[openid] \
LDAP_ENABLE=false \
LDAP_PORT=389 \
LDAP_HOST="" \
@@ -135,6 +153,10 @@ ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential pyth
LDAP_USERNAME_FIELD="" \
LDAP_FULLNAME_FIELD="" \
LDAP_MERGE_EXISTING_USERS=false \
LDAP_EMAIL_FIELD="" \
LDAP_EMAIL_MATCH_ENABLE=false \
LDAP_EMAIL_MATCH_REQUIRE=false \
LDAP_EMAIL_MATCH_VERIFIED=false \
LDAP_SYNC_USER_DATA=false \
LDAP_SYNC_USER_DATA_FIELDMAP="" \
LDAP_SYNC_GROUP_ROLES="" \
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v2.19.0"
appVersion: "v2.24.0"
files:
userUploads:
- README.md
+4
View File
@@ -84,6 +84,7 @@
padding-left: 10px
color: #a6a6a6
.list-header-menu
position: absolute
padding: 27px 19px
@@ -155,6 +156,9 @@
float: left
@media screen and (max-width: 800px)
.list-header-menu
margin-right: 30px
.mini-list
flex: 0 0 60px
height: 60px
+1 -1
View File
@@ -24,7 +24,7 @@ template(name="userFormsLayout")
section.auth-dialog
+Template.dynamic(template=content)
if currentSetting.displayAuthenticationMethod
+connectionMethod
+connectionMethod(authenticationMethod=currentSetting.defaultAuthenticationMethod)
div.at-form-lang
select.select-lang.js-userform-set-language
each languages
@@ -2,5 +2,8 @@ template(name='connectionMethod')
div.at-form-authentication
label {{_ 'authentication-method'}}
select.select-authentication
each authentications
option(value="{{value}}") {{_ value}}
each authentications
if isSelected value
option(value="{{value}}" selected) {{_ value}}
else
option(value="{{value}}") {{_ value}}
@@ -31,4 +31,7 @@ Template.connectionMethod.helpers({
authentications() {
return Template.instance().authenticationMethods.get();
},
isSelected(match) {
return Template.instance().data.authenticationMethod === match;
},
});
+91 -35
View File
@@ -191,9 +191,12 @@ services:
# - MONGO_OPLOG_URL=mongodb://<username>:<password>@<mongoDbURL>/local?authSource=admin&replicaSet=rsWekan
#---------------------------------------------------------------
# ==== OPTIONAL: KADIRA PERFORMANCE MONITORING FOR METEOR ====
# https://github.com/smeijer/kadira
# https://github.com/edemaine/kadira-compose
# https://github.com/meteor/meteor-apm-agent
# https://blog.meteor.com/kadira-apm-is-now-open-source-490469ffc85f
# - export KADIRA_OPTIONS_ENDPOINT=http://127.0.0.1:11011
#- APM_OPTIONS_ENDPOINT=http://<kadira-ip>:11011
#- APM_APP_ID=
#- APM_APP_SECRET=
#---------------------------------------------------------------
# ==== OPTIONAL: LOGS AND STATS ====
# https://github.com/wekan/wekan/wiki/Logs
@@ -219,23 +222,19 @@ services:
- WITH_API=true
#-----------------------------------------------------------------
# ==== CORS =====
# CORS: Set Access-Control-Allow-Origin header. Example: *
# CORS: Set Access-Control-Allow-Origin header.
#- CORS=*
#-----------------------------------------------------------------
# ==== MATOMO INTEGRATION ====
# Optional: Integration with Matomo https://matomo.org that is installed to your server
# The address of the server where Matomo is hosted.
# example: - MATOMO_ADDRESS=https://example.com/matomo
#- MATOMO_ADDRESS=
#- MATOMO_ADDRESS=https://example.com/matomo
# The value of the site ID given in Matomo server for Wekan
# example: - MATOMO_SITE_ID=12345
#- MATOMO_SITE_ID=
#- MATOMO_SITE_ID=1
# The option do not track which enables users to not be tracked by matomo
# example: - MATOMO_DO_NOT_TRACK=false
#- MATOMO_DO_NOT_TRACK=
#- MATOMO_DO_NOT_TRACK=true
# The option that allows matomo to retrieve the username:
# example: MATOMO_WITH_USERNAME=true
#- MATOMO_WITH_USERNAME=false
#- MATOMO_WITH_USERNAME=true
#-----------------------------------------------------------------
# ==== BROWSER POLICY AND TRUSTED IFRAME URL ====
# Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside.
@@ -243,38 +242,79 @@ services:
# and allows all iframing etc. See wekan/server/policy.js
- BROWSER_POLICY_ENABLED=true
# When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside.
#- TRUSTED_URL=
#- TRUSTED_URL=https://intra.example.com
#-----------------------------------------------------------------
# ==== OUTGOING WEBHOOKS ====
# What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId .
# example: WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId
#- WEBHOOKS_ATTRIBUTES=
#- WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId
#-----------------------------------------------------------------
# ==== OAUTH2 ONLY WITH OIDC AND DOORKEEPER AS INDENTITY PROVIDER
# ==== Debug OIDC OAuth2 etc ====
#- DEBUG=true
#-----------------------------------------------------------------
# ==== OAUTH2 AZURE ====
# https://github.com/wekan/wekan/wiki/Azure
# 1) Register the application with Azure. Make sure you capture
# the application ID as well as generate a secret key.
# 2) Configure the environment variables. This differs slightly
# by installation type, but make sure you have the following:
#- OAUTH2_ENABLED=true
# Application GUID captured during app registration:
#- OAUTH2_CLIENT_ID=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
# Secret key generated during app registration:
#- OAUTH2_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#- OAUTH2_SERVER_URL=https://login.microsoftonline.com/
#- OAUTH2_AUTH_ENDPOINT=/oauth2/v2.0/authorize
#- OAUTH2_USERINFO_ENDPOINT=https://graph.microsoft.com/oidc/userinfo
#- OAUTH2_TOKEN_ENDPOINT=/oauth2/v2.0/token
# The claim name you want to map to the unique ID field:
#- OAUTH2_ID_MAP=email
# The claim name you want to map to the username field:
#- OAUTH2_USERNAME_MAP=email
# The claim name you want to map to the full name field:
#- OAUTH2_FULLNAME_MAP=name
# Tthe claim name you want to map to the email field:
#- OAUTH2_EMAIL_MAP=email
#-----------------------------------------------------------------
# ==== OAUTH2 KEYCLOAK ====
# https://github.com/wekan/wekan/wiki/Keycloak <== MAPPING INFO, REQUIRED
#- OAUTH2_ENABLED=true
#- OAUTH2_CLIENT_ID=<Keycloak create Client ID>
#- OAUTH2_SERVER_URL=<Keycloak server name>/auth
#- OAUTH2_AUTH_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/auth
#- OAUTH2_USERINFO_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/userinfo
#- OAUTH2_TOKEN_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/token
#- OAUTH2_SECRET=<keycloak client secret>
#-----------------------------------------------------------------
# ==== OAUTH2 DOORKEEPER ====
# https://github.com/wekan/wekan/issues/1874
# https://github.com/wekan/wekan/wiki/OAuth2
# Enable the OAuth2 connection
# example: OAUTH2_ENABLED=true
#- OAUTH2_ENABLED=false
#- OAUTH2_ENABLED=true
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
# OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345
# example: OAUTH2_CLIENT_ID=abcde12345
#- OAUTH2_CLIENT_ID=
# OAuth2 Secret, for example from Rocket.Chat: Example: 54321abcde
# example: OAUTH2_SECRET=54321abcde
#- OAUTH2_SECRET=
# OAuth2 Server URL, for example Rocket.Chat. Example: https://chat.example.com
# example: OAUTH2_SERVER_URL=https://chat.example.com
#- OAUTH2_SERVER_URL=
# OAuth2 Authorization Endpoint. Example: /oauth/authorize
# example: OAUTH2_AUTH_ENDPOINT=/oauth/authorize
#- OAUTH2_AUTH_ENDPOINT=
# OAuth2 Userinfo Endpoint. Example: /oauth/userinfo
# example: OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
#- OAUTH2_USERINFO_ENDPOINT=
# OAuth2 Token Endpoint. Example: /oauth/token
# example: OAUTH2_TOKEN_ENDPOINT=/oauth/token
#- OAUTH2_TOKEN_ENDPOINT=
# OAuth2 Client ID.
#- OAUTH2_CLIENT_ID=abcde12345
# OAuth2 Secret.
#- OAUTH2_SECRET=54321abcde
# OAuth2 Server URL.
#- OAUTH2_SERVER_URL=https://chat.example.com
# OAuth2 Authorization Endpoint.
#- OAUTH2_AUTH_ENDPOINT=/oauth/authorize
# OAuth2 Userinfo Endpoint.
#- OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
# OAuth2 Token Endpoint.
#- OAUTH2_TOKEN_ENDPOINT=/oauth/token
# OAuth2 ID Mapping
#- OAUTH2_ID_MAP=
# OAuth2 Username Mapping
#- OAUTH2_USERNAME_MAP=
# OAuth2 Fullname Mapping
#- OAUTH2_FULLNAME_MAP=
# OAuth2 Email Mapping
#- OAUTH2_EMAIL_MAP=
# OAUTH2 ID Token Whitelist Fields.
#- OAUTH2_ID_TOKEN_WHITELIST_FIELDS=[]
# OAUTH2 Request Permissions.
#- OAUTH2_REQUEST_PERMISSIONS=[openid email profile]
#-----------------------------------------------------------------
# ==== LDAP ====
# https://github.com/wekan/wekan/wiki/LDAP
@@ -429,6 +469,22 @@ services:
# LDAP_MERGE_EXISTING_USERS :
# example : LDAP_MERGE_EXISTING_USERS=true
#- LDAP_MERGE_EXISTING_USERS=false
#
# LDAP_EMAIL_MATCH_ENABLE : allow existing account matching by e-mail address when username does not match
# example: LDAP_EMAIL_MATCH_ENABLE=true
#- LDAP_EMAIL_MATCH_ENABLE=false
#
# LDAP_EMAIL_MATCH_REQUIRE : require existing account matching by e-mail address when username does match
# example: LDAP_EMAIL_MATCH_REQUIRE=true
#- LDAP_EMAIL_MATCH_REQUIRE=false
#
# LDAP_EMAIL_MATCH_VERIFIED : require existing account email address to be verified for matching
# example: LDAP_EMAIL_MATCH_VERIFIED=true
#- LDAP_EMAIL_MATCH_VERIFIED=false
#
# LDAP_EMAIL_FIELD : which field contains the LDAP e-mail address
# example: LDAP_EMAIL_FIELD=mail
#- LDAP_EMAIL_FIELD=
#-----------------------------------------------------------------
# LDAP_SYNC_USER_DATA :
# example : LDAP_SYNC_USER_DATA=true
+25 -25
View File
@@ -43,19 +43,19 @@
"activity-sent": "%s posláno na %s",
"activity-unjoined": "odpojen %s",
"activity-subtask-added": "podúkol přidán do %s",
"activity-checked-item": "checked %s in checklist %s of %s",
"activity-unchecked-item": "unchecked %s in checklist %s of %s",
"activity-checked-item": "dokončen %s v seznamu %s z %s",
"activity-unchecked-item": "nedokončen %s v seznamu %s z %s",
"activity-checklist-added": "přidán checklist do %s",
"activity-checklist-removed": "odstraněn checklist z %s",
"activity-checklist-completed": "dokončen checklist %s z %s",
"activity-checklist-uncompleted": "uncompleted the checklist %s of %s",
"activity-checklist-uncompleted": "nedokončen seznam %s z %s",
"activity-checklist-item-added": "přidána položka checklist do '%s' v %s",
"activity-checklist-item-removed": "removed a checklist item from '%s' in %s",
"activity-checklist-item-removed": "odstraněna položka seznamu do '%s' v %s",
"add": "Přidat",
"activity-checked-item-card": "checked %s in checklist %s",
"activity-unchecked-item-card": "unchecked %s in checklist %s",
"activity-checked-item-card": "dokončen %s v seznamu %s",
"activity-unchecked-item-card": "nedokončen %s v seznamu %s",
"activity-checklist-completed-card": "dokončen checklist %s",
"activity-checklist-uncompleted-card": "uncompleted the checklist %s",
"activity-checklist-uncompleted-card": "nedokončený seznam %s",
"add-attachment": "Přidat přílohu",
"add-board": "Přidat tablo",
"add-card": "Přidat kartu",
@@ -171,14 +171,14 @@
"color-blue": "modrá",
"color-crimson": "crimson",
"color-darkgreen": "darkgreen",
"color-gold": "gold",
"color-gray": "gray",
"color-gold": "zlatá",
"color-gray": "šedá",
"color-green": "zelená",
"color-indigo": "indigo",
"color-lime": "světlezelená",
"color-magenta": "magenta",
"color-mistyrose": "mistyrose",
"color-navy": "navy",
"color-navy": "tmavě modrá",
"color-orange": "oranžová",
"color-paleturquoise": "paleturquoise",
"color-peachpuff": "peachpuff",
@@ -187,10 +187,10 @@
"color-purple": "fialová",
"color-red": "červená",
"color-saddlebrown": "saddlebrown",
"color-silver": "silver",
"color-silver": "stříbrná",
"color-sky": "nebeská",
"color-slateblue": "slateblue",
"color-white": "white",
"color-white": "bílá",
"color-yellow": "žlutá",
"unset-color": "Unset",
"comment": "Komentář",
@@ -335,7 +335,7 @@
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Archive and bring them back to the board, click “Menu” > “Archive”.",
"list-move-cards": "Přesunout všechny karty v tomto sloupci",
"list-select-cards": "Vybrat všechny karty v tomto sloupci",
"set-color-list": "Set Color",
"set-color-list": "Nastavit barvu",
"listActionPopup-title": "Vypsat akce",
"swimlaneActionPopup-title": "Akce swimlane",
"swimlaneAddPopup-title": "Add a Swimlane below",
@@ -498,7 +498,7 @@
"OS_Totalmem": "OS Celková paměť",
"OS_Type": "Typ OS",
"OS_Uptime": "OS Doba běhu systému",
"days": "days",
"days": "dní",
"hours": "hodin",
"minutes": "minut",
"seconds": "sekund",
@@ -519,10 +519,10 @@
"card-end-on": "Končí v",
"editCardReceivedDatePopup-title": "Změnit datum přijetí",
"editCardEndDatePopup-title": "Změnit datum konce",
"setCardColorPopup-title": "Set color",
"setCardActionsColorPopup-title": "Choose a color",
"setSwimlaneColorPopup-title": "Choose a color",
"setListColorPopup-title": "Choose a color",
"setCardColorPopup-title": "Nastav barvu",
"setCardActionsColorPopup-title": "Vyber barvu",
"setSwimlaneColorPopup-title": "Vyber barvu",
"setListColorPopup-title": "Vyber barvu",
"assigned-by": "Přidělil(a)",
"requested-by": "Vyžádal(a)",
"board-delete-notice": "Smazání je trvalé. Přijdete o všechny sloupce, karty a akce spojené s tímto tablem.",
@@ -590,8 +590,8 @@
"r-checked": "Zaškrtnuto",
"r-unchecked": "Odškrtnuto",
"r-move-card-to": "Přesunout kartu do",
"r-top-of": "Top of",
"r-bottom-of": "Bottom of",
"r-top-of": "Začátek",
"r-bottom-of": "Spodek",
"r-its-list": "toho sloupce",
"r-archive": "Přesunout do archivu",
"r-unarchive": "Obnovit z archivu",
@@ -601,7 +601,7 @@
"r-label": "štítek",
"r-member": "člen",
"r-remove-all": "Odstranit všechny členy z této karty",
"r-set-color": "Set color to",
"r-set-color": "Nastav barvu na",
"r-checklist": "zaškrtávací seznam",
"r-check-all": "Zaškrtnout vše",
"r-uncheck-all": "Odškrtnout vše",
@@ -656,10 +656,10 @@
"custom-product-name": "Vlastní název produktu",
"layout": "uspořádání",
"hide-logo": "Skrýt logo",
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"add-custom-html-after-body-start": "Přidej vlastní HTML za <body>",
"add-custom-html-before-body-end": "Přidej vlastní HTML před </body>",
"error-undefined": "Něco se pokazilo",
"error-ldap-login": "Během přihlašování nastala chyba",
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method"
"display-authentication-method": "Zobraz způsob ověřování",
"default-authentication-method": "Zobraz způsob ověřování"
}
+3 -3
View File
@@ -363,9 +363,9 @@
"muted-info": "No serás notificado de ningún cambio en este tablero",
"my-boards": "Mis tableros",
"name": "Nombre",
"no-archived-cards": "No hay tarjetas en el Archivo",
"no-archived-lists": "No hay listas en el Archivo",
"no-archived-swimlanes": "No hay carriles en el Archivo",
"no-archived-cards": "No hay tarjetas archivadas.",
"no-archived-lists": "No hay listas archivadas.",
"no-archived-swimlanes": "No hay carriles archivados.",
"no-results": "Sin resultados",
"normal": "Normal",
"normal-desc": "Puedes ver y editar tarjetas. No puedes cambiar la configuración.",
+42 -42
View File
@@ -169,30 +169,30 @@
"close-board-pop": "شما می توانید با کلیک کردن بر روی دکمه «بایگانی» از صفحه هدر، صفحه را بازگردانید.",
"color-black": "مشکی",
"color-blue": "آبی",
"color-crimson": "crimson",
"color-darkgreen": "darkgreen",
"color-gold": "gold",
"color-gray": "gray",
"color-crimson": "قرمز",
"color-darkgreen": "سبز تیره",
"color-gold": "طلایی",
"color-gray": "خاکستری",
"color-green": "سبز",
"color-indigo": "indigo",
"color-indigo": "نیلی",
"color-lime": "لیمویی",
"color-magenta": "magenta",
"color-mistyrose": "mistyrose",
"color-navy": "navy",
"color-magenta": "ارغوانی",
"color-mistyrose": "صورتی روشن",
"color-navy": "لاجوردی",
"color-orange": "نارنجی",
"color-paleturquoise": "paleturquoise",
"color-peachpuff": "peachpuff",
"color-paleturquoise": "فیروزه‌ای کدر",
"color-peachpuff": "هلویی",
"color-pink": "صورتی",
"color-plum": "plum",
"color-plum": "بنفش کدر",
"color-purple": "بنفش",
"color-red": "قرمز",
"color-saddlebrown": "saddlebrown",
"color-silver": "silver",
"color-saddlebrown": "کاکائویی",
"color-silver": "نقره‌ای",
"color-sky": "آبی آسمانی",
"color-slateblue": "slateblue",
"color-white": "white",
"color-slateblue": "آبی فولادی",
"color-white": "سفید",
"color-yellow": "زرد",
"unset-color": "Unset",
"unset-color": "بازنشانی",
"comment": "نظر",
"comment-placeholder": "درج نظر",
"comment-only": "فقط نظر",
@@ -335,10 +335,10 @@
"list-archive-cards-pop": "این کارتباعث حذف تمامی کارت های این لیست از برد می شود . برای مشاهده کارت ها در آرشیو و برگرداندن آنها به برد بر بروی \"Menu\">\"Archive\" کلیک نمایید",
"list-move-cards": "انتقال تمام کارت های این لیست",
"list-select-cards": "انتخاب تمام کارت های این لیست",
"set-color-list": "Set Color",
"set-color-list": "انتخاب رنگ",
"listActionPopup-title": "لیست اقدامات",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"swimlaneAddPopup-title": "اضافه کردن مسیر شناور",
"listImportCardPopup-title": "وارد کردن کارت Trello",
"listMorePopup-title": "بیشتر",
"link-list": "پیوند به این فهرست",
@@ -485,7 +485,7 @@
"error-notAuthorized": "شما مجاز به دیدن این صفحه نیستید.",
"outgoing-webhooks": "Outgoing Webhooks",
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
"boardCardTitlePopup-title": "Card Title Filter",
"boardCardTitlePopup-title": "فیلتر موضوع کارت",
"new-outgoing-webhook": "New Outgoing Webhook",
"no-name": "(ناشناخته)",
"Node_version": "نسخه Node ",
@@ -498,7 +498,7 @@
"OS_Totalmem": "OS Total Memory",
"OS_Type": "OS Type",
"OS_Uptime": "OS Uptime",
"days": "days",
"days": "روزه‌ها",
"hours": "ساعت",
"minutes": "دقیقه",
"seconds": "ثانیه",
@@ -519,10 +519,10 @@
"card-end-on": "پایان در",
"editCardReceivedDatePopup-title": "تغییر تاریخ رسید",
"editCardEndDatePopup-title": "تغییر تاریخ پایان",
"setCardColorPopup-title": "Set color",
"setCardActionsColorPopup-title": "Choose a color",
"setSwimlaneColorPopup-title": "Choose a color",
"setListColorPopup-title": "Choose a color",
"setCardColorPopup-title": "انتخاب رنگ",
"setCardActionsColorPopup-title": "انتخاب کردن رنگ",
"setSwimlaneColorPopup-title": "انتخاب کردن رنگ",
"setListColorPopup-title": "انتخاب کردن رنگ",
"assigned-by": "محول شده توسط",
"requested-by": "تقاضا شده توسط",
"board-delete-notice": "حذف دائمی است شما تمام لیست ها، کارت ها و اقدامات مرتبط با این برد را از دست خواهید داد.",
@@ -561,14 +561,14 @@
"r-delete-rule": "حذف قانون",
"r-new-rule-name": "تیتر قانون جدید",
"r-no-rules": "بدون قانون",
"r-when-a-card": "When a card",
"r-when-a-card": "زمانی که کارت",
"r-is": "هست",
"r-is-moved": "is moved",
"r-added-to": "added to",
"r-is-moved": "جابه‌جا شده",
"r-added-to": "اضافه شد به",
"r-removed-from": "حذف از",
"r-the-board": "برد",
"r-list": "لیست",
"set-filter": "Set Filter",
"set-filter": "اضافه کردن فیلتر",
"r-moved-to": "انتقال به",
"r-moved-from": "انتقال از",
"r-archived": "انتقال به آرشیو",
@@ -576,7 +576,7 @@
"r-a-card": "کارت",
"r-when-a-label-is": "زمانی که لیبل هست",
"r-when-the-label-is": "زمانی که لیبل هست",
"r-list-name": "list name",
"r-list-name": "نام لیست",
"r-when-a-member": "زمانی که کاربر هست",
"r-when-the-member": "زمانی که کاربر",
"r-name": "نام",
@@ -601,7 +601,7 @@
"r-label": "برچسب",
"r-member": "عضو",
"r-remove-all": "حذف همه کاربران از کارت",
"r-set-color": "Set color to",
"r-set-color": "انتخاب رنگ به",
"r-checklist": "چک لیست",
"r-check-all": "انتخاب همه",
"r-uncheck-all": "لغو انتخاب همه",
@@ -626,9 +626,9 @@
"r-d-unarchive": "بازگردانی کارت از آرشیو",
"r-d-add-label": "افزودن برچسب",
"r-d-remove-label": "حذف برچسب",
"r-create-card": "Create new card",
"r-in-list": "in list",
"r-in-swimlane": "in swimlane",
"r-create-card": "ساخت کارت جدید",
"r-in-list": "در لیست",
"r-in-swimlane": "در مسیرِ شناور",
"r-d-add-member": "افزودن عضو",
"r-d-remove-member": "حذف عضو",
"r-d-remove-all-member": "حذف تمامی کاربران",
@@ -639,14 +639,14 @@
"r-d-check-of-list": "از چک لیست",
"r-d-add-checklist": "افزودن چک لیست",
"r-d-remove-checklist": "حذف چک لیست",
"r-by": "by",
"r-by": "توسط",
"r-add-checklist": "افزودن چک لیست",
"r-with-items": "with items",
"r-items-list": "item1,item2,item3",
"r-add-swimlane": "Add swimlane",
"r-swimlane-name": "swimlane name",
"r-board-note": "Note: leave a field empty to match every possible value.",
"r-checklist-note": "Note: checklist's items have to be written as comma separated values.",
"r-with-items": "با موارد",
"r-items-list": "مورد۱،مورد۲،مورد۳",
"r-add-swimlane": "اضافه کردن مسیر شناور",
"r-swimlane-name": "نام مسیر شناور",
"r-board-note": "نکته: برای نمایش موارد ممکن کادر را خالی بگذارید.",
"r-checklist-note": "نکته: چک‌لیست‌ها باید توسط کاما از یک‌دیگر جدا شوند.",
"r-when-a-card-is-moved": "دمانی که یک کارت به لیست دیگری منتقل شد",
"ldap": "LDAP",
"oauth2": "OAuth2",
@@ -660,6 +660,6 @@
"add-custom-html-before-body-end": "افزودن کد های HTML قبل از </body> پایان",
"error-undefined": "یک اشتباه رخ داده شده است",
"error-ldap-login": "هنگام تلاش برای ورود به یک خطا رخ داد",
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method"
"display-authentication-method": "نمایش نوع اعتبارسنجی",
"default-authentication-method": "نوع اعتبارسنجی پیشفرض"
}
+10 -10
View File
@@ -14,7 +14,7 @@
"act-archivedBoard": "__board__ הועבר לארכיון",
"act-archivedCard": "__card__ הועבר לארכיון",
"act-archivedList": "__list__ הועבר לארכיון",
"act-archivedSwimlane": "__swimlane__ נשמר בארכיון",
"act-archivedSwimlane": "__swimlane__ הועבר לארכיון",
"act-importBoard": "הלוח __board__ יובא",
"act-importCard": "הכרטיס __card__ יובא",
"act-importList": "הרשימה __list__ יובאה",
@@ -84,7 +84,7 @@
"archive-board": "העברת הלוח לארכיון",
"archive-card": "העברת הכרטיס לארכיון",
"archive-list": "העברת הרשימה לארכיון",
"archive-swimlane": "שמור נתיב זרימה לארכיון",
"archive-swimlane": "העברת מסלול לארכיון",
"archive-selection": "העברת הבחירה לארכיון",
"archiveBoardPopup-title": "להעביר לוח זה לארכיון?",
"archived-items": "להעביר לארכיון",
@@ -335,10 +335,10 @@
"list-archive-cards-pop": "כל הכרטיסים מרשימה זו יוסרו מהלוח. לצפייה בכרטיסים השמורים בארכיון ולהחזירם ללוח, ניתן ללחוץ על „תפריט” > „פריטים בארכיון”.",
"list-move-cards": "העברת כל הכרטיסים שברשימה זו",
"list-select-cards": "בחירת כל הכרטיסים שברשימה זו",
"set-color-list": "Set Color",
"set-color-list": "הגדרת צבע",
"listActionPopup-title": "פעולות רשימה",
"swimlaneActionPopup-title": "פעולות על מסלול",
"swimlaneAddPopup-title": "Add a Swimlane below",
"swimlaneAddPopup-title": "הוספת מסלול מתחת",
"listImportCardPopup-title": "יבוא כרטיס מ־Trello",
"listMorePopup-title": "עוד",
"link-list": "קישור לרשימה זו",
@@ -365,7 +365,7 @@
"name": "שם",
"no-archived-cards": "אין כרטיסים בארכיון",
"no-archived-lists": "אין רשימות בארכיון",
"no-archived-swimlanes": "לא שמורים מסלולים בארכיון",
"no-archived-swimlanes": "אין מסלולים בארכיון.",
"no-results": "אין תוצאות",
"normal": "רגיל",
"normal-desc": "הרשאה לצפות ולערוך כרטיסים. לא ניתן לשנות הגדרות.",
@@ -520,9 +520,9 @@
"editCardReceivedDatePopup-title": "החלפת מועד הקבלה",
"editCardEndDatePopup-title": "החלפת מועד הסיום",
"setCardColorPopup-title": "הגדרת צבע",
"setCardActionsColorPopup-title": "Choose a color",
"setSwimlaneColorPopup-title": "Choose a color",
"setListColorPopup-title": "Choose a color",
"setCardActionsColorPopup-title": "בחירת צבע",
"setSwimlaneColorPopup-title": "בחירת צבע",
"setListColorPopup-title": "בחירת צבע",
"assigned-by": "הוקצה על ידי",
"requested-by": "התבקש על ידי",
"board-delete-notice": "מחיקה היא לצמיתות. כל הרשימות, הכרטיבים והפעולות שקשורים בלוח הזה ילכו לאיבוד.",
@@ -660,6 +660,6 @@
"add-custom-html-before-body-end": "הוספת קוד HTML מותאם אישית לפני ה־</body> הסוגר.",
"error-undefined": "מהו השתבש",
"error-ldap-login": "אירעה שגיאה בעת ניסיון הכניסה",
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method"
"display-authentication-method": "הצגת שיטת אימות",
"default-authentication-method": "שיטת אימות כבררת מחדל"
}
+56 -56
View File
@@ -1,6 +1,6 @@
{
"accept": "Akceptuj",
"act-activity-notify": "Activity Notification",
"act-activity-notify": "Powiadomienia aktywności",
"act-addAttachment": "dodano załącznik __attachement__ do __card__",
"act-addSubtask": "dodał podzadanie __checklist__ do __card__",
"act-addChecklist": "dodał listę zadań __checklist__ to __card__",
@@ -78,7 +78,7 @@
"and-n-other-card": "I __count__ inna karta",
"and-n-other-card_plural": "I __count__ inne karty",
"apply": "Zastosuj",
"app-is-offline": "Loading, please wait. Refreshing the page will cause data loss. If loading does not work, please check that server has not stopped.",
"app-is-offline": "Trwa ładowanie, proszę czekać. Odświeżenie strony może spowodować utratę danych. Jeśli strona się nie przeładowuje, upewnij się, że serwer działa poprawnie.",
"archive": "Przenieś do Archiwum",
"archive-all": "Przenieś wszystko do Archiwum",
"archive-board": "Przenieś tablicę do Archiwum",
@@ -169,30 +169,30 @@
"close-board-pop": "Będziesz w stanie przywrócić tablicę poprzez kliknięcie przycisku \"Archiwizuj\" w nagłówku strony domowej.",
"color-black": "czarny",
"color-blue": "niebieski",
"color-crimson": "crimson",
"color-darkgreen": "darkgreen",
"color-gold": "gold",
"color-gray": "gray",
"color-crimson": "karmazynowy",
"color-darkgreen": "ciemnozielony",
"color-gold": "złoty",
"color-gray": "szary",
"color-green": "zielony",
"color-indigo": "indigo",
"color-indigo": "indygo",
"color-lime": "limonkowy",
"color-magenta": "magenta",
"color-mistyrose": "mistyrose",
"color-navy": "navy",
"color-magenta": "fuksjowy",
"color-mistyrose": "różowy",
"color-navy": "granatowy",
"color-orange": "pomarańczowy",
"color-paleturquoise": "paleturquoise",
"color-peachpuff": "peachpuff",
"color-paleturquoise": "turkusowy",
"color-peachpuff": "brzoskwiniowy",
"color-pink": "różowy",
"color-plum": "plum",
"color-plum": "śliwkowy",
"color-purple": "fioletowy",
"color-red": "czerwony",
"color-saddlebrown": "saddlebrown",
"color-silver": "silver",
"color-saddlebrown": "jasnobrązowy",
"color-silver": "srebrny",
"color-sky": "błękitny",
"color-slateblue": "slateblue",
"color-white": "white",
"color-slateblue": "szaroniebieski",
"color-white": "miały",
"color-yellow": "żółty",
"unset-color": "Unset",
"unset-color": "Nieustawiony",
"comment": "Komentarz",
"comment-placeholder": "Dodaj komentarz",
"comment-only": "Tylko komentowanie",
@@ -299,19 +299,19 @@
"import-board": "importuj tablice",
"import-board-c": "Import tablicy",
"import-board-title-trello": "Importuj tablicę z Trello",
"import-board-title-wekan": "Import board from previous export",
"import-sandstorm-backup-warning": "Do not delete data you import from original exported board or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-board-title-wekan": "Importuj tablicę z poprzedniego eksportu",
"import-sandstorm-backup-warning": "Nie usuwaj danych, które importujesz ze źródłowej tablicy lub Trello zanim upewnisz się, że wszystko zostało prawidłowo przeniesione przy czym brane jest pod uwagę ponowne uruchomienie strony, ponieważ w przypadku błędu braku tablicy stracisz dane.",
"import-sandstorm-warning": "Zaimportowana tablica usunie wszystkie istniejące dane na aktualnej tablicy oraz zastąpi ją danymi z tej importowanej.",
"from-trello": "Z Trello",
"from-wekan": "From previous export",
"from-wekan": "Z poprzedniego eksportu",
"import-board-instruction-trello": "W twojej tablicy na Trello przejdź do 'Menu', następnie 'Więcej', 'Drukuj i eksportuj', 'Eksportuj jako JSON' i skopiuj wynik",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-wekan": "Na Twojej tablicy przejdź do 'Menu', a następnie wybierz 'Eksportuj tablicę' i skopiuj tekst w pobranym pliku.",
"import-board-instruction-about-errors": "W przypadku, gdy otrzymujesz błędy importowania tablicy, czasami importowanie pomimo wszystko działa poprawnie i tablica znajduje się w oknie Wszystkie tablice.",
"import-json-placeholder": "Wklej Twoje dane JSON tutaj",
"import-map-members": "Przypisz członków",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-members-map": "Twoje zaimportowane tablice mają kilku członków. Proszę wybierz członków których chcesz zaimportować dla Twoich użytkowników",
"import-show-user-mapping": "Przejrzyj wybranych członków",
"import-user-select": "Pick your existing user you want to use as this member",
"import-user-select": "Wybierz istniejącego użytkownika, który ma stać się członkiem",
"importMapMembersAddPopup-title": "Wybierz użytkownika",
"info": "Wersja",
"initials": "Inicjały",
@@ -335,10 +335,10 @@
"list-archive-cards-pop": "To usunie wszystkie karty z tej listy z tej tablicy. Aby przejrzeć karty w Archiwum i przywrócić na tablicę, kliknij \"Menu\" > \"Archiwizuj\".",
"list-move-cards": "Przenieś wszystkie karty z tej listy",
"list-select-cards": "Zaznacz wszystkie karty z tej listy",
"set-color-list": "Set Color",
"set-color-list": "Ustaw kolor",
"listActionPopup-title": "Lista akcji",
"swimlaneActionPopup-title": "Opcje diagramu czynności",
"swimlaneAddPopup-title": "Add a Swimlane below",
"swimlaneAddPopup-title": "Dodaj diagram czynności poniżej",
"listImportCardPopup-title": "Zaimportuj kartę z Trello",
"listMorePopup-title": "Więcej",
"link-list": "Podepnij do tej listy",
@@ -478,14 +478,14 @@
"send-smtp-test": "Wyślij wiadomość testową do siebie",
"invitation-code": "Kod z zaproszenia",
"email-invite-register-subject": "__inviter__ wysłał Ci zaproszenie",
"email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to kanban board for collaborations.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.",
"email-smtp-test-subject": "SMTP Test Email",
"email-invite-register-text": "Drogi __user__,\n\n__inviter__ zaprasza Cię do współpracy na naszej tablicy kanban.\n\nAby kontynuować, wejdź w poniższy link:\n__url__\n\nTwój kod zaproszenia to: __icode__\n\nDziękuję.",
"email-smtp-test-subject": "Wiadomość testowa SMTP",
"email-smtp-test-text": "Wiadomość testowa została wysłana z powodzeniem.",
"error-invitation-code-not-exist": "Kod zaproszenia nie istnieje",
"error-notAuthorized": "Nie jesteś uprawniony do przeglądania tej strony.",
"outgoing-webhooks": "Wychodzące webhooki",
"outgoingWebhooksPopup-title": "Wychodzące webhooki",
"boardCardTitlePopup-title": "Card Title Filter",
"boardCardTitlePopup-title": "Filtruj poprzez nazwę karty",
"new-outgoing-webhook": "Nowy wychodzący webhook",
"no-name": "(nieznany)",
"Node_version": "Wersja Node",
@@ -498,7 +498,7 @@
"OS_Totalmem": "Dostępna pamięć RAM",
"OS_Type": "Typ systemu",
"OS_Uptime": "Czas działania systemu",
"days": "days",
"days": "dni",
"hours": "godzin",
"minutes": "minut",
"seconds": "sekund",
@@ -519,10 +519,10 @@
"card-end-on": "Kończy się",
"editCardReceivedDatePopup-title": "Zmień datę odebrania",
"editCardEndDatePopup-title": "Zmień datę ukończenia",
"setCardColorPopup-title": "Set color",
"setCardActionsColorPopup-title": "Choose a color",
"setSwimlaneColorPopup-title": "Choose a color",
"setListColorPopup-title": "Choose a color",
"setCardColorPopup-title": "Ustaw kolor",
"setCardActionsColorPopup-title": "Wybierz kolor",
"setSwimlaneColorPopup-title": "Wybierz kolor",
"setListColorPopup-title": "Wybierz kolor",
"assigned-by": "Przypisane przez",
"requested-by": "Zlecone przez",
"board-delete-notice": "Usuwanie jest permanentne. Stracisz wszystkie listy, kart oraz czynności przypisane do tej tablicy.",
@@ -561,14 +561,14 @@
"r-delete-rule": "Usuń regułę",
"r-new-rule-name": "Nowa nazwa reguły",
"r-no-rules": "Brak regułę",
"r-when-a-card": "When a card",
"r-when-a-card": "Gdy karta",
"r-is": "jest",
"r-is-moved": "is moved",
"r-added-to": "added to",
"r-is-moved": "jest przenoszona",
"r-added-to": "dodana do",
"r-removed-from": "Usunięto z",
"r-the-board": "tablicy",
"r-list": "lista",
"set-filter": "Set Filter",
"set-filter": "Ustaw filtr",
"r-moved-to": "Przeniesiono do",
"r-moved-from": "Przeniesiono z",
"r-archived": "Przeniesione z Archiwum",
@@ -576,7 +576,7 @@
"r-a-card": "karta",
"r-when-a-label-is": "Gdy etykieta jest",
"r-when-the-label-is": "Gdy etykieta jest",
"r-list-name": "list name",
"r-list-name": "nazwa listy",
"r-when-a-member": "Gdy członek jest",
"r-when-the-member": "Gdy członek jest",
"r-name": "nazwa",
@@ -601,7 +601,7 @@
"r-label": "etykieta",
"r-member": "członek",
"r-remove-all": "Usuń wszystkich członków tej karty",
"r-set-color": "Set color to",
"r-set-color": "Ustaw kolor na",
"r-checklist": "lista zadań",
"r-check-all": "Zaznacz wszystkie",
"r-uncheck-all": "Odznacz wszystkie",
@@ -626,9 +626,9 @@
"r-d-unarchive": "Przywróć kartę z Archiwum",
"r-d-add-label": "Dodaj etykietę",
"r-d-remove-label": "Usuń etykietę",
"r-create-card": "Create new card",
"r-in-list": "in list",
"r-in-swimlane": "in swimlane",
"r-create-card": "Utwórz nową kartę",
"r-in-list": "na liście",
"r-in-swimlane": "w diagramie zdarzeń",
"r-d-add-member": "Dodaj członka",
"r-d-remove-member": "Usuń członka",
"r-d-remove-all-member": "Usuń wszystkich członków",
@@ -639,14 +639,14 @@
"r-d-check-of-list": "z listy zadań",
"r-d-add-checklist": "Dodaj listę zadań",
"r-d-remove-checklist": "Usuń listę zadań",
"r-by": "by",
"r-by": "przez",
"r-add-checklist": "Dodaj listę zadań",
"r-with-items": "with items",
"r-items-list": "item1,item2,item3",
"r-add-swimlane": "Add swimlane",
"r-swimlane-name": "swimlane name",
"r-board-note": "Note: leave a field empty to match every possible value.",
"r-checklist-note": "Note: checklist's items have to be written as comma separated values.",
"r-with-items": "z elementami",
"r-items-list": "element1,element2,element3",
"r-add-swimlane": "Dodaj diagram zdarzeń",
"r-swimlane-name": "Nazwa diagramu",
"r-board-note": "Uwaga: pozostaw pole puste, aby każda wartość była brana pod uwagę.",
"r-checklist-note": "Uwaga: wartości elementów listy muszą być oddzielone przecinkami.",
"r-when-a-card-is-moved": "Gdy karta jest przeniesiona do innej listy",
"ldap": "LDAP",
"oauth2": "OAuth2",
@@ -656,10 +656,10 @@
"custom-product-name": "Niestandardowa nazwa produktu",
"layout": "Układ strony",
"hide-logo": "Ukryj logo",
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
"error-ldap-login": "An error occurred while trying to login",
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method"
"add-custom-html-after-body-start": "Dodaj niestandardowy kod HTML po <body> starcie",
"add-custom-html-before-body-end": "Dodaj niestandardowy kod HTML przed </body> końcem",
"error-undefined": "Coś poszło nie tak",
"error-ldap-login": "Wystąpił błąd w trakcie logowania",
"display-authentication-method": "Wyświetl metodę logowania",
"default-authentication-method": "Domyślna metoda logowania"
}
+1 -1
View File
@@ -654,7 +654,7 @@
"authentication-method": "Método de autenticação",
"authentication-type": "Tipo de autenticação",
"custom-product-name": "Nome Customizado do Produto",
"layout": "Leiaute",
"layout": "Layout",
"hide-logo": "Esconder Logo",
"add-custom-html-after-body-start": "Adicionar HTML Customizado depois do início do <body>",
"add-custom-html-before-body-end": "Adicionar HTML Customizado antes do fim do </body>",
+2 -2
View File
@@ -660,6 +660,6 @@
"add-custom-html-before-body-end": "Добавить HTML до завершения </body>",
"error-undefined": "Что-то пошло не так",
"error-ldap-login": "Ошибка при попытке авторизации",
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method"
"display-authentication-method": "Показывать способ авторизации",
"default-authentication-method": "Способ авторизации по умолчанию"
}
+19 -19
View File
@@ -78,7 +78,7 @@
"and-n-other-card": "Och __count__ annat kort",
"and-n-other-card_plural": "Och __count__ andra kort",
"apply": "Tillämpa",
"app-is-offline": "Loading, please wait. Refreshing the page will cause data loss. If loading does not work, please check that server has not stopped.",
"app-is-offline": "Läser in, vänligen vänta. Uppdatering av sidan kommer att orsaka förlust av data. Om inläsningen inte fungerar, kontrollera att servern inte har stoppats.",
"archive": "Flytta till Arkiv",
"archive-all": "Flytta alla till Arkiv",
"archive-board": "Flytta Anslagstavla till Arkiv",
@@ -86,11 +86,11 @@
"archive-list": "Flytta Lista till Arkiv",
"archive-swimlane": "Move Swimlane to Archive",
"archive-selection": "Flytta markerade till Arkiv",
"archiveBoardPopup-title": "Move Board to Archive?",
"archiveBoardPopup-title": "Flytta Anslagstavla till Arkiv?",
"archived-items": "Arkiv",
"archived-boards": "Boards in Archive",
"archived-boards": "Anslagstavlor i Arkiv",
"restore-board": "Återställ anslagstavla",
"no-archived-boards": "No Boards in Archive.",
"no-archived-boards": "Inga anslagstavlor i Arkiv.",
"archives": "Arkiv",
"assign-member": "Tilldela medlem",
"attached": "bifogad",
@@ -123,7 +123,7 @@
"card-comments-title": "Detta kort har %s kommentar.",
"card-delete-notice": "Ta bort är permanent. Du kommer att förlora alla åtgärder i samband med detta kort.",
"card-delete-pop": "Alla åtgärder kommer att tas bort från aktivitetsflöde och du kommer inte att kunna öppna kortet igen. Det går inte att ångra.",
"card-delete-suggest-archive": "You can move a card to Archive to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "Du kan flytta ett kort för att Arkiv för att ta bort det från anslagstavlan och bevara aktiviteten.",
"card-due": "Förfaller",
"card-due-on": "Förfaller på",
"card-spent": "Spenderad tid",
@@ -166,7 +166,7 @@
"clipboard": "Urklipp eller dra och släpp",
"close": "Stäng",
"close-board": "Stäng anslagstavla",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-board-pop": "Du kommer att kunna återställa anslagstavlan genom att klicka på knappen \"Arkiv\" från hemrubriken.",
"color-black": "svart",
"color-blue": "blå",
"color-crimson": "crimson",
@@ -299,17 +299,17 @@
"import-board": "importera anslagstavla",
"import-board-c": "Importera anslagstavla",
"import-board-title-trello": "Importera anslagstavla från Trello",
"import-board-title-wekan": "Import board from previous export",
"import-board-title-wekan": "Importera anslagstavla från tidigare export",
"import-sandstorm-backup-warning": "Do not delete data you import from original exported board or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Importerad anslagstavla raderar all befintlig data på anslagstavla och ersätter den med importerat anslagstavla.",
"from-trello": "Från Trello",
"from-wekan": "Från tidigare export",
"import-board-instruction-trello": "I din Trello-anslagstavla, gå till 'Meny', sedan 'Mera', 'Skriv ut och exportera', 'Exportera JSON' och kopiera den resulterande text.",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-wekan": "På din anslagstavla, gå till \"Meny\", sedan \"Exportera anslagstavla\" och kopiera texten i den hämtade filen.",
"import-board-instruction-about-errors": "Om du får fel vid import av anslagstavla, ibland importerar fortfarande fungerar, och styrelsen är på alla sidor för anslagstavlor.",
"import-json-placeholder": "Klistra in giltigt JSON data här",
"import-map-members": "Kartlägg medlemmar",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-members-map": "Din importerade anslagstavla har några medlemmar. Vänligen kartlägg medlemmarna du vill importera till dina användare",
"import-show-user-mapping": "Granska medlemskartläggning",
"import-user-select": "Pick your existing user you want to use as this member",
"importMapMembersAddPopup-title": "Välj medlem",
@@ -332,10 +332,10 @@
"leaveBoardPopup-title": "Lämna anslagstavla ?",
"link-card": "Länka till detta kort",
"list-archive-cards": "Flytta alla kort i den här listan till Arkiv",
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Archive and bring them back to the board, click “Menu” > “Archive”.",
"list-archive-cards-pop": "Detta kommer att ta bort alla kort i denna lista från anslagstavlan. För att visa kort i Arkiv och få dem tillbaka till anslagstavlan, klicka på \"Meny\" > \"Arkiv\".",
"list-move-cards": "Flytta alla kort i denna lista",
"list-select-cards": "Välj alla kort i denna lista",
"set-color-list": "Set Color",
"set-color-list": "Ange färg",
"listActionPopup-title": "Liståtgärder",
"swimlaneActionPopup-title": "Simbana-åtgärder",
"swimlaneAddPopup-title": "Add a Swimlane below",
@@ -343,7 +343,7 @@
"listMorePopup-title": "Mera",
"link-list": "Länk till den här listan",
"list-delete-pop": "Alla åtgärder kommer att tas bort från aktivitetsmatningen och du kommer inte att kunna återställa listan. Det går inte att ångra.",
"list-delete-suggest-archive": "You can move a list to Archive to remove it from the board and preserve the activity.",
"list-delete-suggest-archive": "Du kan flytta en lista till Arkiv för att ta bort den från anslagstavlan och bevara aktiviteten.",
"lists": "Listor",
"swimlanes": "Simbanor ",
"log-out": "Logga ut",
@@ -568,7 +568,7 @@
"r-removed-from": "Borttagen från",
"r-the-board": "anslagstavlan",
"r-list": "lista",
"set-filter": "Set Filter",
"set-filter": "Ställ in filter",
"r-moved-to": "Flyttad till",
"r-moved-from": "Flyttad från",
"r-archived": "Flyttad till Arkiv",
@@ -576,13 +576,13 @@
"r-a-card": "ett kort",
"r-when-a-label-is": "När en etikett är",
"r-when-the-label-is": "När etiketten är",
"r-list-name": "list name",
"r-list-name": "listnamn",
"r-when-a-member": "När en medlem är",
"r-when-the-member": "När medlemmen",
"r-name": "namn",
"r-when-a-attach": "When an attachment",
"r-when-a-checklist": "When a checklist is",
"r-when-the-checklist": "When the checklist",
"r-when-a-attach": "När en bilaga",
"r-when-a-checklist": "När en checklista är",
"r-when-the-checklist": "När checklistan",
"r-completed": "Avslutad",
"r-made-incomplete": "Made incomplete",
"r-when-a-item": "When a checklist item is",
@@ -660,6 +660,6 @@
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Något gick fel",
"error-ldap-login": "Ett fel uppstod när du försökte logga in",
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method"
"display-authentication-method": "Visa autentiseringsmetod",
"default-authentication-method": "Standard autentiseringsmetod"
}
+57 -57
View File
@@ -1,5 +1,5 @@
{
"accept": "Accept",
"accept": "ஏற்றுக்கொள்",
"act-activity-notify": "Activity Notification",
"act-addAttachment": "attached __attachment__ to __card__",
"act-addSubtask": "added subtask __checklist__ to __card__",
@@ -31,17 +31,17 @@
"activity-added": "added %s to %s",
"activity-archived": "%s moved to Archive",
"activity-attached": "attached %s to %s",
"activity-created": "created %s",
"activity-created": "உருவாக்கப்பட்டது ",
"activity-customfield-created": "created custom field %s",
"activity-excluded": "excluded %s from %s",
"activity-imported": "imported %s into %s from %s",
"activity-imported-board": "imported %s from %s",
"activity-joined": "joined %s",
"activity-joined": "சேர்ந்தது ",
"activity-moved": "moved %s from %s to %s",
"activity-on": "on %s",
"activity-removed": "removed %s from %s",
"activity-sent": "sent %s to %s",
"activity-unjoined": "unjoined %s",
"activity-unjoined": "பிரிக்கப்பட்டது ",
"activity-subtask-added": "added subtask to %s",
"activity-checked-item": "checked %s in checklist %s of %s",
"activity-unchecked-item": "unchecked %s in checklist %s of %s",
@@ -51,7 +51,7 @@
"activity-checklist-uncompleted": "uncompleted the checklist %s of %s",
"activity-checklist-item-added": "added checklist item to '%s' in %s",
"activity-checklist-item-removed": "removed a checklist item from '%s' in %s",
"add": "Add",
"add": "சேர் ",
"activity-checked-item-card": "checked %s in checklist %s",
"activity-unchecked-item-card": "unchecked %s in checklist %s",
"activity-checklist-completed-card": "completed the checklist %s",
@@ -94,14 +94,14 @@
"archives": "Archive",
"assign-member": "Assign member",
"attached": "attached",
"attachment": "Attachment",
"attachment": "இணைப்பு ",
"attachment-delete-pop": "Deleting an attachment is permanent. There is no undo.",
"attachmentDeletePopup-title": "Delete Attachment?",
"attachments": "Attachments",
"attachments": "இணைப்புகள் ",
"auto-watch": "Automatically watch boards when they are created",
"avatar-too-big": "The avatar is too large (70KB max)",
"back": "Back",
"board-change-color": "Change color",
"back": "பின்செல் ",
"board-change-color": "நிறம் மாற்று ",
"board-nb-stars": "%s stars",
"board-not-found": "Board not found",
"board-private-info": "This board will be <strong>private</strong>.",
@@ -113,7 +113,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Boards",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-cal": "நாள்கட்டி ",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Like “Bucket List” for example",
@@ -142,7 +142,7 @@
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Labels",
"cardMembersPopup-title": "Members",
"cardMorePopup-title": "More",
"cardMorePopup-title": "மேலும் ",
"cards": "Cards",
"cards-count": "Cards",
"casSignIn": "Sign In with CAS",
@@ -151,12 +151,12 @@
"cardType-linkedBoard": "Linked Board",
"change": "Change",
"change-avatar": "Change Avatar",
"change-password": "Change Password",
"change-password": "கடவுச்சொல்லை மாற்று ",
"change-permissions": "Change permissions",
"change-settings": "Change Settings",
"changeAvatarPopup-title": "Change Avatar",
"changeLanguagePopup-title": "Change Language",
"changePasswordPopup-title": "Change Password",
"changePasswordPopup-title": "கடவுச்சொல்லை மாற்றுக ",
"changePermissionsPopup-title": "Change Permissions",
"changeSettingsPopup-title": "Change Settings",
"subtasks": "Subtasks",
@@ -170,36 +170,36 @@
"color-black": "black",
"color-blue": "blue",
"color-crimson": "crimson",
"color-darkgreen": "darkgreen",
"color-gold": "gold",
"color-darkgreen": "அடர் பச்சை ",
"color-gold": "தங்கம் ",
"color-gray": "gray",
"color-green": "green",
"color-green": "பச்சை ",
"color-indigo": "indigo",
"color-lime": "lime",
"color-lime": "வெளிர் பச்சை ",
"color-magenta": "magenta",
"color-mistyrose": "mistyrose",
"color-navy": "navy",
"color-orange": "orange",
"color-orange": "ஆரஞ்சு ",
"color-paleturquoise": "paleturquoise",
"color-peachpuff": "peachpuff",
"color-pink": "pink",
"color-plum": "plum",
"color-purple": "purple",
"color-red": "red",
"color-red": "சிகப்பு ",
"color-saddlebrown": "saddlebrown",
"color-silver": "silver",
"color-sky": "sky",
"color-silver": "வெள்ளி ",
"color-sky": "வாணம் ",
"color-slateblue": "slateblue",
"color-white": "white",
"color-yellow": "yellow",
"color-white": "வெள்ளை ",
"color-yellow": "மஞ்சள் ",
"unset-color": "Unset",
"comment": "Comment",
"comment": "கருத்து ",
"comment-placeholder": "Write Comment",
"comment-only": "Comment only",
"comment-only": "கருத்து மட்டும் ",
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments": "கருத்து இல்லை ",
"no-comments-desc": "Can not see comments and activities.",
"computer": "Computer",
"computer": "கணினி ",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
@@ -209,7 +209,7 @@
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
"create": "Create",
"create": "உருவாக்கு ",
"createBoardPopup-title": "Create Board",
"chooseBoardSourcePopup-title": "Import board",
"createLabelPopup-title": "Create Label",
@@ -218,16 +218,16 @@
"current": "current",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-checkbox": "Checkbox",
"custom-field-date": "Date",
"custom-field-date": "நாள் ",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-number": "எண் ",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"date": "Date",
"date": "நாள் ",
"decline": "Decline",
"default-avatar": "Default avatar",
"delete": "Delete",
@@ -238,8 +238,8 @@
"disambiguateMultiMemberPopup-title": "Disambiguate Member Action",
"discard": "Discard",
"done": "Done",
"download": "Download",
"edit": "Edit",
"download": "பதிவிறக்கம் ",
"edit": "திருத்து ",
"edit-avatar": "Change Avatar",
"edit-profile": "Edit Profile",
"edit-wip-limit": "Edit WIP Limit",
@@ -251,7 +251,7 @@
"editLabelPopup-title": "Change Label",
"editNotificationPopup-title": "Edit Notification",
"editProfilePopup-title": "Edit Profile",
"email": "Email",
"email": "மின் அஞ்சல் ",
"email-enrollAccount-subject": "An account created for you on __siteName__",
"email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.",
"email-fail": "Sending email failed",
@@ -289,20 +289,20 @@
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"fullname": "முழு பெயர் ",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
"headerBarCreateBoardPopup-title": "Create Board",
"home": "Home",
"import": "Import",
"link": "Link",
"home": "தொடக்கம் ",
"import": "பதிவேற்றம் ",
"link": "இணை ",
"import-board": "import board",
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from previous export",
"import-sandstorm-backup-warning": "Do not delete data you import from original exported board or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-trello": "Trello ல் இருந்து ",
"from-wekan": "From previous export",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
@@ -325,7 +325,7 @@
"label-default": "%s label (default)",
"label-delete-pop": "There is no undo. This will remove this label from all cards and destroy its history.",
"labels": "Labels",
"language": "Language",
"language": "மொழி ",
"last-admin-desc": "You can’t change roles because there must be at least one admin.",
"leave-board": "Leave Board",
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
@@ -335,12 +335,12 @@
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Archive and bring them back to the board, click “Menu” > “Archive”.",
"list-move-cards": "Move all cards in this list",
"list-select-cards": "Select all cards in this list",
"set-color-list": "Set Color",
"set-color-list": "நிறத்தை மாற்று ",
"listActionPopup-title": "List Actions",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
"listMorePopup-title": "More",
"listMorePopup-title": "மேலும் ",
"link-list": "Link to this list",
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
"list-delete-suggest-archive": "You can move a list to Archive to remove it from the board and preserve the activity.",
@@ -362,7 +362,7 @@
"muted": "Muted",
"muted-info": "You will never be notified of any changes in this board",
"my-boards": "My Boards",
"name": "Name",
"name": "பெயர் ",
"no-archived-cards": "No cards in Archive.",
"no-archived-lists": "No lists in Archive.",
"no-archived-swimlanes": "No swimlanes in Archive.",
@@ -376,16 +376,16 @@
"or": "or",
"page-maybe-private": "This page may be private. You may be able to view it by <a href='%s'>logging in</a>.",
"page-not-found": "Page not found.",
"password": "Password",
"password": "கடவுச்சொல் ",
"paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)",
"participating": "Participating",
"preview": "Preview",
"previewAttachedImagePopup-title": "Preview",
"previewClipboardImagePopup-title": "Preview",
"private": "Private",
"private": "தனியார் ",
"private-desc": "This board is private. Only people added to the board can view and edit it.",
"profile": "Profile",
"public": "Public",
"public": "பொது ",
"public-desc": "This board is public. It's visible to anyone with the link and will show up in search engines like Google. Only people added to the board can edit.",
"quick-access-description": "Star a board to add a shortcut in this bar.",
"remove-cover": "Remove Cover",
@@ -396,11 +396,11 @@
"remove-member-from-card": "Remove from Card",
"remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.",
"removeMemberPopup-title": "Remove Member?",
"rename": "Rename",
"rename": "பெயர்மாற்றம் ",
"rename-board": "Rename Board",
"restore": "Restore",
"save": "Save",
"search": "Search",
"save": "சேமி ",
"search": "தேடு ",
"rules": "Rules",
"search-cards": "Search from card titles and descriptions on this board",
"search-example": "Text to search for?",
@@ -423,8 +423,8 @@
"star-board-title": "Click to star this board. It will show up at top of your boards list.",
"starred-boards": "Starred Boards",
"starred-boards-description": "Starred boards show up at the top of your boards list.",
"subscribe": "Subscribe",
"team": "Team",
"subscribe": "சந்தா ",
"team": "குழு ",
"this-board": "this board",
"this-card": "this card",
"spent-time-hours": "Spent time (hours)",
@@ -462,7 +462,7 @@
"people": "People",
"registration": "Registration",
"disable-self-registration": "Disable Self-Registration",
"invite": "Invite",
"invite": "அழைப்பு ",
"invite-people": "Invite People",
"to-boards": "To board(s)",
"email-addresses": "Email Addresses",
@@ -472,10 +472,10 @@
"smtp-host": "SMTP Host",
"smtp-port": "SMTP Port",
"smtp-username": "Username",
"smtp-password": "Password",
"smtp-password": "கடவுச்சொல் ",
"smtp-tls": "TLS support",
"send-from": "From",
"send-smtp-test": "Send a test email to yourself",
"send-from": "அனுப்புனர் ",
"send-smtp-test": "சோதனை மின்னஞ்சல் அணுப்புக ",
"invitation-code": "Invitation Code",
"email-invite-register-subject": "__inviter__ sent you an invitation",
"email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to kanban board for collaborations.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.",
@@ -515,7 +515,7 @@
"active": "Active",
"card-received": "Received",
"card-received-on": "Received on",
"card-end": "End",
"card-end": "முடிவு ",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date",
@@ -596,7 +596,7 @@
"r-archive": "Move to Archive",
"r-unarchive": "Restore from Archive",
"r-card": "card",
"r-add": "Add",
"r-add": "சேர் ",
"r-remove": "Remove",
"r-label": "label",
"r-member": "member",
+2 -2
View File
@@ -660,6 +660,6 @@
"add-custom-html-before-body-end": "添加定制的HTML在结束</body>之后",
"error-undefined": "出了点问题",
"error-ldap-login": "尝试登陆时出错",
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method"
"display-authentication-method": "显示认证方式",
"default-authentication-method": "缺省认证方式"
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v2.19.0",
"version": "v2.24.0",
"description": "Open-Source kanban",
"private": true,
"scripts": {
+106 -45
View File
@@ -1,29 +1,33 @@
# If you want to restart even on crash, uncomment while and done lines.
#while true; do
cd ~/repos/wekan/.build/bundle
export MONGO_URL='mongodb://127.0.0.1:27017/admin'
cd ~/repos/wekan/.build/bundle
#---------------------------------------------
# Debug OIDC OAuth2 etc.
#export export DEBUG=true
#---------------------------------------------
export MONGO_URL='mongodb://127.0.0.1:27017/admin'
# ROOT_URL EXAMPLES FOR WEBSERVERS: https://github.com/wekan/wekan/wiki/Settings
# Production: https://example.com/wekan
# Local: http://localhost:3000
#export ipaddress=$(ifdata -pa eth0)
export ROOT_URL='http://localhost'
# Production: https://example.com/wekan
# Local: http://localhost:3000
#export ipaddress=$(ifdata -pa eth0)
export ROOT_URL='http://localhost'
#---------------------------------------------
# Working email IS NOT REQUIRED to use Wekan.
# https://github.com/wekan/wekan/wiki/Adding-users
# https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
# https://github.com/wekan/wekan-mongodb/blob/master/docker-compose.yml
export MAIL_URL='smtp://user:pass@mailserver.example.com:25/'
export MAIL_FROM='Wekan Support <support@example.com>'
# This is local port where Wekan Node.js runs, same as below on Caddyfile settings.
export PORT=80
# https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
# https://github.com/wekan/wekan-mongodb/blob/master/docker-compose.yml
export MAIL_URL='smtp://user:pass@mailserver.example.com:25/'
export MAIL_FROM='Wekan Support <support@example.com>'
# This is local port where Wekan Node.js runs, same as below on Caddyfile settings.
export PORT=80
#---------------------------------------------
# Wekan Export Board works when WITH_API='true'.
# Wekan Export Board works when WITH_API='true'.
# If you disable Wekan API, Export Board does not work.
export WITH_API='true'
export WITH_API='true'
#---------------------------------------------
# CORS: Set Access-Control-Allow-Origin header. Example: *
#- CORS=*
#export CORS=*
#---------------------------------------------
## Optional: Integration with Matomo https://matomo.org that is installed to your server
## The address of the server where Matomo is hosted:
@@ -39,36 +43,81 @@
# Example: export MATOMO_WITH_USERNAME=true
#export MATOMO_WITH_USERNAME='false'
# Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside.
# Setting this to false is not recommended, it also disables all other browser policy protections
# and allows all iframing etc. See wekan/server/policy.js
# Default value: true
export BROWSER_POLICY_ENABLED=true
# Setting this to false is not recommended, it also disables all other browser policy protections
# and allows all iframing etc. See wekan/server/policy.js
# Default value: true
export BROWSER_POLICY_ENABLED=true
# When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside.
# Example: export TRUSTED_URL=http://example.com
# Example: export TRUSTED_URL=http://example.com
export TRUSTED_URL=''
# What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId .
# Example: export WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId
export WEBHOOKS_ATTRIBUTES=''
export WEBHOOKS_ATTRIBUTES=''
#---------------------------------------------
# ==== OAUTH2 AZURE ====
# https://github.com/wekan/wekan/wiki/Azure
# 1) Register the application with Azure. Make sure you capture
# the application ID as well as generate a secret key.
# 2) Configure the environment variables. This differs slightly
# by installation type, but make sure you have the following:
#export OAUTH2_ENABLED=true
# Application GUID captured during app registration:
#export OAUTH2_CLIENT_ID=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
# Secret key generated during app registration:
#export OAUTH2_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#export OAUTH2_SERVER_URL=https://login.microsoftonline.com/
#export OAUTH2_AUTH_ENDPOINT=/oauth2/v2.0/authorize
#export OAUTH2_USERINFO_ENDPOINT=https://graph.microsoft.com/oidc/userinfo
#export OAUTH2_TOKEN_ENDPOINT=/oauth2/v2.0/token
# The claim name you want to map to the unique ID field:
#export OAUTH2_ID_MAP=email
# The claim name you want to map to the username field:
#export OAUTH2_USERNAME_MAP=email
# The claim name you want to map to the full name field:
#export OAUTH2_FULLNAME_MAP=name
# Tthe claim name you want to map to the email field:
#export OAUTH2_EMAIL_MAP=email
#-----------------------------------------------------------------
# ==== OAUTH2 KEYCLOAK ====
# https://github.com/wekan/wekan/wiki/Keycloak <== MAPPING INFO, REQUIRED
#export OAUTH2_ENABLED=true
#export OAUTH2_CLIENT_ID=<Keycloak create Client ID>
#export OAUTH2_SERVER_URL=<Keycloak server name>/auth
#export OAUTH2_AUTH_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/auth
#export OAUTH2_USERINFO_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/userinfo
#export OAUTH2_TOKEN_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/token
#export OAUTH2_SECRET=<keycloak client secret>
#-----------------------------------------------------------------
# ==== OAUTH2 DOORKEEPER ====
# https://github.com/wekan/wekan/issues/1874
# https://github.com/wekan/wekan/wiki/OAuth2
# Enable the OAuth2 connection
#export OAUTH2_ENABLED=true
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
# OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345
# example: export OAUTH2_CLIENT_ID=abcde12345
#export OAUTH2_CLIENT_ID=''
# OAuth2 Secret, for example from Rocket.Chat: Example: 54321abcde
# example: export OAUTH2_SECRET=54321abcde
#export OAUTH2_SECRET=''
# OAuth2 Server URL, for example Rocket.Chat. Example: https://chat.example.com
# example: export OAUTH2_SERVER_URL=https://chat.example.com
#export OAUTH2_SERVER_URL=''
# OAuth2 Authorization Endpoint. Example: /oauth/authorize
# example: export OAUTH2_AUTH_ENDPOINT=/oauth/authorize
#export OAUTH2_AUTH_ENDPOINT=''
# OAuth2 Userinfo Endpoint. Example: /oauth/userinfo
# example: export OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
#export OAUTH2_USERINFO_ENDPOINT=''
# OAuth2 Token Endpoint. Example: /oauth/token
# example: export OAUTH2_TOKEN_ENDPOINT=/oauth/token
#export OAUTH2_TOKEN_ENDPOINT=''
# OAuth2 Client ID.
#export OAUTH2_CLIENT_ID=abcde12345
# OAuth2 Secret.
#export OAUTH2_SECRET=54321abcde
# OAuth2 Server URL.
#export OAUTH2_SERVER_URL=https://chat.example.com
# OAuth2 Authorization Endpoint.
#export OAUTH2_AUTH_ENDPOINT=/oauth/authorize
# OAuth2 Userinfo Endpoint.
#export OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
# OAuth2 Token Endpoint.
#export OAUTH2_TOKEN_ENDPOINT=/oauth/token
# OAuth2 ID Mapping
#export OAUTH2_ID_MAP=
# OAuth2 Username Mapping
#export OAUTH2_USERNAME_MAP=
# OAuth2 Fullname Mapping
#export OAUTH2_FULLNAME_MAP=
# OAuth2 Email Mapping
#export OAUTH2_EMAIL_MAP=
# OAUTH2 ID Token Whitelist Fields.
#export OAUTH2_ID_TOKEN_WHITELIST_FIELDS=[]
# OAUTH2 Request Permissions.
#export OAUTH2_REQUEST_PERMISSIONS=[openid profile email]
#---------------------------------------------
# LDAP_ENABLE : Enable or not the connection by the LDAP
# example : export LDAP_ENABLE=true
@@ -178,6 +227,18 @@
# LDAP_MERGE_EXISTING_USERS :
# example : export LDAP_MERGE_EXISTING_USERS=true
#export LDAP_MERGE_EXISTING_USERS=false
# LDAP_EMAIL_MATCH_ENABLE : allow existing account matching by e-mail address when username does not match
# example: LDAP_EMAIL_MATCH_ENABLE=true
#export LDAP_EMAIL_MATCH_ENABLE=false
# LDAP_EMAIL_MATCH_REQUIRE : require existing account matching by e-mail address when username does match
# example: LDAP_EMAIL_MATCH_REQUIRE=true
#export LDAP_EMAIL_MATCH_REQUIRE=false
# LDAP_EMAIL_MATCH_VERIFIED : require existing account email address to be verified for matching
# example: LDAP_EMAIL_MATCH_VERIFIED=true
#export LDAP_EMAIL_MATCH_VERIFIED=false
# LDAP_EMAIL_FIELD : which field contains the LDAP e-mail address
# example: LDAP_EMAIL_FIELD=mail
#export LDAP_EMAIL_FIELD=
# LDAP_SYNC_USER_DATA :
# example : export LDAP_SYNC_USER_DATA=true
#export LDAP_SYNC_USER_DATA=false
@@ -192,15 +253,15 @@
#export LDAP_DEFAULT_DOMAIN=
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer
# example : LOGOUT_WITH_TIMER=true
#- LOGOUT_WITH_TIMER=
#export LOGOUT_WITH_TIMER=
# LOGOUT_IN : The number of days
# example : LOGOUT_IN=1
#- LOGOUT_IN=
#- LOGOUT_ON_HOURS=
#export LOGOUT_IN=
#export LOGOUT_ON_HOURS=
# LOGOUT_ON_MINUTES : The number of minutes
# example : LOGOUT_ON_MINUTES=55
#- LOGOUT_ON_MINUTES=
#export LOGOUT_ON_MINUTES=
node main.js & >> ~/repos/wekan.log
cd ~/repos
node main.js & >> ~/repos/wekan.log
cd ~/repos
#done
+2 -2
View File
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
appVersion = 221,
appVersion = 226,
# Increment this for every release.
appMarketingVersion = (defaultText = "2.19.0~2019-02-09"),
appMarketingVersion = (defaultText = "2.24.0~2019-02-23"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
+2 -2
View File
@@ -76,8 +76,8 @@ Meteor.startup(() => {
authorizationEndpoint: process.env.OAUTH2_AUTH_ENDPOINT,
userinfoEndpoint: process.env.OAUTH2_USERINFO_ENDPOINT,
tokenEndpoint: process.env.OAUTH2_TOKEN_ENDPOINT,
idTokenWhitelistFields: [],
requestPermissions: ['openid'],
idTokenWhitelistFields: process.env.OAUTH2_ID_TOKEN_WHITELIST_FIELDS || [],
requestPermissions: process.env.OAUTH2_REQUEST_PERMISSIONS || ['openid'],
},
}
);
Executable → Regular
+49 -2
View File
@@ -3,9 +3,13 @@
# All supported keys are defined here together with descriptions and default values
# list of supported keys
keys="MONGODB_BIND_UNIX_SOCKET MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API CORS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OAUTH2_CLIENT_ID OAUTH2_SECRET OAUTH2_SERVER_URL OAUTH2_AUTH_ENDPOINT OAUTH2_USERINFO_ENDPOINT OAUTH2_TOKEN_ENDPOINT LDAP_ENABLE LDAP_PORT LDAP_HOST LDAP_BASEDN LDAP_LOGIN_FALLBACK LDAP_RECONNECT LDAP_TIMEOUT LDAP_IDLE_TIMEOUT LDAP_CONNECT_TIMEOUT LDAP_AUTHENTIFICATION LDAP_AUTHENTIFICATION_USERDN LDAP_AUTHENTIFICATION_PASSWORD LDAP_LOG_ENABLED LDAP_BACKGROUND_SYNC LDAP_BACKGROUND_SYNC_INTERVAL LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS LDAP_ENCRYPTION LDAP_CA_CERT LDAP_REJECT_UNAUTHORIZED LDAP_USER_SEARCH_FILTER LDAP_USER_SEARCH_SCOPE LDAP_USER_SEARCH_FIELD LDAP_SEARCH_PAGE_SIZE LDAP_SEARCH_SIZE_LIMIT LDAP_GROUP_FILTER_ENABLE LDAP_GROUP_FILTER_OBJECTCLASS LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT LDAP_GROUP_FILTER_GROUP_NAME LDAP_UNIQUE_IDENTIFIER_FIELD LDAP_UTF8_NAMES_SLUGIFY LDAP_USERNAME_FIELD LDAP_FULLNAME_FIELD LDAP_MERGE_EXISTING_USERS LDAP_SYNC_USER_DATA LDAP_SYNC_USER_DATA_FIELDMAP LDAP_SYNC_GROUP_ROLES LDAP_DEFAULT_DOMAIN LOGOUT_WITH_TIMER LOGOUT_IN LOGOUT_ON_HOURS LOGOUT_ON_MINUTES DEFAULT_AUTHENTICATION_METHOD"
keys="DEBUG MONGODB_BIND_UNIX_SOCKET MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API CORS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OAUTH2_CLIENT_ID OAUTH2_SECRET OAUTH2_SERVER_URL OAUTH2_AUTH_ENDPOINT OAUTH2_USERINFO_ENDPOINT OAUTH2_TOKEN_ENDPOINT OAUTH2_ID_MAP OAUTH2_USERNAME_MAP OAUTH2_FULLNAME_MAP OAUTH2_EMAIL_MAP OAUTH2_ID_TOKEN_WHITELIST_FIELDS OAUTH2_REQUEST_PERMISSIONS LDAP_ENABLE LDAP_PORT LDAP_HOST LDAP_BASEDN LDAP_LOGIN_FALLBACK LDAP_RECONNECT LDAP_TIMEOUT LDAP_IDLE_TIMEOUT LDAP_CONNECT_TIMEOUT LDAP_AUTHENTIFICATION LDAP_AUTHENTIFICATION_USERDN LDAP_AUTHENTIFICATION_PASSWORD LDAP_LOG_ENABLED LDAP_BACKGROUND_SYNC LDAP_BACKGROUND_SYNC_INTERVAL LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS LDAP_ENCRYPTION LDAP_CA_CERT LDAP_REJECT_UNAUTHORIZED LDAP_USER_SEARCH_FILTER LDAP_USER_SEARCH_SCOPE LDAP_USER_SEARCH_FIELD LDAP_SEARCH_PAGE_SIZE LDAP_SEARCH_SIZE_LIMIT LDAP_GROUP_FILTER_ENABLE LDAP_GROUP_FILTER_OBJECTCLASS LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT LDAP_GROUP_FILTER_GROUP_NAME LDAP_UNIQUE_IDENTIFIER_FIELD LDAP_UTF8_NAMES_SLUGIFY LDAP_USERNAME_FIELD LDAP_FULLNAME_FIELD LDAP_MERGE_EXISTING_USERS LDAP_SYNC_USER_DATA LDAP_SYNC_USER_DATA_FIELDMAP LDAP_SYNC_GROUP_ROLES LDAP_DEFAULT_DOMAIN LDAP_EMAIL_MATCH_ENABLE LDAP_EMAIL_MATCH_REQUIRE LDAP_EMAIL_MATCH_VERIFIED LDAP_EMAIL_FIELD LOGOUT_WITH_TIMER LOGOUT_IN LOGOUT_ON_HOURS LOGOUT_ON_MINUTES DEFAULT_AUTHENTICATION_METHOD"
# default values
DESCRIPTION_DEBUG="Debug OIDC OAuth2 etc. Example: sudo snap set wekan debug='true'"
DEFAULT_DEBUG="false"
KEY_DEBUG="debug"
DESCRIPTION_MONGODB_BIND_UNIX_SOCKET="mongodb binding unix socket:\n"\
"\t\t\t Default behaviour will preffer binding over unix socket, to disable unix socket binding set value to 'nill' string\n"\
"\t\t\t To bind to instance of mongodb provided through content interface,set value to relative path to the socket inside '$SNAP_DATA/shared' directory"
@@ -114,6 +118,34 @@ DESCRIPTION_OAUTH2_TOKEN_ENDPOINT="OAuth2 token endpoint. Example: /oauth/token"
DEFAULT_OAUTH2_TOKEN_ENDPOINT=""
KEY_OAUTH2_TOKEN_ENDPOINT="oauth2-token-endpoint"
DESCRIPTION_OAUTH2_ID_MAP="OAuth2 ID Mapping. Example: email"
DEFAULT_OAUTH2_ID_MAP=""
KEY_OAUTH2_ID_MAP="oauth2-id-map"
DESCRIPTION_OAUTH2_USERNAME_MAP="OAuth2 Username Mapping. Example: email"
DEFAULT_OAUTH2_USERNAME_MAP=""
KEY_OAUTH2_USERNAME_MAP="oauth2-username-map"
DESCRIPTION_OAUTH2_FULLNAME_MAP="OAuth2 Fullname Mapping. Example: name"
DEFAULT_OAUTH2_FULLNAME_MAP=""
KEY_OAUTH2_FULLNAME_MAP="oauth2-fullname-map"
DESCRIPTION_OAUTH2_FULLNAME_MAP="OAuth2 Fullname Mapping. Example: name"
DEFAULT_OAUTH2_FULLNAME_MAP=""
KEY_OAUTH2_FULLNAME_MAP="oauth2-fullname-map"
DESCRIPTION_OAUTH2_EMAIL_MAP="OAuth2 Email Mapping. Example: email"
DEFAULT_OAUTH2_EMAIL_MAP=""
KEY_OAUTH2_EMAIL_MAP="oauth2-email-map"
DESCRIPTION_OAUTH2_ID_TOKEN_WHITELIST_FIELDS="OAuth2 ID Token Whitelist Fields. Example: []"
DEFAULT_OAUTH2_ID_TOKEN_WHITELIST_FIELDS=""
KEY_OAUTH2_ID_TOKEN_WHITELIST_FIELDS="oauth2-id-token-whitelist-fields"
DESCRIPTION_OAUTH2_REQUEST_PERMISSIONS="OAuth2 Request Permissions. Example: [openid profile email]"
DEFAULT_OAUTH2_REQUEST_PERMISSIONS=""
KEY_OAUTH2_REQUEST_PERMISSIONS="oauth2-request-permissions"
DESCRIPTION_LDAP_ENABLE="Enable or not the connection by the LDAP"
DEFAULT_LDAP_ENABLE="false"
KEY_LDAP_ENABLE="ldap-enable"
@@ -258,6 +290,22 @@ DESCRIPTION_LDAP_MERGE_EXISTING_USERS="ldap-merge-existing-users . Default: fals
DEFAULT_LDAP_MERGE_EXISTING_USERS="false"
KEY_LDAP_MERGE_EXISTING_USERS="ldap-merge-existing-users"
DESCRIPTION_LDAP_EMAIL_MATCH_ENABLE="ldap-email-match-enable . Default: false"
DEFAULT_LDAP_EMAIL_MATCH_ENABLE="false"
KEY_LDAP_EMAIL_MATCH_ENABLE="ldap-email-match-enable"
DESCRIPTION_LDAP_EMAIL_MATCH_REQUIRE="ldap-email-match-require . Default: false"
DEFAULT_LDAP_EMAIL_MATCH_REQUIRE="false"
KEY_LDAP_EMAIL_MATCH_REQUIRE="ldap-email-match-require"
DESCRIPTION_LDAP_EMAIL_MATCH_VERIFIED="ldap-email-match-verified . Default: false"
DEFAULT_LDAP_EMAIL_MATCH_VERIFIED="false"
KEY_LDAP_EMAIL_MATCH_VERIFIED="ldap-email-match-verified"
DESCRIPTION_LDAP_EMAIL_FIELD="Which field contains the ldap e-mail address"
DEFAULT_LDAP_EMAIL_FIELD=""
KEY_LDAP_EMAIL_FIELD="ldap-email-field"
DESCRIPTION_LDAP_SYNC_USER_DATA="ldap-sync-user-data . Default: false"
DEFAULT_LDAP_SYNC_USER_DATA="false"
KEY_LDAP_SYNC_USER_DATA="ldap-sync-user-data"
@@ -290,7 +338,6 @@ DESCRIPTION_LOGOUT_ON_MINUTES="The number of minutes"
DEFAULT_LOGOUT_ON_MINUTES=""
KEY_LOGOUT_ON_MINUTES="logout-on-minutes"
DESCRIPTION_DEFAULT_AUTHENTICATION_METHOD="The default authentication method used if a user does not exist to create and authenticate. Method can be password or ldap."
DEFAULT_DEFAULT_AUTHENTICATION_METHOD=""
KEY_DEFAULT_AUTHENTICATION_METHOD="default-authentication-method"
Executable → Regular
+132 -82
View File
@@ -8,6 +8,13 @@ if [ "$CADDY_ENABLED" = "true" ]; then
fi
echo -e "Wekan: The open-source kanban.\n"
echo -e "\n"
echo -e "Debug OIDC OAuth2 etc."
echo -e "To enable the Debug of Wekan:"
echo -e "\t$ snap set $SNAP_NAME debug='true'"
echo -e "\t-Disable the Debug of Wekan:"
echo -e "\t$ snap set $SNAP_NAME debug='false'"
echo -e "\n"
echo -e "Make sure you have connected all interfaces, check more by calling $ snap interfaces ${SNAP_NAME}"
echo -e "\n"
echo -e "${SNAP_NAME} has multiple services, to check status use systemctl"
@@ -29,250 +36,293 @@ echo -e "\t\t-disable mongodb in $SNAP_NAME by calling: $ snap set $SNAP_NAME se
echo -e "\t\t-set mongodb-bind-unix-socket to point to serving mongodb. Use relative path inside shared directory, e.g run/mongodb-27017.sock"
echo -e "\n"
echo -e "To enable the API of wekan:"
echo -e "\t$ snap set $SNAP_NAME WITH_API='true'"
echo -e "\t$ snap set $SNAP_NAME with-api='true'"
echo -e "\t-Disable the API:"
echo -e "\t$ snap set $SNAP_NAME WITH_API='false'"
echo -e "\t$ snap set $SNAP_NAME with-api='false'"
echo -e "\n"
echo -e "To enable the CORS of wekan, to set Access-Control-Allow-Origin header:"
echo -e "\t$ snap set $SNAP_NAME CORS='*'"
echo -e "\t$ snap set $SNAP_NAME cors='*'"
echo -e "\t-Disable the CORS:"
echo -e "\t$ snap set $SNAP_NAME CORS=''"
echo -e "\t$ snap set $SNAP_NAME cors=''"
echo -e "\n"
echo -e "Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside."
echo -e "\t\t Setting this to false is not recommended, it also disables all other browser policy protections"
echo -e "\t\t and allows all iframing etc. See wekan/server/policy.js"
echo -e "To enable the Content Policy of Wekan:"
echo -e "\t$ snap set $SNAP_NAME CONTENT_POLICY_ENABLED='true'"
echo -e "\t-Disable the Content Policy of Wekan:"
echo -e "\t$ snap set $SNAP_NAME CONTENT_POLICY_ENABLED='false'"
echo -e "To enable the Browser Policy of Wekan:"
echo -e "\t$ snap set $SNAP_NAME browser-policy-enabled='true'"
echo -e "\t-Disable the Browser Policy of Wekan:"
echo -e "\t$ snap set $SNAP_NAME browser-policy-enabled='false'"
echo -e "\n"
echo -e "When browser policy is enabled, HTML code at this URL can have iframe that embeds Wekan inside."
echo -e "To enable the Trusted URL of Wekan:"
echo -e "\t$ snap set $SNAP_NAME TRUSTED_URL='https://example.com'"
echo -e "\t$ snap set $SNAP_NAME trusted-url='https://example.com'"
echo -e "\t-Disable the Trusted URL of Wekan:"
echo -e "\t$ snap set $SNAP_NAME TRUSTED_URL=''"
echo -e "\t$ snap set $SNAP_NAME trusted-url=''"
echo -e "\n"
echo -e "What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId ."
echo -e "To enable the Webhooks Attributes of Wekan:"
echo -e "\t$ snap set $SNAP_NAME WEBHOOKS_ATTRIBUTES='cardId,listId,oldListId,boardId,comment,user,card,commentId'"
echo -e "\t$ snap set $SNAP_NAME webhooks-attributes='cardId,listId,oldListId,boardId,comment,user,card,commentId'"
echo -e "\t-Disable the Webhooks Attributes of Wekan to send all default ones:"
echo -e "\t$ snap set $SNAP_NAME WEBHOOKS_ATTRIBUTES=''"
echo -e "\t$ snap set $SNAP_NAME webhooks-attributes=''"
echo -e "\n"
echo -e "OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345"
echo -e "OAuth2 Client ID."
echo -e "To enable the OAuth2 Client ID of Wekan:"
echo -e "\t$ snap set $SNAP_NAME OAUTH2_CLIENT_ID='54321abcde'"
echo -e "\t$ snap set $SNAP_NAME oauth2-client-id='54321abcde'"
echo -e "\t-Disable the OAuth2 Client ID of Wekan:"
echo -e "\t$ snap set $SNAP_NAME OAUTH2_CLIENT_ID=''"
echo -e "\t$ snap set $SNAP_NAME oauth2-client-id=''"
echo -e "\n"
echo -e "OAuth2 Secret, for example from Rocket.Chat. Example: 54321abcde"
echo -e "OAuth2 Secret."
echo -e "To enable the OAuth2 Secret of Wekan:"
echo -e "\t$ snap set $SNAP_NAME OAUTH2_SECRET='54321abcde'"
echo -e "\t$ snap set $SNAP_NAME oauth2-secret='54321abcde'"
echo -e "\t-Disable the OAuth2 Secret of Wekan:"
echo -e "\t$ snap set $SNAP_NAME OAUTH2_SECRET=''"
echo -e "\t$ snap set $SNAP_NAME oauth2-secret=''"
echo -e "\n"
echo -e "OAuth2 Server URL, for example Rocket.Chat. Example: https://chat.example.com"
echo -e "OAuth2 Server URL."
echo -e "To enable the OAuth2 Server URL of Wekan:"
echo -e "\t$ snap set $SNAP_NAME OAUTH2_SERVER_URL='https://chat.example.com'"
echo -e "\t$ snap set $SNAP_NAME oauth2-server-url='https://chat.example.com'"
echo -e "\t-Disable the OAuth2 Server URL of Wekan:"
echo -e "\t$ snap set $SNAP_NAME OAUTH2_SERVER_URL=''"
echo -e "\t$ snap set $SNAP_NAME oauth2-server-url=''"
echo -e "\n"
echo -e "OAuth2 Server URL, for example Rocket.Chat. Example: https://chat.example.com"
echo -e "To enable the OAuth2 Server URL of Wekan:"
echo -e "\t$ snap set $SNAP_NAME OAUTH2_SERVER_URL='https://chat.example.com'"
echo -e "\t-Disable the OAuth2 Server URL of Wekan:"
echo -e "\t$ snap set $SNAP_NAME OAUTH2_SERVER_URL=''"
echo -e "\n"
echo -e "OAuth2 Authorization Endpoint. Example: /oauth/authorize"
echo -e "OAuth2 Authorization Endpoint."
echo -e "To enable the OAuth2 Authorization Endpoint of Wekan:"
echo -e "\t$ snap set $SNAP_NAME OAUTH2_AUTH_ENDPOINT='/oauth/authorize'"
echo -e "\t$ snap set $SNAP_NAME oauth2-auth-endpoint='/oauth/authorize'"
echo -e "\t-Disable the OAuth2 Authorization Endpoint of Wekan:"
echo -e "\t$ snap set $SNAP_NAME OAUTH2_AUTH_ENDPOINT=''"
echo -e "\t$ snap set $SNAP_NAME oauth2-auth-endpoint=''"
echo -e "\n"
echo -e "OAuth2 Userinfo Endpoint. Example: /oauth/userinfo"
echo -e "OAuth2 Userinfo Endpoint."
echo -e "To enable the OAuth2 Userinfo Endpoint of Wekan:"
echo -e "\t$ snap set $SNAP_NAME OAUTH2_USERINFO_ENDPOINT='/oauth/authorize'"
echo -e "\t$ snap set $SNAP_NAME oauth2-userinfo-endpoint='/oauth/authorize'"
echo -e "\t-Disable the OAuth2 Userinfo Endpoint of Wekan:"
echo -e "\t$ snap set $SNAP_NAME OAUTH2_USERINFO_ENDPOINT=''"
echo -e "\t$ snap set $SNAP_NAME oauth2-userinfo-endpoint=''"
echo -e "\n"
echo -e "OAuth2 Token Endpoint. Example: /oauth/token"
echo -e "OAuth2 Token Endpoint."
echo -e "To enable the OAuth2 Token Endpoint of Wekan:"
echo -e "\t$ snap set $SNAP_NAME OAUTH2_TOKEN_ENDPOINT='/oauth/token'"
echo -e "\t$ snap set $SNAP_NAME oauth2-token-endpoint='/oauth/token'"
echo -e "\t-Disable the OAuth2 Token Endpoint of Wekan:"
echo -e "\t$ snap set $SNAP_NAME OAUTH2_TOKEN_ENDPOINT=''"
echo -e "\t$ snap set $SNAP_NAME oauth2-token-endpoint=''"
echo -e "\n"
echo -e "OAuth2 ID Mapping."
echo -e "To enable the OAuth2 ID Mapping of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oauth2-id-map='username.uid'"
echo -e "\t-Disable the OAuth2 ID Mapping of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oauth2-id-map=''"
echo -e "\n"
echo -e "OAuth2 Username Mapping."
echo -e "To enable the OAuth2 Username Mapping of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oauth2-username-map='username'"
echo -e "\t-Disable the OAuth2 Username Mapping of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oauth2-username-map=''"
echo -e "\n"
echo -e "OAuth2 Fullname Mapping."
echo -e "To enable the OAuth2 Fullname Mapping of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oauth2-fullname-map='fullname'"
echo -e "\t-Disable the OAuth2 Fullname Mapping of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oauth2-fullname-map=''"
echo -e "\n"
echo -e "OAuth2 Email Mapping."
echo -e "To enable the OAuth2 Email Mapping of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oauth2-email-map='email'"
echo -e "\t-Disable the OAuth2 Email Mapping of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oauth2-email-map=''"
echo -e "\n"
echo -e "OAuth2 ID Token Whitelist Fields."
echo -e "To enable the OAuth2 ID Token Whitelist Fields of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oauth2-id-token-whitelist-fields='[]'"
echo -e "\t-Disable the OAuth2 ID Token Whitelist Fields of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oauth2-id-token-whitelist-fields=''"
echo -e "\n"
echo -e "OAuth2 Request Permissions."
echo -e "To enable the OAuth2 Request Permissions of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oauth2-request-permissions='[openid profile email]'"
echo -e "\t-Disable the OAuth2 Request Permissions of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oauth2-request-permissions=''"
echo -e "\n"
echo -e "Ldap Enable."
echo -e "To enable the ldap of Wekan:"
echo -e "\t$ snap set $SNAP_NAME LDAP_ENABLE='true'"
echo -e "\t$ snap set $SNAP_NAME ldap-enable='true'"
echo -e "\t-Disable the ldap of Wekan:"
echo -e "\t$ snap set $SNAP_NAME LDAP_ENABLE='false'"
echo -e "\t$ snap set $SNAP_NAME ldap-enable='false'"
echo -e "\n"
echo -e "Ldap Port."
echo -e "The port of the ldap server:"
echo -e "\t$ snap set $SNAP_NAME LDAP_PORT='12345'"
echo -e "\t$ snap set $SNAP_NAME ldap-port='12345'"
echo -e "\n"
echo -e "Ldap Host."
echo -e "The host server for the LDAP server:"
echo -e "\t$ snap set $SNAP_NAME LDAP_HOST='localhost'"
echo -e "\t$ snap set $SNAP_NAME ldap-host='localhost'"
echo -e "\n"
echo -e "Ldap Base Dn."
echo -e "The base DN for the LDAP Tree:"
echo -e "\t$ snap set $SNAP_NAME LDAP_BASEDN='ou=user,dc=example,dc=org'"
echo -e "\t$ snap set $SNAP_NAME ldap-basedn='ou=user,dc=example,dc=org'"
echo -e "\n"
echo -e "Ldap Login Fallback."
echo -e "Fallback on the default authentication method:"
echo -e "\t$ snap set $SNAP_NAME LDAP_LOGIN_FALLBACK='true'"
echo -e "\t$ snap set $SNAP_NAME ldap-login-fallback='true'"
echo -e "\n"
echo -e "Ldap Reconnect."
echo -e "Reconnect to the server if the connection is lost:"
echo -e "\t$ snap set $SNAP_NAME LDAP_RECONNECT='false'"
echo -e "\t$ snap set $SNAP_NAME ldap-reconnect='false'"
echo -e "\n"
echo -e "Ldap Timeout."
echo -e "Overall timeout, in milliseconds:"
echo -e "\t$ snap set $SNAP_NAME LDAP_TIMEOUT='12345'"
echo -e "\t$ snap set $SNAP_NAME ldap-timeout='12345'"
echo -e "\n"
echo -e "Ldap Idle Timeout."
echo -e "Specifies the timeout for idle LDAP connections in milliseconds:"
echo -e "\t$ snap set $SNAP_NAME LDAP_IDLE_TIMEOUT='12345'"
echo -e "\t$ snap set $SNAP_NAME ldap-idle-timeout='12345'"
echo -e "\n"
echo -e "Ldap Connect Timeout."
echo -e "Connection timeout, in milliseconds:"
echo -e "\t$ snap set $SNAP_NAME LDAP_CONNECT_TIMEOUT='12345'"
echo -e "\t$ snap set $SNAP_NAME ldap-connect-timeout='12345'"
echo -e "\n"
echo -e "Ldap Authentication."
echo -e "If the LDAP needs a user account to search:"
echo -e "\t$ snap set $SNAP_NAME LDAP_AUTHENTIFICATION='true'"
echo -e "\t$ snap set $SNAP_NAME ldap-authentication='true'"
echo -e "\n"
echo -e "Ldap Authentication User Dn."
echo -e "The search user Dn:"
echo -e "\t$ snap set $SNAP_NAME LDAP_AUTHENTIFICATION_USERDN='cn=admin,dc=example,dc=org'"
echo -e "\t$ snap set $SNAP_NAME ldap-authentication-userdn='cn=admin,dc=example,dc=org'"
echo -e "\n"
echo -e "Ldap Authentication Password."
echo -e "The password for the search user:"
echo -e "\t$ snap set $SNAP_NAME AUTHENTIFICATION_PASSWORD='admin'"
echo -e "\t$ snap set $SNAP_NAME ldap-authentication-password='admin'"
echo -e "\n"
echo -e "Ldap Log Enabled."
echo -e "Enable logs for the module:"
echo -e "\t$ snap set $SNAP_NAME LDAP_LOG_ENABLED='true'"
echo -e "\t$ snap set $SNAP_NAME ldap-log-enabled='true'"
echo -e "\n"
echo -e "Ldap Background Sync."
echo -e "If the sync of the users should be done in the background:"
echo -e "\t$ snap set $SNAP_NAME LDAP_BACKGROUND_SYNC='true'"
echo -e "\t$ snap set $SNAP_NAME ldap-background-sync='true'"
echo -e "\n"
echo -e "Ldap Background Sync Interval."
echo -e "At which interval does the background task sync in milliseconds:"
echo -e "\t$ snap set $SNAP_NAME LDAP_BACKGROUND_SYNC_INTERVAL='12345'"
echo -e "\t$ snap set $SNAP_NAME ldap-background-sync-interval='12345'"
echo -e "\n"
echo -e "Ldap Background Sync Keep Existant Users Updated."
echo -e "\t$ snap set $SNAP_NAME LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED='true'"
echo -e "\t$ snap set $SNAP_NAME ldap-background-sync-keep-existant-users-updated='true'"
echo -e "\n"
echo -e "Ldap Background Sync Import New Users."
echo -e "\t$ snap set $SNAP_NAME LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS='true'"
echo -e "\t$ snap set $SNAP_NAME ldap-background-sync-import-new-users='true'"
echo -e "\n"
echo -e "Ldap Encryption."
echo -e "Allow LDAPS:"
echo -e "\t$ snap set $SNAP_NAME LDAP_ENCRYPTION='ssl'"
echo -e "\t$ snap set $SNAP_NAME ldap-encryption='ssl'"
echo -e "\n"
echo -e "Ldap Ca Cert."
echo -e "The certification for the LDAPS server:"
echo -e "\t$ snap set $SNAP_NAME LDAP_CA_CERT=-----BEGIN CERTIFICATE-----MIIE+zCCA+OgAwIBAgIkAhwR/6TVLmdRY6hHxvUFWc0+Enmu/Hu6cj+G2FIdAgIC...-----END CERTIFICATE-----"
echo -e "\t$ snap set $SNAP_NAME ldap-ca-cert=-----BEGIN CERTIFICATE-----MIIE+zCCA+OgAwIBAgIkAhwR/6TVLmdRY6hHxvUFWc0+Enmu/Hu6cj+G2FIdAgIC...-----END CERTIFICATE-----"
echo -e "\n"
echo -e "Ldap Reject Unauthorized."
echo -e "Reject Unauthorized Certificate:"
echo -e "\t$ snap set $SNAP_NAME LDAP_REJECT_UNAUTHORIZED='true'"
echo -e "\t$ snap set $SNAP_NAME ldap-reject-unauthorized='true'"
echo -e "\n"
echo -e "Ldap User Search Filter."
echo -e "Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed:"
echo -e "\t$ snap set $SNAP_NAME LDAP_USER_SEARCH_FILTER=''"
echo -e "\t$ snap set $SNAP_NAME ldap-user-search-filter=''"
echo -e "\n"
echo -e "Ldap User Search Scope."
echo -e "base (search only in the provided DN), one (search only in the provided DN and one level deep), or sub (search the whole subtree). Example: one"
echo -e "\t$ snap set $SNAP_NAME LDAP_USER_SEARCH_SCOPE=one"
echo -e "\t$ snap set $SNAP_NAME ldap-user-search-scope=one"
echo -e "\n"
echo -e "Ldap User Search Field."
echo -e "Which field is used to find the user:"
echo -e "\t$ snap set $SNAP_NAME LDAP_USER_SEARCH_FIELD='uid'"
echo -e "\t$ snap set $SNAP_NAME ldap-user-search-field='uid'"
echo -e "\n"
echo -e "Ldap Search Page Size."
echo -e "Used for pagination (0=unlimited):"
echo -e "\t$ snap set $SNAP_NAME LDAP_SEARCH_PAGE_SIZE='12345'"
echo -e "\t$ snap set $SNAP_NAME ldap-search-page-size='12345'"
echo -e "\n"
echo -e "Ldap Search Size Limit."
echo -e "The limit number of entries (0=unlimited):"
echo -e "\t$ snap set $SNAP_NAME LDAP_SEARCH_SIZE_LIMIT='12345'"
echo -e "\t$ snap set $SNAP_NAME ldap-search-size-limit='12345'"
echo -e "\n"
echo -e "Ldap Group Filter Enable."
echo -e "Enable group filtering:"
echo -e "\t$ snap set $SNAP_NAME LDAP_GROUP_FILTER_ENABLE='true'"
echo -e "\t$ snap set $SNAP_NAME ldap-group-filter-enable='true'"
echo -e "\n"
echo -e "Ldap Group Filter ObjectClass."
echo -e "The object class for filtering:"
echo -e "\t$ snap set $SNAP_NAME LDAP_GROUP_FILTER_OBJECTCLASS='group'"
echo -e "\t$ snap set $SNAP_NAME ldap-group-filter-objectclass='group'"
echo -e "\n"
echo -e "Ldap Group Filter Id Attribute."
echo -e "\t$ snap set $SNAP_NAME LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE=''"
echo -e "\t$ snap set $SNAP_NAME ldap-group-filter-group-id-attribute=''"
echo -e "\n"
echo -e "Ldap Group Filter Member Attribute."
echo -e "\t$ snap set $SNAP_NAME LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE=''"
echo -e "\t$ snap set $SNAP_NAME ldap-group-filter-group-member-attribute=''"
echo -e "\n"
echo -e "Ldap Group Filter Member Format."
echo -e "\t$ snap set $SNAP_NAME LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT=''"
echo -e "\t$ snap set $SNAP_NAME ldap-group-filter-group-member-format=''"
echo -e "\n"
echo -e "Ldap Group Filter Group Name."
echo -e "\t$ snap set $SNAP_NAME LDAP_GROUP_FILTER_GROUP_NAME=''"
echo -e "\t$ snap set $SNAP_NAME ldap-group-filter-group-name=''"
echo -e "\n"
echo -e "Ldap Unique Identifier Field."
echo -e "This field is sometimes class GUID (Globally Unique Identifier):"
echo -e "\t$ snap set $SNAP_NAME LDAP_UNIQUE_IDENTIFIER_FIELD=guid"
echo -e "\t$ snap set $SNAP_NAME ldap-unique-identifier-field=guid"
echo -e "\n"
echo -e "Ldap Utf8 Names Slugify."
echo -e "Convert the username to utf8:"
echo -e "\t$ snap set $SNAP_NAME LDAP_UTF8_NAMES_SLUGIFY='false'"
echo -e "\t$ snap set $SNAP_NAME ldap-utf8-names-slugify='false'"
echo -e "\n"
echo -e "Ldap Username Field."
echo -e "Which field contains the ldap username:"
echo -e "\t$ snap set $SNAP_NAME LDAP_USERNAME_FIELD='username'"
echo -e "\t$ snap set $SNAP_NAME ldap-username-field='username'"
echo -e "\n"
echo -e "Ldap Fullname Field."
echo -e "Which field contains the ldap fullname:"
echo -e "\t$ snap set $SNAP_NAME LDAP_FULLNAME_FIELD='fullname'"
echo -e "\t$ snap set $SNAP_NAME ldap-fullname-field='fullname'"
echo -e "\n"
echo -e "Ldap Merge Existing Users."
echo -e "\t$ snap set $SNAP_NAME LDAP_MERGE_EXISTING_USERS='true'"
echo -e "\t$ snap set $SNAP_NAME ldap-merge-existing-users='true'"
echo -e "\n"
echo -e "Ldap Email Match Enable."
echo -e "\t$ snap set $SNAP_NAME ldap-email-match-enable='true'"
echo -e "\n"
echo -e "Ldap Email Match Require."
echo -e "\t$ snap set $SNAP_NAME ldap-email-match-require='true'"
echo -e "\n"
echo -e "Ldap Email Match Verified."
echo -e "\t$ snap set $SNAP_NAME ldap-email-match-verfied='false'"
echo -e "\n"
echo -e "Ldap Fullname Field."
echo -e "Which field contains the ldap email address:"
echo -e "\t$ snap set $SNAP_NAME ldap-fullname-field='fullname'"
echo -e "\n"
echo -e "Ldap Sync User Data."
echo -e "Enable synchronization of user data:"
echo -e "\t$ snap set $SNAP_NAME LDAP_SYNC_USER_DATA='true'"
echo -e "\t$ snap set $SNAP_NAME ldap-sync-user-data='true'"
echo -e "\n"
echo -e "Ldap Sync User Data Fieldmap."
echo -e "A field map for the matching:"
echo -e "\t$ snap set $SNAP_NAME LDAP_SYNC_USER_DATA_FIELDMAP={\"cn\":\"name\", \"mail\":\"email\"}"
echo -e "\t$ snap set $SNAP_NAME ldap-sync-user-data-fieldmap={\"cn\":\"name\", \"mail\":\"email\"}"
echo -e "\n"
echo -e "Ldap Sync Group Roles."
echo -e "\t$ snap set $SNAP_NAME LDAP_SYNC_GROUP_ROLES=''"
echo -e "\t$ snap set $SNAP_NAME ldap-sync-group-roles=''"
echo -e "\n"
echo -e "Ldap Default Domain."
echo -e "The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP:"
echo -e "\t$ snap set $SNAP_NAME LDAP_DEFAULT_DOMAIN=''"
echo -e "\t$ snap set $SNAP_NAME ldap-default-domain=''"
echo -e "\n"
# echo -e "Logout with timer."
# echo -e "Enable or not the option that allows to disconnect an user after a given time:"
# echo -e "\t$ snap set $SNAP_NAME LOGOUT_WITH_TIMER='true'"
# echo -e "\t$ snap set $SNAP_NAME logout-with-timer='true'"
# echo -e "\n"
# echo -e "Logout in."
# echo -e "Logout in how many days:"
# echo -e "\t$ snap set $SNAP_NAME LOGOUT_IN='1'"
# echo -e "\t$ snap set $SNAP_NAME logout-in='1'"
# echo -e "\n"
# echo -e "Logout on hours."
# echo -e "Logout in how many hours:"
# echo -e "\t$ snap set $SNAP_NAME LOGOUT_ON_HOURS='9'"
# echo -e "\t$ snap set $SNAP_NAME logout-on-hours='9'"
# echo -e "\n"
# echo -e "Logout on minutes."
# echo -e "Logout in how many minutes:"
# echo -e "\t$ snap set $SNAP_NAME LOGOUT_ON_MINUTES='5'"
# echo -e "\t$ snap set $SNAP_NAME logout-on-minutes='5'"
# echo -e "\n"
echo -e "Default authentication method."
echo -e "The default authentication method used if a user does not exist to create and authenticate. Method can be password or ldap."
echo -e "\t$ snap set $SNAP_NAME DEFAULT_AUTHENTICATION_METHOD='ldap'"
echo -e "\t$ snap set $SNAP_NAME default-authentication-method='ldap'"
echo -e "\n"
# parse config file for supported settings keys
echo -e "wekan supports settings keys"
+29 -1
View File
@@ -1,3 +1,10 @@
REM ------------------------------------------------------------
REM # Debug OIDC OAuth2 etc.
REM SET DEBUG=true
REM ------------------------------------------------------------
SET MONGO_URL=mongodb://127.0.0.1:27017/wekan
SET ROOT_URL=http://127.0.0.1:2000/
SET MAIL_URL=smtp://user:pass@mailserver.example.com:25/
@@ -67,6 +74,11 @@ REM # OAuth2 Token Endpoint. Example: /oauth/token
REM # example: OAUTH2_TOKEN_ENDPOINT=/oauth/token
REM SET OAUTH2_TOKEN_ENDPOINT=
REM # OAUTH2 ID Token Whitelist Fields.
REM SET OAUTH2_ID_TOKEN_WHITELIST_FIELDS=[]
REM # OAUTH2 Request Permissions.
REM SET OAUTH2_REQUEST_PERMISSIONS=[openid email profile]
REM ------------------------------------------------------------
REM # LDAP_ENABLE : Enable or not the connection by the LDAP
@@ -209,6 +221,22 @@ REM # LDAP_MERGE_EXISTING_USERS :
REM # example : LDAP_MERGE_EXISTING_USERS=true
REM SET LDAP_MERGE_EXISTING_USERS=false
REM # LDAP_EMAIL_MATCH_ENABLE : allow existing account matching by e-mail address when username does not match
REM # example: LDAP_EMAIL_MATCH_ENABLE=true
REM SET LDAP_EMAIL_MATCH_ENABLE=false
REM # LDAP_EMAIL_MATCH_REQUIRE : require existing account matching by e-mail address when username does match
REM # example: LDAP_EMAIL_MATCH_REQUIRE=true
REM SET LDAP_EMAIL_MATCH_REQUIRE=false
REM # LDAP_EMAIL_MATCH_VERIFIED : require existing account email address to be verified for matching
REM # example: LDAP_EMAIL_MATCH_VERIFIED=true
REM SET LDAP_EMAIL_MATCH_VERIFIED=false
REM # LDAP_EMAIL_FIELD : which field contains the LDAP e-mail address
REM # example: LDAP_EMAIL_FIELD=mail
REM SET LDAP_EMAIL_FIELD=
REM # LDAP_SYNC_USER_DATA :
REM # example : LDAP_SYNC_USER_DATA=true
REM SET LDAP_SYNC_USER_DATA=false
@@ -245,4 +273,4 @@ REM SET LOGOUT_ON_MINUTES=
cd .build\bundle
node main.js
cd ..\..
cd ..\..
Executable → Regular
+84 -23
View File
@@ -20,6 +20,10 @@ function wekan_repo_check(){
#while true; do
wekan_repo_check
cd .build/bundle
#---------------------------------------------
# Debug OIDC OAuth2 etc.
#export DEBUG=true
#---------------------------------------------
export MONGO_URL='mongodb://127.0.0.1:27019/wekan'
#---------------------------------------------
# Production: https://example.com/wekan
@@ -41,7 +45,7 @@ function wekan_repo_check(){
export WITH_API='true'
#---------------------------------------------
# CORS: Set Access-Control-Allow-Origin header. Example: *
#- CORS=*
#export CORS=*
#---------------------------------------------
## Optional: Integration with Matomo https://matomo.org that is installed to your server
## The address of the server where Matomo is hosted:
@@ -68,25 +72,70 @@ function wekan_repo_check(){
# Example: export WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId
export WEBHOOKS_ATTRIBUTES=''
#---------------------------------------------
# ==== OAUTH2 AZURE ====
# https://github.com/wekan/wekan/wiki/Azure
# 1) Register the application with Azure. Make sure you capture
# the application ID as well as generate a secret key.
# 2) Configure the environment variables. This differs slightly
# by installation type, but make sure you have the following:
#export OAUTH2_ENABLED=true
# Application GUID captured during app registration:
#export OAUTH2_CLIENT_ID=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
# Secret key generated during app registration:
#export OAUTH2_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#export OAUTH2_SERVER_URL=https://login.microsoftonline.com/
#export OAUTH2_AUTH_ENDPOINT=/oauth2/v2.0/authorize
#export OAUTH2_USERINFO_ENDPOINT=https://graph.microsoft.com/oidc/userinfo
#export OAUTH2_TOKEN_ENDPOINT=/oauth2/v2.0/token
# The claim name you want to map to the unique ID field:
#export OAUTH2_ID_MAP=email
# The claim name you want to map to the username field:
#export OAUTH2_USERNAME_MAP=email
# The claim name you want to map to the full name field:
#export OAUTH2_FULLNAME_MAP=name
# The claim name you want to map to the email field:
#export OAUTH2_EMAIL_MAP=email
# OAUTH2 ID Token Whitelist Fields.
#export OAUTH2_ID_TOKEN_WHITELIST_FIELDS=[]
# OAUTH2 Request Permissions.
#export OAUTH2_REQUEST_PERMISSIONS=[openid profile email]
#-----------------------------------------------------------------
# ==== OAUTH2 KEYCLOAK ====
# https://github.com/wekan/wekan/wiki/Keycloak <== MAPPING INFO, REQUIRED
#export OAUTH2_ENABLED=true
#export OAUTH2_CLIENT_ID=<Keycloak create Client ID>
#export OAUTH2_SERVER_URL=<Keycloak server name>/auth
#export OAUTH2_AUTH_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/auth
#export OAUTH2_USERINFO_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/userinfo
#export OAUTH2_TOKEN_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/token
#export OAUTH2_SECRET=<keycloak client secret>
#-----------------------------------------------------------------
# ==== OAUTH2 DOORKEEPER ====
# https://github.com/wekan/wekan/issues/1874
# https://github.com/wekan/wekan/wiki/OAuth2
# Enable the OAuth2 connection
#export OAUTH2_ENABLED=true
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
# OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345
# example: export OAUTH2_CLIENT_ID=abcde12345
#export OAUTH2_CLIENT_ID=''
# OAuth2 Secret, for example from Rocket.Chat: Example: 54321abcde
# example: export OAUTH2_SECRET=54321abcde
#export OAUTH2_SECRET=''
# OAuth2 Server URL, for example Rocket.Chat. Example: https://chat.example.com
# example: export OAUTH2_SERVER_URL=https://chat.example.com
#export OAUTH2_SERVER_URL=''
# OAuth2 Authorization Endpoint. Example: /oauth/authorize
# example: export OAUTH2_AUTH_ENDPOINT=/oauth/authorize
#export OAUTH2_AUTH_ENDPOINT=''
# OAuth2 Userinfo Endpoint. Example: /oauth/userinfo
# example: export OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
#export OAUTH2_USERINFO_ENDPOINT=''
# OAuth2 Token Endpoint. Example: /oauth/token
# example: export OAUTH2_TOKEN_ENDPOINT=/oauth/token
#export OAUTH2_TOKEN_ENDPOINT=''
# OAuth2 Client ID.
#export OAUTH2_CLIENT_ID=abcde12345
# OAuth2 Secret.
#export OAUTH2_SECRET=54321abcde
# OAuth2 Server URL.
#export OAUTH2_SERVER_URL=https://chat.example.com
# OAuth2 Authorization Endpoint.
#export OAUTH2_AUTH_ENDPOINT=/oauth/authorize
# OAuth2 Userinfo Endpoint.
#export OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
# OAuth2 Token Endpoint.
#export OAUTH2_TOKEN_ENDPOINT=/oauth/token
# OAuth2 ID Mapping
#export OAUTH2_ID_MAP=
# OAuth2 Username Mapping
#export OAUTH2_USERNAME_MAP=
# OAuth2 Fullname Mapping
#export OAUTH2_FULLNAME_MAP=
# OAuth2 Email Mapping
#export OAUTH2_EMAIL_MAP=
#---------------------------------------------
# LDAP_ENABLE : Enable or not the connection by the LDAP
# example : export LDAP_ENABLE=true
@@ -196,6 +245,18 @@ function wekan_repo_check(){
# LDAP_MERGE_EXISTING_USERS :
# example : export LDAP_MERGE_EXISTING_USERS=true
#export LDAP_MERGE_EXISTING_USERS=false
# LDAP_EMAIL_MATCH_ENABLE : allow existing account matching by e-mail address when username does not match
# example: LDAP_EMAIL_MATCH_ENABLE=true
#export LDAP_EMAIL_MATCH_ENABLE=false
# LDAP_EMAIL_MATCH_REQUIRE : require existing account matching by e-mail address when username does match
# example: LDAP_EMAIL_MATCH_REQUIRE=true
#export LDAP_EMAIL_MATCH_REQUIRE=false
# LDAP_EMAIL_MATCH_VERIFIED : require existing account email address to be verified for matching
# example: LDAP_EMAIL_MATCH_VERIFIED=true
#export LDAP_EMAIL_MATCH_VERIFIED=false
# LDAP_EMAIL_FIELD : which field contains the LDAP e-mail address
# example: LDAP_EMAIL_FIELD=mail
#export LDAP_EMAIL_FIELD=
# LDAP_SYNC_USER_DATA :
# example : export LDAP_SYNC_USER_DATA=true
#export LDAP_SYNC_USER_DATA=false
@@ -210,14 +271,14 @@ function wekan_repo_check(){
#export LDAP_DEFAULT_DOMAIN=
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer
# example : LOGOUT_WITH_TIMER=true
#- LOGOUT_WITH_TIMER=
#export LOGOUT_WITH_TIMER=
# LOGOUT_IN : The number of days
# example : LOGOUT_IN=1
#- LOGOUT_IN=
#- LOGOUT_ON_HOURS=
#export LOGOUT_IN=
#export LOGOUT_ON_HOURS=
# LOGOUT_ON_MINUTES : The number of minutes
# example : LOGOUT_ON_MINUTES=55
#- LOGOUT_ON_MINUTES=
#export LOGOUT_ON_MINUTES=
node main.js
# & >> ../../wekan.log