Join the conversation

Sign in to join this conversation, and others like it, in the communities you care about.

Wekan

Wekan is an open-source kanban board (Trello like) which allows a card-based task and to-do management.

Wekan / General

Lockout this that cannot be webhooked

Lockout this that cannot be webhooked

Wekan/General · March 19, 2020 at 7:59pm

Lockout this that cannot be webhooked

Wekan / General · March 19, 2020 at 7:59pm

When you add or delete a card, or if you add or delete a swimlane you get a webhook payload regardless of how the integration was registered. If you use universal webhooks (not the one assigned by a board specific integration) you probably get a webhook showing you created a board. Either way you do get a board deletion webhook if you built that board through the api and added an integration.

But for some reason there are NO webhooks for any changes you make. If you rename a card or rename a swimlane or rename a board, you get silence. I tried tracking and watching options and still nothing. LMK if I am doing this wrong, please.

So if I cannot track the user making changes I would need instead to prevent the user from making changes I cannot track through a web hook.

I have run into this issue editing (PUT) through the api. There are not editing functions through the api to rename some things or coloring things. Simple solution was just to change things in Mongodb to rename a board or a swimlane or card or add or change a color in a swimlane.

But the reverse is not as easy. Unless I capture changes to mongo as events there is no easy solution to not getting a webhook back on a user change of something simple. If you add card NP. if you edit a card no go.

So to lockout changes...... are there methods to do that? I see many true/false values that are in the database (no that you can always edit them through the api), but if you change mongo values you can change what the user is permitted to do in the GUI with the boards?

allowsSubtasks": true, "allowsAttachments": true, "allowsChecklists": true, "allowsComments": true, "allowsDescriptionTitle": true, "allowsDescriptionText": true, "allowsActivities": true, "allowsLabels": true, "allowsAssignee": true, "allowsMembers": true, "allowsRequestedBy": true, "allowsAssignedBy": true, "allowsReceivedDate": true, "allowsStartDate": true, "allowsEndDate": true, "allowsDueDate": true,

Can I, and if so, what do I change to prevent users from renaming things that do not give you webhooks?

Thanks

Load previous messages

March 20, 2020 at 12:17pm

WEKAN is cool, powerful, amazingly user friendly from a GUI perspective and the internal business rules right down to the DB is what makes it so. It sports a security model we can work with is represents thousands of hours of code that works well. And if required we can reskin the CSS. Its great

    • reply
    • like

    I am just trying to close the edge cases of marriying wekan to other systems,

      • reply
      • like

      What kind of blocks would you like to have?

        • reply
        • like

        anything PUT webhooks

          • reply
          • like

          change something the user changes sending a webhook

            • reply
            • like

            right now that is titles of the main widgets (boards, swimlanes and cards).

              • reply
              • like

              If I get a webhook I can change the assignee/owner/members and add or remove integrations and add other values. So if you create a new card, even thougfh that card does not have all the data fields I need to create a remote task, the web hook gives me the ids so I can create them and sync the mongo or api back. If I do not get a webhook I am flying blind

                • reply
                • like

                I will report back if I can create the mongo watch eventing just to see if it offers and alternative. Perhaps in a few month I will be allowed to do pull requests. Right now I can adjust my code or systems but not change wekan itself

                  • reply
                  • like

                  thanks again sir

                    • reply
                    • like

                    Ok, so if I would create role NoRename, that is like user, but can not rename boards/swimlanes/cards, would that be OK ?

                      • reply
                      • like

                      would would set that role to user with API

                        • reply
                        • like

                        I mean, you could set that role with API

                          • reply
                          • like

                          Hmm, other way would be to have in Board Settings options for disabling changing board/swimlane/card name. And also add that to API.

                            • reply
                            • like

                            those settings would only affect users that are not BoardAdmin

                              • reply
                              • like

                              yes either provide restriction attributes on the api to entities

                                • reply
                                • like

                                OR

                                  • reply
                                  • like

                                  add those entity changes as webhooks

                                    • reply
                                    • like

                                    either works

                                      • reply
                                      • like

                                      as I said I will keep exploring other options lkike I did for missing PUT api items. Its surprisingly easy to ssh connect into snapcraft mongo and makes small edits

                                        • reply
                                        • like

                                        March 20, 2020 at 2:03pm

                                        Question. I am running on all my servers Mongodb version 4.0.16

                                          • reply
                                          • like

                                          Yes?

                                            • reply
                                            • like

                                            I just when into mongo -port 27019 and typed db.version() and got 3.2.22

                                              • reply
                                              • like

                                              Snap uses MongoDB 3.2.22

                                                • reply
                                                • like

                                                for server

                                                  • reply
                                                  • like

                                                  are you really using earlier than mongodb 3.6 or am I doing this wrong

                                                    • reply
                                                    • like