collective / collective/collective.exportimport

[proposal] unified export format

Open
#62 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
19
Forks
20
PR merge metrics
No merged PRs in 30d

Description

# problem
- Currently have to use several different forms to do both export and then import
- You also have to know the right order to do the import when you have multiple export json

# proposed solution

User will go to the site setup and click on export and get a UI something like

```
-------------------------------------------------------------
| Warning: multiple exports selected. Download will be tar.gz |
-------------------------------------------------------------

# Exports
[x] Content
[x] File/Images
[ ] Users
[ ] Content Tree
[ ] Relations
[ ] Translations
[ ] Local Roles
[ ] Default Page Mapping
[ ] Object Positions in Parent
[ ] Comments

# Content Export

{query widget}
Type: Page
Path: /news depth:1
Path: /other-news depth:1
Creation date: > 1/1/20018

Selected content (21 items)
--------------------------------
| /news/item1
| /news/item2
| /other-news/big-news
--------------------------------

# File/Images Export

(o) url/path
( ) binary in tar.gz
( ) base64 encoded in json

[Download] [Save to Server] [Dry Run] [Cancel]
```

Features this adds
- tar.gz if multiple exports selected
- still keeps json as multiple files
- Would enable things to be put in the right orde
- still memory efficient as tar can be streamed.
- somehow take every exporter and merging into one UI.
- Adapter to get schema?

# Alternatives considered
- still have seperate views?
- use a single json format that contains the others
- can still stream it and webserver might do gzip compression automatically anyway
- can still choose to include blobs for small sites using base64 encoding.
- con: might be harder for the user to inject or change blobs without writing code?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the existing export and import views and exporters behind the site setup flow; the issue does not name specific files or tests. Compare how content, files/images, users, and other listed data types are currently handled. Done would require a unified selection UI, ordered multi-export output, and tar.gz or JSON handling as described.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.