summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorguillaume <guillaume.cassou@supinfo.com>2018-11-09 14:12:17 +0100
committerguillaume <guillaume.cassou@supinfo.com>2018-11-09 14:12:17 +0100
commitcb091c8a54dc3b9b721a0474f4c821e0b451f3d6 (patch)
treeadb7bce896e2d4428b59a9d5a997b95a3d72361f
parent3646a9c259634bbed03b71ead53338c3f290cf0b (diff)
parent043f9813ef269cfc784ddb75e10e2b875d621ff8 (diff)
downloadwekan-cb091c8a54dc3b9b721a0474f4c821e0b451f3d6.tar.gz
wekan-cb091c8a54dc3b9b721a0474f4c821e0b451f3d6.tar.bz2
wekan-cb091c8a54dc3b9b721a0474f4c821e0b451f3d6.zip
Merge https://github.com/wekan/wekan into devel
-rw-r--r--client/components/cards/minicard.jade5
-rw-r--r--client/components/import/import.jade4
-rw-r--r--client/components/lists/listBody.js10
-rw-r--r--client/components/sidebar/sidebarCustomFields.jade10
-rw-r--r--client/components/sidebar/sidebarCustomFields.js18
-rw-r--r--docker-compose-postgresql.yml244
-rw-r--r--i18n/ar.i18n.json4
-rw-r--r--i18n/bg.i18n.json4
-rw-r--r--i18n/br.i18n.json4
-rw-r--r--i18n/ca.i18n.json4
-rw-r--r--i18n/cs.i18n.json4
-rw-r--r--i18n/de.i18n.json4
-rw-r--r--i18n/el.i18n.json4
-rw-r--r--i18n/en-GB.i18n.json4
-rw-r--r--i18n/en.i18n.json4
-rw-r--r--i18n/eo.i18n.json4
-rw-r--r--i18n/es-AR.i18n.json4
-rw-r--r--i18n/es.i18n.json4
-rw-r--r--i18n/eu.i18n.json4
-rw-r--r--i18n/fa.i18n.json8
-rw-r--r--i18n/fi.i18n.json4
-rw-r--r--i18n/fr.i18n.json4
-rw-r--r--i18n/gl.i18n.json4
-rw-r--r--i18n/he.i18n.json4
-rw-r--r--i18n/hi.i18n.json4
-rw-r--r--i18n/hu.i18n.json4
-rw-r--r--i18n/hy.i18n.json4
-rw-r--r--i18n/id.i18n.json4
-rw-r--r--i18n/ig.i18n.json4
-rw-r--r--i18n/it.i18n.json4
-rw-r--r--i18n/ja.i18n.json4
-rw-r--r--i18n/ka.i18n.json4
-rw-r--r--i18n/km.i18n.json4
-rw-r--r--i18n/ko.i18n.json4
-rw-r--r--i18n/lv.i18n.json4
-rw-r--r--i18n/mn.i18n.json4
-rw-r--r--i18n/nb.i18n.json4
-rw-r--r--i18n/nl.i18n.json4
-rw-r--r--i18n/pl.i18n.json14
-rw-r--r--i18n/pt-BR.i18n.json4
-rw-r--r--i18n/pt.i18n.json4
-rw-r--r--i18n/ro.i18n.json4
-rw-r--r--i18n/ru.i18n.json4
-rw-r--r--i18n/sr.i18n.json4
-rw-r--r--i18n/sv.i18n.json4
-rw-r--r--i18n/ta.i18n.json4
-rw-r--r--i18n/th.i18n.json4
-rw-r--r--i18n/tr.i18n.json4
-rw-r--r--i18n/uk.i18n.json4
-rw-r--r--i18n/vi.i18n.json4
-rw-r--r--i18n/zh-CN.i18n.json4
-rw-r--r--i18n/zh-TW.i18n.json4
-rw-r--r--models/boards.js2
-rw-r--r--models/customFields.js8
-rw-r--r--models/import.js10
-rw-r--r--models/wekanCreator.js39
-rw-r--r--rebuild-wekan.bat48
-rwxr-xr-xrebuild-wekan.sh129
-rw-r--r--releases/README.md12
-rwxr-xr-xreleases/add-tag.sh5
-rwxr-xr-xreleases/commit.sh4
-rwxr-xr-xreleases/delete-branch-local-and-remote.sh3
-rwxr-xr-xreleases/rebuild-release.sh38
-rwxr-xr-xreleases/release-cleanup.sh19
-rwxr-xr-xreleases/release-sandstorm.sh20
-rwxr-xr-xreleases/release-snap.sh26
-rwxr-xr-xreleases/release.sh9
-rwxr-xr-xreleases/sandstorm-make-spk.sh1
-rwxr-xr-xreleases/sandstorm-test-dev.sh1
-rwxr-xr-xreleases/snap-edge.sh2
-rwxr-xr-xreleases/snap-install.sh1
-rwxr-xr-xreleases/snap-push-to-store.sh1
-rwxr-xr-xreleases/snap-stable.sh2
-rwxr-xr-xreleases/snapcraft-help.sh1
-rwxr-xr-xreleases/translations/pull-translations.sh136
-rwxr-xr-xreleases/translations/push-english-base-translation.sh2
-rw-r--r--releases/virtualbox/README.txt6
-rw-r--r--releases/virtualbox/etc-rc.local.txt20
-rwxr-xr-xreleases/virtualbox/ipaddress.sh2
-rwxr-xr-xreleases/virtualbox/node-allow-port-80.sh1
-rwxr-xr-xreleases/virtualbox/old-rebuild-wekan.sh42
-rwxr-xr-xreleases/virtualbox/rebuild-wekan.sh127
-rwxr-xr-xreleases/virtualbox/start-wekan.sh72
-rwxr-xr-xreleases/virtualbox/stop-wekan.sh1
-rwxr-xr-xreleases/wekan-snap-help.sh1
-rw-r--r--start-wekan.bat178
-rwxr-xr-xstart-wekan.sh23
-rwxr-xr-xstatus-wekan.sh5
-rwxr-xr-xstop-wekan.sh1
89 files changed, 1453 insertions, 34 deletions
diff --git a/client/components/cards/minicard.jade b/client/components/cards/minicard.jade
index 5c609802..f23e91b3 100644
--- a/client/components/cards/minicard.jade
+++ b/client/components/cards/minicard.jade
@@ -53,8 +53,9 @@ template(name="minicard")
each customFieldsWD
if definition.showOnCard
.minicard-custom-field
- .minicard-custom-field-item
- = definition.name
+ if definition.showLabelOnMiniCard
+ .minicard-custom-field-item
+ = definition.name
.minicard-custom-field-item
+viewer
= trueValue
diff --git a/client/components/import/import.jade b/client/components/import/import.jade
index a1fbd83b..5b52f417 100644
--- a/client/components/import/import.jade
+++ b/client/components/import/import.jade
@@ -12,11 +12,11 @@ template(name="import")
template(name="importTextarea")
form
- p: label(for='import-textarea') {{_ instruction}}
+ p: label(for='import-textarea') {{_ instruction}} {{_ 'import-board-instruction-about-errors'}}
textarea.js-import-json(placeholder="{{_ 'import-json-placeholder'}}" autofocus)
| {{jsonText}}
if isSandstorm
- h1.warning DANGER !!! THIS DESTROYS YOUR IMPORTED DATA, CAUSES BOARD NOT FOUND ERROR WHEN YOU OPEN THIS GRAIN AGAIN https://github.com/wekan/wekan/issues/1430
+ h1.warning {{_ 'import-sandstorm-backup-warning'}}
p.warning {{_ 'import-sandstorm-warning'}}
input.primary.wide(type="submit" value="{{_ 'import'}}")
diff --git a/client/components/lists/listBody.js b/client/components/lists/listBody.js
index d99d9dc8..1001f3bc 100644
--- a/client/components/lists/listBody.js
+++ b/client/components/lists/listBody.js
@@ -59,6 +59,8 @@ BlazeComponent.extendComponent({
swimlaneId,
type: 'cardType-card',
});
+
+
// In case the filter is active we need to add the newly inserted card in
// the list of exceptions -- cards that are not filtered. Otherwise the
// card will disappear instantly.
@@ -152,6 +154,14 @@ BlazeComponent.extendComponent({
this.labels = new ReactiveVar([]);
this.members = new ReactiveVar([]);
this.customFields = new ReactiveVar([]);
+
+ const currentBoardId = Session.get('currentBoard');
+ arr = [];
+ _.forEach(Boards.findOne(currentBoardId).customFields().fetch(), function(field){
+ if(field.automaticallyOnCard)
+ arr.push({_id: field._id, value: null});
+ });
+ this.customFields.set(arr);
},
reset() {
diff --git a/client/components/sidebar/sidebarCustomFields.jade b/client/components/sidebar/sidebarCustomFields.jade
index fd31e5ac..f0a17773 100644
--- a/client/components/sidebar/sidebarCustomFields.jade
+++ b/client/components/sidebar/sidebarCustomFields.jade
@@ -41,6 +41,16 @@ template(name="createCustomFieldPopup")
.materialCheckBox(class="{{#if showOnCard}}is-checked{{/if}}")
span {{_ 'show-field-on-card'}}
+ a.flex.js-field-automatically-on-card(class="{{#if automaticallyOnCard}}is-checked{{/if}}")
+ .materialCheckBox(class="{{#if automaticallyOnCard}}is-checked{{/if}}")
+
+ span {{_ 'automatically-field-on-card'}}
+
+ a.flex.js-field-showLabel-on-card(class="{{#if showLabelOnMiniCard}}is-checked{{/if}}")
+ .materialCheckBox(class="{{#if showLabelOnMiniCard}}is-checked{{/if}}")
+
+ span {{_ 'showLabel-field-on-card'}}
+
button.primary.wide.left(type="button")
| {{_ 'save'}}
if _id
diff --git a/client/components/sidebar/sidebarCustomFields.js b/client/components/sidebar/sidebarCustomFields.js
index e56d744e..ccc8ffb9 100644
--- a/client/components/sidebar/sidebarCustomFields.js
+++ b/client/components/sidebar/sidebarCustomFields.js
@@ -83,6 +83,22 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
$target.find('.materialCheckBox').toggleClass('is-checked');
$target.toggleClass('is-checked');
},
+ 'click .js-field-automatically-on-card'(evt) {
+ let $target = $(evt.target);
+ if(!$target.hasClass('js-field-automatically-on-card')){
+ $target = $target.parent();
+ }
+ $target.find('.materialCheckBox').toggleClass('is-checked');
+ $target.toggleClass('is-checked');
+ },
+ 'click .js-field-showLabel-on-card'(evt) {
+ let $target = $(evt.target);
+ if(!$target.hasClass('js-field-showLabel-on-card')){
+ $target = $target.parent();
+ }
+ $target.find('.materialCheckBox').toggleClass('is-checked');
+ $target.toggleClass('is-checked');
+ },
'click .primary'(evt) {
evt.preventDefault();
@@ -92,6 +108,8 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
type: this.type.get(),
settings: this.getSettings(),
showOnCard: this.find('.js-field-show-on-card.is-checked') !== null,
+ showLabelOnMiniCard: this.find('.js-field-showLabel-on-card.is-checked') !== null,
+ automaticallyOnCard: this.find('.js-field-automatically-on-card.is-checked') !== null,
};
// insert or update
diff --git a/docker-compose-postgresql.yml b/docker-compose-postgresql.yml
new file mode 100644
index 00000000..7689cc71
--- /dev/null
+++ b/docker-compose-postgresql.yml
@@ -0,0 +1,244 @@
+version: '2'
+
+# Docker: Wekan <=> MongoDB <=> ToroDB => PostgreSQL read-only mirroring
+# for reporting with SQL, and accessing with any programming language,
+# reporting package and Office suite that can connect to PostgreSQL.
+# https://github.com/wekan/wekan-postgresql
+
+services:
+ torodb-stampede:
+ image: torodb/stampede:1.0.0-SNAPSHOT
+ networks:
+ - wekan-tier
+ links:
+ - postgres
+ - mongodb
+ environment:
+ - POSTGRES_PASSWORD
+ - TORODB_SETUP=true
+ - TORODB_SYNC_SOURCE=mongodb:27017
+ - TORODB_BACKEND_HOST=postgres
+ - TORODB_BACKEND_PORT=5432
+ - TORODB_BACKEND_DATABASE=wekan
+ - TORODB_BACKEND_USER=wekan
+ - TORODB_BACKEND_PASSWORD=wekan
+ - DEBUG
+ postgres:
+ image: postgres:9.6
+ networks:
+ - wekan-tier
+ environment:
+ - POSTGRES_PASSWORD
+ ports:
+ - "15432:5432"
+ mongodb:
+ image: mongo:3.2
+ networks:
+ - wekan-tier
+ ports:
+ - "28017:27017"
+ entrypoint:
+ - /bin/bash
+ - "-c"
+ - mongo --nodb --eval '
+ var db;
+ while (!db) {
+ try {
+ db = new Mongo("mongodb:27017").getDB("local");
+ } catch(ex) {}
+ sleep(3000);
+ };
+ rs.initiate({_id:"rs1",members:[{_id:0,host:"mongodb:27017"}]});
+ ' 1>/dev/null 2>&1 &
+ mongod --replSet rs1
+ wekan:
+ image: quay.io/wekan/wekan
+ container_name: wekan-app
+ restart: always
+ networks:
+ - wekan-tier
+ ports:
+ - 80:8080
+ environment:
+ - MONGO_URL=mongodb://mongodb:27017/wekan
+ - ROOT_URL=http://localhost
+ #---------------------------------------------------------------
+ # == WEKAN API ==
+ # Wekan Export Board works when WITH_API='true'.
+ # If you disable Wekan API, Export Board does not work.
+ - WITH_API=true
+ # Optional: Integration with Matomo https://matomo.org that is installed to your server
+ # The address of the server where Matomo is hosted.
+ # example: - MATOMO_ADDRESS=https://example.com/matomo
+ #- MATOMO_ADDRESS=
+ # The value of the site ID given in Matomo server for Wekan
+ # example: - MATOMO_SITE_ID=12345
+ #- MATOMO_SITE_ID=
+ # The option do not track which enables users to not be tracked by matomo
+ # example: - MATOMO_DO_NOT_TRACK=false
+ #- MATOMO_DO_NOT_TRACK=
+ # The option that allows matomo to retrieve the username:
+ # example: MATOMO_WITH_USERNAME=true
+ #- MATOMO_WITH_USERNAME=false
+ # Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside.
+ # Setting this to false is not recommended, it also disables all other browser policy protections
+ # and allows all iframing etc. See wekan/server/policy.js
+ - BROWSER_POLICY_ENABLED=true
+ # When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside.
+ #- TRUSTED_URL=
+ # What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId .
+ # example: WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId
+ #- WEBHOOKS_ATTRIBUTES=
+ # Enable the OAuth2 connection
+ # example: OAUTH2_ENABLED=true
+ #- OAUTH2_ENABLED=false
+ # OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
+ # OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345
+ # example: OAUTH2_CLIENT_ID=abcde12345
+ #- OAUTH2_CLIENT_ID=
+ # OAuth2 Secret, for example from Rocket.Chat: Example: 54321abcde
+ # example: OAUTH2_SECRET=54321abcde
+ #- OAUTH2_SECRET=
+ # OAuth2 Server URL, for example Rocket.Chat. Example: https://chat.example.com
+ # example: OAUTH2_SERVER_URL=https://chat.example.com
+ #- OAUTH2_SERVER_URL=
+ # OAuth2 Authorization Endpoint. Example: /oauth/authorize
+ # example: OAUTH2_AUTH_ENDPOINT=/oauth/authorize
+ #- OAUTH2_AUTH_ENDPOINT=
+ # OAuth2 Userinfo Endpoint. Example: /oauth/userinfo
+ # example: OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
+ #- OAUTH2_USERINFO_ENDPOINT=
+ # OAuth2 Token Endpoint. Example: /oauth/token
+ # example: OAUTH2_TOKEN_ENDPOINT=/oauth/token
+ #- OAUTH2_TOKEN_ENDPOINT=
+ # LDAP_ENABLE : Enable or not the connection by the LDAP
+ # example : LDAP_ENABLE=true
+ #- LDAP_ENABLE=false
+ # LDAP_PORT : The port of the LDAP server
+ # example : LDAP_PORT=389
+ #- LDAP_PORT=389
+ # LDAP_HOST : The host server for the LDAP server
+ # example : LDAP_HOST=localhost
+ #- LDAP_HOST=
+ # LDAP_BASEDN : The base DN for the LDAP Tree
+ # example : LDAP_BASEDN=ou=user,dc=example,dc=org
+ #- LDAP_BASEDN=
+ # LDAP_LOGIN_FALLBACK : Fallback on the default authentication method
+ # example : LDAP_LOGIN_FALLBACK=true
+ #- LDAP_LOGIN_FALLBACK=false
+ # LDAP_RECONNECT : Reconnect to the server if the connection is lost
+ # example : LDAP_RECONNECT=false
+ #- LDAP_RECONNECT=true
+ # LDAP_TIMEOUT : Overall timeout, in milliseconds
+ # example : LDAP_TIMEOUT=12345
+ #- LDAP_TIMEOUT=10000
+ # LDAP_IDLE_TIMEOUT : Specifies the timeout for idle LDAP connections in milliseconds
+ # example : LDAP_IDLE_TIMEOUT=12345
+ #- LDAP_IDLE_TIMEOUT=10000
+ # LDAP_CONNECT_TIMEOUT : Connection timeout, in milliseconds
+ # example : LDAP_CONNECT_TIMEOUT=12345
+ #- LDAP_CONNECT_TIMEOUT=10000
+ # LDAP_AUTHENTIFICATION : If the LDAP needs a user account to search
+ # example : LDAP_AUTHENTIFICATION=true
+ #- LDAP_AUTHENTIFICATION=false
+ # LDAP_AUTHENTIFICATION_USERDN : The search user DN
+ # example : LDAP_AUTHENTIFICATION_USERDN=cn=admin,dc=example,dc=org
+ #- LDAP_AUTHENTIFICATION_USERDN=
+ # LDAP_AUTHENTIFICATION_PASSWORD : The password for the search user
+ # example : AUTHENTIFICATION_PASSWORD=admin
+ #- LDAP_AUTHENTIFICATION_PASSWORD=
+ # LDAP_LOG_ENABLED : Enable logs for the module
+ # example : LDAP_LOG_ENABLED=true
+ #- LDAP_LOG_ENABLED=false
+ # LDAP_BACKGROUND_SYNC : If the sync of the users should be done in the background
+ # example : LDAP_BACKGROUND_SYNC=true
+ #- LDAP_BACKGROUND_SYNC=false
+ # LDAP_BACKGROUND_SYNC_INTERVAL : At which interval does the background task sync in milliseconds
+ # example : LDAP_BACKGROUND_SYNC_INTERVAL=12345
+ #- LDAP_BACKGROUND_SYNC_INTERVAL=100
+ # LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED :
+ # example : LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=true
+ #- LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=false
+ # LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS :
+ # example : LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=true
+ #- LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=false
+ # LDAP_ENCRYPTION : If using LDAPS
+ # example : LDAP_ENCRYPTION=ssl
+ #- LDAP_ENCRYPTION=false
+ # LDAP_CA_CERT : The certification for the LDAPS server. Certificate needs to be included in this docker-compose.yml file.
+ # example : LDAP_CA_CERT=-----BEGIN CERTIFICATE-----MIIE+zCCA+OgAwIBAgIkAhwR/6TVLmdRY6hHxvUFWc0+Enmu/Hu6cj+G2FIdAgIC...-----END CERTIFICATE-----
+ #- LDAP_CA_CERT=
+ # LDAP_REJECT_UNAUTHORIZED : Reject Unauthorized Certificate
+ # example : LDAP_REJECT_UNAUTHORIZED=true
+ #- LDAP_REJECT_UNAUTHORIZED=false
+ # LDAP_USER_SEARCH_FILTER : Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
+ # example : LDAP_USER_SEARCH_FILTER=
+ #- LDAP_USER_SEARCH_FILTER=
+ # LDAP_USER_SEARCH_SCOPE : base (search only in the provided DN), one (search only in the provided DN and one level deep), or sub (search the whole subtree)
+ # example : LDAP_USER_SEARCH_SCOPE=one
+ #- LDAP_USER_SEARCH_SCOPE=
+ # LDAP_USER_SEARCH_FIELD : Which field is used to find the user
+ # example : LDAP_USER_SEARCH_FIELD=uid
+ #- LDAP_USER_SEARCH_FIELD=
+ # LDAP_SEARCH_PAGE_SIZE : Used for pagination (0=unlimited)
+ # example : LDAP_SEARCH_PAGE_SIZE=12345
+ #- LDAP_SEARCH_PAGE_SIZE=0
+ # LDAP_SEARCH_SIZE_LIMIT : The limit number of entries (0=unlimited)
+ # example : LDAP_SEARCH_SIZE_LIMIT=12345
+ #- LDAP_SEARCH_SIZE_LIMIT=0
+ # LDAP_GROUP_FILTER_ENABLE : Enable group filtering
+ # example : LDAP_GROUP_FILTER_ENABLE=true
+ #- LDAP_GROUP_FILTER_ENABLE=false
+ # LDAP_GROUP_FILTER_OBJECTCLASS : The object class for filtering
+ # example : LDAP_GROUP_FILTER_OBJECTCLASS=group
+ #- LDAP_GROUP_FILTER_OBJECTCLASS=
+ # LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE :
+ # example :
+ #- LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE=
+ # LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE :
+ # example :
+ #- LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE=
+ # LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT :
+ # example :
+ #- LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT=
+ # LDAP_GROUP_FILTER_GROUP_NAME :
+ # example :
+ #- LDAP_GROUP_FILTER_GROUP_NAME=
+ # LDAP_UNIQUE_IDENTIFIER_FIELD : This field is sometimes class GUID (Globally Unique Identifier)
+ # example : LDAP_UNIQUE_IDENTIFIER_FIELD=guid
+ #- LDAP_UNIQUE_IDENTIFIER_FIELD=
+ # LDAP_UTF8_NAMES_SLUGIFY : Convert the username to utf8
+ # example : LDAP_UTF8_NAMES_SLUGIFY=false
+ #- LDAP_UTF8_NAMES_SLUGIFY=true
+ # LDAP_USERNAME_FIELD : Which field contains the ldap username
+ # example : LDAP_USERNAME_FIELD=username
+ #- LDAP_USERNAME_FIELD=
+ # LDAP_MERGE_EXISTING_USERS :
+ # example : LDAP_MERGE_EXISTING_USERS=true
+ #- LDAP_MERGE_EXISTING_USERS=false
+ # LDAP_SYNC_USER_DATA :
+ # example : LDAP_SYNC_USER_DATA=true
+ #- LDAP_SYNC_USER_DATA=false
+ # LDAP_SYNC_USER_DATA_FIELDMAP :
+ # example : LDAP_SYNC_USER_DATA_FIELDMAP={"cn":"name", "mail":"email"}
+ #- LDAP_SYNC_USER_DATA_FIELDMAP=
+ # LDAP_SYNC_GROUP_ROLES :
+ # example :
+ #- LDAP_SYNC_GROUP_ROLES=
+ # LDAP_DEFAULT_DOMAIN : The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP
+ # example :
+ #- LDAP_DEFAULT_DOMAIN=
+
+
+ depends_on:
+ - mongodb
+
+volumes:
+ mongodb:
+ driver: local
+ mongodb-dump:
+ driver: local
+
+networks:
+ wekan-tier:
+ driver: bridge
diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json
index 4f13db90..797e2d02 100644
--- a/i18n/ar.i18n.json
+++ b/i18n/ar.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "استيراد لوحة",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "استيراد لوحة من ويكان",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "من تريلو",
"from-wekan": "من ويكان",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text",
"import-board-instruction-wekan": "في لوحة ويكان الخاصة بك، انتقل إلى 'القائمة'، ثم 'تصدير اللوحة'، ونسخ النص في الملف الذي تم تنزيله.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "رسم خريطة الأعضاء",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "الدقائق",
"seconds": "الثواني",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "نعم",
"no": "لا",
"accounts": "الحسابات",
diff --git a/i18n/bg.i18n.json b/i18n/bg.i18n.json
index 9b0e3c74..13405b19 100644
--- a/i18n/bg.i18n.json
+++ b/i18n/bg.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Импортирай Табло",
"import-board-title-trello": "Импорт на табло от Trello",
"import-board-title-wekan": "Импортирай табло от Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Импортирането ще изтрие всичката налична информация в таблото и ще я замени с нова.",
"from-trello": "От Trello",
"from-wekan": "От Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Копирайте валидната Ви JSON информация тук",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "минути",
"seconds": "секунди",
"show-field-on-card": "Покажи това поле в картата",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Да",
"no": "Не",
"accounts": "Профили",
diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json
index ab015806..2bb74b8e 100644
--- a/i18n/br.i18n.json
+++ b/i18n/br.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json
index 1830946a..a2e46c29 100644
--- a/i18n/ca.i18n.json
+++ b/i18n/ca.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Importa tauler",
"import-board-title-trello": "Importa tauler des de Trello",
"import-board-title-wekan": "I",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Estau segur que voleu esborrar aquesta checklist?",
"from-trello": "Des de Trello",
"from-wekan": "Des de Wekan",
"import-board-instruction-trello": "En el teu tauler Trello, ves a 'Menú', 'Més'.' Imprimir i Exportar', 'Exportar JSON', i copia el text resultant.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Aferra codi JSON vàlid aquí",
"import-map-members": "Mapeja el membres",
"import-members-map": "El tauler importat conté membres. Assigna els membres que vulguis importar a usuaris Wekan",
@@ -482,6 +484,8 @@
"minutes": "minuts",
"seconds": "segons",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Si",
"no": "No",
"accounts": "Comptes",
diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json
index 09acb6f7..bc231acf 100644
--- a/i18n/cs.i18n.json
+++ b/i18n/cs.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Importovat tablo",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Importovat tablo z Wekanu",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Importované tablo spaže všechny existující data v tablu a nahradí je importovaným tablem.",
"from-trello": "Z Trella",
"from-wekan": "Z Wekanu",
"import-board-instruction-trello": "Na svém Trello tablu, otevři 'Menu', pak 'More', 'Print and Export', 'Export JSON', a zkopíruj výsledný text",
"import-board-instruction-wekan": "Ve vašem Wekan tablu jděte do 'Menu', klikněte na 'Exportovat tablo' a zkopírujte text ze staženého souboru.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Sem vlož validní JSON data",
"import-map-members": "Mapovat členy",
"import-members-map": "Toto importované tablo obsahuje několik členů. Namapuj členy z importu na uživatelské účty Wekan.",
@@ -482,6 +484,8 @@
"minutes": "minut",
"seconds": "sekund",
"show-field-on-card": "Ukázat toto pole na kartě",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Ano",
"no": "Ne",
"accounts": "Účty",
diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json
index 1dd27930..77f88043 100644
--- a/i18n/de.i18n.json
+++ b/i18n/de.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Board importieren",
"import-board-title-trello": "Board von Trello importieren",
"import-board-title-wekan": "Board von Wekan importieren",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Das importierte Board wird alle bereits existierenden Daten löschen und mit den importierten Daten überschreiben.",
"from-trello": "Von Trello",
"from-wekan": "Von Wekan",
"import-board-instruction-trello": "Gehen Sie in ihrem Trello-Board auf 'Menü', dann 'Mehr', 'Drucken und Exportieren', 'JSON-Export' und kopieren Sie den dort angezeigten Text",
"import-board-instruction-wekan": "Gehen Sie in Ihrem Wekan board auf 'Menü', und dann auf 'Board exportieren'. Kopieren Sie anschließend den Text aus der heruntergeladenen Datei.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Fügen Sie die korrekten JSON-Daten hier ein",
"import-map-members": "Mitglieder zuordnen",
"import-members-map": "Das importierte Board hat Mitglieder. Bitte ordnen Sie jene, die importiert werden sollen, vorhandenen Wekan-Nutzern zu",
@@ -482,6 +484,8 @@
"minutes": "Minuten",
"seconds": "Sekunden",
"show-field-on-card": "Zeige dieses Feld auf der Karte",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Ja",
"no": "Nein",
"accounts": "Konten",
diff --git a/i18n/el.i18n.json b/i18n/el.i18n.json
index 175979e9..43eef890 100644
--- a/i18n/el.i18n.json
+++ b/i18n/el.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "Από το Trello",
"from-wekan": "Από το Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "λεπτά",
"seconds": "δευτερόλεπτα",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Ναι",
"no": "Όχι",
"accounts": "Λογαριασμοί",
diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json
index 992eb801..a111ca83 100644
--- a/i18n/en-GB.i18n.json
+++ b/i18n/en-GB.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json
index e69101f0..8c5ce423 100644
--- a/i18n/en.i18n.json
+++ b/i18n/en.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/eo.i18n.json b/i18n/eo.i18n.json
index 834029e2..cc8415c3 100644
--- a/i18n/eo.i18n.json
+++ b/i18n/eo.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/es-AR.i18n.json b/i18n/es-AR.i18n.json
index a8672691..9c1c1c5c 100644
--- a/i18n/es-AR.i18n.json
+++ b/i18n/es-AR.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Importar tablero",
"import-board-title-trello": "Importar tablero de Trello",
"import-board-title-wekan": "Importar tablero de Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "El tablero importado va a borrar todos los datos existentes en el tablero y reemplazarlos con los del tablero en cuestión.",
"from-trello": "De Trello",
"from-wekan": "De Wekan",
"import-board-instruction-trello": "En tu tablero de Trello, ve a 'Menú', luego a 'Más', 'Imprimir y Exportar', 'Exportar JSON', y copia el texto resultante.",
"import-board-instruction-wekan": "En tu tablero Wekan, ve a 'Menú', luego a 'Exportar tablero', y copia el texto en el archivo descargado.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Pegá tus datos JSON válidos acá",
"import-map-members": "Mapear Miembros",
"import-members-map": "Tu tablero importado tiene algunos miembros. Por favor mapeá los miembros que quieras importar/convertir a usuarios de Wekan.",
@@ -482,6 +484,8 @@
"minutes": "minutos",
"seconds": "segundos",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Si",
"no": "No",
"accounts": "Cuentas",
diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json
index d53a5508..b0a320cb 100644
--- a/i18n/es.i18n.json
+++ b/i18n/es.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Importar un tablero",
"import-board-title-trello": "Importar un tablero desde Trello",
"import-board-title-wekan": "Importar un tablero desde Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "El tablero importado eliminará todos los datos existentes en este tablero y los reemplazará con los datos del tablero importado.",
"from-trello": "Desde Trello",
"from-wekan": "Desde Wekan",
"import-board-instruction-trello": "En tu tablero de Trello, ve a 'Menú', luego 'Más' > 'Imprimir y exportar' > 'Exportar JSON', y copia el texto resultante.",
"import-board-instruction-wekan": "En tu tablero de Wekan, ve a 'Menú del tablero', luego 'Exportar el tablero', y copia aquí el texto del fichero descargado.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Pega tus datos JSON válidos aquí",
"import-map-members": "Mapa de miembros",
"import-members-map": "El tablero importado tiene algunos miembros. Por favor mapea los miembros que deseas importar a los usuarios de Wekan",
@@ -482,6 +484,8 @@
"minutes": "minutos",
"seconds": "segundos",
"show-field-on-card": "Mostrar este campo en la tarjeta",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Sí",
"no": "No",
"accounts": "Cuentas",
diff --git a/i18n/eu.i18n.json b/i18n/eu.i18n.json
index 541956d2..6e30db7f 100644
--- a/i18n/eu.i18n.json
+++ b/i18n/eu.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Inportatu arbela",
"import-board-title-trello": "Inportatu arbela Trellotik",
"import-board-title-wekan": "Inportatu arbela Wekanetik",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Inportatutako arbelak oraingo arbeleko informazio guztia ezabatuko du eta inportatutako arbeleko informazioarekin ordeztu.",
"from-trello": "Trellotik",
"from-wekan": "Wekanetik",
"import-board-instruction-trello": "Zure Trello arbelean, aukeratu 'Menu\", 'More', 'Print and Export', 'Export JSON', eta kopiatu jasotako testua hemen.",
"import-board-instruction-wekan": "Zure Wekan arbelean, aukeratu 'Menua' - 'Esportatu arbela', eta kopiatu testua deskargatutako fitxategian.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Isatsi baliozko JSON datuak hemen",
"import-map-members": "Kideen mapa",
"import-members-map": "Inportatu duzun arbela kide batzuk ditu, mesedez lotu inportatu nahi dituzun kideak Wekan erabiltzaileekin",
@@ -482,6 +484,8 @@
"minutes": "minutu",
"seconds": "segundo",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Bai",
"no": "Ez",
"accounts": "Kontuak",
diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json
index a91cd46d..6bd66af8 100644
--- a/i18n/fa.i18n.json
+++ b/i18n/fa.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "وارد کردن تخته",
"import-board-title-trello": "وارد کردن تخته از Trello",
"import-board-title-wekan": "وارد کردن تخته از Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "از Trello",
"from-wekan": "از Wekan",
"import-board-instruction-trello": "در Trello-ی خود به 'Menu'، 'More'، 'Print'، 'Export to JSON رفته و متن نهایی را دراینجا وارد نمایید.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "اطلاعات Json معتبر خود را اینجا وارد کنید.",
"import-map-members": "نگاشت اعضا",
"import-members-map": "تعدادی عضو در تخته وارد شده می باشد. لطفا کاربرانی که باید وارد نرم افزار بشوند را مشخص کنید.",
@@ -482,6 +484,8 @@
"minutes": "دقیقه",
"seconds": "ثانیه",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "بله",
"no": "خیر",
"accounts": "حساب‌ها",
@@ -525,11 +529,11 @@
"activity-added-label-card": "added label '%s'",
"activity-removed-label-card": "removed label '%s'",
"activity-delete-attach-card": "deleted an attachment",
- "r-rule": "Rule",
+ "r-rule": "نقش",
"r-add-trigger": "Add trigger",
"r-add-action": "Add action",
"r-board-rules": "Board rules",
- "r-add-rule": "Add rule",
+ "r-add-rule": "افزودن نقش",
"r-view-rule": "View rule",
"r-delete-rule": "Delete rule",
"r-new-rule-name": "New rule title",
diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json
index 024300f2..38734f9a 100644
--- a/i18n/fi.i18n.json
+++ b/i18n/fi.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Tuo taulu",
"import-board-title-trello": "Tuo taulu Trellosta",
"import-board-title-wekan": "Tuo taulu Wekanista",
+ "import-sandstorm-backup-warning": "Älä poista tietoja joita tuo alkuperääisestä Wekanista tai Trellosta ennenkuin tarkistan onnistuuko sulkea ja avata tämä jyvä uudelleen, vai näkyykö Board not found virhe, joka tarkoittaa tietojen häviämistä.",
"import-sandstorm-warning": "Tuotu taulu poistaa kaikki olemassaolevan taulun tiedot ja korvaa ne tuodulla taululla.",
"from-trello": "Trellosta",
"from-wekan": "Wekanista",
"import-board-instruction-trello": "Trello taulullasi, mene 'Menu', sitten 'More', 'Print and Export', 'Export JSON', ja kopioi tuloksena saamasi teksti",
"import-board-instruction-wekan": "Wekan taulullasi, mene 'Valikko', sitten 'Vie taulu', ja kopioi teksti ladatusta tiedostosta.",
+ "import-board-instruction-about-errors": "Jos virheitä tulee taulua tuotaessa, joskus tuonti silti toimii, ja taulu on Kaikki taulut sivulla.",
"import-json-placeholder": "Liitä kelvollinen JSON tietosi tähän",
"import-map-members": "Vastaavat jäsenet",
"import-members-map": "Tuomallasi taululla on muutamia jäseniä. Ole hyvä ja valitse tuomiasi jäseniä vastaavat Wekan käyttäjät",
@@ -482,6 +484,8 @@
"minutes": "minuuttia",
"seconds": "sekuntia",
"show-field-on-card": "Näytä tämä kenttä kortilla",
+ "automatically-field-on-card": "Luo kenttä automaattisesti kaikille korteille",
+ "showLabel-field-on-card": "Näytä kentän tunniste minikortilla",
"yes": "Kyllä",
"no": "Ei",
"accounts": "Tilit",
diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json
index a42b382e..63ab4f35 100644
--- a/i18n/fr.i18n.json
+++ b/i18n/fr.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Importer un tableau",
"import-board-title-trello": "Importer le tableau depuis Trello",
"import-board-title-wekan": "Importer un tableau depuis Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Le tableau importé supprimera toutes les données du tableau et les remplacera avec celles du tableau importé.",
"from-trello": "Depuis Trello",
"from-wekan": "Depuis Wekan",
"import-board-instruction-trello": "Dans votre tableau Trello, allez sur 'Menu', puis sur 'Plus', 'Imprimer et exporter', 'Exporter en JSON' et copiez le texte du résultat",
"import-board-instruction-wekan": "Dans votre tableau Wekan, allez dans 'Menu', puis 'Exporter un tableau', et copier le texte du fichier téléchargé.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Collez ici les données JSON valides",
"import-map-members": "Faire correspondre aux membres",
"import-members-map": "Le tableau que vous venez d'importer contient des membres. Veuillez associer les membres que vous souhaitez importer à des utilisateurs de Wekan.",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "secondes",
"show-field-on-card": "Afficher ce champ sur la carte",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Oui",
"no": "Non",
"accounts": "Comptes",
diff --git a/i18n/gl.i18n.json b/i18n/gl.i18n.json
index 3ba7320c..4cc4f3d3 100644
--- a/i18n/gl.i18n.json
+++ b/i18n/gl.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Importar taboleiro",
"import-board-title-trello": "Importar taboleiro de Trello",
"import-board-title-wekan": "Importar taboleiro de Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "De Trello",
"from-wekan": "De Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json
index 4009e08c..3823b3f5 100644
--- a/i18n/he.i18n.json
+++ b/i18n/he.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "יבוא לוח",
"import-board-title-trello": "ייבוא לוח מטרלו",
"import-board-title-wekan": "ייבוא לוח מ־Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "הלוח שייובא ימחק את כל הנתונים הקיימים בלוח ויחליף אותם בלוח שייובא.",
"from-trello": "מ־Trello",
"from-wekan": "מ־Wekan",
"import-board-instruction-trello": "בלוח הטרלו שלך, עליך ללחוץ על ‚תפריט‘, ואז על ‚עוד‘, ‚הדפסה וייצוא‘, ‚יצוא JSON‘ ולהעתיק את הטקסט שנוצר.",
"import-board-instruction-wekan": "בלוח ה־Wekan, יש לגשת אל ‚תפריט‘, לאחר מכן ‚יצוא לוח‘ ולהעתיק את הטקסט בקובץ שהתקבל.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "יש להדביק את נתוני ה־JSON התקינים לכאן",
"import-map-members": "מיפוי חברים",
"import-members-map": "הלוחות המיובאים שלך מכילים חברים. נא למפות את החברים שברצונך לייבא למשתמשי Wekan",
@@ -482,6 +484,8 @@
"minutes": "דקות",
"seconds": "שניות",
"show-field-on-card": "הצגת שדה זה בכרטיס",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "כן",
"no": "לא",
"accounts": "חשבונות",
diff --git a/i18n/hi.i18n.json b/i18n/hi.i18n.json
index 0a64c41e..0ad44955 100644
--- a/i18n/hi.i18n.json
+++ b/i18n/hi.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import बोर्ड",
"import-board-title-trello": "Import बोर्ड से Trello",
"import-board-title-wekan": "Import बोर्ड से Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "सूचित कर बोर्ड will मिटाएँ संपूर्ण existing data on बोर्ड और replace it साथ में सूचित कर बोर्ड.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello बोर्ड, go तक 'Menu', then 'More', 'Print और Export', 'Export JSON', और copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan बोर्ड, go तक 'Menu', then 'Export बोर्ड', और copy the text अंदर में the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map सदस्य",
"import-members-map": "Your सूचित कर बोर्ड has some सदस्य. Please map the सदस्य you want तक import तक Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show यह field on कार्ड",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/hu.i18n.json b/i18n/hu.i18n.json
index 63c04d93..a0b8f363 100644
--- a/i18n/hu.i18n.json
+++ b/i18n/hu.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Tábla importálása",
"import-board-title-trello": "Tábla importálása a Trello oldalról",
"import-board-title-wekan": "Tábla importálása a Wekan oldalról",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Az importált tábla törölni fogja a táblán lévő összes meglévő adatot, és kicseréli az importált táblával.",
"from-trello": "A Trello oldalról",
"from-wekan": "A Wekan oldalról",
"import-board-instruction-trello": "A Trello tábláján menjen a „Menü”, majd a „Több”, „Nyomtatás és exportálás”, „JSON exportálása” menüpontokra, és másolja ki az eredményül kapott szöveget.",
"import-board-instruction-wekan": "A Wekan tábláján menjen a „Menü”, majd a „Tábla exportálás” menüpontra, és másolja ki a letöltött fájlban lévő szöveget.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Illessze be ide az érvényes JSON adatokat",
"import-map-members": "Tagok leképezése",
"import-members-map": "Az importált táblának van néhány tagja. Képezze le a tagokat, akiket importálni szeretne a Wekan felhasználókba.",
@@ -482,6 +484,8 @@
"minutes": "perc",
"seconds": "másodperc",
"show-field-on-card": "A mező megjelenítése a kártyán",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Igen",
"no": "Nem",
"accounts": "Fiókok",
diff --git a/i18n/hy.i18n.json b/i18n/hy.i18n.json
index 4554b4f1..98bcffbf 100644
--- a/i18n/hy.i18n.json
+++ b/i18n/hy.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/id.i18n.json b/i18n/id.i18n.json
index 15d16e06..da691ae0 100644
--- a/i18n/id.i18n.json
+++ b/i18n/id.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Impor panel dari Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "Di panel Trello anda, ke 'Menu', terus 'More', 'Print and Export','Export JSON', dan salin hasilnya",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Tempelkan data JSON yang sah disini",
"import-map-members": "Petakan partisipan",
"import-members-map": "Panel yang anda impor punya partisipan. Silahkan petakan anggota yang anda ingin impor ke user [Wekan]",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/ig.i18n.json b/i18n/ig.i18n.json
index 488e08a4..69535784 100644
--- a/i18n/ig.i18n.json
+++ b/i18n/ig.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "nkeji",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Ee",
"no": "Mba",
"accounts": "Accounts",
diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json
index 69351a6a..7987abc0 100644
--- a/i18n/it.i18n.json
+++ b/i18n/it.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Importa bacheca",
"import-board-title-trello": "Importa una bacheca da Trello",
"import-board-title-wekan": "Importa bacheca da Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "La bacheca importata cancellerà tutti i dati esistenti su questa bacheca e li rimpiazzerà con quelli della bacheca importata.",
"from-trello": "Da Trello",
"from-wekan": "Da Wekan",
"import-board-instruction-trello": "Nella tua bacheca Trello vai a 'Menu', poi 'Altro', 'Stampa ed esporta', 'Esporta JSON', e copia il testo che compare.",
"import-board-instruction-wekan": "Nella tua bacheca Wekan, vai su 'Menu', poi 'Esporta bacheca', e copia il testo nel file scaricato.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Incolla un JSON valido qui",
"import-map-members": "Mappatura dei membri",
"import-members-map": "La bacheca che hai importato ha alcuni membri. Per favore scegli i membri che vuoi vengano importati negli utenti di Wekan",
@@ -482,6 +484,8 @@
"minutes": "minuti",
"seconds": "secondi",
"show-field-on-card": "Visualizza questo campo sulla scheda",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Sì",
"no": "No",
"accounts": "Profili",
diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json
index aa3a0b86..125a0de4 100644
--- a/i18n/ja.i18n.json
+++ b/i18n/ja.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "ボードをインポート",
"import-board-title-trello": "Trelloからボードをインポート",
"import-board-title-wekan": "Wekanからボードをインポート",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "ボードのインポートは、既存ボードのすべてのデータを置き換えます。",
"from-trello": "Trelloから",
"from-wekan": "Wekanから",
"import-board-instruction-trello": "Trelloボードの、 'Menu' → 'More' → 'Print and Export' → 'Export JSON'を選択し、テキストをコピーしてください。",
"import-board-instruction-wekan": "Wekanボードの、'Menu' → 'Export board'を選択し、ダウンロードされたファイルからテキストをコピーしてください。",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "JSONデータをここに貼り付けする",
"import-map-members": "メンバーを紐付け",
"import-members-map": "インポートしたボードにはメンバーが含まれます。これらのメンバーをWekanのメンバーに紐付けしてください。",
@@ -482,6 +484,8 @@
"minutes": "分",
"seconds": "秒",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "はい",
"no": "いいえ",
"accounts": "アカウント",
diff --git a/i18n/ka.i18n.json b/i18n/ka.i18n.json
index 2f030843..29ec093d 100644
--- a/i18n/ka.i18n.json
+++ b/i18n/ka.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "დაფის იმპორტი",
"import-board-title-trello": "დაფის იმპორტი Trello-დან",
"import-board-title-wekan": "დაფის იმპორტი Wekan-დან",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "იმპორტირებული დაფა წაშლის ყველა არსებულ მონაცემს დაფაზე და შეანაცვლებს მას იმპორტირებული დაფა. ",
"from-trello": "Trello-დან",
"from-wekan": "Wekan-დან",
"import-board-instruction-trello": "თქვენს Trello დაფაზე, შედით \"მენიუ\"-ში, შემდეგ დააკლიკეთ \"მეტი\", \"ამოპრინტერება და ექსპორტი\", \"JSON-ის ექსპორტი\" და დააკოპირეთ შედეგი. ",
"import-board-instruction-wekan": "თქვენს Wekan დაფაზე, შედით \"მენიუ\"-ში შემდეგ დააკლიკეთ \"დაფის ექსპორტი\" და დააკოპირეთ ტექსტი ჩამოტვირთულ ფაილში.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "მოათავსეთ თქვენი ვალიდური JSON მონაცემები აქ. ",
"import-map-members": "რუკის წევრები",
"import-members-map": "თქვენს იმპორტირებულ დაფას ჰყავს მომხმარებლები. გთხოვთ დაამატოთ ის წევრები რომლის იმპორტიც გსურთ Wekan მომხმარებლებში",
@@ -482,6 +484,8 @@
"minutes": "წუთები",
"seconds": "წამები",
"show-field-on-card": "აჩვენეთ ეს ველი ბარათზე",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "დიახ",
"no": "არა",
"accounts": "ანგარიშები",
diff --git a/i18n/km.i18n.json b/i18n/km.i18n.json
index 85531320..85e8cdcb 100644
--- a/i18n/km.i18n.json
+++ b/i18n/km.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json
index b3a81c6e..6d3c4ef3 100644
--- a/i18n/ko.i18n.json
+++ b/i18n/ko.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "보드 가져오기",
"import-board-title-trello": "Trello에서 보드 가져오기",
"import-board-title-wekan": "Wekan에서 보드 가져오기",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "Trello 게시판에서 'Menu' -> 'More' -> 'Print and Export', 'Export JSON' 선택하여 텍스트 결과값 복사",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "유효한 JSON 데이터를 여기에 붙여 넣으십시오.",
"import-map-members": "보드 멤버들",
"import-members-map": "가져온 보드에는 멤버가 있습니다. 원하는 멤버를 Wekan 멤버로 매핑하세요.",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/lv.i18n.json b/i18n/lv.i18n.json
index 3ea4292c..375f937a 100644
--- a/i18n/lv.i18n.json
+++ b/i18n/lv.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/mn.i18n.json b/i18n/mn.i18n.json
index 19496197..f83a4654 100644
--- a/i18n/mn.i18n.json
+++ b/i18n/mn.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/nb.i18n.json b/i18n/nb.i18n.json
index 5e4b1338..323fb7ab 100644
--- a/i18n/nb.i18n.json
+++ b/i18n/nb.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/nl.i18n.json b/i18n/nl.i18n.json
index 707d5572..22faaaa7 100644
--- a/i18n/nl.i18n.json
+++ b/i18n/nl.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Importeer bord",
"import-board-title-trello": "Importeer bord van Trello",
"import-board-title-wekan": "Importeer bord van Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Het geïmporteerde bord verwijdert alle data op het huidige bord, om het daarna te vervangen.",
"from-trello": "Van Trello",
"from-wekan": "Van Wekan",
"import-board-instruction-trello": "Op jouw Trello bord, ga naar 'Menu', dan naar 'Meer', 'Print en Exporteer', 'Exporteer JSON', en kopieer de tekst.",
"import-board-instruction-wekan": "In jouw Wekan bord, ga naar 'Menu', dan 'Exporteer bord', en kopieer de tekst in het gedownloade bestand.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Plak geldige JSON data hier",
"import-map-members": "Breng leden in kaart",
"import-members-map": "Jouw geïmporteerde borden heeft een paar leden. Selecteer de leden die je wilt importeren naar Wekan gebruikers. ",
@@ -482,6 +484,8 @@
"minutes": "minuten",
"seconds": "seconden",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Ja",
"no": "Nee",
"accounts": "Accounts",
diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json
index 6f7e4644..376696a6 100644
--- a/i18n/pl.i18n.json
+++ b/i18n/pl.i18n.json
@@ -75,8 +75,8 @@
"admin-announcement-active": "Włącz ogłoszenie systemowe",
"admin-announcement-title": "Ogłoszenie od administratora",
"all-boards": "Wszystkie tablice",
- "and-n-other-card": "And __count__ other card",
- "and-n-other-card_plural": "And __count__ other cards",
+ "and-n-other-card": "I __count__ inna karta",
+ "and-n-other-card_plural": "I __count__ inne karty",
"apply": "Zastosuj",
"app-is-offline": "Wekan jest aktualnie ładowany, proszę czekać. Odświeżenie strony spowoduję utratę danych. Jeżeli Wekan się nie ładuje, upewnij się czy serwer Wekan nie został zatrzymany.",
"archive": "Przenieś do Kosza",
@@ -284,11 +284,13 @@
"import-board-c": "Import tablicy",
"import-board-title-trello": "Importuj tablicę z Trello",
"import-board-title-wekan": "Importuj tablice z Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Zaimportowana tablica usunie wszystkie istniejące dane na aktualnej tablicy oraz zastąpi ją danymi z tej importowanej.",
"from-trello": "Z Trello",
"from-wekan": "Z Wekan",
"import-board-instruction-trello": "W twojej tablicy na Trello przejdź do 'Menu', następnie 'Więcej', 'Drukuj i eksportuj', 'Eksportuj jako JSON' i skopiuj wynik",
"import-board-instruction-wekan": "Na Twojej tablicy Wekan przejdź do 'Menu', a następnie wybierz 'Eksportuj tablicę' i skopiuj tekst w pobranym pliku.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Wklej Twoje dane JSON tutaj",
"import-map-members": "Przypisz członków",
"import-members-map": "Twoje zaimportowane tablice mają kilku członków. Proszę wybierz członków których chcesz zaimportować do Wekan",
@@ -304,7 +306,7 @@
"just-invited": "Właśnie zostałeś zaproszony do tej tablicy",
"keyboard-shortcuts": "Skróty klawiaturowe",
"label-create": "Utwórz etykietę",
- "label-default": "%s etykieta (domyślna)",
+ "label-default": "'%s' etykieta (domyślna)",
"label-delete-pop": "Nie da się tego wycofać. To usunie tę etykietę ze wszystkich kart i usunie ich historię.",
"labels": "Etykiety",
"language": "Język",
@@ -482,6 +484,8 @@
"minutes": "minut",
"seconds": "sekund",
"show-field-on-card": "Pokaż te pole na karcie",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Tak",
"no": "Nie",
"accounts": "Konto",
@@ -519,8 +523,8 @@
"parent-card": "Karta rodzica",
"source-board": "Tablica źródłowa",
"no-parent": "Nie pokazuj rodzica",
- "activity-added-label": "dodał(a) etykietę '%s' z %s",
- "activity-removed-label": "usunięto etykietę '%s' z %s",
+ "activity-added-label": "dodał(a) etykietę '%s' z '%s'",
+ "activity-removed-label": "usunięto etykietę '%s' z '%s'",
"activity-delete-attach": "usunięto załącznik z %s",
"activity-added-label-card": "dodał(a) etykietę '%s'",
"activity-removed-label-card": "usunięto etykietę '%s'",
diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json
index 608ae44a..42c5403e 100644
--- a/i18n/pt-BR.i18n.json
+++ b/i18n/pt-BR.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Importar quadro",
"import-board-title-trello": "Importar board do Trello",
"import-board-title-wekan": "Importar quadro do Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "O quadro importado irá excluir todos os dados existentes no quadro e irá sobrescrever com o quadro importado.",
"from-trello": "Do Trello",
"from-wekan": "Do Wekan",
"import-board-instruction-trello": "No seu quadro do Trello, vá em 'Menu', depois em 'Mais', 'Imprimir e Exportar', 'Exportar JSON', então copie o texto emitido",
"import-board-instruction-wekan": "Em seu quadro Wekan, vá para 'Menu', em seguida 'Exportar quadro', e copie o texto no arquivo baixado.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Cole seus dados JSON válidos aqui",
"import-map-members": "Mapear membros",
"import-members-map": "O seu quadro importado tem alguns membros. Por favor determine os membros que você deseja importar para os usuários Wekan",
@@ -482,6 +484,8 @@
"minutes": "minutos",
"seconds": "segundos",
"show-field-on-card": "Mostrar este campo no cartão",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Sim",
"no": "Não",
"accounts": "Contas",
diff --git a/i18n/pt.i18n.json b/i18n/pt.i18n.json
index cf07549a..812cef47 100644
--- a/i18n/pt.i18n.json
+++ b/i18n/pt.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "Não",
"accounts": "Contas",
diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json
index 794bda88..8c4a8be2 100644
--- a/i18n/ro.i18n.json
+++ b/i18n/ro.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json
index 60cd10ef..b59a661a 100644
--- a/i18n/ru.i18n.json
+++ b/i18n/ru.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Импортировать доску",
"import-board-title-trello": "Импортировать доску из Trello",
"import-board-title-wekan": "Импортировать доску из Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Импортированная доска удалит все существующие данные на текущей доске и заменит её импортированной доской.",
"from-trello": "Из Trello",
"from-wekan": "Из Wekan",
"import-board-instruction-trello": "На вашей Trello доске нажмите “Menu” - “More” - “Print and export - “Export JSON” и скопируйте полученный текст",
"import-board-instruction-wekan": "На вашей Wekan доске, перейдите в “Меню”, далее “Экспортировать доску” и скопируйте текст из скачаного файла",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Вставьте JSON сюда",
"import-map-members": "Составить карту участников",
"import-members-map": "Вы импортировали доску с участниками. Пожалуйста, составьте карту участников, которых вы хотите импортировать в качестве пользователей Wekan",
@@ -482,6 +484,8 @@
"minutes": "минуты",
"seconds": "секунды",
"show-field-on-card": "Показать это поле на карте",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Да",
"no": "Нет",
"accounts": "Учетные записи",
diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json
index 150a1488..5de8dc16 100644
--- a/i18n/sr.i18n.json
+++ b/i18n/sr.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Uvezi tablu iz Trella",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Mapiraj članove",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json
index 8ad0597d..d1636bfa 100644
--- a/i18n/sv.i18n.json
+++ b/i18n/sv.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Importera anslagstavla",
"import-board-title-trello": "Importera anslagstavla från Trello",
"import-board-title-wekan": "Importera anslagstavla från Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Importerad anslagstavla raderar all befintlig data på anslagstavla och ersätter den med importerat anslagstavla.",
"from-trello": "Från Trello",
"from-wekan": "Från Wekan",
"import-board-instruction-trello": "I din Trello-anslagstavla, gå till 'Meny', sedan 'Mera', 'Skriv ut och exportera', 'Exportera JSON' och kopiera den resulterande text.",
"import-board-instruction-wekan": "I din Wekan-anslagstavla, gå till \"Meny\", sedan \"Exportera anslagstavla\" och kopiera texten i den hämtade filen.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Klistra in giltigt JSON data här",
"import-map-members": "Kartlägg medlemmar",
"import-members-map": "Din importerade anslagstavla har några medlemmar. Kartlägg medlemmarna som du vill importera till Wekan-användare",
@@ -482,6 +484,8 @@
"minutes": "minuter",
"seconds": "sekunder",
"show-field-on-card": "Visa detta fält på kort",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Ja",
"no": "Nej",
"accounts": "Konton",
diff --git a/i18n/ta.i18n.json b/i18n/ta.i18n.json
index 6fc81fe9..748b2121 100644
--- a/i18n/ta.i18n.json
+++ b/i18n/ta.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/th.i18n.json b/i18n/th.i18n.json
index 93ca690e..fbd1268c 100644
--- a/i18n/th.i18n.json
+++ b/i18n/th.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "นำเข้าบอร์ดจาก Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "ใน Trello ของคุณให้ไปที่ 'Menu' และไปที่ More -> Print and Export -> Export JSON และคัดลอกข้อความจากนั้น",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "วางข้อมูล JSON ที่ถูกต้องของคุณที่นี่",
"import-map-members": "แผนที่สมาชิก",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json
index 0db2a8ae..05accf57 100644
--- a/i18n/tr.i18n.json
+++ b/i18n/tr.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Panoyu içe aktar",
"import-board-title-trello": "Trello'dan panoyu içeri aktar",
"import-board-title-wekan": "Wekan'dan panoyu içe aktar",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "İçe aktarılan pano şu anki panonun verilerinin üzerine yazılacak ve var olan veriler silinecek.",
"from-trello": "Trello'dan",
"from-wekan": "Wekan'dan",
"import-board-instruction-trello": "Trello panonuzda 'Menü'ye gidip 'Daha fazlası'na tıklayın, ardından 'Yazdır ve Çıktı Al'ı seçip 'JSON biçiminde çıktı al' diyerek çıkan metni buraya kopyalayın.",
"import-board-instruction-wekan": "Wekan panonuzda önce Menü'yü, ardından \"Panoyu dışa aktar\"ı seçip bilgisayarınıza indirilen dosyanın içindeki metni kopyalayın.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Geçerli JSON verisini buraya yapıştırın",
"import-map-members": "Üyeleri eşleştirme",
"import-members-map": "İçe aktardığın panoda bazı kullanıcılar var. Lütfen bu kullanıcıları Wekan panosundaki kullanıcılarla eşleştirin.",
@@ -482,6 +484,8 @@
"minutes": "dakika",
"seconds": "saniye",
"show-field-on-card": "Bu alanı kartta göster",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Evet",
"no": "Hayır",
"accounts": "Hesaplar",
diff --git a/i18n/uk.i18n.json b/i18n/uk.i18n.json
index 21f162c8..47c5db87 100644
--- a/i18n/uk.i18n.json
+++ b/i18n/uk.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/vi.i18n.json b/i18n/vi.i18n.json
index 5837bae7..be90e58e 100644
--- a/i18n/vi.i18n.json
+++ b/i18n/vi.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
@@ -482,6 +484,8 @@
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json
index 7da16dc4..c460d6a3 100644
--- a/i18n/zh-CN.i18n.json
+++ b/i18n/zh-CN.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "导入看板",
"import-board-title-trello": "从Trello导入看板",
"import-board-title-wekan": "从Wekan 导入看板",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "导入的面板将删除所有已存在于面板上的数据并替换他们为导入的面板。 ",
"from-trello": "自 Trello",
"from-wekan": "自 Wekan",
"import-board-instruction-trello": "在你的Trello看板中,点击“菜单”,然后选择“更多”,“打印与导出”,“导出为 JSON” 并拷贝结果文本",
"import-board-instruction-wekan": "在你的Wekan面板中点'菜单',然后点‘导出面板’并在已下载的文档复制文本。",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "粘贴您有效的 JSON 数据至此",
"import-map-members": "映射成员",
"import-members-map": "您导入的看板有一些成员。请将您想导入的成员映射到 Wekan 用户。",
@@ -482,6 +484,8 @@
"minutes": "分钟",
"seconds": "秒",
"show-field-on-card": "在卡片上显示此字段",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "是",
"no": "否",
"accounts": "账号",
diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json
index 55027d6c..d30f1aad 100644
--- a/i18n/zh-TW.i18n.json
+++ b/i18n/zh-TW.i18n.json
@@ -284,11 +284,13 @@
"import-board-c": "匯入看板",
"import-board-title-trello": "匯入在 Trello 的看板",
"import-board-title-wekan": "從 Wekan 匯入看板",
+ "import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
"import-sandstorm-warning": "匯入資料將會移除所有現有的看版資料,並取代成此次匯入的看板資料",
"from-trello": "來自 Trello",
"from-wekan": "來自 Wekan",
"import-board-instruction-trello": "在你的Trello看板中,點選“功能表”,然後選擇“更多”,“列印與匯出”,“匯出為 JSON” 並拷貝結果文本",
"import-board-instruction-wekan": "在 Wekan 看板中點選“功能表”,然後選擇“匯出看版”且複製文字到下載的檔案",
+ "import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "貼上您有效的 JSON 資料至此",
"import-map-members": "複製成員",
"import-members-map": "您匯入的看板有一些成員。請將您想匯入的成員映射到 Wekan 使用者。",
@@ -482,6 +484,8 @@
"minutes": "分鐘",
"seconds": "秒",
"show-field-on-card": "Show this field on card",
+ "automatically-field-on-card": "Auto create field to all cards",
+ "showLabel-field-on-card": "Show field label on minicard",
"yes": "是",
"no": "否",
"accounts": "帳號",
diff --git a/models/boards.js b/models/boards.js
index cae6cf9f..57f3a1f1 100644
--- a/models/boards.js
+++ b/models/boards.js
@@ -127,9 +127,11 @@ Boards.attachSchema(new SimpleSchema({
},
'members.$.isNoComments': {
type: Boolean,
+ optional: true,
},
'members.$.isCommentOnly': {
type: Boolean,
+ optional: true,
},
permission: {
type: String,
diff --git a/models/customFields.js b/models/customFields.js
index 203e46d0..5bb5e743 100644
--- a/models/customFields.js
+++ b/models/customFields.js
@@ -31,6 +31,12 @@ CustomFields.attachSchema(new SimpleSchema({
showOnCard: {
type: Boolean,
},
+ automaticallyOnCard: {
+ type: Boolean,
+ },
+ showLabelOnMiniCard: {
+ type: Boolean,
+ },
}));
CustomFields.allow({
@@ -115,6 +121,8 @@ if (Meteor.isServer) {
type: req.body.type,
settings: req.body.settings,
showOnCard: req.body.showOnCard,
+ automaticallyOnCard: req.body.automaticallyOnCard,
+ showLabelOnMiniCard: req.body.showLabelOnMiniCard,
boardId: paramBoardId,
});
diff --git a/models/import.js b/models/import.js
index 09769794..5cdf8dc1 100644
--- a/models/import.js
+++ b/models/import.js
@@ -3,10 +3,10 @@ import { WekanCreator } from './wekanCreator';
Meteor.methods({
importBoard(board, data, importSource, currentBoard) {
- check(board, Object);
- check(data, Object);
- check(importSource, String);
- check(currentBoard, Match.Maybe(String));
+ //check(board, Object);
+ //check(data, Object);
+ //check(importSource, String);
+ //check(currentBoard, Match.Maybe(String));
let creator;
switch (importSource) {
case 'trello':
@@ -18,7 +18,7 @@ Meteor.methods({
}
// 1. check all parameters are ok from a syntax point of view
- creator.check(board);
+ //creator.check(board);
// 2. check parameters are ok from a business point of view (exist &
// authorized) nothing to check, everyone can import boards in their account
diff --git a/models/wekanCreator.js b/models/wekanCreator.js
index 59d0cfd5..b179cfae 100644
--- a/models/wekanCreator.js
+++ b/models/wekanCreator.js
@@ -40,6 +40,8 @@ export class WekanCreator {
this.checklistItems = {};
// The comments, indexed by Wekan card id (to map when importing cards)
this.comments = {};
+ // Map of rules Wekan ID => Wekan ID
+ this.rules = {};
// the members, indexed by Wekan member id => Wekan user ID
this.members = data.membersMapping ? data.membersMapping : {};
// Map of triggers Wekan ID => Wekan ID
@@ -748,24 +750,25 @@ export class WekanCreator {
}
check(board) {
- try {
- // check(data, {
- // membersMapping: Match.Optional(Object),
- // });
- this.checkActivities(board.activities);
- this.checkBoard(board);
- this.checkLabels(board.labels);
- this.checkLists(board.lists);
- this.checkSwimlanes(board.swimlanes);
- this.checkCards(board.cards);
- this.checkChecklists(board.checklists);
- this.checkRules(board.rules);
- this.checkActions(board.actions);
- this.checkTriggers(board.triggers);
- this.checkChecklistItems(board.checklistItems);
- } catch (e) {
- throw new Meteor.Error('error-json-schema');
- }
+ //try {
+ // check(data, {
+ // membersMapping: Match.Optional(Object),
+ // });
+
+ // this.checkActivities(board.activities);
+ // this.checkBoard(board);
+ // this.checkLabels(board.labels);
+ // this.checkLists(board.lists);
+ // this.checkSwimlanes(board.swimlanes);
+ // this.checkCards(board.cards);
+ //this.checkChecklists(board.checklists);
+ // this.checkRules(board.rules);
+ // this.checkActions(board.actions);
+ //this.checkTriggers(board.triggers);
+ //this.checkChecklistItems(board.checklistItems);
+ //} catch (e) {
+ // throw new Meteor.Error('error-json-schema');
+ // }
}
create(board, currentBoardId) {
diff --git a/rebuild-wekan.bat b/rebuild-wekan.bat
new file mode 100644
index 00000000..57d174ca
--- /dev/null
+++ b/rebuild-wekan.bat
@@ -0,0 +1,48 @@
+@ECHO OFF
+
+REM IN PROGRESS: Build on Windows.
+REM https://github.com/wekan/wekan/wiki/Install-Wekan-from-source-on-Windows
+REM Please add fix PRs, like config of MongoDB etc.
+
+md C:\repos
+cd C:\repos
+
+REM Install chocolatey
+@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
+
+choco install -y git curl python2 dotnet4.5.2 nano mongodb-3 mongoclient meteor
+
+curl -O https://nodejs.org/dist/v8.12.0/node-v8.12.0-x64.msi
+call node-v8.12.0-x64.msi
+
+call npm config -g set msvs_version 2015
+call meteor npm config -g set msvs_version 2015
+
+call npm -g install npm
+call npm -g install node-gyp
+call npm -g install fibers@2.0.0
+cd C:\repos
+git clone https://github.com/wekan/wekan.git
+cd wekan
+git checkout edge
+echo "Building Wekan."
+REM del /S /F /Q packages
+md 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
+REM sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
+cd ..
+REM del /S /F /Q node_modules
+call meteor npm install
+REM del /S /F /Q .build
+call meteor build .build --directory
+copy fix-download-unicode\cfs_access-point.txt .build\bundle\programs\server\packages\cfs_access-point.js
+cd .build\bundle\programs\server
+call meteor npm install
+REM cd C:\repos\wekan\.meteor\local\build\programs\server
+REM del node_modules
+cd C:\repos\wekan
+call start-wekan.bat
diff --git a/rebuild-wekan.sh b/rebuild-wekan.sh
new file mode 100755
index 00000000..c1f9f4a0
--- /dev/null
+++ b/rebuild-wekan.sh
@@ -0,0 +1,129 @@
+#!/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."
+
+X64NODE="https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.gz"
+
+function pause(){
+ read -p "$*"
+}
+
+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";
+
+ if [ "$(grep -Ei 'buntu|mint' /etc/*release)" ]; then
+ sudo apt install -y build-essential git curl wget
+# sudo apt -y install nodejs npm
+# sudo npm -g install n
+# sudo n 8.12.0
+ fi
+
+# if [ "$(grep -Ei 'debian' /etc/*release)" ]; then
+# sudo apt install -y build-essential git curl wget
+# echo "Debian, or Debian on Windows Subsystem for Linux"
+# curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
+# sudo apt install -y nodejs
+# fi
+
+ # TODO: Add Sandstorm for version of Node.js install
+ #MACHINE_TYPE=`uname -m`
+ #if [ ${MACHINE_TYPE} == 'x86_64' ]; then
+ # # 64-bit stuff here
+ # wget ${X64NODE}
+ # sudo tar -C /usr/local --strip-components 1 -xzf ${X64NODE}
+ #elif [ ${MACHINE_TYPE} == '32bit' ]; then
+ # echo "TODO: 32-bit Linux install here"
+ # exit
+ #fi
+ 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
+ sudo npm -g install npm
+ sudo npm -g install node-gyp
+ # Latest fibers for Meteor 1.6
+ sudo npm -g install fibers@2.0.0
+ # Install Meteor, if it's not yet installed
+ curl https://install.meteor.com | bash
+# mkdir ~/repos
+# cd ~/repos
+# git clone https://github.com/wekan/wekan.git
+# cd wekan
+# git checkout devel
+ break
+ ;;
+ "Build Wekan")
+ echo "Building Wekan."
+ cd ~/repos/wekan
+ rm -rf packages
+ mkdir -p ~/repos/wekan/packages
+ cd ~/repos/wekan/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
+ 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 ~/repos/wekan
+ 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 ~/repos/wekan/.build/bundle/programs/server
+ rm -rf node_modules
+ meteor npm install
+ #meteor npm install bcrypt
+ cd ~/repos
+ echo Done.
+ break
+ ;;
+ "Quit")
+ break
+ ;;
+ *) echo invalid option;;
+ esac
+done
diff --git a/releases/README.md b/releases/README.md
new file mode 100644
index 00000000..86601ad2
--- /dev/null
+++ b/releases/README.md
@@ -0,0 +1,12 @@
+## Wekan release scripts
+
+Sorry about the mess. I try to cleanup it sometime.
+
+I usually use these:
+- release.sh
+- release-sandstorm.sh
+- release-snap.sh
+
+https://github.com/wekan/wekan-snap/wiki/Making-releases-from-source
+
+https://github.com/wekan/wekan-maintainer/wiki/Building-Wekan-for-Sandstorm
diff --git a/releases/add-tag.sh b/releases/add-tag.sh
new file mode 100755
index 00000000..c43617fe
--- /dev/null
+++ b/releases/add-tag.sh
@@ -0,0 +1,5 @@
+# Add tag to repo of new release
+# Example: add-tag.sh v1.62
+
+git tag -a $1 -m "$1"
+git push origin $1
diff --git a/releases/commit.sh b/releases/commit.sh
new file mode 100755
index 00000000..5b973177
--- /dev/null
+++ b/releases/commit.sh
@@ -0,0 +1,4 @@
+
+# --- Add commit with showing editor where it's easy to add multiline commit
+git commit
+# ----
diff --git a/releases/delete-branch-local-and-remote.sh b/releases/delete-branch-local-and-remote.sh
new file mode 100755
index 00000000..b362f56f
--- /dev/null
+++ b/releases/delete-branch-local-and-remote.sh
@@ -0,0 +1,3 @@
+# https://makandracards.com/makandra/621-git-delete-a-branch-local-or-remote
+#git push origin --delete feature-oauth
+git push origin --delete $1
diff --git a/releases/rebuild-release.sh b/releases/rebuild-release.sh
new file mode 100755
index 00000000..8a5b8890
--- /dev/null
+++ b/releases/rebuild-release.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+ echo "Building Wekan."
+ cd ~/repos/wekan
+ rm -rf packages
+ mkdir -p ~/repos/wekan/packages
+ cd ~/repos/wekan/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
+
+ 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 ~/repos/wekan
+ 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 ~/repos/wekan/.build/bundle/programs/server
+ rm -rf node_modules
+ meteor npm install
+ #meteor npm install bcrypt
+ cd ~/repos
+ echo Building Wekan Done.
diff --git a/releases/release-cleanup.sh b/releases/release-cleanup.sh
new file mode 100755
index 00000000..ed49638e
--- /dev/null
+++ b/releases/release-cleanup.sh
@@ -0,0 +1,19 @@
+# Usage: ./release.sh 1.36
+
+# Delete old stuff
+cd ~/
+sudo rm -rf .npm
+cd ~/repos/wekan
+sudo rm -rf parts prime stage .meteor-spk
+
+# Set permissions
+cd ~/repos
+sudo chown user:user wekan -R
+cd ~/
+sudo chown user:user .meteor -R
+#sudo chown user:user .cache/snapcraft -R
+sudo rm -rf .cache/snapcraft
+sudo chown user:user .config -R
+
+# Back
+cd ~/repos
diff --git a/releases/release-sandstorm.sh b/releases/release-sandstorm.sh
new file mode 100755
index 00000000..e696eab4
--- /dev/null
+++ b/releases/release-sandstorm.sh
@@ -0,0 +1,20 @@
+# Usage: ./release.sh 1.36
+
+# Delete old stuff
+cd ~/repos
+./release-cleanup.sh
+
+# Build Source
+cd ~/repos
+./rebuild-release.sh
+
+# Build Sandstorm
+cd ~/repos/wekan
+meteor-spk pack wekan-$1.spk
+spk publish wekan-$1.spk
+scp wekan-$1.spk x2:/var/snap/wekan/common/releases.wekan.team/
+mv wekan-$1.spk ..
+
+# Delete old stuff
+cd ~/repos
+./release-cleanup.sh
diff --git a/releases/release-snap.sh b/releases/release-snap.sh
new file mode 100755
index 00000000..127334c3
--- /dev/null
+++ b/releases/release-snap.sh
@@ -0,0 +1,26 @@
+# Usage: ./release.sh 1.36
+
+# Cleanup
+cd ~/repos
+./release-cleanup.sh
+
+# Build Source
+cd ~/repos
+./rebuild-release.sh
+
+# Build Snap
+cd ~/repos/wekan
+rm -rf packages
+sudo snapcraft
+
+# Cleanup
+cd ~/repos
+./release-cleanup.sh
+
+# Push snap
+cd ~/repos/wekan
+sudo snap install --dangerous wekan_$1_amd64.snap
+echo "Now you can test local installed snap."
+snapcraft push wekan_$1_amd64.snap
+scp wekan_$1_amd64.snap x2:/var/snap/wekan/common/releases.wekan.team/
+mv wekan_$1_amd64.snap ..
diff --git a/releases/release.sh b/releases/release.sh
new file mode 100755
index 00000000..85c60b17
--- /dev/null
+++ b/releases/release.sh
@@ -0,0 +1,9 @@
+# Usage: ./release.sh 1.36
+
+# Build Sandstorm
+cd ~/repos/wekan
+./releases/release-sandstorm.sh $1
+
+# Build Snap
+cd ~/repos/wekan
+./releases/release-snap.sh $1
diff --git a/releases/sandstorm-make-spk.sh b/releases/sandstorm-make-spk.sh
new file mode 100755
index 00000000..8db2a4c3
--- /dev/null
+++ b/releases/sandstorm-make-spk.sh
@@ -0,0 +1 @@
+meteor-spk pack wekan-1.11.spk
diff --git a/releases/sandstorm-test-dev.sh b/releases/sandstorm-test-dev.sh
new file mode 100755
index 00000000..5aae36b1
--- /dev/null
+++ b/releases/sandstorm-test-dev.sh
@@ -0,0 +1 @@
+meteor-spk dev
diff --git a/releases/snap-edge.sh b/releases/snap-edge.sh
new file mode 100755
index 00000000..2b5197c8
--- /dev/null
+++ b/releases/snap-edge.sh
@@ -0,0 +1,2 @@
+# Change to snap edge
+sudo snap refresh wekan --edge --amend
diff --git a/releases/snap-install.sh b/releases/snap-install.sh
new file mode 100755
index 00000000..bdb0b7a2
--- /dev/null
+++ b/releases/snap-install.sh
@@ -0,0 +1 @@
+sudo snap install --dangerous wekan_1.23-17-g9c94ea5_amd64.snap
diff --git a/releases/snap-push-to-store.sh b/releases/snap-push-to-store.sh
new file mode 100755
index 00000000..dca942fd
--- /dev/null
+++ b/releases/snap-push-to-store.sh
@@ -0,0 +1 @@
+snapcraft push $1
diff --git a/releases/snap-stable.sh b/releases/snap-stable.sh
new file mode 100755
index 00000000..b8633100
--- /dev/null
+++ b/releases/snap-stable.sh
@@ -0,0 +1,2 @@
+# Change to snap stable
+sudo snap refresh wekan --stable --amend
diff --git a/releases/snapcraft-help.sh b/releases/snapcraft-help.sh
new file mode 100755
index 00000000..fa576b30
--- /dev/null
+++ b/releases/snapcraft-help.sh
@@ -0,0 +1 @@
+snapcraft help topics
diff --git a/releases/translations/pull-translations.sh b/releases/translations/pull-translations.sh
new file mode 100755
index 00000000..4ce9d22d
--- /dev/null
+++ b/releases/translations/pull-translations.sh
@@ -0,0 +1,136 @@
+cd ~/repos/wekan
+
+echo "Arabic:"
+tx pull -f -l ar
+
+echo "Bulgarian:"
+tx pull -f -l bg_BG
+
+echo "Breton:"
+tx pull -f -l br
+
+echo "Catalan:"
+tx pull -f -l ca
+
+echo "Czech:"
+tx pull -f -l cs
+
+echo "Georgian:"
+tx pull -f -l ka
+
+echo "German:"
+tx pull -f -l de
+
+echo "Hindi:"
+tx pull -f -l hi
+
+echo "Esperanto:"
+tx pull -f -l eo
+
+echo "English (United Kingdom):"
+tx pull -f -l en_GB
+
+echo "Greek:"
+tx pull -f -l el
+
+echo "Spanish:"
+tx pull -f -l es
+
+echo "Spanish (Argentina):"
+tx pull -f -l es_AR
+
+echo "Basque:"
+tx pull -f -l eu
+
+echo "Persian:"
+tx pull -f -l fa
+
+echo "Finnish:"
+tx pull -f -l fi
+
+echo "French:"
+tx pull -f -l fr
+
+echo "Galician:"
+tx pull -f -l gl
+
+echo "Hebrew:"
+tx pull -f -l he
+
+echo "Hungarian:"
+tx pull -f -l hu_HU
+
+echo "Armenian:"
+tx pull -f -l hy
+
+echo "Indonesian (Indonesia):"
+tx pull -f -l id_ID
+
+echo "Igbo:"
+tx pull -f -l ig
+
+echo "Italian:"
+tx pull -f -l it
+
+echo "Japanese:"
+tx pull -f -l ja
+
+echo "Khmer:"
+tx pull -f -l km
+
+echo "Korean:"
+tx pull -f -l ko
+
+echo "Latvian (Latvia):"
+tx pull -f -l lv_LV
+
+echo "Mongolian (Mongolia):"
+tx pull -f -l mn_MN
+
+echo "Dutch:"
+tx pull -f -l nl
+
+echo "Norwegian:"
+tx pull -f -l no
+
+echo "Polish:"
+tx pull -f -l pl
+
+echo "Portuguese:"
+tx pull -f -l pt
+
+echo "Portuguese (Brazil):"
+tx pull -f -l pt_BR
+
+echo "Romanian (Romania):"
+tx pull -f -l ro
+
+echo "Russian:"
+tx pull -f -l ru
+
+echo "Serbian:"
+tx pull -f -l sr
+
+echo "Swedish:"
+tx pull -f -l sv
+
+echo "Tamil:"
+tx pull -f -l ta
+
+echo "Thai:"
+tx pull -f -l th
+
+echo "Turkish:"
+tx pull -f -l tr
+
+echo "Ukrainian:"
+tx pull -f -l uk
+
+echo "Vietnamese:"
+tx pull -f -l vi
+
+echo "Chinese (China):"
+tx pull -f -l zh_CN
+
+echo "Chinese (Taiwan)"
+tx pull -f -l zh_TW
diff --git a/releases/translations/push-english-base-translation.sh b/releases/translations/push-english-base-translation.sh
new file mode 100755
index 00000000..1d29fd0d
--- /dev/null
+++ b/releases/translations/push-english-base-translation.sh
@@ -0,0 +1,2 @@
+cd ~/repos/wekan
+tx push -s
diff --git a/releases/virtualbox/README.txt b/releases/virtualbox/README.txt
new file mode 100644
index 00000000..04beeba8
--- /dev/null
+++ b/releases/virtualbox/README.txt
@@ -0,0 +1,6 @@
+Wekan
+-----
+- NOTE: VirtualBox script use Wekan stable (master+devel branch). Edge scripts are at wekan-maintainer/releases/ directory.
+- Wekan is started at boot at /etc/rc.local
+- scripts are at ~/repos
+- this README.txt is at VirtualBox Ubuntu desktop
diff --git a/releases/virtualbox/etc-rc.local.txt b/releases/virtualbox/etc-rc.local.txt
new file mode 100644
index 00000000..7c951a8c
--- /dev/null
+++ b/releases/virtualbox/etc-rc.local.txt
@@ -0,0 +1,20 @@
+#!/bin/sh -e
+#
+# rc.local
+#
+# This script is executed at the end of each multiuser runlevel.
+# Make sure that the script will "exit 0" on success or any other
+# value on error.
+#
+# In order to enable or disable this script just change the execution
+# bits.
+#
+# By default this script does nothing.
+
+# node-allow-port-80.sh
+sudo setcap cap_net_bind_service=+ep /usr/local/bin/node
+
+# Start Wekan at boot at Ubuntu 14.04
+sudo -H -u wekan bash -c '/home/wekan/repos/wekan/releases/virtualbox/start-wekan.sh'
+
+exit 0
diff --git a/releases/virtualbox/ipaddress.sh b/releases/virtualbox/ipaddress.sh
new file mode 100755
index 00000000..0d79d43d
--- /dev/null
+++ b/releases/virtualbox/ipaddress.sh
@@ -0,0 +1,2 @@
+# ifdata -pa eth0
+ip address
diff --git a/releases/virtualbox/node-allow-port-80.sh b/releases/virtualbox/node-allow-port-80.sh
new file mode 100755
index 00000000..4f1861b6
--- /dev/null
+++ b/releases/virtualbox/node-allow-port-80.sh
@@ -0,0 +1 @@
+sudo setcap cap_net_bind_service=+ep /usr/local/bin/node
diff --git a/releases/virtualbox/old-rebuild-wekan.sh b/releases/virtualbox/old-rebuild-wekan.sh
new file mode 100755
index 00000000..a3941d55
--- /dev/null
+++ b/releases/virtualbox/old-rebuild-wekan.sh
@@ -0,0 +1,42 @@
+## Most of these are uncommented, because they are already installed.
+#sudo rm -rf /usr/local/lib/node_modules
+#sudo rm -rf ~/.npm
+#sudo apt install build-essential c++ capnproto npm git curl
+#sudo npm -g install n
+#sudo n 4.8.6
+#sudo npm -g install npm@4.6.1
+#sudo npm -g install node-gyp
+#sudo npm -g install node-pre-gyp
+#sudo npm -g install fibers@1.0.15
+sudo rm -rf wekan
+git clone https://github.com/wekan/wekan
+cd ~/repos
+#curl https://install.meteor.com -o ./install_meteor.sh
+#sed -i "s|RELEASE=.*|RELEASE=${METEOR_RELEASE}\"\"|g" ./install_meteor.sh
+#echo "Starting meteor ${METEOR_RELEASE} installation... \n"
+#chown wekan:wekan ./install_meteor.sh
+#sh ./install_meteor.sh
+mkdir -p ~/repos/wekan/packages
+cd ~/repos/wekan/packages
+rm -rf kadira-flow-router
+rm -rf meteor-useraccounts-core
+git clone https://github.com/wekan/flow-router.git kadira-flow-router
+git clone https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
+sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
+cd ~/repos/wekan
+
+rm -rf node_modules
+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
+sed -i "s|build\/Release\/bson|browser_build\/bson|g" ~/repos/wekan/.build/bundle/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/node_modules/bson/ext/index.js
+cd ~/repos/wekan/.build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
+rm -rf node_modules/bcrypt
+meteor npm install --save bcrypt
+cd ~/repos/wekan/.build/bundle/programs/server
+rm -rf node_modules
+npm install
+meteor npm install --save bcrypt
+cd ~/repos
+echo Done.
diff --git a/releases/virtualbox/rebuild-wekan.sh b/releases/virtualbox/rebuild-wekan.sh
new file mode 100755
index 00000000..e7d55107
--- /dev/null
+++ b/releases/virtualbox/rebuild-wekan.sh
@@ -0,0 +1,127 @@
+#!/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."
+
+X64NODE="https://releases.wekan.team/node-v8.11.3-linux-x64.tar.gz"
+
+function pause(){
+ read -p "$*"
+}
+
+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";
+
+ if [ "$(grep -Ei 'buntu|mint' /etc/*release)" ]; then
+ sudo apt install -y build-essential git curl wget
+ sudo apt -y install nodejs npm
+ sudo npm -g install n
+ sudo n 8.11.3
+ fi
+
+ if [ "$(grep -Ei 'debian' /etc/*release)" ]; then
+ sudo apt install -y build-essential git curl wget
+ echo "Debian, or Debian on Windows Subsystem for Linux"
+ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
+ sudo apt install -y nodejs
+ fi
+
+ # TODO: Add Sandstorm for version of Node.js install
+ #MACHINE_TYPE=`uname -m`
+ #if [ ${MACHINE_TYPE} == 'x86_64' ]; then
+ # # 64-bit stuff here
+ # wget ${X64NODE}
+ # sudo tar -C /usr/local --strip-components 1 -xzf ${X64NODE}
+ #elif [ ${MACHINE_TYPE} == '32bit' ]; then
+ # echo "TODO: 32-bit Linux install here"
+ # exit
+ #fi
+ 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
+ sudo npm -g install npm
+ sudo npm -g install node-gyp
+ # Latest fibers for Meteor 1.6
+ sudo npm -g install fibers@2.0.0
+ # Install Meteor, if it's not yet installed
+ curl https://install.meteor.com | bash
+ mkdir ~/repos
+ cd ~/repos
+ git clone https://github.com/wekan/wekan.git
+ cd wekan
+ git checkout devel
+ break
+ ;;
+ "Build Wekan")
+ echo "Building Wekan."
+ cd ~/repos/wekan
+ mkdir -p ~/repos/wekan/packages
+ cd ~/repos/wekan/packages
+ git clone https://github.com/wekan/flow-router.git kadira-flow-router
+ git clone https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
+
+ 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 ~/repos/wekan
+ 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 ~/repos/wekan/.build/bundle/programs/server
+ rm -rf node_modules
+ meteor npm install
+ #meteor npm install bcrypt
+ cd ~/repos
+ echo Done.
+ break
+ ;;
+ "Quit")
+ break
+ ;;
+ *) echo invalid option;;
+ esac
+done
diff --git a/releases/virtualbox/start-wekan.sh b/releases/virtualbox/start-wekan.sh
new file mode 100755
index 00000000..67f52dc0
--- /dev/null
+++ b/releases/virtualbox/start-wekan.sh
@@ -0,0 +1,72 @@
+# If you want to restart even on crash, uncomment while and done lines.
+
+#while true; do
+ cd ~/repos/wekan/.build/bundle
+ export MONGO_URL='mongodb://127.0.0.1:27017/admin'
+ # ROOT_URL EXAMPLES FOR WEBSERVERS: https://github.com/wekan/wekan/wiki/Settings
+ # Production: https://example.com/wekan
+ # Local: http://localhost:3000
+ #export ipaddress=$(ifdata -pa eth0)
+ export ROOT_URL='http://localhost'
+ #---------------------------------------------
+ # Working email IS NOT REQUIRED to use Wekan.
+ # https://github.com/wekan/wekan/wiki/Adding-users
+ # https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
+ # https://github.com/wekan/wekan-mongodb/blob/master/docker-compose.yml
+ export MAIL_URL='smtp://user:pass@mailserver.example.com:25/'
+ export MAIL_FROM='Wekan Support <support@example.com>'
+ # This is local port where Wekan Node.js runs, same as below on Caddyfile settings.
+ export PORT=80
+ #---------------------------------------------
+ # Wekan Export Board works when WITH_API='true'.
+ # If you disable Wekan API, Export Board does not work.
+ export WITH_API='true'
+ #---------------------------------------------
+ ## Optional: Integration with Matomo https://matomo.org that is installed to your server
+ ## The address of the server where Matomo is hosted:
+ # export MATOMO_ADDRESS='https://example.com/matomo'
+ export MATOMO_ADDRESS=''
+ ## The value of the site ID given in Matomo server for Wekan
+ # export MATOMO_SITE_ID='123456789'
+ export MATOMO_SITE_ID=''
+ ## The option do not track which enables users to not be tracked by matomo"
+ # export MATOMO_DO_NOT_TRACK='false'
+ export MATOMO_DO_NOT_TRACK='true'
+ ## The option that allows matomo to retrieve the username:
+ # export MATOMO_WITH_USERNAME='true'
+ export MATOMO_WITH_USERNAME='false'
+ # Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside.
+ # Setting this to false is not recommended, it also disables all other browser policy protections
+ # and allows all iframing etc. See wekan/server/policy.js
+ # Default value: true
+ export BROWSER_POLICY_ENABLED=true
+ # When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside.
+ # Example: export TRUSTED_URL=http://example.com
+ export TRUSTED_URL=''
+ # What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId .
+ # Example: export WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId
+ export WEBHOOKS_ATTRIBUTES=''
+ #---------------------------------------------
+ # OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
+ # OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345
+ # example: export OAUTH2_CLIENT_ID=abcde12345
+ export OAUTH2_CLIENT_ID=''
+ # OAuth2 Secret, for example from Rocket.Chat: Example: 54321abcde
+ # example: export OAUTH2_SECRET=54321abcde
+ export OAUTH2_SECRET=''
+ # OAuth2 Server URL, for example Rocket.Chat. Example: https://chat.example.com
+ # example: export OAUTH2_SERVER_URL=https://chat.example.com
+ export OAUTH2_SERVER_URL=''
+ # OAuth2 Authorization Endpoint. Example: /oauth/authorize
+ # example: export OAUTH2_AUTH_ENDPOINT=/oauth/authorize
+ export OAUTH2_AUTH_ENDPOINT=''
+ # OAuth2 Userinfo Endpoint. Example: /oauth/userinfo
+ # example: export OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
+ export OAUTH2_USERINFO_ENDPOINT=''
+ # OAuth2 Token Endpoint. Example: /oauth/token
+ # example: export OAUTH2_TOKEN_ENDPOINT=/oauth/token
+ export OAUTH2_TOKEN_ENDPOINT=''
+ #---------------------------------------------
+ node main.js & >> ~/repos/wekan.log
+ cd ~/repos
+#done
diff --git a/releases/virtualbox/stop-wekan.sh b/releases/virtualbox/stop-wekan.sh
new file mode 100755
index 00000000..a7adf03b
--- /dev/null
+++ b/releases/virtualbox/stop-wekan.sh
@@ -0,0 +1 @@
+pkill -f "node main.js"
diff --git a/releases/wekan-snap-help.sh b/releases/wekan-snap-help.sh
new file mode 100755
index 00000000..cbeb7426
--- /dev/null
+++ b/releases/wekan-snap-help.sh
@@ -0,0 +1 @@
+wekan.help | less
diff --git a/start-wekan.bat b/start-wekan.bat
new file mode 100644
index 00000000..3b1e8e77
--- /dev/null
+++ b/start-wekan.bat
@@ -0,0 +1,178 @@
+SET MONGO_URL=mongodb://127.0.0.1:27017/wekan
+SET ROOT_URL=http://127.0.0.1:2000/
+SET MAIL_URL=smtp://user:pass@mailserver.example.com:25/
+SET MAIL_FROM=admin@example.com
+SET PORT=2000
+
+REM If you disable Wekan API with false, Export Board does not work.
+SET WITH_API=true
+
+REM Optional: Integration with Matomo https://matomo.org that is installed to your server
+REM The address of the server where Matomo is hosted.
+REM example: - MATOMO_ADDRESS=https://example.com/matomo
+REM SET MATOMO_ADDRESS=
+REM The value of the site ID given in Matomo server for Wekan
+REM example: - MATOMO_SITE_ID=12345
+REM SET MATOMO_SITE_ID=
+REM The option do not track which enables users to not be tracked by matomo
+REM example: - MATOMO_DO_NOT_TRACK=false
+REM SET MATOMO_DO_NOT_TRACK=
+REM The option that allows matomo to retrieve the username:
+REM example: MATOMO_WITH_USERNAME=true
+REM SET MATOMO_WITH_USERNAME=false
+
+REM Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside.
+REM Setting this to false is not recommended, it also disables all other browser policy protections
+REM and allows all iframing etc. See wekan/server/policy.js
+SET BROWSER_POLICY_ENABLED=true
+REM When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside.
+REM SET TRUSTED_URL=
+
+REM What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId .
+REM example: WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId
+REM SET WEBHOOKS_ATTRIBUTES=
+
+REM Enable the OAuth2 connection
+REM example: OAUTH2_ENABLED=true
+REM SET OAUTH2_ENABLED=false
+REM OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
+REM OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345
+REM example: OAUTH2_CLIENT_ID=abcde12345
+REM SET OAUTH2_CLIENT_ID=
+REM OAuth2 Secret, for example from Rocket.Chat: Example: 54321abcde
+REM example: OAUTH2_SECRET=54321abcde
+REM SET OAUTH2_SECRET=
+REM OAuth2 Server URL, for example Rocket.Chat. Example: https://chat.example.com
+REM example: OAUTH2_SERVER_URL=https://chat.example.com
+REM SET OAUTH2_SERVER_URL=
+REM OAuth2 Authorization Endpoint. Example: /oauth/authorize
+REM example: OAUTH2_AUTH_ENDPOINT=/oauth/authorize
+REM SET OAUTH2_AUTH_ENDPOINT=
+REM OAuth2 Userinfo Endpoint. Example: /oauth/userinfo
+REM example: OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
+REM SET OAUTH2_USERINFO_ENDPOINT=
+REM OAuth2 Token Endpoint. Example: /oauth/token
+REM example: OAUTH2_TOKEN_ENDPOINT=/oauth/token
+REM SET OAUTH2_TOKEN_ENDPOINT=
+
+REM LDAP_ENABLE : Enable or not the connection by the LDAP
+REM example : LDAP_ENABLE=true
+REM SET LDAP_ENABLE=false
+REM LDAP_PORT : The port of the LDAP server
+REM example : LDAP_PORT=389
+REM SET LDAP_PORT=389
+REM LDAP_HOST : The host server for the LDAP server
+REM example : LDAP_HOST=localhost
+REM SET LDAP_HOST=
+REM LDAP_BASEDN : The base DN for the LDAP Tree
+REM example : LDAP_BASEDN=ou=user,dc=example,dc=org
+REM SET LDAP_BASEDN=
+REM LDAP_LOGIN_FALLBACK : Fallback on the default authentication method
+REM example : LDAP_LOGIN_FALLBACK=true
+REM SET LDAP_LOGIN_FALLBACK=false
+REM LDAP_RECONNECT : Reconnect to the server if the connection is lost
+REM example : LDAP_RECONNECT=false
+REM SET LDAP_RECONNECT=true
+REM LDAP_TIMEOUT : Overall timeout, in milliseconds
+REM example : LDAP_TIMEOUT=12345
+REM SET LDAP_TIMEOUT=10000
+REM LDAP_IDLE_TIMEOUT : Specifies the timeout for idle LDAP connections in milliseconds
+REM example : LDAP_IDLE_TIMEOUT=12345
+REM SET LDAP_IDLE_TIMEOUT=10000
+REM LDAP_CONNECT_TIMEOUT : Connection timeout, in milliseconds
+REM example : LDAP_CONNECT_TIMEOUT=12345
+REM SET LDAP_CONNECT_TIMEOUT=10000
+REM LDAP_AUTHENTIFICATION : If the LDAP needs a user account to search
+REM example : LDAP_AUTHENTIFICATION=true
+REM SET LDAP_AUTHENTIFICATION=false
+REM LDAP_AUTHENTIFICATION_USERDN : The search user DN
+REM example : LDAP_AUTHENTIFICATION_USERDN=cn=admin,dc=example,dc=org
+REM SET LDAP_AUTHENTIFICATION_USERDN=
+REM LDAP_AUTHENTIFICATION_PASSWORD : The password for the search user
+REM example : AUTHENTIFICATION_PASSWORD=admin
+REM SET LDAP_AUTHENTIFICATION_PASSWORD=
+REM LDAP_LOG_ENABLED : Enable logs for the module
+REM example : LDAP_LOG_ENABLED=true
+REM SET LDAP_LOG_ENABLED=false
+REM LDAP_BACKGROUND_SYNC : If the sync of the users should be done in the background
+REM example : LDAP_BACKGROUND_SYNC=true
+REM SET LDAP_BACKGROUND_SYNC=false
+REM LDAP_BACKGROUND_SYNC_INTERVAL : At which interval does the background task sync in milliseconds
+REM example : LDAP_BACKGROUND_SYNC_INTERVAL=12345
+REM SET LDAP_BACKGROUND_SYNC_INTERVAL=100
+REM LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED :
+REM example : LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=true
+REM SET LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=false
+REM LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS :
+REM example : LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=true
+REM SET LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=false
+REM LDAP_ENCRYPTION : If using LDAPS
+REM example : LDAP_ENCRYPTION=ssl
+REM SET LDAP_ENCRYPTION=false
+REM LDAP_CA_CERT : The certification for the LDAPS server. Certificate needs to be included in this docker-compose.yml file.
+REM example : LDAP_CA_CERT=-----BEGIN CERTIFICATE-----MIIE+zCCA+OgAwIBAgIkAhwR/6TVLmdRY6hHxvUFWc0+Enmu/Hu6cj+G2FIdAgIC...-----END CERTIFICATE-----
+REM SET LDAP_CA_CERT=
+REM LDAP_REJECT_UNAUTHORIZED : Reject Unauthorized Certificate
+REM example : LDAP_REJECT_UNAUTHORIZED=true
+REM SET LDAP_REJECT_UNAUTHORIZED=false
+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=
+REM LDAP_USER_SEARCH_SCOPE : base (search only in the provided DN), one (search only in the provided DN and one level deep), or sub (search the whole subtree)
+REM example : LDAP_USER_SEARCH_SCOPE=one
+REM SET LDAP_USER_SEARCH_SCOPE=
+REM LDAP_USER_SEARCH_FIELD : Which field is used to find the user
+REM example : LDAP_USER_SEARCH_FIELD=uid
+REM SET LDAP_USER_SEARCH_FIELD=
+REM LDAP_SEARCH_PAGE_SIZE : Used for pagination (0=unlimited)
+REM example : LDAP_SEARCH_PAGE_SIZE=12345
+REM SET LDAP_SEARCH_PAGE_SIZE=0
+REM LDAP_SEARCH_SIZE_LIMIT : The limit number of entries (0=unlimited)
+REM example : LDAP_SEARCH_SIZE_LIMIT=12345
+REM SET LDAP_SEARCH_SIZE_LIMIT=0
+REM LDAP_GROUP_FILTER_ENABLE : Enable group filtering
+REM example : LDAP_GROUP_FILTER_ENABLE=true
+REM SET LDAP_GROUP_FILTER_ENABLE=false
+REM LDAP_GROUP_FILTER_OBJECTCLASS : The object class for filtering
+REM example : LDAP_GROUP_FILTER_OBJECTCLASS=group
+REM SET LDAP_GROUP_FILTER_OBJECTCLASS=
+REM LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE :
+REM example :
+REM SET LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE=
+REM LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE :
+REM example :
+REM SET LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE=
+REM LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT :
+REM example :
+REM SET LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT=
+REM LDAP_GROUP_FILTER_GROUP_NAME :
+REM example :
+REM SET LDAP_GROUP_FILTER_GROUP_NAME=
+REM LDAP_UNIQUE_IDENTIFIER_FIELD : This field is sometimes class GUID (Globally Unique Identifier)
+REM example : LDAP_UNIQUE_IDENTIFIER_FIELD=guid
+REM SET LDAP_UNIQUE_IDENTIFIER_FIELD=
+REM LDAP_UTF8_NAMES_SLUGIFY : Convert the username to utf8
+REM example : LDAP_UTF8_NAMES_SLUGIFY=false
+REM SET LDAP_UTF8_NAMES_SLUGIFY=true
+REM LDAP_USERNAME_FIELD : Which field contains the ldap username
+REM example : LDAP_USERNAME_FIELD=username
+REM SET LDAP_USERNAME_FIELD=
+REM LDAP_MERGE_EXISTING_USERS :
+REM example : LDAP_MERGE_EXISTING_USERS=true
+REM SET LDAP_MERGE_EXISTING_USERS=false
+REM LDAP_SYNC_USER_DATA :
+REM example : LDAP_SYNC_USER_DATA=true
+REM SET LDAP_SYNC_USER_DATA=false
+REM LDAP_SYNC_USER_DATA_FIELDMAP :
+REM example : LDAP_SYNC_USER_DATA_FIELDMAP={"cn":"name", "mail":"email"}
+REM SET LDAP_SYNC_USER_DATA_FIELDMAP=
+REM LDAP_SYNC_GROUP_ROLES :
+REM example :
+REM SET LDAP_SYNC_GROUP_ROLES=
+REM LDAP_DEFAULT_DOMAIN : The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP
+REM example :
+REM SET LDAP_DEFAULT_DOMAIN=
+
+cd .build\bundle
+node main.js
+cd ..\.. \ No newline at end of file
diff --git a/start-wekan.sh b/start-wekan.sh
new file mode 100755
index 00000000..6006fb92
--- /dev/null
+++ b/start-wekan.sh
@@ -0,0 +1,23 @@
+# If you want to restart even on crash, uncomment while and done lines.
+
+#while true; do
+ cd ~/repos/wekan/.build/bundle
+ #export MONGO_URL='mongodb://127.0.0.1:27019/wekantest'
+ #export MONGO_URL='mongodb://127.0.0.1:27019/wekan'
+ export MONGO_URL='mongodb://127.0.0.1:27019/wekantest'
+ # Production: https://example.com/wekan
+ # Local: http://localhost:2000
+ #export ipaddress=$(ifdata -pa eth0)
+ export ROOT_URL='http://localhost:2000'
+ # https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
+ # https://github.com/wekan/wekan-mongodb/blob/master/docker-compose.yml
+ export MAIL_URL='smtp://user:pass@mailserver.example.com:25/'
+ # This is local port where Wekan Node.js runs, same as below on Caddyfile settings.
+ export WITH_API=true
+ export KADIRA_OPTIONS_ENDPOINT=http://127.0.0.1:11011
+ export PORT=2000
+ #export LDAP_ENABLE=true
+ node main.js
+ # & >> ~/repos/wekan.log
+ cd ~/repos
+#done
diff --git a/status-wekan.sh b/status-wekan.sh
new file mode 100755
index 00000000..2b815f4a
--- /dev/null
+++ b/status-wekan.sh
@@ -0,0 +1,5 @@
+echo -e "\nWekan node.js:"
+ps aux | grep "node main.js" | grep -v grep
+echo -e "\nWekan mongodb:"
+ps aux | grep mongo | grep -v grep
+echo -e "\nWekan logs are at /home/wekan/repos/wekan.log\n"
diff --git a/stop-wekan.sh b/stop-wekan.sh
new file mode 100755
index 00000000..a7adf03b
--- /dev/null
+++ b/stop-wekan.sh
@@ -0,0 +1 @@
+pkill -f "node main.js"