Compare commits

...
55 Commits
Author SHA1 Message Date
Lauri Ojansivu c1905f1db1 v3.09 2019-08-07 18:22:28 +03:00
Lauri Ojansivu f7e0b837d3 Hide minicard label text: per user checkbox setting at sidebar.
Thanks to xet7 !

Closes #1466,
closes #2561
2019-08-07 18:11:34 +03:00
Lauri Ojansivu 9e60b41438 Update ChangeLog. 2019-08-07 14:08:48 +03:00
Lauri Ojansivu 778759b8ca Merge pull request #2588 from justinr1234/fix-api-parser
Fix checking if API is enabled
2019-08-07 14:06:46 +03:00
Lauri Ojansivu b58ddcabaf Update ChangeLog. 2019-08-07 13:36:23 +03:00
Lauri Ojansivu 716fc32968 Make Save button visible again at Admin Panel People Edit.
Thanks to sclerc-chss and xet7 !

Related #2590
2019-08-07 13:31:56 +03:00
Justin Reynolds 7a60eef375 Fix checking if API is enabled 2019-08-06 21:14:33 -05:00
Lauri Ojansivu cf9ad221f8 Update docker-compose.yml, quay works now again. 2019-08-07 04:13:36 +03:00
Lauri Ojansivu f7ab08aeeb v3.08 2019-08-07 04:10:22 +03:00
Lauri Ojansivu 7d8f1dee62 Removed removing phantomjs from snap, because snap build did stop
to error no phantomjs could be removed.

Thanks to xet7 !
2019-08-07 04:02:14 +03:00
Lauri Ojansivu 2eebc5c884 Fix file permission. 2019-08-07 03:20:49 +03:00
Lauri Ojansivu 93c5f08a25 Fix used script file name. 2019-08-07 03:19:51 +03:00
Lauri Ojansivu 3973c45a1f v3.07 2019-08-07 03:12:29 +03:00
Lauri Ojansivu 1fc3a1db2e Try to make release sizes smaller by deleting phantomjs.
Thanks to xet7 !
2019-08-07 03:05:28 +03:00
Lauri Ojansivu 972e7a9971 v3.06 2019-08-07 02:19:40 +03:00
Lauri Ojansivu b23282d426 Merge pull request #2587 from justinr1234/fix-board-query
Fix board query
2019-08-07 00:46:59 +03:00
Lauri Ojansivu 603aa1dfc8 v3.05 2019-08-07 00:44:43 +03:00
Justin Reynolds b31a74e9af Fix board query 2019-08-06 16:41:56 -05:00
Lauri Ojansivu c33657e921 Merge pull request #2584 from KuenzelIT/patch-1
Fixed group filtering bug
2019-08-07 00:26:36 +03:00
Lauri Ojansivu 367ef208cb Update package-lock.json 2019-08-07 00:18:25 +03:00
Lauri Ojansivu c6ab28a3ce v3.04 2019-08-06 23:15:38 +03:00
Lauri Ojansivu b49d78e266 Update translations. 2019-08-06 23:12:39 +03:00
Lauri Ojansivu 8c4ea103c0 Removed duplicate. 2019-08-06 22:24:09 +03:00
Lauri Ojansivu bb4fde6374 Try to fix Snap MongoDB. 2019-08-06 22:02:23 +03:00
Lauri Ojansivu 74a4b28313 Use Meteor 1.6.0.1 dependencies on Snap.
Thanks to xet7 !
2019-08-06 20:31:12 +03:00
kuenzelIT d9d06dd61d Fixed group filtering bug
To make the LDAP authentication work in our installation with group filtering, we had to set `KEY_LDAP_GROUP_FILTER_GROUP_NAME` to `ldap-group-filter-group-name`.
2019-08-06 15:55:32 +02:00
Lauri Ojansivu b9a25ecfac Hide delete button until someone has time to fix it. 2019-08-06 16:09:57 +03:00
Lauri Ojansivu 8bb587155e Try to fix Snap. 2019-08-05 14:57:42 +03:00
Lauri Ojansivu b9b6aef4c8 Try to fix builds. 2019-08-05 13:55:04 +03:00
Lauri Ojansivu d3ca3e25d7 Update package-lock.json 2019-08-05 13:31:03 +03:00
Lauri Ojansivu 833f19a5cd v3.03 2019-08-04 18:11:49 +03:00
Lauri Ojansivu 174ffd0967 Update ChangeLog. 2019-08-04 18:06:26 +03:00
Lauri Ojansivu c4f0229373 Update translations. 2019-08-04 16:08:42 +03:00
Lauri Ojansivu a54bb91bba Update snap dependencies. 2019-08-04 15:17:57 +03:00
Lauri Ojansivu f78a8f2b55 Update packager.io dependencies and targets. 2019-08-04 15:15:50 +03:00
Lauri Ojansivu be4b2a0504 Merge branch 'Trekky12-master' 2019-08-04 14:02:33 +03:00
Lauri Ojansivu c74934836f Merge branch 'master' of https://github.com/Trekky12/wekan into Trekky12-master 2019-08-04 13:59:43 +03:00
Lauri Ojansivu ec35c544b7 Upgrade to MongoDB 4.0.11 2019-08-04 13:58:37 +03:00
Tobias 2bd48bc45c add settings field for LDAP user authentication field 2019-08-04 11:12:21 +02:00
Lauri Ojansivu 67ecee8322 More targets for packager.io. 2019-08-04 02:29:56 +03:00
Lauri Ojansivu a7b8611c70 Add packager.io targets for https://packager.io/gh/wekan/wekan 2019-08-04 02:17:50 +03:00
Lauri Ojansivu dacaea7443 Update translations. 2019-08-04 01:34:44 +03:00
Lauri Ojansivu a7f7e00a14 Try to fix Snap. 2019-08-04 01:33:18 +03:00
Lauri Ojansivu 5db3dcf8da Update translations. 2019-08-01 17:14:36 +03:00
Lauri Ojansivu 66e011c71b Update translations. 2019-07-30 21:01:19 +03:00
Lauri Ojansivu d2ea240ed4 Merge branch 'Akuket-master' 2019-07-30 20:51:54 +03:00
Lauri Ojansivu 61bc6d3b7a Fix typo. 2019-07-30 20:42:07 +03:00
guillaume f414fe447d add transaltion 2019-07-30 12:00:25 +02:00
guillaume 98e3b0ce77 Add admin setting to prevent users to self deleting their account 2019-07-30 11:57:21 +02:00
guillaume 84ba42f42e add popup to confirm deleting one account 2019-07-30 11:42:43 +02:00
Lauri Ojansivu 7cc1ffcab2 Update translations. 2019-07-29 17:49:03 +03:00
Lauri Ojansivu 669cd76018 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 keeps active.
2019-07-29 17:38:10 +03:00
Lauri Ojansivu 8108158573 Update translations. 2019-07-29 00:50:46 +03:00
Lauri Ojansivu 268f9de23c Add RICHER_CARD_COMMENT_EDITOR=true to docker-compose.yml. 2019-07-26 22:30:43 +03:00
Lauri Ojansivu 9fc7d0e825 Update package-lock.json version. 2019-07-26 21:51:22 +03:00
101 changed files with 39113 additions and 33343 deletions

