Blog

Feed Me for Craft 3

Feedme Craft3

Whether you're wanting to import entries on a regular basis, download assets, or moving products from another CMS, Feed Me has been there to help with your importing woes. Its only natural that demand has been high for Feed Me to be migrated to Craft 3, and we're excited to announce it's made it to beta.

Please read the below before updating from Feed Me 2, as there are breaking changes.

Feed Me for Craft 3

With the Craft 3 release basically imminent (its 4/4 in Australia right now!), we've just snuck in this release before the official Craft 3 launch. There's been some massive changes under the hood, leading to a more maintainable and solid plugin. Its also been a great way to get to know Craft 3, because Feed Me utilizes so much of Craft's framework.

Get it now!

So enough chit-chat - Feed Me 3 will be on the plugin store shortly, but you can install it immediately by running:

composer require verbb/feed-me:^3.0.0-beta.1 verbb/feed-me-pro

We're releasing it as a beta to get people up to speed with the changes. 

Please note that Commerce Products are not yet supported, but will be by the next beta release.

Free vs Pro

Thankfully, there are still two versions for Feed Me - Free and Pro. Because Craft 3 doesn't yet support editions, you'll need to purchase and install a separate "Feed Me Pro" plugin. You'll still also be required to install the regular "Feed Me" plugin.

Use Feed Me (free) for importing just Entries, and Feed Me Pro for other elements (Categories, Assets, etc) and third-party elements.

Once editions are introduced into Craft 3, we'll combine the two plugins and all associated licenses to simplify everything.

Licenses

We've mentioned before that any licenses purchased up until this point will be grandfathered in to the plugin store. This means, we'll be migrating the license to the plugin store, and you'll have a lifetime of support and updates.

To be clear, if you've purchase a Feed Me 2 license in the past, we'll upgrade that to a Feed Me 3 license, compatible with the plugin store. You'll not have to pay renewal fees, and the plugin and updates are yours forever.

However, if you purchase a Feed Me 2 license from now onwards for Craft 2 (which you can until December 2018), this won't be migrated to the plugin store. Instead, you'll need to buy a new license for Feed Me 3 on the Craft 3 plugin store.

Major (breaking) changes

Feed Me 3 is a big release for a number of reasons. We've completely re-written the parsing logic for how content is read from your feed data and mapped against your fields. This has however caused some pain points with migrating Feed Me 2 installs to Feed Me 3. Essentially, the entire field-mapping process has been re-written to include more information about your fields and how you want to treat them. It paves the way for future updates and is much more maintainable.

So, as a word of warning. Feed Me 3 will require you to re-map all your fields. The original mapping is retained just in case, but please either screenshot, or record your current mapping before proceeding.

Unit testing

While its a bit boring for non-developers, we've (finally) integrated unit testing into the plugin, and are making our way through implementing test cases. This allows us to better handle edge-cases for importing content, and it critical of a plugin at this scale, with so many integrations, use-cases and edge-cases. Behind the scenes, this will make Feed Me even better.

Import those CSV files

On our feature list for some time now, Feed Me now supports importing via CSV. For those tricky fields that have multiple bits of data (Categories, Elements, etc), you'll need to specify content with pipe ("|") characters. Like "Category 1| Category 2".

And lots more

  • New UI tweaks to the feeds index with combined settings pane (Debug, Direct URL, Status, etc).
  • New UI for Matrix and Table fields, supports additional options.
  • New UI for element sub-fields, that are now hidden away with a lightswitch.
  • Better clarity on the Primary Element setting, which is now its own step in the mapping process. Provided in a dropdown field to show which node in your feed you should target.
  • Lots more hooks for field/element parsing and processing.
  • Adding limit and offset parameters when running a feed via the Direct Feed URL or Debug. 
  • Added mapping option for selecting to always use the default value, even when not mapping the field. Handy for mass populating data without feed values.
  • Added support for using the pipe "|" character in feeds to denote multiple values
  • Improved attribute mapping for elements, which utilise regular field logic (dates, etc).
  • Improved remote asset uploading.
  • Tweaked UI for logs provide clarity on errors/info.
  • Feeds no longer show as an error in the control panel. Clients would often complain about a 'error' notification on the sidebar, when it may have been a simple non-issue (but still worth logging).
  • Improved help widget to use an email API, not relying on a local relay. This caused immeasurable amount of issues for people try to get support!
  • Better feedback when unable to fetch feed URLs.

The path to v3.1

As we've mentioned, our focus for v3.0 was to migrate to Craft 3. That in itself is was enough work to keep our team busy, and 3.0 focused on being a 'behind the scenes' release. As we work towards v3.1, we've got some exciting front-facing features planned:

  • OAuth and HTTP support
  • Visually preview what an element will look like before importing
  • Drag 'n drop field mapping
  • Paginated feed support (for larger or split feeds, continue to the next feed)
  • Implement your own functions that pre/post parse fields from within the control panel
  • Improved debug output
  • Support for Commerce Orders
  • Email notifications

Until then, head to the Craft 3 plugin store, and search for "Feed Me" and/or "Feed Me Pro", and enjoy your Craft 3 launch!