19 Comments

  1. Benjamin Hansen

    can’t wait to try it out now that there is a UI thanks for the post! :)

    Report

  2. Katie Allred

    I installed it and it gave me a PHP error. Had to go into FTP and delete it. BUMMER.

    Report

    • Sarah Gooding

      Can you report it to the team on the feedback thread linked in the post?

      Report

      • Ahmad Awais

        Actually, the new plugin code depends on the old plugin’s class named against WP_Import() at line #33 of `plugin.php` file.

        So, one needs to install the old WordPress Importer plugin before trying to install the new one.

        I think a note about this would go long way :)

        Report

        • Ahmad Awais

          EDIT: This is how it is.

          Just figured the master and admin-ui branches are different and we don’t need the old plugin. Though the master branch does.

          So, if you are downloading via the master branch zip link, then you need to have the old WordPress Importer plugin installed.

          But if you are testing the new `admin-ui` branch, then you don’t need the old WP importere. For downloading a zip for this `admin-ui` branch click this zip link.

          Report

    • Terence

      Me too; an immediate 500 error. This 4.5 site is running on a PHP7/LetsEncrypt/NginX/ hybrid server, so I am not surprised. But its definitely not ready for showtime.

      Report

  3. David McCan

    This is great news. I just added importing test data to my WP-CLI script. There were so many warnings and errors that I had to remove it. Now I can add that back in. Thank you Ryan and contributors.

    Report

  4. dimitris

    I think the link is not the correct, i was getting a fatal error.I downloaded again from github and it works.

    Report

  5. Jeffr0

    Kudos to Ryan for taking on the project. The WordPress Importer has been in dire straights for years. I wonder if Ryan is using any of the code from when Frederick Ding worked on the project in 2013 https://make.wordpress.org/core/2013/07/16/migration-update-wxr-importer/

    Report

    • Howdy_McGee

      +1 to that, this has been a long, long time coming!

      Report

    • Jason Lemieux

      Indeed. A huge amount of +1 to Ryan for this. Nothing but respect.

      Report

    • Ryan McCue

      This is a ground-up rewrite. Basically, the way that the existing importer works is by reading the whole file in, turning that into a giant object of data, then importing that. (This is XML “push” parsing, because the parser pushes all the data to you at once.)

      The rewrite instead works by opening (but not reading) the file, then moving through a piece at a time. (This is XML “pull” parsing, because you specifically pull pieces from the parser as you need.) This means you never actually need the file in memory, just enough to work on. This also means you can pause and resume parsing, as you just need to keep track of where you’re up to.

      This uses less memory, because you don’t need the whole file in memory at once (and the usage is also more constant, rather than dependent on file size), as well as being slightly faster (mostly because there’s less memory usage).

      The GSoC project tackled this from the UI end, which takes the file and changes how the import runs, but doesn’t change the internals. It’s kind of similar to how splitting WXR files works (IIRC), but doesn’t fix the core issues. The new importer is resumable though, so this should be a lot easier. :)

      Report

      • Ryan McCue

        Also: the running process through the new UI here works differently, in that the browser is responsible for running it via calls to admin-ajax. That’s not a perfect solution, and I do plan on looking into cron running eventually. :)

        Report

      • Jason Lemieux

        This sounds fantastic, Ryan. Do you think it’s ready for heavy-duty testing on enormous imports? I’d love to try to break it.

        Report

        • Ryan McCue

          It’s specifically designed for large imports (that’s mostly what I’m working with), but the UI isn’t ready for those yet. (Specifically: I haven’t finished the resumable parsing functionality that’s needed for large imports via the UI.)

          It should definitely work via wp-cli though, as there’s no time limit on that, so it doesn’t need the resumable bits.

          Report

  6. John

    Just read this post after pulling out the little hair I have left from countless failed imports. Trying to upload the wptest.io test data to a WP 4.5 installation, either locally with XAMPP or online with my host. Trying this out now and reporting back ASAP with the result. Soooooooooo glad I have found this post and an alternative to the piece of $à!&% that wordpress.org calls an importer. Thank you so so much, you have no idea how glad I am to see a light at the end of the tunnel. I just hope it is not a train coming my way, fingers crossed. Go devs!

    Report

  7. Vicki Farmer

    Testing it right now to import a humongous old blog with a bazillion media attachments into WP Multisite. If this works, it is going to save me a world of hurt.

    Report

Comments are closed.

%d bloggers like this: