Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
833f19a5cd | ||
|
|
174ffd0967 | ||
|
|
c4f0229373 | ||
|
|
a54bb91bba | ||
|
|
f78a8f2b55 | ||
|
|
be4b2a0504 | ||
|
|
c74934836f | ||
|
|
ec35c544b7 | ||
|
|
2bd48bc45c | ||
|
|
67ecee8322 | ||
|
|
a7b8611c70 | ||
|
|
dacaea7443 | ||
|
|
a7f7e00a14 | ||
|
|
5db3dcf8da | ||
|
|
66e011c71b | ||
|
|
d2ea240ed4 | ||
|
|
61bc6d3b7a | ||
|
|
f414fe447d | ||
|
|
98e3b0ce77 | ||
|
|
84ba42f42e | ||
|
|
7cc1ffcab2 | ||
|
|
669cd76018 | ||
|
|
8108158573 | ||
|
|
268f9de23c | ||
|
|
9fc7d0e825 |
No files matched your search
@@ -75,7 +75,6 @@ horka:swipebox
|
||||
dynamic-import@0.5.1
|
||||
staringatlights:fast-render
|
||||
|
||||
mixmax:smart-disconnect
|
||||
accounts-password@1.5.1
|
||||
cfs:gridfs
|
||||
rzymek:fullcalendar
|
||||
|
||||
@@ -104,7 +104,6 @@ minifier-css@1.4.2
|
||||
minifier-js@2.4.1
|
||||
minifiers@1.1.8-faster-rebuild.0
|
||||
minimongo@1.4.5
|
||||
mixmax:smart-disconnect@0.0.4
|
||||
mobile-status-bar@1.0.14
|
||||
modern-browsers@0.1.4
|
||||
modules@0.13.0
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
dependencies:
|
||||
- libreadline-dev
|
||||
- libssl-dev
|
||||
- bsdtar
|
||||
targets:
|
||||
ubuntu-18.04:
|
||||
ubuntu-16.04:
|
||||
ubuntu-14.04:
|
||||
centos-6:
|
||||
centos-7:
|
||||
debian-10:
|
||||
sles-12:
|
||||
sles-11:
|
||||
+34
-2
@@ -1,4 +1,36 @@
|
||||
# v3.02 Upcoming Wekan release
|
||||
# v3.03 2019-08-04 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Add RICHER_CARD_COMMENT_EDITOR=true to docker-compose.yml](https://github.com/wekan/wekan/commit/268f9de23c8167dca9499587ee31fb74edb6b83e).
|
||||
Thanks to xet7.
|
||||
- [Add popup to confirm deleting one account](https://github.com/wekan/wekan/pull/2573).
|
||||
Thanks to Akuket.
|
||||
- [Add admin setting to prevent users to self deleting their account](https://github.com/wekan/wekan/pull/2573).
|
||||
Thanks to Akuket.
|
||||
- [Add Packager.io DEB/RPM Wekan packages for Debian/Ubuntu/CentOS/SLES](https://packager.io/gh/wekan/wekan).
|
||||
Does not work yet, [debugging in progress here](https://github.com/wekan/wekan/issues/2582).
|
||||
Thanks to xet7 and sfahrenholz.
|
||||
- [Add setting field LDAP_USER_AUTHENTICATION_FIELD=uid](https://github.com/wekan/wekan/pull/2581).
|
||||
Thanks to Trekky12.
|
||||
|
||||
and adds the following upgrades:
|
||||
|
||||
- [Upgrade MongoDB to 4.0.11](https://github.com/wekan/wekan/commit/ec35c544b780e563a973fd887c5190f429431bfb).
|
||||
Thanks to xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Remove mixmax:smart-disconnect, previously it did disconnect Wekan when
|
||||
browser tab was not active, but because now users are working on multiple
|
||||
boards at different browser tabs and switching all time time, there was
|
||||
constant loading, so now after removing all tabs keeps active. This can
|
||||
increase server CPU usage](https://github.com/wekan/wekan/commit/669cd76018cbbfbd3ee58610a35959fa8a84ea36).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v3.02 2019-07-26 Wekan release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
@@ -10,7 +42,7 @@ and fixes the following bugs:
|
||||
- [Set LDAP_BACKGROUND_SYNC_INTERVAL='' (empty string) so it works](https://github.com/wekan/wekan/commit/fff144a8279ac36ce83e6b975f17f6dbc35f39d6)
|
||||
and [does not crash](https://github.com/wekan/wekan/issues/2354#issuecomment-515305722).
|
||||
Also updated wekan-postgresql docker-compose.yml to use devel branch docker image, because ToroDB requires MongoDB 3.2,
|
||||
it's not tested yet could newest master branch docker image work with MongoDB 3.2.
|
||||
it's not tested yet could newest master branch docker image work with MongoDB 3.2.
|
||||
Thanks to benh57 and xet7.
|
||||
|
||||
and tries to fix following bugs:
|
||||
|
||||
@@ -70,6 +70,7 @@ ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 g++ build-essential
|
||||
LDAP_CA_CERT="" \
|
||||
LDAP_REJECT_UNAUTHORIZED=false \
|
||||
LDAP_USER_AUTHENTICATION=false \
|
||||
LDAP_USER_AUTHENTICATION_FIELD=uid \
|
||||
LDAP_USER_SEARCH_FILTER="" \
|
||||
LDAP_USER_SEARCH_SCOPE="" \
|
||||
LDAP_USER_SEARCH_FIELD="" \
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v3.02.0"
|
||||
appVersion: "v3.03.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -243,8 +243,8 @@ Template.editUserPopup.events({
|
||||
} else Popup.close();
|
||||
},
|
||||
|
||||
'click #deleteButton'() {
|
||||
'click #deleteButton': Popup.afterConfirm('userDelete', function() {
|
||||
Users.remove(this.userId);
|
||||
Popup.close();
|
||||
},
|
||||
}),
|
||||
});
|
||||
@@ -113,6 +113,14 @@ template(name='accountSettings')
|
||||
span {{_ 'yes'}}
|
||||
input.wekan-form-control#accounts-allowUserNameChange(type="radio" name="allowUserNameChange" value="false" checked="{{#unless allowUserNameChange}}checked{{/unless}}")
|
||||
span {{_ 'no'}}
|
||||
li
|
||||
li.accounts-form
|
||||
.title {{_ 'accounts-allowUserDelete'}}
|
||||
.form-group.flex
|
||||
input.wekan-form-control#accounts-allowUserDelete(type="radio" name="allowUserDelete" value="true" checked="{{#if allowUserDelete}}checked{{/if}}")
|
||||
span {{_ 'yes'}}
|
||||
input.wekan-form-control#accounts-allowUserDelete(type="radio" name="allowUserDelete" value="false" checked="{{#unless allowUserDelete}}checked{{/unless}}")
|
||||
span {{_ 'no'}}
|
||||
li
|
||||
button.js-accounts-save.primary {{_ 'save'}}
|
||||
|
||||
|
||||
@@ -233,12 +233,17 @@ BlazeComponent.extendComponent({
|
||||
$('input[name=allowEmailChange]:checked').val() === 'true';
|
||||
const allowUserNameChange =
|
||||
$('input[name=allowUserNameChange]:checked').val() === 'true';
|
||||
const allowUserDelete =
|
||||
$('input[name=allowUserDelete]:checked').val() === 'true';
|
||||
AccountSettings.update('accounts-allowEmailChange', {
|
||||
$set: { booleanValue: allowEmailChange },
|
||||
});
|
||||
AccountSettings.update('accounts-allowUserNameChange', {
|
||||
$set: { booleanValue: allowUserNameChange },
|
||||
});
|
||||
AccountSettings.update('accounts-allowUserDelete', {
|
||||
$set: { booleanValue: allowUserDelete },
|
||||
});
|
||||
},
|
||||
|
||||
allowEmailChange() {
|
||||
@@ -247,6 +252,9 @@ BlazeComponent.extendComponent({
|
||||
allowUserNameChange() {
|
||||
return AccountSettings.findOne('accounts-allowUserNameChange').booleanValue;
|
||||
},
|
||||
allowUserDelete() {
|
||||
return AccountSettings.findOne('accounts-allowUserDelete').booleanValue;
|
||||
},
|
||||
|
||||
events() {
|
||||
return [
|
||||
|
||||
@@ -55,8 +55,9 @@ template(name="editProfilePopup")
|
||||
input.js-profile-email(type="email" value="{{emails.[0].address}}" readonly)
|
||||
div.buttonsContainer
|
||||
input.primary.wide(type="submit" value="{{_ 'save'}}")
|
||||
div
|
||||
input#deleteButton.primary.wide(type="button" value="{{_ 'delete'}}")
|
||||
if allowUserDelete
|
||||
div
|
||||
input#deleteButton.primary.wide(type="button" value="{{_ 'delete'}}")
|
||||
|
||||
template(name="changePasswordPopup")
|
||||
+atForm(state='changePwd')
|
||||
@@ -82,3 +83,8 @@ template(name="changeSettingsPopup")
|
||||
| {{_ 'show-cards-minimum-count'}}
|
||||
input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="0" max="99" onkeydown="return false")
|
||||
input.js-apply-show-cards-at.left(type="submit" value="{{_ 'apply'}}")
|
||||
|
||||
|
||||
template(name="userDeletePopup")
|
||||
p {{_ 'delete-user-confirm-popup'}}
|
||||
button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
|
||||
@@ -35,6 +35,9 @@ Template.editProfilePopup.helpers({
|
||||
allowUserNameChange() {
|
||||
return AccountSettings.findOne('accounts-allowUserNameChange').booleanValue;
|
||||
},
|
||||
allowUserDelete() {
|
||||
return AccountSettings.findOne('accounts-allowUserDelete').booleanValue;
|
||||
},
|
||||
});
|
||||
|
||||
Template.editProfilePopup.events({
|
||||
@@ -104,11 +107,11 @@ Template.editProfilePopup.events({
|
||||
});
|
||||
} else Popup.back();
|
||||
},
|
||||
'click #deleteButton'() {
|
||||
Users.remove(Meteor.userId());
|
||||
'click #deleteButton': Popup.afterConfirm('userDelete', function() {
|
||||
Popup.close();
|
||||
Users.remove(Meteor.userId());
|
||||
AccountsTemplates.logout();
|
||||
},
|
||||
}),
|
||||
});
|
||||
|
||||
// XXX For some reason the useraccounts autofocus isnt working in this case.
|
||||
|
||||
+8
-1
@@ -93,7 +93,7 @@ services:
|
||||
#-------------------------------------------------------------------------------------
|
||||
# ==== MONGODB AND METEOR VERSION ====
|
||||
# a) For Wekan Meteor 1.8.x version at master branch, use mongo 4.x
|
||||
image: mongo:4.0.10
|
||||
image: mongo:4.0.11
|
||||
# b) For Wekan Meteor 1.6.x version at devel branch.
|
||||
# Only for Snap and Sandstorm while they are not upgraded yet to Meteor 1.8.x
|
||||
#image: mongo:3.2.21
|
||||
@@ -235,6 +235,10 @@ services:
|
||||
#- ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD=60
|
||||
#- ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW=15
|
||||
#---------------------------------------------------------------
|
||||
# ==== RICH TEXT EDITOR IN CARD COMMENTS ====
|
||||
# https://github.com/wekan/wekan/pull/2560
|
||||
- RICHER_CARD_COMMENT_EDITOR=true
|
||||
#---------------------------------------------------------------
|
||||
# ==== Allow to shrink attached/pasted image ====
|
||||
# https://github.com/wekan/wekan/pull/2544
|
||||
#-MAX_IMAGE_PIXEL=1024
|
||||
@@ -450,6 +454,9 @@ services:
|
||||
# Option to login to the LDAP server with the user's own username and password, instead of an administrator key. Default: false (use administrator key).
|
||||
#- LDAP_USER_AUTHENTICATION="true"
|
||||
#
|
||||
# Which field is used to find the user for the user authentication. Default: uid.
|
||||
#- LDAP_USER_AUTHENTICATION_FIELD="uid"
|
||||
#
|
||||
# Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
|
||||
#- LDAP_USER_SEARCH_FILTER=
|
||||
#
|
||||
|
||||
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+3
-1
@@ -722,5 +722,7 @@
|
||||
"act-almostdue": "was reminding the current due (__timeValue__) of __card__ is approaching",
|
||||
"act-pastdue": "was reminding the current due (__timeValue__) of __card__ is past",
|
||||
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
|
||||
"act-atUserComment": "You were mentioned in [__board__] __card__"
|
||||
"act-atUserComment": "You were mentioned in [__board__] __card__",
|
||||
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
|
||||
"accounts-allowUserDelete": "Allow users to self delete their account"
|
||||
}
|
||||
+724
-722
File diff suppressed because it is too large.
Load diff
@@ -719,5 +719,7 @@
|
||||
"act-almostdue": "was reminding the current due (__timeValue__) of __card__ is approaching",
|
||||
"act-pastdue": "was reminding the current due (__timeValue__) of __card__ is past",
|
||||
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
|
||||
"act-atUserComment": "You were mentioned in [__board__] __card__"
|
||||
"act-atUserComment": "You were mentioned in [__board__] __card__",
|
||||
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
|
||||
"accounts-allowUserDelete": "Allow users to self delete their account"
|
||||
}
|
||||
+3
-1
@@ -719,5 +719,7 @@
|
||||
"act-almostdue": "was reminding the current due (__timeValue__) of __card__ is approaching",
|
||||
"act-pastdue": "was reminding the current due (__timeValue__) of __card__ is past",
|
||||
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
|
||||
"act-atUserComment": "You were mentioned in [__board__] __card__"
|
||||
"act-atUserComment": "You were mentioned in [__board__] __card__",
|
||||
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
|
||||
"accounts-allowUserDelete": "Allow users to self delete their account"
|
||||
}
|
||||
+724
-722
File diff suppressed because it is too large.
Load diff
+3
-1
@@ -719,5 +719,7 @@
|
||||
"act-almostdue": "was reminding the current due (__timeValue__) of __card__ is approaching",
|
||||
"act-pastdue": "was reminding the current due (__timeValue__) of __card__ is past",
|
||||
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
|
||||
"act-atUserComment": "به شما در [__board__] __card__ اشاره شده"
|
||||
"act-atUserComment": "به شما در [__board__] __card__ اشاره شده",
|
||||
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
|
||||
"accounts-allowUserDelete": "Allow users to self delete their account"
|
||||
}
|
||||
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+3
-1
@@ -719,5 +719,7 @@
|
||||
"act-almostdue": "påminde om den aktuella förfallotiden (__timeValue__) av __card__ närmar sig",
|
||||
"act-pastdue": "påminde om den aktuella förfallotiden (__timeValue__) av __card__ är förbi",
|
||||
"act-duenow": "påminde om den aktuella förfallotiden (__timeValue__) av __card__ är nu",
|
||||
"act-atUserComment": "Du nämndes i [__board__] __card__"
|
||||
"act-atUserComment": "Du nämndes i [__board__] __card__",
|
||||
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
|
||||
"accounts-allowUserDelete": "Allow users to self delete their account"
|
||||
}
|
||||
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
+724
-722
File diff suppressed because it is too large.
Load diff
@@ -68,6 +68,15 @@ if (Meteor.isServer) {
|
||||
},
|
||||
},
|
||||
);
|
||||
AccountSettings.upsert(
|
||||
{ _id: 'accounts-allowUserDelete' },
|
||||
{
|
||||
$setOnInsert: {
|
||||
booleanValue: false,
|
||||
sort: 0,
|
||||
},
|
||||
},
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Generated
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v3.01.0",
|
||||
"version": "v3.02.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v3.02.0",
|
||||
"version": "v3.03.0",
|
||||
"description": "Open-Source kanban",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -27,6 +27,7 @@ export default class LDAP {
|
||||
BaseDN : this.constructor.settings_get('LDAP_BASEDN'),
|
||||
Internal_Log_Level : this.constructor.settings_get('INTERNAL_LOG_LEVEL'),
|
||||
User_Authentication : this.constructor.settings_get('LDAP_USER_AUTHENTICATION'),
|
||||
User_Authentication_Field : this.constructor.settings_get('LDAP_USER_AUTHENTICATION_FIELD'),
|
||||
User_Attributes : this.constructor.settings_get('LDAP_USER_ATTRIBUTES'),
|
||||
User_Search_Filter : this.constructor.settings_get('LDAP_USER_SEARCH_FILTER'),
|
||||
User_Search_Scope : this.constructor.settings_get('LDAP_USER_SEARCH_SCOPE'),
|
||||
@@ -226,7 +227,7 @@ export default class LDAP {
|
||||
|
||||
if (!this.options.BaseDN) throw new Error('BaseDN is not provided');
|
||||
|
||||
const userDn = `uid=${username},${this.options.BaseDN}`;
|
||||
const userDn = `${this.options.User_Authentication_Field}=${username},${this.options.BaseDN}`;
|
||||
|
||||
this.bindSync(userDn, password);
|
||||
this.domainBinded = true;
|
||||
|
||||
@@ -245,6 +245,8 @@
|
||||
#export LDAP_REJECT_UNAUTHORIZED=false
|
||||
# Option to login to the LDAP server with the user's own username and password, instead of an administrator key. Default: false (use administrator key).
|
||||
#export LDAP_USER_AUTHENTICATION=true
|
||||
# Which field is used to find the user for the user authentication. Default: uid.
|
||||
#export LDAP_USER_AUTHENTICATION_FIELD=uid
|
||||
# LDAP_USER_SEARCH_FILTER : Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
|
||||
# example : export LDAP_USER_SEARCH_FILTER=
|
||||
#export LDAP_USER_SEARCH_FILTER=
|
||||
|
||||
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
|
||||
appTitle = (defaultText = "Wekan"),
|
||||
# The name of the app as it is displayed to the user.
|
||||
|
||||
appVersion = 304,
|
||||
appVersion = 305,
|
||||
# Increment this for every release.
|
||||
|
||||
appMarketingVersion = (defaultText = "3.02.0~2019-07-26"),
|
||||
appMarketingVersion = (defaultText = "3.03.0~2019-08-04"),
|
||||
# Human-readable presentation of the app version.
|
||||
|
||||
minUpgradableAppVersion = 0,
|
||||
|
||||
+5
-1
@@ -3,7 +3,7 @@
|
||||
# All supported keys are defined here together with descriptions and default values
|
||||
|
||||
# list of supported keys
|
||||
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 RICHER_CARD_COMMENT_EDITOR ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW MAX_IMAGE_PIXEL IMAGE_COMPRESS_RATIO BIGEVENTS_PATTERN NOTIFY_DUE_DAYS_BEFORE_AND_AFTER NOTIFY_DUE_AT_HOUR_OF_DAY EMAIL_NOTIFICATION_TIMEOUT CORS CORS_ALLOW_HEADERS CORS_EXPOSE_HEADERS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OAUTH2_LOGIN_STYLE 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_ID_TOKEN_WHITELIST_FIELDS OAUTH2_EMAIL_MAP 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_AUTHENTICATION 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 LDAP_SYNC_ADMIN_STATUS LDAP_SYNC_ADMIN_GROUPS HEADER_LOGIN_ID HEADER_LOGIN_FIRSTNAME HEADER_LOGIN_LASTNAME HEADER_LOGIN_EMAIL 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 RICHER_CARD_COMMENT_EDITOR ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW MAX_IMAGE_PIXEL IMAGE_COMPRESS_RATIO BIGEVENTS_PATTERN NOTIFY_DUE_DAYS_BEFORE_AND_AFTER NOTIFY_DUE_AT_HOUR_OF_DAY EMAIL_NOTIFICATION_TIMEOUT CORS CORS_ALLOW_HEADERS CORS_EXPOSE_HEADERS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OAUTH2_LOGIN_STYLE 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_ID_TOKEN_WHITELIST_FIELDS OAUTH2_EMAIL_MAP 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_AUTHENTICATION LDAP_USER_AUTHENTICATION_FIELD 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 LDAP_SYNC_ADMIN_STATUS LDAP_SYNC_ADMIN_GROUPS HEADER_LOGIN_ID HEADER_LOGIN_FIRSTNAME HEADER_LOGIN_LASTNAME HEADER_LOGIN_EMAIL 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'"
|
||||
@@ -294,6 +294,10 @@ DESCRIPTION_LDAP_USER_AUTHENTICATION="Option to login to the LDAP server with th
|
||||
DEFAULT_LDAP_USER_AUTHENTICATION="false"
|
||||
KEY_LDAP_USER_AUTHENTICATION="ldap-user-authentication"
|
||||
|
||||
DESCRIPTION_LDAP_USER_AUTHENTICATION_FIELD="Which field is used to find the user for the user authentication. Default: uid."
|
||||
DEFAULT_LDAP_USER_AUTHENTICATION_FIELD="uid"
|
||||
KEY_LDAP_USER_AUTHENTICATION_FIELD="ldap-user-authentication-field"
|
||||
|
||||
DESCRIPTION_LDAP_USER_SEARCH_FILTER="Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed"
|
||||
DEFAULT_LDAP_USER_SEARCH_FILTER=""
|
||||
KEY_LDAP_USER_SEARCH_FILTER="ldap-user-search-filter"
|
||||
|
||||
@@ -30,3 +30,6 @@ fi
|
||||
echo "mongodb bind options: $BIND_OPTIONS"
|
||||
|
||||
mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $BIND_OPTIONS --smallfiles
|
||||
|
||||
# Drop indexes on database upgrade, when starting MongoDB
|
||||
mongo wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
|
||||
@@ -13,4 +13,4 @@ export LC_ALL=C
|
||||
# start mongodb backup
|
||||
[ "x" == "x${MONGODB_BIND_IP}" ] && MONGODB_BIND_IP="127.0.0.1"
|
||||
echo "using bind ip"
|
||||
mongorestore --host $MONGODB_BIND_IP --port $MONGODB_PORT -d wekan --gzip --archive=$1
|
||||
mongorestore --host $MONGODB_BIND_IP --port $MONGODB_PORT -d wekan --noIndexRestore --gzip --archive=$1
|
||||
@@ -306,6 +306,9 @@ echo -e "\n"
|
||||
echo -e "Option to login to the LDAP server with the user's own username and password, instead of an administrator key. Default: false (use administrator key)."
|
||||
echo -e "\t$ snap set $SNAP_NAME ldap-user-authentication='true'"
|
||||
echo -e "\n"
|
||||
echo -e "Which field is used to find the user for the user authentication. Default: uid."
|
||||
echo -e "\t$ snap set $SNAP_NAME ldap-user-authentication-field='uid'"
|
||||
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=''"
|
||||
|
||||
+4
-3
@@ -65,9 +65,9 @@ apps:
|
||||
|
||||
parts:
|
||||
mongodb:
|
||||
source: https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-server_4.0.10_amd64.deb
|
||||
source: https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-server_4.0.11_amd64.deb
|
||||
plugin: dump
|
||||
stage-packages: [libssl1.0.0]
|
||||
stage-packages: [libssl-dev]
|
||||
filesets:
|
||||
mongo:
|
||||
- usr
|
||||
@@ -203,9 +203,10 @@ parts:
|
||||
cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
|
||||
# Disable code coverage on Snap, because it crashes Wekan starting.
|
||||
# https://github.com/wekan/wekan/issues/2533#issuecomment-513506939
|
||||
#sed -i 's|Profile(fileInfo.path, func).apply(global, args);|//Profile(fileInfo.path, func).apply(global, args);|g' .build/bundle/programs/server/boot.js
|
||||
# although it did not help, it said unable to find main function.
|
||||
# Other option to fix would be to drop indexes at start of snap:
|
||||
# https://stackoverflow.com/questions/24241742/drop-all-indexes-from-all-collections-in-a-mongodb-database-using-the-command-li
|
||||
sed -i 's|Profile(fileInfo.path, func).apply(global, args);|//Profile(fileInfo.path, func).apply(global, args);|g' .build/bundle/programs/server/boot.js
|
||||
#Removed binary version of bcrypt because of security vulnerability that is not fixed yet.
|
||||
#https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac
|
||||
#https://github.com/wekan/wekan/commit/7eeabf14be3c63fae2226e561ef8a0c1390c8d3c
|
||||
|
||||
@@ -7,7 +7,7 @@ NODE_VERSION=v8.16.0
|
||||
USE_EDGE=false
|
||||
METEOR_EDGE=1.5-beta.17
|
||||
NPM_VERSION=latest
|
||||
FIBERS_VERSION=2.0.0
|
||||
FIBERS_VERSION=4.0.1
|
||||
ARCHITECTURE=linux-x64
|
||||
#NODE_VERSION=v10.14.1
|
||||
|
||||
@@ -19,11 +19,8 @@ sudo useradd --user-group --system --home-dir /home/wekan wekan
|
||||
sudo mkdir -p /home/wekan
|
||||
sudo chown wekan:wekan /home/wekan/
|
||||
|
||||
# meteor-1.8 branch that has newer Meteor that is compatible with MongoDB 4.x
|
||||
sudo -u wekan git clone -b meteor-1.8 https://github.com/wekan/wekan.git /home/wekan/app
|
||||
|
||||
# OLD: Using Meteor 1.6.x version of Wekan
|
||||
#sudo -u wekan git clone https://github.com/wekan/wekan.git /home/wekan/app
|
||||
# master branch that has newer Meteor that is compatible with MongoDB 4.x
|
||||
sudo -u wekan git clone -b master https://github.com/wekan/wekan.git /home/wekan/app
|
||||
|
||||
sudo yum install -y ${BUILD_DEPS}
|
||||
|
||||
@@ -67,20 +64,6 @@ else
|
||||
sudo -u wekan git clone --recursive --depth 1 -b release/METEOR@${METEOR_EDGE} https://github.com/meteor/meteor.git /home/wekan/.meteor;
|
||||
fi;
|
||||
|
||||
# Get additional packages
|
||||
sudo mkdir -p /home/wekan/app/packages
|
||||
sudo chown wekan:wekan --recursive /home/wekan/app
|
||||
cd /home/wekan/app/packages
|
||||
sudo -u wekan git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router
|
||||
sudo -u wekan git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
|
||||
sudo -u wekan git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git
|
||||
sudo -u wekan git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git
|
||||
sudo -u wekan git clone --depth 1 -b master https://github.com/wekan/wekan-scrollbar.git
|
||||
sudo -u wekan git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-oidc.git
|
||||
sudo -u wekan mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan_accounts-oidc
|
||||
sudo -u wekan mv meteor-accounts-oidc/packages/switch_oidc wekan_oidc
|
||||
sudo -u wekan rm -rf meteor-accounts-oidc
|
||||
|
||||
sudo sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' /home/wekan/app/packages/meteor-useraccounts-core/package.js
|
||||
sudo -u wekan /home/wekan/.meteor/meteor -- help
|
||||
|
||||
|
||||
@@ -244,6 +244,9 @@ REM SET LDAP_REJECT_UNAUTHORIZED=false
|
||||
REM # Option to login to the LDAP server with the user's own username and password, instead of an administrator key. Default: false (use administrator key).
|
||||
REM SET LDAP_USER_AUTHENTICATION=true
|
||||
|
||||
REM # Which field is used to find the user for the user authentication. Default: uid.
|
||||
REM SET LDAP_USER_AUTHENTICATION_FIELD=uid
|
||||
|
||||
REM # LDAP_USER_SEARCH_FILTER : Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
|
||||
REM # example : LDAP_USER_SEARCH_FILTER=
|
||||
REM SET LDAP_USER_SEARCH_FILTER=
|
||||
|
||||
@@ -247,6 +247,8 @@
|
||||
#export LDAP_REJECT_UNAUTHORIZED=false
|
||||
# Option to login to the LDAP server with the user's own username and password, instead of an administrator key. Default: false (use administrator key).
|
||||
#export LDAP_USER_AUTHENTICATION=true
|
||||
# Which field is used to find the user for the user authentication. Default: uid.
|
||||
#export LDAP_USER_AUTHENTICATION_FIELD=uid
|
||||
# LDAP_USER_SEARCH_FILTER : Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
|
||||
# example : export LDAP_USER_SEARCH_FILTER=
|
||||
#export LDAP_USER_SEARCH_FILTER=
|
||||
|
||||
Reference in new issue
Block a user