decaporg / decaporg/decap-cms

Bulk read/write folder collections

Open
#6,285 1 comment 0 reactions 0 assignees View on GitHub
type: feature
Dominant language
JavaScript
Stars
19.4k
Forks
3.1k
Avg merge
1d 14h
Merged PRs (30d)
9

Description

**Is your feature request related to a problem? Please describe.**

In some cases, content editors want to make similar or identical changes/creations to dozens or hundreds of files at a time. This is not workable by navigating to the entry page for them one at a time, so it requires the engineering team to write custom scripts which load content from the file system on a locally-checked out repo, tinker with the content, then write back to the system.

**Describe the solution you'd like**

A section of the UI where you can choose a collection and a locale, and a spreadsheet/table is rendered. The columns are [dot-prop](https://www.npmjs.com/package/dot-prop)-style paths to each field, and each row represents an entry. On navigating to this page, all of the files in the collection are loaded into the table. The table cells can be edited (either as text or maybe in a popout which renders their widget), and then clicking the "Save"/"Publish" button pushes a multi-file commit to the backend (either the main git branch, or a feature branch if editorial workflows are enabled).

Some other notes:

- For non-string fields like numbers, there'd have to be some way of looking up the expected column type from the config, and parsing the (text) cell value as a number/boolean/whatever.
- It should be possible to copy/paste from applications like Google Sheets, or even use OAuth to load directly from Google Sheets.

**Describe alternatives you've considered**

Right now, we write fiddly scripts at the cost of developer time in the backend. We've also played around with connecting Google sheets with retool,

**Additional context**

I realise this is a big feature request. We're going to build parts of this privately, but wanted to create the issue to see if the team would be open to accepting it as a contribution, eventually.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.