@thaleslabs/strapi-plugin-record-locking

0.3.1 • Public • Published

# Strapi plugin record-locking

Hey I am editing, don't change my content! Plugin

This plugin provides the ability to stop data loss when two users are editing the same record in STRAPI v4

Benefits

Have only one user editing one record at a time Clearly shows you who is the other user editing the record

🧑‍💻 Install

npm i @notum-cz/strapi-plugin-record-locking

yarn add @notum-cz/strapi-plugin-record-locking



🖐 ⚠️ Read before installation



1. You need to create/modify file config/plugins.js with

module.exports = ({ env }) => ({
 "record-locking": {
    enabled: true,
  },
});


2. To suppport websocket protocol configure strapi middleware

For the config/middlewares.js file you will need to either replace 'strapi::security' with middleware object (example below) or update your existing configuration accordingly...

  1. Ensure that "ws:" and "wss:" are present in strapi::security config under contentSecurityPolicy.directives.connect-src
  2. Rebuild strapi and test record locking features.
  3. There should be no Content Security Policy error in the console.
module.exports = [
  'strapi::errors',
  {
    name: "strapi::security",
    config: {
      contentSecurityPolicy: {
        useDefaults: true,
        directives: {
          "connect-src": ["'self'", "https:",  "wss:", "http:"],
          "img-src": [
            "'self'",
            "data:",
            "blob:",
          ],
          "media-src": ["'self'", "data:", "blob:"],
          upgradeInsecureRequests: null,
        },
      },
    },
  },
  'strapi::cors', ...

This is optional but recommended as Socket.io will fallback to using http protocol and throws the following error in web console...
Refused to connect to <protocol>://<url> because it does not appear in the connect-src directive of the Content Security Policy


🛣️ Road map

  • Option to choose specific collection types
  • Add a "Takeover" button
  • Possibility to choose roles prioritization (Author cannot Takover SuperAdmin)

🐛 Bugs

We are using GitHub Issues to manage bugs.
If you want to help us you would be a rock .

🧔 Authors

The main star: Martin Čapek https://github.com/martincapek
Developer: Filip Janko https://github.com/fikoun
Project owner: Ondřej Janošík

🚀 Created with passion by Notum Technologies

  • Official STRAPI partner and Czech based custom development agency.
  • We love to share expertise with the open source community, that's why this plugin was created. 🖤

🎯 How can Notum help you with your STRAPI project?

✔️ We can help you develop custom STRAPI, web and mobile apps.
✔️ With 100+ projects, open communication and great project management we have the tools to get your project across the finish line.
📅 If you want to discuss your Strapi project, text us at sales@notum.cz

Keywords

/@thaleslabs/strapi-plugin-record-locking/

    Package Sidebar

    Install

    npm i @thaleslabs/strapi-plugin-record-locking

    Weekly Downloads

    0

    Version

    0.3.1

    License

    MIT

    Unpacked Size

    18.1 kB

    Total Files

    50

    Last publish

    Collaborators

    • sandeep_patel_xooa