Make WordPress Core

Changes between Version 4 and Version 5 of Ticket #60375


Ignore:
Timestamp:
01/30/2024 10:29:02 AM (5 months ago)
Author:
zieladam
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #60375 – Description

    v4 v5  
    2222The [https://github.com/WordPress/data-liberation/discussions/53 Data Liberation proposal] makes a great argument for a ".zip" bundle as the export format. I would love to leverage it here. A wordpress.zip file with all the site files and the data in an .sqlite (or plaintext .sql) format sounds like the most natural and convenient way of moving WordPress sites around.
    2323
    24 Moving around a huge archive may be problematic for larger sites, but the ZIP format was built with streaming, compression, chunking, checksums, and seeking in mind. It is a good fit for handling imports that are many GBs large on a host with 64 MB of ram allocated, and not enough hard drive space to hold the import file itself.
     24Large sites may seem problematic at the first glance, as 300GB zip archives are difficult to manage. However, the ZIP format was built with streaming, compression, chunking, checksums, and seeking in mind. It is a good fit for handling imports that are many GBs large even on a host with 64 MB of ram allocated and not enough hard drive space to hold the import file itself.
    2525
    2626To support that last point – I’ve built a [https://github.com/WordPress/wordpress-playground/pull/880 streaming zip encoder and decoder in JavaScript] for Playground. It can cherry-pick a single file from https://downloads.wordpress.org/plugin/gutenberg.17.5.2.zip by transferring only a few kilobytes and without downloading the entire 10+MB archive. It works with zip files, and it would work with a Synchronization API endpoint where the zipped fragments are generated on demand.