decap-cms
decap-cms copied to clipboard
Translation Does not Support Simultaneously editing of Multiple Users
Describe the bug If multiple users try to edit translations for the same document, they will overwrite each others changes since Decap groups changes to a document and all translations together. To duplicate, have a multi language setup for Decap, have two users start editing different language translations for the same page. Each time the users save, they will overwrite changes made by the other translator. It should at least be configurable for Decap to treat each translation of a document as a separate instead of always saving the original document and all translations from the browser state.
To Reproduce Have two users log in to Decap and start editing different translations of the same document simultaneously.
Expected behavior Pull requests should contain only the actively edited file/translation, or it should be possible to configure Decap to support multiple active translators.
Applicable Versions:
- Decap CMS version: 3.3.3
- Git provider: GitHub
- OS: Linux/Windows/macOS
- Browser version: Chrome 129.0.6668.100
- Node.JS version: 18
CMS configuration
backend:
name: github
repo: **redacted**
branch: master
base_url: **redacted**
auth_endpoint: auth/login
auth_scope: repo
open_authoring: true
publish_mode: editorial_workflow
media_folder: "public/images"
public_folder: "/images"
site_url: **redacted**
show_preview_links: false
i18n:
structure: multiple_folders
locales: [en, de, es, fr, it, ja, pt, zh-Hans, zh-Hant]
collections:
- label: "Blog"
name: "blog"
folder: "blog"
identifier_field: title
format: yaml-frontmatter
preview_path: "blog/en/{{slug}}.html"
fields:
- label: Title
name: title
widget: string
i18n: true
- label: Page Class
name: pageClass
widget: hidden
default: blog
i18n: duplicate
- label: Description
name: description
widget: string
i18n: true
required: false
- label: Meta Description
name: metaDescription
widget: string
i18n: true
required: false
- label: Date
name: date
format: "YYYY/MM/DD"
default:
time_format: false
widget: datetime
required: false
i18n: true
- label: Tags
name: tags
widget: list
i18n: true
allow_add: true
- label: Image
name: image
widget: image
i18n: duplicate
required: false
- label: Featured
name: isFeatured
widget: boolean
i18n: duplicate
required: false
- label: Body
name: body
widget: markdown
i18n: true
create: true
i18n: true