Kanban tool Wekan Frequently Asked Questions Summary

Use Wekan Kanban process, often encounter a variety of problems, we will continue to update records using all the problems encountered in the process.

common problem

1. You can not select members

Performance: When you select a member, will soon be automatically deselected. Console error log will be roughly the content is unable to add a value to the non-array in.

I started to think that the user can not add members to the array of cards, and later discovered the following reasons:

Since the billboards can be configured to focus on the state , when configuring e-mail, if they have their own and related messages, e-mail will be sent, before e-mail, message content will first record the user to the users table "profile.emailBuffer"field, after inspection found in the database field is a ""string type, change []can be resolved. Update SQL as follows:

//先查询
db.getCollection("users").find({"profile.emailBuffer":""}, {"profile.emailBuffer": 1});

//后更新
db.getCollection("users").update({"profile.emailBuffer":""}, {$set: {"profile.emailBuffer": []}}, {multi: true});

2. Can not open Kanban

Performance: point to open a Kanban, can only see the top of the menu, the main part of the page has been loaded in the display.

Approximate the https://github.com/wekan/wekan/issues/1703 this issue, and I'm close to the situation, but the console does export some error logs and custom fields relevant.

Reason: probably because the case where the operation of the card A signage arrangement custom fields when data is not yet fully synchronized to the switching kanban B, A in this case the use of the card B in the custom field. Then open Kanban time because the problem will not lead to open fields of billboards.

Error data:

{
    "_id": "rASLzx6BcLuW6Ggbc",
    "customFields": [
        {
            "_id": "WQmS8hmAMuxrjuPAi",
            "value": "9"
        }
    ],
    "listId": "54YHsQgDfh3jGPuti",
    "boardId": "GueR77tH9GHdh46hP"
}
//这里的 WQmS8hmAMuxrjuPAi 和当前的看板 id 不一致,数据如下:
// 1
{
    "_id": "WQmS8hmAMuxrjuPAi",
    "boardId": "LzyPhdepHwQ6CTwHC",
    "name": "绩效分数",
    "type": "text",
    "settings": { },
    "showOnCard": true,
    "showLabelOnMiniCard": true,
    "automaticallyOnCard": true
}

The solution is to empty this erroneous custom fields can be, I still have not made directly to check out a problem with the card mongo script, can only recognize the human eye, and then update the data through the following statement:

//根据看板 id 和 错误字段查询数据
db.getCollection("cards").find({"boardId" : "GueR77tH9GHdh46hP", "customFields._id": "WQmS8hmAMuxrjuPAi"});
//更新错误的数据,直接清空自定义字段
db.getCollection("cards").update({"boardId" : "GueR77tH9GHdh46hP", "customFields._id": "WQmS8hmAMuxrjuPAi"}, {$set: {"customFields": []}}, {multi: true});

3. Some cards do not see

It features that some people can see some cards, but most people do not see.

Cause: unknown reason lanes ID card into a kanban ID.

This problem occurs relatively early, because this issue from snap into a docker way, and chose a relatively early version. The following direct posted solutions.

//查询有问题的卡片
db.getCollection("cards").find({ $where: function() { return this.boardId == this.swimlaneId } } )

Solution: only manually find the actual lane ID, and then manually update the card in question.

How to debug?

In Kanban tool Wekan installation configuration and data backup start this blog, I finally created two mongo servers, mainly to avoid misuse. In fact, create multiple databases on a server can also be in the debugging process, the first backup of the production database, and then restore the database to the test, debug test library!

Because docker use, so start a Wekan directly into the mirror /bin/sh(do not start the default command).

docker run -it --name=wekan-test -p8888:8080 -p9229:9229 wekanteam/wekan:v2.17 /bin/sh

The first 8888 ports are wekan services, 9229 is the second nodejs open debug mode the default port.

After entering the machine, cd /buildenter wekan program directory, cat READMEview the document as follows:

This is a Meteor application bundle. It has only one external dependency:
Node.js v8.9.3. To run the application:

$ (cd programs/server && npm install)
$ export MONGO_URL=‘mongodb://user:password@host:port/databasename’
$ export ROOT_URL=‘http://example.com
$ export MAIL_URL=‘smtp://user:password@mailhost:port/’
$ node main.js

Use the PORT environment variable to set the port where the
application will listen. The default is 80, but that will require
root on most systems.

Find out more about Meteor at meteor.com.

According to the document set environment variables, such as I have here:

$ export MONGO_URL='mongodb://10.10.1.245:27019/wekan3'
$ export ROOT_URL='http://10.10.1.245:8888'

Start the application in debug mode:

$ node --inspect=0.0.0.0:9229 main.js

After Chrome browser, configure the server IP: PORT after you can debug.

Published 299 original articles · won praise 1651 · Views 5.95 million +

Guess you like

Origin blog.csdn.net/isea533/article/details/88837524