No files matched your search

@@ -0,0 +1,18 @@
# This file contains information which helps Meteor properly upgrade your
# app when you run 'meteor update'. You should check it into version control
# with your project.
notices-for-0.9.0
notices-for-0.9.1
0.9.4-platform-file
notices-for-facebook-graph-api-2
1.2.0-standard-minifiers-package
1.2.0-meteor-platform-split
1.2.0-cordova-changes
1.2.0-breaking-changes
1.3.0-split-minifiers-package
1.3.5-remove-old-dev-bundle-link
1.4.0-remove-old-dev-bundle-link
1.4.1-add-shell-server-package
1.4.3-split-account-service-packages
1.5-add-dynamic-import-package
+2
View File
@@ -0,0 +1,2 @@
dev_bundle
local
+7
View File
@@ -0,0 +1,7 @@
# This file contains a token that is unique to your project.
# Check it into your repository along with the rest of this directory.
# It can be used for purposes such as:
# - ensuring you don't accidentally deploy one app on top of another
# - providing package authors with aggregated statistics
dvyihgykyzec6y1dpg
Whitespace-only changes.
+93
View File
@@ -0,0 +1,93 @@
# Meteor packages used by this project, one per line.
#
# 'meteor add' and 'meteor remove' will edit this file for you,
# but you can also edit it by hand.
meteor-base@1.2.0
# Build system
ecmascript
stylus@2.513.13
standard-minifier-css@1.3.5
standard-minifier-js@2.2.0
mquandalle:jade
# Polyfills
es5-shim@4.6.15
# Collections
aldeed:collection2
cfs:standard-packages
cottz:publish-relations
dburles:collection-helpers
idmontie:migrations
matb33:collection-hooks
matteodem:easy-search
mongo@1.3.1
mquandalle:collection-mutations
# Account system
kenton:accounts-sandstorm
service-configuration@1.0.11
useraccounts:unstyled
useraccounts:flow-routing
wekan-ldap
wekan-accounts-cas
wekan-accounts-oidc
# Utilities
check@1.2.5
jquery@1.11.10
random@1.0.10
reactive-dict@1.2.0
session@1.1.7
tracker@1.1.3
underscore@1.0.10
3stack:presence
alethes:pages
arillo:flow-router-helpers
audit-argument-checks@1.0.7
kadira:blaze-layout
kadira:dochead
meteorhacks:picker
meteorhacks:subs-manager
mquandalle:autofocus
ongoworks:speakingurl
raix:handlebar-helpers
tap:i18n
http@1.3.0
# UI components
blaze
reactive-var@1.0.11
fortawesome:fontawesome
mousetrap:mousetrap
mquandalle:jquery-textcomplete
mquandalle:jquery-ui-drag-drop-sort
mquandalle:mousetrap-bindglobal
peerlibrary:blaze-components@=0.15.1
templates:tabs
verron:autosize
simple:json-routes
rajit:bootstrap3-datepicker
shell-server@0.3.0
simple:rest-accounts-password
useraccounts:core
email@1.2.3
horka:swipebox
dynamic-import@0.2.0
staringatlights:fast-render
accounts-password@1.5.0
cfs:gridfs
rzymek:fullcalendar
momentjs:moment@2.22.2
browser-policy-framing
mquandalle:moment
msavin:usercache
wekan-scrollbar
mquandalle:perfect-scrollbar
mdg:meteor-apm-agent
meteorhacks:unblock
lucasantoniassi:accounts-lockout
wekan-markdown
+2
View File
@@ -0,0 +1,2 @@
server
browser
+1
View File
@@ -0,0 +1 @@
METEOR@1.6.0.1
+189
View File
@@ -0,0 +1,189 @@
3stack:presence@1.1.2
accounts-base@1.4.0
accounts-oauth@1.1.15
accounts-password@1.5.0
aldeed:collection2@2.10.0
aldeed:collection2-core@1.2.0
aldeed:schema-deny@1.1.0
aldeed:schema-index@1.1.1
aldeed:simple-schema@1.5.3
alethes:pages@1.8.6
allow-deny@1.1.0
arillo:flow-router-helpers@0.5.2
audit-argument-checks@1.0.7
autoupdate@1.3.12
babel-compiler@6.24.7
babel-runtime@1.1.1
base64@1.0.10
binary-heap@1.0.10
blaze@2.3.2
blaze-tools@1.0.10
boilerplate-generator@1.3.1
browser-policy-common@1.0.11
browser-policy-framing@1.1.0
caching-compiler@1.1.9
caching-html-compiler@1.1.2
callback-hook@1.0.10
cfs:access-point@0.1.49
cfs:base-package@0.0.30
cfs:collection@0.5.5
cfs:collection-filters@0.2.4
cfs:data-man@0.0.6
cfs:file@0.1.17
cfs:gridfs@0.0.34
cfs:http-methods@0.0.32
cfs:http-publish@0.0.13
cfs:power-queue@0.9.11
cfs:reactive-list@0.0.9
cfs:reactive-property@0.0.4
cfs:standard-packages@0.5.9
cfs:storage-adapter@0.2.3
cfs:tempstore@0.1.5
cfs:upload-http@0.0.20
cfs:worker@0.1.4
check@1.2.5
chuangbo:cookie@1.1.0
coffeescript@1.12.7_3
coffeescript-compiler@1.12.7_3
cottz:publish-relations@2.0.8
dburles:collection-helpers@1.1.0
ddp@1.4.0
ddp-client@2.2.0
ddp-common@1.3.0
ddp-rate-limiter@1.0.7
ddp-server@2.1.1
deps@1.0.12
diff-sequence@1.0.7
dynamic-import@0.2.1
ecmascript@0.9.0
ecmascript-runtime@0.5.0
ecmascript-runtime-client@0.5.0
ecmascript-runtime-server@0.5.0
ejson@1.1.0
email@1.2.3
es5-shim@4.6.15
fastclick@1.0.13
fortawesome:fontawesome@4.7.0
geojson-utils@1.0.10
horka:swipebox@1.0.2
hot-code-push@1.0.4
html-tools@1.0.11
htmljs@1.0.11
http@1.3.0
id-map@1.0.9
idmontie:migrations@1.0.3
jquery@1.11.10
kadira:blaze-layout@2.3.0
kadira:dochead@1.5.0
kadira:flow-router@2.12.1
kenton:accounts-sandstorm@0.7.0
lamhieu:meteorx@2.0.1
launch-screen@1.1.1
livedata@1.0.18
localstorage@1.2.0
logging@1.1.19
lucasantoniassi:accounts-lockout@1.0.0
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.0
meteor-base@1.2.0
meteor-platform@1.2.6
meteorhacks:aggregate@1.3.0
meteorhacks:collection-utils@1.2.0
meteorhacks:meteorx@1.4.1
meteorhacks:picker@1.0.3
meteorhacks:subs-manager@1.6.4
meteorhacks:unblock@1.1.0
meteorspark:util@0.2.0
minifier-css@1.2.16
minifier-js@2.2.2
minifiers@1.1.8-faster-rebuild.0
minimongo@1.4.3
mobile-status-bar@1.0.14
modules@0.11.0
modules-runtime@0.9.1
momentjs:moment@2.22.2
mongo@1.3.1
mongo-dev-server@1.1.0
mongo-id@1.0.6
mongo-livedata@1.0.12
mousetrap:mousetrap@1.4.6_1
mquandalle:autofocus@1.0.0
mquandalle:collection-mutations@0.1.0
mquandalle:jade@0.4.9
mquandalle:jade-compiler@0.4.5
mquandalle:jquery-textcomplete@0.8.0_1
mquandalle:jquery-ui-drag-drop-sort@0.2.0
mquandalle:moment@1.0.1
mquandalle:mousetrap-bindglobal@0.0.1
mquandalle:perfect-scrollbar@0.6.5_2
msavin:usercache@1.0.0
npm-bcrypt@0.9.3
npm-mongo@2.2.33
oauth@1.2.1
oauth2@1.2.0
observe-sequence@1.0.16
ongoworks:speakingurl@1.1.0
ordered-dict@1.0.9
peerlibrary:assert@0.2.5
peerlibrary:base-component@0.16.0
peerlibrary:blaze-components@0.15.1
peerlibrary:computed-field@0.7.0
peerlibrary:reactive-field@0.3.0
percolate:synced-cron@1.1.1
promise@0.10.0
raix:eventemitter@0.1.3
raix:handlebar-helpers@0.2.5
rajit:bootstrap3-datepicker@1.7.1
random@1.0.10
rate-limit@1.0.8
reactive-dict@1.2.0
reactive-var@1.0.11
reload@1.1.11
retry@1.0.9
routepolicy@1.0.12
rzymek:fullcalendar@3.8.0
service-configuration@1.0.11
session@1.1.7
sha@1.0.9
shell-server@0.3.1
simple:authenticate-user-by-token@1.0.1
simple:json-routes@2.1.0
simple:rest-accounts-password@1.1.2
simple:rest-bearer-token-parser@1.0.1
simple:rest-json-error-handler@1.0.1
softwarerero:accounts-t9n@1.3.11
spacebars@1.0.15
spacebars-compiler@1.1.3
srp@1.0.10
standard-minifier-css@1.3.5
standard-minifier-js@2.2.3
staringatlights:fast-render@2.16.5
staringatlights:inject-data@2.0.5
stylus@2.513.13
tap:i18n@1.8.2
templates:tabs@2.3.0
templating@1.3.2
templating-compiler@1.3.3
templating-runtime@1.3.2
templating-tools@1.1.2
tracker@1.1.3
ui@1.0.13
underscore@1.0.10
url@1.1.0
useraccounts:core@1.14.2
useraccounts:flow-routing@1.14.2
useraccounts:unstyled@1.14.2
verron:autosize@3.0.8
webapp@1.4.0
webapp-hashing@1.0.9
wekan-accounts-cas@0.1.0
wekan-accounts-oidc@1.0.10
wekan-ldap@0.0.2
wekan-markdown@1.0.7
wekan-oidc@1.0.12
wekan-scrollbar@3.1.3
yasaricli:slugify@0.0.7
zimme:active-route@2.3.2
+4572
View File
File diff suppressed because it is too large. Load diff
+68
View File
@@ -0,0 +1,68 @@
{
"name": "wekan",
"version": "v3.09.0",
"description": "Open-Source kanban",
"private": true,
"scripts": {
"lint": "eslint --cache --ext .js --ignore-path .eslintignore .",
"lint:eslint:fix": "eslint --ext .js --ignore-path .eslintignore --fix .",
"lint:staged": "lint-staged",
"prettify": "prettier --write '**/*.js' '**/*.jsx'",
"test": "npm run lint"
},
"lint-staged": {
"*.js": [
"meteor npm run prettify",
"meteor npm run lint:eslint:fix",
"git add --force"
],
"*.jsx": [
"meteor npm run prettify",
"meteor npm run lint:eslint:fix",
"git add --force"
],
"*.json": [
"prettier --write",
"git add --force"
]
},
"pre-commit": "lint:staged",
"eslintConfig": {
"extends": "@meteorjs/eslint-config-meteor"
},
"repository": {
"type": "git",
"url": "git+https://github.com/wekan/wekan.git"
},
"license": "MIT",
"bugs": {
"url": "https://github.com/wekan/wekan/issues"
},
"homepage": "https://wekan.github.io",
"devDependencies": {
"eslint": "^5.16.0",
"eslint-config-meteor": "0.0.9",
"eslint-config-prettier": "^3.6.0",
"eslint-import-resolver-meteor": "^0.4.0",
"eslint-plugin-import": "^2.18.0",
"eslint-plugin-meteor": "^5.1.0",
"eslint-plugin-prettier": "^3.1.0",
"lint-staged": "^7.3.0",
"pre-commit": "^1.2.2",
"prettier": "^1.18.2",
"prettier-eslint": "^8.8.2"
},
"dependencies": {
"@babel/runtime": "^7.1.2",
"babel-runtime": "^6.26.0",
"bson-ext": "^2.0.0",
"es6-promise": "^4.2.4",
"hoek": "^5.0.4",
"meteor-node-stubs": "^0.4.1",
"os": "^0.1.1",
"page": "^1.8.6",
"qs": "^6.5.2",
"source-map-support": "^0.5.9",
"xss": "^1.0.6"
}
}
+161
View File
@@ -0,0 +1,161 @@
#!/bin/bash
echo "Note: If you use other locale than en_US.UTF-8 , you need to additionally install en_US.UTF-8"
echo " with 'sudo dpkg-reconfigure locales' , so that MongoDB works correctly."
echo " You can still use any other locale as your main locale."
#Below script installs newest node 8.x for Debian/Ubuntu/Mint.
#NODE_VERSION=8.16.0
#X64NODE="https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz"
function pause(){
read -p "$*"
}
function cprec(){
if [[ -d "$1" ]]; then
if [[ ! -d "$2" ]]; then
sudo mkdir -p "$2"
fi
for i in $(ls -A "$1"); do
cprec "$1/$i" "$2/$i"
done
else
sudo cp "$1" "$2"
fi
}
# sudo npm doesn't work right, so this is a workaround
function npm_call(){
TMPDIR="/tmp/tmp_npm_prefix"
if [[ -d "$TMPDIR" ]]; then
rm -rf $TMPDIR
fi
mkdir $TMPDIR
NPM_PREFIX="$(npm config get prefix)"
npm config set prefix $TMPDIR
npm "$@"
npm config set prefix "$NPM_PREFIX"
echo "Moving files to $NPM_PREFIX"
for i in $(ls -A $TMPDIR); do
cprec "$TMPDIR/$i" "$NPM_PREFIX/$i"
done
rm -rf $TMPDIR
}
#function wekan_repo_check(){
## UNCOMMENTING, IT'S NOT REQUIRED THAT /HOME/USERNAME IS /HOME/WEKAN
# git_remotes="$(git remote show 2>/dev/null)"
# res=""
# for i in $git_remotes; do
# res="$(git remote get-url $i | sed 's/.*wekan\/wekan.*/wekan\/wekan/')"
# if [[ "$res" == "wekan/wekan" ]]; then
# break
# fi
# done
#
# if [[ "$res" != "wekan/wekan" ]]; then
# echo "$PWD is not a wekan repository"
# exit;
# fi
#}
echo
PS3='Please enter your choice: '
options=("Install Wekan dependencies" "Build Wekan" "Quit")
select opt in "${options[@]}"
do
case $opt in
"Install Wekan dependencies")
if [[ "$OSTYPE" == "linux-gnu" ]]; then
echo "Linux";
# Debian, Ubuntu, Mint
sudo apt-get install -y build-essential gcc g++ make git curl wget
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
elif [[ "$OSTYPE" == "darwin"* ]]; then
echo "macOS";
pause '1) Install XCode 2) Install Node 8.x from https://nodejs.org/en/ 3) Press [Enter] key to continue.'
elif [[ "$OSTYPE" == "cygwin" ]]; then
# POSIX compatibility layer and Linux environment emulation for Windows
echo "TODO: Add Cygwin";
exit;
elif [[ "$OSTYPE" == "msys" ]]; then
# Lightweight shell and GNU utilities compiled for Windows (part of MinGW)
echo "TODO: Add msys on Windows";
exit;
elif [[ "$OSTYPE" == "win32" ]]; then
# I'm not sure this can happen.
echo "TODO: Add Windows";
exit;
elif [[ "$OSTYPE" == "freebsd"* ]]; then
echo "TODO: Add FreeBSD";
exit;
else
echo "Unknown"
echo ${OSTYPE}
exit;
fi
## Latest npm with Meteor 1.6
npm_call -g install npm
npm_call -g install node-gyp
# Latest fibers for Meteor 1.6
npm_call -g install fibers@2.0.0
# Install Meteor, if it's not yet installed
curl https://install.meteor.com | bash
break
;;
"Build Wekan")
echo "Building Wekan."
#wekan_repo_check
# REPOS BELOW ARE INCLUDED TO WEKAN REPO
#rm -rf packages/kadira-flow-router packages/meteor-useraccounts-core packages/meteor-accounts-cas packages/wekan-ldap packages/wekan-ldap packages/wekan-scrfollbar packages/meteor-accounts-oidc packages/markdown
#mkdir packages
#cd packages
#git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router
#git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
#git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git
#git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git
#git clone --depth 1 -b master https://github.com/wekan/wekan-scrollbar.git
#git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-oidc.git
#git clone --depth 1 -b master --recurse-submodules https://github.com/wekan/markdown.git
#mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan_accounts-oidc
#mv meteor-accounts-oidc/packages/switch_oidc wekan_oidc
#rm -rf meteor-accounts-oidc
#if [[ "$OSTYPE" == "darwin"* ]]; then
# echo "sed at macOS";
# sed -i '' 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
#else
# echo "sed at ${OSTYPE}"
# sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
#fi
#cd ..
rm -rf node_modules
meteor npm install
rm -rf .build
meteor build .build --directory
cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.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
#cd ~/repos/wekan/.build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
#rm -rf node_modules/bcrypt
#meteor npm install bcrypt
cd .build/bundle/programs/server
rm -rf node_modules
meteor npm install
#meteor npm install bcrypt
cd ../../../..
echo Done.
break
;;
"Quit")
break
;;
*) echo invalid option;;
esac
done
-1
View File
@@ -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
-1
View File
@@ -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
+13
View File
@@ -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:
+98 -2
View File
@@ -1,4 +1,100 @@
# v3.02 Upcoming Wekan release
# v3.09 2019-08-07 Wekan release
This release adds the following features:
- [Hide minicard label text: per user checkbox setting at sidebar](https://github.com/wekan/wekan/commit/f7e0b837d394d55d66d451c34f43fa8afd357e5b).
Thanks to xet7.
and fixes the following bugs:
- [Make Save button visible again at Admin Panel People Edit](https://github.com/wekan/wekan/commit/716fc32968e7dd51b64a11c6c33e59aee849c982).
Thanks to sclerc-chss and xet7.
- [Fix checking if API is enabled](https://github.com/wekan/wekan/pull/2588).
Thanks to justinr1234.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.08 2019-08-07 Wekan release
This release fixes the following bugs:
- [Removed removing phantomjs from snap, because snap build did stop to error
no phantomjs could be removed](https://github.com/wekan/wekan/commit/7d8f1dee62f285a4587fb40e7331d0f500b2e5fb).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.07 2019-08-07 Wekan release
This release fixes the following bugs:
- [Try to make release sizes smaller by deleting phantomjs](https://github.com/wekan/wekan/commit/1fc3a1db2e663f149287b6e14053d536fb1a8a81).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.06 2019-08-07 Wekan release
This release fixes the following bugs:
- [Fix board query](https://github.com/wekan/wekan/pull/2587).
Thanks to justinr1234.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.05 2019-08-07 Wekan release
This release fixes the following bugs:
- [Fixed LDAP group filtering bug on Snap settings](https://github.com/wekan/wekan/pull/2584).
Thanks to KuenzelIT.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.04 2019-08-06 Wekan release
This release fixes the following bugs:
- [Fixed Snap: Use Meteor 1.6.0.1 dependencies on Snap on master branch](https://github.com/wekan/wekan/commit/74a4b28313e9cfedcb927e4496c0dd3800b1e6f9).
Thanks to xet7.
- [Hide Admin Panel user delete button until someone has time to fix it](https://github.com/wekan/wekan/commit/b9a25ecfaca067d0392c83d97a0deb65e6e296dd).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# 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 +106,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:
+6
View File
@@ -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="" \
@@ -256,6 +257,11 @@ RUN \
#cd /home/wekan/app_build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt && \
#gosu wekan:wekan rm -rf node_modules/bcrypt && \
#gosu wekan:wekan npm install bcrypt && \
#
# Delete phantomjs
cd /home/wekan/app_build/bundle && \
find . -name "*phantomjs*" | xargs rm -rf && \
#
cd /home/wekan/app_build/bundle/programs/server/ && \
gosu wekan:wekan npm install && \
#gosu wekan:wekan npm install bcrypt && \
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v3.02.0"
appVersion: "v3.09.0"
files:
userUploads:
- README.md
+6 -3
View File
@@ -8,9 +8,12 @@ template(name="minicard")
if labels
.minicard-labels
each labels
span.card-label(class="card-label-{{color}}" title=name)
+viewer
= name
unless hiddenMinicardLabelText
span.card-label(class="card-label-{{color}}" title=name)
+viewer
= name
if hiddenMinicardLabelText
.minicard-label(class="card-label-{{color}}" title="{{name}}")
.minicard-title
.handle
.fa.fa-arrows
+11
View File
@@ -16,6 +16,17 @@ BlazeComponent.extendComponent({
Utils.goBoardId(this.data().linkedId);
},
},
{
'click .js-toggle-minicard-label-text'() {
Meteor.call('toggleMinicardLabelText');
},
},
];
},
}).register('minicard');
Template.minicard.helpers({
hiddenMinicardLabelText() {
return Meteor.user().hasHiddenMinicardLabelText();
},
});
+2 -2
View File
@@ -109,6 +109,6 @@ template(name="editUserPopup")
input.js-profile-password(type="password")
div.buttonsContainer
input.primary.wide(type="submit" value="{{_ 'save'}}")
div
input#deleteButton.primary.wide(type="button" value="{{_ 'delete'}}")
// div
// input#deleteButton.primary.wide(type="button" value="{{_ 'delete'}}")
+2 -2
View File
@@ -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 [
+5
View File
@@ -22,6 +22,11 @@ template(name='homeSidebar')
+membersWidget
hr
+labelsWidget
ul#cards.label-text-hidden
a.flex.js-toggle-minicard-label-text
span {{_ 'hide-minicard-label-text'}}
b  
.materialCheckBox(class="{{#if hiddenMinicardLabelText}}is-checked{{/if}}")
hr
unless currentUser.isNoComments
h3
+9
View File
@@ -101,6 +101,9 @@ BlazeComponent.extendComponent({
'click .js-hide-sidebar': this.hide,
'click .js-toggle-sidebar': this.toggle,
'click .js-back-home': this.setView,
'click .js-toggle-minicard-label-text'() {
Meteor.call('toggleMinicardLabelText');
},
'click .js-shortcuts'() {
FlowRouter.go('shortcuts');
},
@@ -111,6 +114,12 @@ BlazeComponent.extendComponent({
Blaze.registerHelper('Sidebar', () => Sidebar);
Template.homeSidebar.helpers({
hiddenMinicardLabelText() {
return Meteor.user().hasHiddenMinicardLabelText();
},
});
EscapeActions.register(
'sidebarView',
() => {
+8 -2
View File
@@ -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'}}
+6 -3
View File
@@ -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.
+11 -7
View File
@@ -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
@@ -115,14 +115,11 @@ services:
# NOTE: Quay is currently not updated, use Docker Hub image below c)
# a) For Wekan Meteor 1.8.x version at master branch,
# using https://quay.io/wekan/wekan automatic builds
#image: quay.io/wekan/wekan:master
# b) For Wekan Meteor 1.6.x version at master/devel/edge branches.
# Only for Snap and Sandstorm while they are not upgraded yet to Meteor 1.8.x
#image: quay.io/wekan/wekan:master
# c) Using specific Meteor 1.6.x version tag:
image: quay.io/wekan/wekan
# b) Using specific Meteor 1.6.x version tag:
# image: quay.io/wekan/wekan:v1.95
# c) Using Docker Hub automatic builds https://hub.docker.com/r/wekanteam/wekan
image: wekanteam/wekan
#image: wekanteam/wekan
# image: wekanteam/wekan:v2.99
#-------------------------------------------------------------------------------------
container_name: wekan-app
@@ -235,6 +232,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 +451,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=
#
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+4 -1
View File
@@ -722,5 +722,8 @@
"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",
"hide-minicard-label-text": "Hide minicard label text"
}
+725 -722
View File
File diff suppressed because it is too large. Load diff
+4 -1
View File
@@ -719,5 +719,8 @@
"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",
"hide-minicard-label-text": "Hide minicard label text"
}
+4 -1
View File
@@ -719,5 +719,8 @@
"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",
"hide-minicard-label-text": "Hide minicard label text"
}
+725 -722
View File
File diff suppressed because it is too large. Load diff
+4 -1
View File
@@ -719,5 +719,8 @@
"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",
"hide-minicard-label-text": "Hide minicard label text"
}
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+4 -1
View File
@@ -719,5 +719,8 @@
"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",
"hide-minicard-label-text": "Hide minicard label text"
}
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+725 -722
View File
File diff suppressed because it is too large. Load diff
+9
View File
@@ -68,6 +68,15 @@ if (Meteor.isServer) {
},
},
);
AccountSettings.upsert(
{ _id: 'accounts-allowUserDelete' },
{
$setOnInsert: {
booleanValue: false,
sort: 0,
},
},
);
});
}
+27 -3
View File
@@ -109,7 +109,14 @@ Users.attachSchema(
},
'profile.hiddenSystemMessages': {
/**
* does the user wants to hide system messages?
* does the user want to hide system messages?
*/
type: Boolean,
optional: true,
},
'profile.hiddenMinicardLabelText': {
/**
* does the user want to hide minicard label texts?
*/
type: Boolean,
optional: true,
@@ -359,6 +366,11 @@ Users.helpers({
return profile.hiddenSystemMessages || false;
},
hasHiddenMinicardLabelText() {
const profile = this.profile || {};
return profile.hiddenMinicardLabelText || false;
},
getEmailBuffer() {
const { emailBuffer = [] } = this.profile || {};
return emailBuffer;
@@ -462,6 +474,14 @@ Users.mutations({
};
},
toggleLabelText(value = false) {
return {
$set: {
'profile.hiddenMinicardLabelText': !value,
},
};
},
addNotification(activityId) {
return {
$addToSet: {
@@ -525,6 +545,10 @@ Meteor.methods({
const user = Meteor.user();
user.toggleSystem(user.hasHiddenSystemMessages());
},
toggleMinicardLabelText() {
const user = Meteor.user();
user.toggleLabelText(user.hasHiddenMinicardLabelText());
},
changeLimitToShowCardsCount(limit) {
check(limit, Number);
Meteor.user().setShowCardsCountAt(limit);
@@ -946,8 +970,8 @@ if (Meteor.isServer) {
if (Meteor.isServer) {
// Middleware which checks that API is enabled.
JsonRoutes.Middleware.use(function(req, res, next) {
const api = req.url.search('api');
if ((api === 1 && process.env.WITH_API === 'true') || api === -1) {
const api = req.url.startsWith('/api');
if ((api === true && process.env.WITH_API === 'true') || api === false) {
return next();
} else {
res.writeHead(301, { Location: '/' });
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v3.01.0",
"version": "v3.09.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v3.02.0",
"version": "v3.09.0",
"description": "Open-Source kanban",
"private": true,
"scripts": {
+2 -1
View File
@@ -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;
+2 -2
View File
@@ -1524,7 +1524,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<ul class="toc-list-h1">
<li>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v3.00">Wekan REST API v3.00</a>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v3.09">Wekan REST API v3.09</a>
</li>
@@ -2017,7 +2017,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<div class="page-wrapper">
<div class="dark-box"></div>
<div class="content">
<h1 id="wekan-rest-api">Wekan REST API v3.00</h1>
<h1 id="wekan-rest-api">Wekan REST API v3.09</h1>
<blockquote>
<p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
</blockquote>
+1 -1
View File
@@ -1,7 +1,7 @@
swagger: '2.0'
info:
title: Wekan REST API
version: v3.00
version: v3.09
description: |
The REST API allows you to control and extend Wekan with ease.
+3
View File
@@ -0,0 +1,3 @@
cd ~/repos/wekan/.build
find . -name "*phantomjs*" | xargs rm -rf
cd ~/repos/wekan
@@ -0,0 +1,262 @@
name: wekan
version: '0'
version-script: git describe --dirty --tags | cut -c 2-
summary: The open-source kanban
description: |
Wekan is an open-source and collaborative kanban board application.
Whether you’re maintaining a personal todo list, planning your holidays with some friends, or working in a team on your next revolutionary idea, Kanban boards are an unbeatable tool to keep your things organized. They give you a visual overview of the current state of your project, and make you productive by allowing you to focus on the few items that matter the most.
Depending on target environment, some configuration settings might need to be adjusted.
For full list of configuration options call:
$ wekan.help
confinement: strict
grade: stable
architectures:
- amd64
plugs:
mongodb-plug:
interface: content
target: $SNAP_DATA/shared
hooks:
configure:
plugs:
- network
- network-bind
slots:
mongodb-slot:
interface: content
write:
- $SNAP_DATA/share
apps:
wekan:
command: wekan-control
daemon: simple
plugs: [network, network-bind]
mongodb:
command: mongodb-control
daemon: simple
plugs: [network, network-bind]
caddy:
command: caddy-control
daemon: simple
plugs: [network, network-bind]
help:
command: wekan-help
database-backup:
command: mongodb-backup
plugs: [network, network-bind]
database-list-backups:
command: ls -al $SNAP_COMMON/db-backups/
database-restore:
command: mongodb-restore
plugs: [network, network-bind]
parts:
mongodb:
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: [libssl-dev]
filesets:
mongo:
- usr
- bin
- lib
# stage:
# - $mongo
# prime:
# - $mongo
wekan:
source: .
plugin: nodejs
node-engine: 8.16.0
# node-packages:
# - node-gyp
# - node-pre-gyp
# - fibers@4.0.1
build-packages:
- ca-certificates
- apt-utils
- bsdtar
- gnupg
- bzip2
## - python3
- g++
- build-essential
- git
# - capnproto
- curl
- libcurl3
- php-curl
# - execstack
# - nodejs
# - npm
## - python3-pip
## - python3-venv
stage-packages:
- libfontconfig1
override-build: |
set -o xtrace
echo "Cleaning environment first"
rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules
# Meteor installer doesn't work with the default tar binary, so using bsdtar while installing.
# https://github.com/coreos/bugs/issues/1095#issuecomment-350574389
cp $(which tar) $(which tar)~
ln -sf $(which bsdtar) $(which tar)
# Create the OpenAPI specification
rm -rf .build
mkdir .build
##mkdir -p .build/python
##cd .build/python
##python3 -m venv env
##. ./env/bin/activate
##pip3 install -U setuptools wheel
##git clone --depth 1 -b master https://github.com/Kronuz/esprima-python
##cd esprima-python
##python3 setup.py install
##cd ../../..
##mkdir -p ./public/api
##python3 ./openapi/generate_openapi.py --release $(git describe --tags --abbrev=0) > ./public/api/wekan.yml
# we temporary need api2html and mkdirp
##npm install -g --unsafe-perm api2html@0.3.0
##npm install -g --unsafe-perm mkdirp
##api2html -c ./public/logo-header.png -o ./public/api/wekan.html ./public/api/wekan.yml
##npm uninstall -g --unsafe-perm mkdirp
##npm uninstall -g --unsafe-perm api2html
# Node Fibers 100% CPU usage issue:
# https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-381453161
# https://github.com/meteor/meteor/issues/9796#issuecomment-381676326
# https://github.com/sandstorm-io/sandstorm/blob/0f1fec013fe7208ed0fd97eb88b31b77e3c61f42/shell/server/00-startup.js#L99-L129
# Also see beginning of wekan/server/authentication.js
# import Fiber from "fibers";
# Fiber.poolSize = 1e9;
# OLD: Download node version 8.12.0 prerelease build => Official node 8.12.0 has been released
# Description at https://releases.wekan.team/node.txt
##echo "375bd8db50b9c692c0bbba6e96d4114cd29bee3770f901c1ff2249d1038f1348 node" >> node-SHASUMS256.txt.asc
##curl https://releases.wekan.team/node -o node
# Verify Fibers patched node authenticity
##echo "Fibers 100% CPU issue patched node authenticity:"
##grep node node-SHASUMS256.txt.asc | shasum -a 256 -c -
##rm -f node-SHASUMS256.txt.asc
##chmod +x node
##mv node `which node`
# DOES NOT WORK: paxctl fix.
# Removed from build-packages: - paxctl
#echo "Applying paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303"
#paxctl -mC `which node`
#echo "Installing npm"
#curl -L https://www.npmjs.com/install.sh | sh
echo "Installing meteor"
curl https://install.meteor.com/ -o install_meteor.sh
#sed -i "s|RELEASE=.*|RELEASE=\"1.8.1-beta.0\"|g" install_meteor.sh
chmod +x install_meteor.sh
sh install_meteor.sh
rm install_meteor.sh
# REPOS BELOW ARE INCLUDED TO WEKAN REPO
#if [ ! -d "packages" ]; then
# mkdir packages
#fi
#if [ ! -d "packages/kadira-flow-router" ]; then
# cd packages
# git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router
# cd ..
#fi
#if [ ! -d "packages/meteor-useraccounts-core" ]; then
# cd packages
# git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
# sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' meteor-useraccounts-core/package.js
# cd ..
#fi
#if [ ! -d "packages/meteor-accounts-cas" ]; then
# cd packages
# git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git meteor-accounts-cas
# cd ..
#fi
#if [ ! -d "packages/wekan-ldap" ]; then
# cd packages
# git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git
# cd ..
#fi
#if [ ! -d "packages/wekan-scrollbar" ]; then
# cd packages
# git clone --depth 1 -b master https://github.com/wekan/wekan-scrollbar.git
# cd ..
#fi
#if [ ! -d "packages/wekan_accounts-oidc" ]; then
# cd packages
# git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-oidc.git
# mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan-accounts-oidc
# mv meteor-accounts-oidc/packages/switch_oidc wekan-oidc
# rm -rf meteor-accounts-oidc
# cd ..
#fi
#if [ ! -d "packages/markdown" ]; then
# cd packages
# git clone --depth 1 -b master --recurse-submodules https://github.com/wekan/markdown.git
# cd ..
#fi
rm -rf package-lock.json .build
#meteor add standard-minifier-js --allow-superuser
meteor npm install --allow-superuser --unsafe-perm
meteor build .build --directory --allow-superuser
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
#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
#cd .build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
#rm -rf node_modules/bcrypt
#meteor npm install --save bcrypt
# Change from npm-bcrypt directory back to .build/bundle/programs/server directory.
#cd ../../../../
# Change to directory .build/bundle/programs/server
cd .build/bundle/programs/server
npm install --unsafe-perm
#meteor npm install --save bcrypt
# Change back to Wekan source directory
cd ../../../..
cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
# rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
#rm $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
# rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
# rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-gyp/node_modules/tar/lib/.mkdir.js.swp
# Put back the original tar
mv $(which tar)~ $(which tar)
organize:
README: README.wekan
prime:
- -lib/node_modules/node-pre-gyp/node_modules/tar/lib/.unpack.js.swp
helpers:
source: snap-src
plugin: dump
caddy:
plugin: dump
source: https://caddyserver.com/download/linux/amd64?license=personal&telemetry=off
source-type: tar
organize:
caddy: bin/caddy
CHANGES.txt: CADDY_CHANGES.txt
EULA.txt: CADDY_EULA.txt
LICENSES.txt: CADDY_LICENSES.txt
README.txt: CADDY_README.txt
stage:
- -init
+7
View File
@@ -0,0 +1,7 @@
cd ~/repos/wekan
./releases/rebuild-release.sh
./releases/delete-phantomjs.sh
cd ~/repos/wekan/.build
zip -r wekan-$1.zip bundle
scp wekan-$1.zip x2:/var/snap/wekan/common/releases.wekan.team/
cd ..
+9
View File
@@ -0,0 +1,9 @@
# Change version.
# Usage: ./releases/version.sh old new
# Example: ./releases/version.sh v3.x v3.x
sed -i 's|API $1|API $2|g' public/api/wekan*
sed -i 's|"version": "$1|"version": "$2|g' .meteor-1.6-snap/package-lock.json .meteor-1.6-snap/package.json package-lock.json package.json
sed -i 's|appVersion: "$1|appVersion: "$2|g' Stackerfile.yml
echo "Also change CHANGELOG.md and sandstorm-pkgdef.capnp"
+2
View File
@@ -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=
+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 = 304,
appVersion = 311,
# Increment this for every release.
appMarketingVersion = (defaultText = "3.02.0~2019-07-26"),
appMarketingVersion = (defaultText = "3.09.0~2019-08-07"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
+1 -1
View File
@@ -9,7 +9,7 @@ Meteor.publish('boards', function() {
// Defensive programming to verify that starredBoards has the expected
// format -- since the field is in the `profile` a user can modify it.
const { starredBoards = [] } = Users.findOne(this.userId).profile || {};
const { starredBoards = [] } = Users.findOne(this.userId).profile || [];
check(starredBoards, [String]);
return Boards.find(
+12 -4
View File
@@ -3,17 +3,21 @@
# 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 MONGO_URL MONGODB_BIND_UNIX_SOCKET MONGO_URL 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'"
DEFAULT_DEBUG="false"
KEY_DEBUG="debug"
DESCRIPTION_MONGODB_BIND_UNIX_SOCKET="mongodb binding unix socket:\n"\
DESCRIPTION_MONGOURL="MONGO_URL. Default: ''"
DEFAULT_MONGO_URL=""
KEY_MONGO_URL='mongo-url'
DESCRIPTION_MONGODB_BIND_UNIX_SOCKET="mongodb binding unix socket. Example: /var/snap/wekan/current/share . Default: ''\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"
DEFAULT_MONGODB_BIND_UNIX_SOCKET="/var/snap/wekan/current/share"
DEFAULT_MONGODB_BIND_UNIX_SOCKET=""
KEY_MONGODB_BIND_UNIX_SOCKET="mongodb-bind-unix-socket"
DESCRIPTION_MONGODB_PORT="mongodb binding port: eg 27017 when using localhost"
@@ -294,6 +298,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"
@@ -336,7 +344,7 @@ KEY_LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT="ldap-group-filter-member-format"
DESCRIPTION_LDAP_GROUP_FILTER_GROUP_NAME="ldap-group-filter-group-name. Default: ''"
DEFAULT_LDAP_GROUP_FILTER_GROUP_NAME=""
KEY_LDAP_GROUP_FILTER_GROUP_NAME="ldap-group-filter-member-name"
KEY_LDAP_GROUP_FILTER_GROUP_NAME="ldap-group-filter-group-name"
DESCRIPTION_LDAP_UNIQUE_IDENTIFIER_FIELD="This field is sometimes class GUID (Globally Unique Identifier)"
DEFAULT_LDAP_UNIQUE_IDENTIFIER_FIELD=""
+24 -13
View File
@@ -16,17 +16,28 @@ fi
export LC_ALL=C
# start mongo deamon
BIND_OPTIONS=""
if [ "nill" != "$MONGODB_BIND_UNIX_SOCKET" ] && [ "x" != "x${MONGODB_BIND_UNIX_SOCKET}" ]; then
BIND_OPTIONS+=" --unixSocketPrefix $MONGODB_BIND_UNIX_SOCKET"
fi
if [ "x" != "x${MONGODB_BIND_IP}" ]; then
BIND_OPTIONS+=" --bind_ip $MONGODB_BIND_IP"
fi
if [ "x" != "x${MONGODB_PORT}" ]; then
BIND_OPTIONS+=" --port $MONGODB_PORT"
fi
echo "mongodb bind options: $BIND_OPTIONS"
if [ -z "$MONGO_URL" ]; then
mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $BIND_OPTIONS --smallfiles
# start mongo deamon
BIND_OPTIONS=""
if [ "nill" != "$MONGODB_BIND_UNIX_SOCKET" ] && [ "x" != "x${MONGODB_BIND_UNIX_SOCKET}" ]; then
BIND_OPTIONS+=" --unixSocketPrefix $MONGODB_BIND_UNIX_SOCKET"
fi
if [ "x" != "x${MONGODB_BIND_IP}" ]; then
BIND_OPTIONS+=" --bind_ip $MONGODB_BIND_IP"
fi
if [ "x" != "x${MONGODB_PORT}" ]; then
BIND_OPTIONS+=" --port $MONGODB_PORT"
fi
echo "mongodb bind options: $BIND_OPTIONS"
mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $BIND_OPTIONS --smallfiles
else
mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $MONGO_URL --smallfiles
fi
# 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
+2 -1
View File
@@ -13,4 +13,5 @@ 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 --gzip --archive=$1
# --noIndexRestore
+8
View File
@@ -15,6 +15,11 @@ 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 "To enable the MONGO_URL of Wekan:"
echo -e "\t$ snap set $SNAP_NAME mongo-url='...'"
echo -e "\t-Disable the MONGO_URL of Wekan:"
echo -e "\t$ snap set $SNAP_NAME mongo-url=''"
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"
@@ -306,6 +311,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=''"
+48 -51
View File
@@ -1,6 +1,6 @@
name: wekan
version: '0'
version-script: git describe --dirty --tags | cut -c 2-
version: 0
version-script: git describe --dirty --tags | cut -c 2-
summary: The open-source kanban
description: |
Wekan is an open-source and collaborative kanban board application.
@@ -65,7 +65,7 @@ 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://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.22.tgz
plugin: dump
stage-packages: [libssl1.0.0]
filesets:
@@ -73,57 +73,59 @@ parts:
- usr
- bin
- lib
# stage:
# - $mongo
# prime:
# - $mongo
stage:
- $mongo
prime:
- $mongo
wekan:
source: .
plugin: nodejs
node-engine: 8.16.0
# node-packages:
# - node-gyp
# - node-pre-gyp
# - fibers@4.0.1
node-packages:
- node-gyp
- node-pre-gyp
- fibers@2.0.0
build-packages:
- ca-certificates
- apt-utils
## - python3
# - gcc++-8
# - capnproto
- python
# - python3
- g++
- capnproto
- curl
- libcurl3
- php-curl
# - execstack
# - nodejs
# - npm
## - python3-pip
## - python3-venv
# stage-packages:
# - libfontconfig1
- execstack
- nodejs
- npm
stage-packages:
- libfontconfig1
override-build: |
echo "Cleaning environment first"
rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules
# Delete meteor 1.8.x dependencies and
# move Snap's working meteor 1.6.0.1 dependencies to be used at Wekan Snap
rm -rf .meteor
mv .meteor-1.6-snap/.meteor .
mv .meteor-1.6-snap/package.json .
mv .meteor-1.6-snap/package-lock.json .
mv .meteor-1.6-snap/rebuild-wekan.sh .
rm -rf .meteor-1.6-snap
# Create the OpenAPI specification
rm -rf .build
mkdir .build
##mkdir -p .build/python
##cd .build/python
##python3 -m venv env
##. ./env/bin/activate
##pip3 install -U setuptools wheel
##git clone --depth 1 -b master https://github.com/Kronuz/esprima-python
##cd esprima-python
##python3 setup.py install
##cd ../../..
##mkdir -p ./public/api
##python3 ./openapi/generate_openapi.py --release $(git describe --tags --abbrev=0) > ./public/api/wekan.yml
#mkdir -p .build/python
#cd .build/python
#git clone --depth 1 -b master https://github.com/Kronuz/esprima-python
#cd esprima-python
#python3 setup.py install
#cd ../../..
#mkdir -p ./public/api
#python3 ./openapi/generate_openapi.py --release $(git describe --tags --abbrev=0) > ./public/api/wekan.yml
# we temporary need api2html and mkdirp
##npm install -g --unsafe-perm api2html@0.3.0
##npm install -g --unsafe-perm mkdirp
##api2html -c ./public/logo-header.png -o ./public/api/wekan.html ./public/api/wekan.yml
##npm uninstall -g --unsafe-perm mkdirp
##npm uninstall -g --unsafe-perm api2html
#npm install -g api2html@0.3.0
#npm install -g mkdirp
#api2html -c ./public/logo-header.png -o ./public/api/wekan.html ./public/api/wekan.yml
#npm uninstall -g mkdirp
#npm uninstall -g api2html
# Node Fibers 100% CPU usage issue:
# https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-381453161
# https://github.com/meteor/meteor/issues/9796#issuecomment-381676326
@@ -198,14 +200,9 @@ parts:
#fi
rm -rf package-lock.json .build
meteor add standard-minifier-js --allow-superuser
meteor npm install --allow-superuser --unsafe-perm
meteor npm install --allow-superuser
meteor build .build --directory --allow-superuser
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
# 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
@@ -216,16 +213,16 @@ parts:
#cd ../../../../
# Change to directory .build/bundle/programs/server
cd .build/bundle/programs/server
npm install --unsafe-perm
npm install
#meteor npm install --save bcrypt
# Change back to Wekan source directory
cd ../../../..
cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
# rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
#rm $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
# rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
# rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-gyp/node_modules/tar/lib/.mkdir.js.swp
rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
rm $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-gyp/node_modules/tar/lib/.mkdir.js.swp
organize:
README: README.wekan
prime:
+8 -21
View File
@@ -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,27 +64,13 @@ 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
# Build app
cd /home/wekan/app
meteor=/home/wekan/.meteor/meteor
sudo -u wekan ${meteor} add standard-minifier-js
#sudo -u wekan ${meteor} add standard-minifier-js
sudo -u wekan ${meteor} npm install
sudo -u wekan ${meteor} build --directory /home/wekan/app_build
sudo cp /home/wekan/app/fix-download-unicode/cfs_access-point.txt /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js
@@ -96,4 +79,8 @@ sudo rm /home/wekan/app_build/bundle/programs/server/npm/node_modules/meteor/raj
cd /home/wekan/app_build/bundle/programs/server/
sudo npm install
sudo chown -R wekan:wekan ./node_modules
cd /home/wekan/app_build/bundle
find . -name "*phantomjs*" | sudo xargs rm -rf
sudo mv /home/wekan/app_build/bundle /build
+3
View File
@@ -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=
Loaded 100 of 101 files, more files were not shown because too many files have changed in this diff. Show more