cm4all-wp-impex

Description

ImpEx is a WordPress plugin that allows you to import and export data from and to your WordPress installation.

The primary goal for ImpEx is to provide a true Open Source WordPress Plugin for importing/exporting your WordPress data (including data from third-party plugins/themes).

This plugin is in an early (but working) stage.

Impex provides :

  • WordPress hooks for third-party plugins to expose their own data to ImpEx Import / Export without being dependent on Impex.

  • a (semi) streaming architecture for large data exports/imports.

  • Definition of configurable import/export profiles defining data providers to use and configuration of these data providers

    • A user interface for importing / exporting data via ImpEx WP admin screen
  • the ImpEx API is designed to support resumable/cancelable imports and exports.

  • ImpEx provides a REST API integrated into WordPress

  • ImpEx is explicitly designed for use in managed WordPress instances

  • ImpEx development relies heavily on PHP unit testing its feature set to be stable and consistent.

  • a CLI for importing/exporting data via ImpEx REST interface.
    The ImpEx CLI can be used as an alternative to the ImpEx WP admin screen.

  • related NPM package @cm4all-wp-impex/generator enabling transformation of any content to Impex Export format.

    Using this package you’re able to convert any content to WordPress and import it using the ImpEx plugin. See the Tutorial
    or watch the walk-trough at YouTube.

Your help is welcome !!

Screenshots

FAQ

Impex uses modern browser features as building blocks.

Right know some of them might not be available in some browsers :

  • File System Access API to export and import data to the local filesystem. This browser feature is mandatory.

    Right now Chromium based browsers (except of Brave who disabled this feature) and Safari supporting the File System Access API.

    As of now, it’s unclear if and when Firefox will support the File System Access API.

    As an alternative you can use the ImpEx CLI to trigger import/export operations on the commandline.

  • Depending on your browser version the Crypto API feature we use (window.crypto.randomUUID) may not be supported by your browser.

    As of now, all “green” browser support it.

    But if you use an older version of a browser it might happen that Impex will not work since the browser feature is not available in your browser.

Where can I find the ImpEx documentation ?

Documentation available at the Impex plugin GitHub pages

Please file bugs and feature requests at the Impex plugin GitHub issues

Why ImpE written in PHP 8 ?

Because PHP 8

  • is much faster than any previous PHP Version

  • allows a much cleaner PHP code

The plugin version available here (at WordPress plugin directory) is transpiled down to PHP 7.4

If you prefer to use the PHP 8 version, you can download it from the ImpEx WordPress plugin GitHub repository

What’s the current feature set ?

  • ImpEx provides right now generic providers for

    • import/export WordPress posts/pages including attachments/uploads and custom post types

    • import/export configurable database tables (can be used export data from third party plugins/themes)

    • import/export configurable wp_options (can be used export data from third party plugins/themes)

  • ImpEx imports and exports data as plain files directly to your local filesystem so that you can operate on the exported data (and attachments) without hassle.

  • ImpEx supports snapshots to allow you to rollback to a previous state of your data without downloading the whole data to your local machine

What’s planned for the future ?

  • an intuitive user interface allowing to configure import/export profiles and configuration of the used data providers based on React and JSON Schema

  • monthly releases

Reviews

There are no reviews for this plugin.

Contributors & Developers

“cm4all-wp-impex” is open source software. The following people have contributed to this plugin.

Contributors

Translate “cm4all-wp-impex” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

[1.6.0](https://github.com/IONOS-WordPress/cm4all-wp-impex/compare/1.5.11…1.6.0) (2024-02-12)

Features

  • new option “cleanup media” added (6e351ad)

Bug Fixes

  • made theme mods access safe (c50f841)
  • updated rector configuration to be rector 1.0 compatible (246b60d)

[1.5.11](https://github.com/IONOS-WordPress/cm4all-wp-impex/compare/1.5.10…1.5.11) (2024-01-11)

Bug Fixes

  • final fix for menu id reassociation (a752c5e)

[1.5.10](https://github.com/IONOS-WordPress/cm4all-wp-impex/compare/1.5.9…1.5.10) (2024-01-11)

Bug Fixes

  • added wp_attachment_pages_enabled option to export (bf39694)
  • fixed launch.json generation for successful 3rd-party plugin debugging (5f07e44)
  • import: fix mysql/mariadb charset/collation issue (fb5543f)
  • importing mysql db tables into mariadb/wp-env (a1a21a8)
  • menu id reassignment fixed (ac7d0f5)
  • upgraded rector config to work with latest rector release (406283e)

[1.5.9](https://github.com/IONOS-WordPress/cm4all-wp-impex/compare/1.5.8…1.5.9) (2023-07-24)

Bug Fixes

[1.5.8](https://github.com/IONOS-WordPress/cm4all-wp-impex/compare/1.5.7…1.5.8) (2023-06-21)

Bug Fixes

  • missing undefined $custom_taxonomies (76eb948)

[1.5.7](https://github.com/IONOS-WordPress/cm4all-wp-impex/compare/1.5.6…1.5.7) (2023-04-03)

Bug Fixes

  • fixed unit tests for wp 6.2 (b76f9dc)
  • impex uses anonymous filenames for attachment blobs (6a47bac)
  • removed obsolete vscode launch configuration (ea9d509)

[1.5.6](https://github.com/IONOS-WordPress/cm4all-wp-impex/compare/1.5.5…1.5.6) (2023-02-03)

Bug Fixes

  • imported option “theme_mods_trinity-core” will be updated after final import (14b1865)
  • remap imported reusable block ids (a8828db)

[1.5.5](https://github.com/IONOS-WordPress/cm4all-wp-impex/compare/1.5.4…1.5.5) (2022-12-23)

Bug Fixes

  • remap imported reusable block ids (f2c91ee)

[1.5.4](https://github.com/IONOS-WordPress/cm4all-wp-impex/compare/1.5.3…1.5.4) (2022-12-22)

Bug Fixes

  • added remapping site_logo and site_icon (f669013)
  • export example exports site logo, title and description (362b9c2)
  • export website title,description and logo (52a8084)
  • exporting default homepage options (968ca33)
  • finalized remapping imported nav_menu refs and several options referencing posts (93c27c3)
  • pinned ubuntu version for github action (ead3c11)

[1.5.3](https://github.com/IONOS-WordPress/cm4all-wp-impex/compare/1.5.2…1.5.3) (2022-11-03)

Bug Fixes

  • disabled example filter hiding impex import profiles (6356f97)
  • GitHub action (cf49192)
  • GitHub permission issue (2e6e688)
  • GitHub permission issue (f6a83d1)
  • make: fixed a few caveats in Makefile (48330ae)
  • mdbook image: added dopcker label pointing to the github repo (319e870)
  • nav menu import doesnt chrash anymore (d8e9959)
  • patched Makefile to fit GitHub action needs (174e666)

1.5.2 (2022-10-17)

Bug Fixes

  • @cm4all-wp-impex/generator: fixed double passing slicePath argument on migrate callback (8e11db4)

1.5.1 (2022-10-13)

Bug Fixes

  • @cm4all-wp-impex/generator: added missing migrate callback arguments (9fc96ff)

[1.5.0](https://github.com/IONOS-WordPress/cm4all-wp-impex/compare/1.4.3…1.5.0) (2022-10-07)

Features

  • @cm4all-wp-impex/generator: added migrate function to minimize boilerplate code when writing impex export transformations (209ad2d)

Bug Fixes

  • @cm4all-wp-impex/generator: fixed chunk directory creation in migrate (7f184bb)
  • @cm4all-wp-impex/generator: fixed testcases (3e58f1d)
  • imported media metadata will be generated after consuming slices (1373a6e)
  • relax post consume callback error handling (c309d1b)
  • simple import button disabled style workaround added for current gutenberg (6b5c685)
  • use external mdbook image for documentation generation within ci (639e824)

1.4.3 (2022-09-19)

Bug Fixes

  • fixed extensionless attachment imports (ab28dc3)

1.4.2 (2022-09-15)

Bug Fixes

  • fixed getFiles() in @cm4all-wp-impex/generator (570f5e4)
  • image attachments without extension can be handlet by impex (f8d157f)
  • typos fixed (599e950)

1.4.1 (2022-08-31)

Bug Fixes

  • updated dev environment to wordpress 6.0.2 (271b33d)

[1.4.0](https://github.com/IONOS-WordPress/cm4all-wp-impex/compare/1.3.8…1.4.0) (2022-08-30)

Features

  • added cleanup option to “advanced import” ui (74ffc47)
  • added import option to cleanup wordpress before import (98cb602)
  • impex cli import now supports providing options to the import process (9064a77)
  • impex cli supports import options like “impex-import-option-cleanup_contents” (b218221)
  • import/export filters can now be filtered using wp filters (f94ae55)
  • simple import roughly implemented (2836697)

Bug Fixes

  • browser filesystem-api will use consistent snaopshot directory handle (3960b98)
  • consumeImport will gracefully handle not set option impex-import-option-cleanup_contents (4ac7660)
  • ensuring that the window.crypto api is available before using it (4b818b4)
  • fixed crypto api detection (893ff0d)
  • fixed error message if browser crypto api is missing (9544a00)
  • fixed some typos (a79decb)
  • getProfile() should return an ArrayIterator (ad6ace4)
  • i18n translations fixed (8a7f392)
  • impex error popup can handle multiline messages (f6b51e1)
  • import will no more fail on unknown post type import (5e25505)
  • import will not fail on unknown taxonomy references (eff2c2e)
  • made snapshot import more sensitive about files/directories (f6120d4)
  • relax import of users with illegal login (fea4c5a)
  • simple ui labels fixed (be850cf)
  • test environment runs only with disabled wp cron (ff24148)
  • upgraded rector command to latest rector cli (bcfc886)

1.3.8 (2022-07-20)

Bug Fixes

  • import will no more fail on unknown post type import (df37c18)

1.3.7 (2022-07-06)

Bug Fixes

  • made snapshot import more sensitive about files/directories (e38ed41)

1.3.6 (2022-07-05)

Bug Fixes

  • import will not fail on unknown taxonomy references (c2016b5)
  • upgraded rector command to latest rector cli (0976dcf)

1.3.5 (2022-05-31)

Bug Fixes

  • @cm4all-wp-impex/generator: package.json repository property fixed (b140ffe)
  • impex-cli: made import option “profile” optional. default value is “all” (82517e2)
  • rector upgrade (fae99b8)
  • updated recommended vscode extensions (facf38e)
  • updated supported wordpress version to 6.0 (be2a62d)

1.3.4 (2022-05-10)

Bug Fixes

  • typo fixed in plugin descriptor (419625f)
  • typo fixed in wordpress descriptor (ba440bd)

1.3.3 (2022-05-10)

Bug Fixes

  • added missing youtube links to npm package and wp plugin (62e225b)

1.3.2 (2022-05-10)

Bug Fixes

1.3.1 (2022-05-03)

Bug Fixes

[1.3.0](https://github.com/IONOS-WordPress/cm4all-wp-impex/compare/1.2.1…1.3.0) (2022-05-03)

Features

Bug Fixes

  • impex-transform: add testcase core/image injecting

<

figure>…

<

figcaption> using onLoad hook (278a0d9)
* impex-transform: final attempt to fix resetting block transforms for tape tests (8c793f7)
* provide NPM_TOKEN to semantic-release (5f2fed5)

1.2.1 (2022-03-24)

Bug Fixes

  • assert that WP_Filesystem() is already declared (5ff641f)
  • fixed impexcli docker image build (ce435ee)
  • fixed variable naming typo (e408ade)
  • impex-cli-test: fixed paths to impex-cli (170af21)
  • import php namespace issue fixed (342e5bd)
  • wp-env: htaccess gets also deployed to test-Wordpress (993b275)

[1.2.0](https://github.com/IONOS-WordPress/cm4all-wp-impex/compare/1.1.7…1.2.0) (2022-03-02)

Features

  • impex-cli import and export finally works (482c87e)

Bug Fixes

  • added additional links to impex plugin entry in plugins.php (4bd2a8a)
  • fixed mdbook image generation (2f613fa)
  • fixed typo in .wp-env.override.json (8b9227d)
  • impex plugin readme template updated (56344dd)
  • impex-cli: improved impex-cli logging (8476260)

1.1.7 (2022-02-08)

Bug Fixes

  • fixed wordpress.org subversion commit command in Makefile (3d7baa5)
  • improved Makefile (8272a02)
  • Makefile target “deploy-to-wordpress” – fixed SVN_* variable provisioning (d639f59)
  • Makefile target “deploy-to-wordpress” – fixed typo in svn commit message (baedfde)
  • Makefile target “deploy-to-wordpress” – SNV_* parameter provisioning (636ec30)

1.1.6 (2022-02-08)

Bug Fixes

  • fixed wordpress.org subversion commit command in Makefile (c098eb9)

1.1.5 (2022-02-08)

Bug Fixes

1.1.4 (2022-02-08)

Bug Fixes

  • Makefile target “deploy-to-wordpress” – SNV_* parameter provisioning (0a9db88)

1.1.3 (2022-02-08)

Bug Fixes

  • Makefile target “deploy-to-wordpress” – fixed SVN_* variable provisioning (4c7d229)

1.1.2 (2022-02-08)

Bug Fixes

  • Makefile target “deploy-to-wordpress” – fixed typo in svn commit message (e5edf8b)

1.1.1 (2022-02-08)

Bug Fixes

  • fixed installation of convert in github action dependencies (52e319c)
  • fixed installation of github action dependencies (b4a7072)

[1.1.0](https://github.com/IONOS-WordPress/cm4all-wp-impex/compare/1.0.4…1.1.0) (2022-02-02)

Features

  • impex for php 7.4 infrastructure added (60d9ee5)
  • implex plugin for php 7.4 will be generated (af7a393)

1.0.4 (2022-01-26)

Bug Fixes

  • improved github action semantic-release (feeeb53)

1.0.3 (2022-01-26)

Bug Fixes

  • added missing “Tested up to” metdata to plugin.php and readme.txt template (270355e)

1.0.2 (2022-01-25)

Bug Fixes

  • “Merge main back into develop” task of github release action fixed (e2e4632)
  • github release action fixed (f26da00)

1.0.1 (2022-01-25)

Bug Fixes

  • fixed typo for impex plugin field “Description” (4e674f3)

1.0.0 (2022-01-25)

Features

Bug Fixes

  • added missing package-lock.json (bf5b9d5)