Hop Data Juggler

Current Version: 1.3.0
  • EE6
  • EE7
  • Installation

    1. Unzip the folder to a temporary location on your local hard drive.
    2. FTP the files from their local folders to the same locations in your EE install’s /system/user/addons/ folder on the server.
    3. Navigate to Add-ons in your EE control panel and install the add-on. That’s it!

  • Create a Routine

    To move data with Hop Data Juggler, you start by creating a routine.

    To create a routine, go to Add-ons > Hop Data Juggler > Routines and fill out the following:


    Select the channel(s) this routine is for.

    Source Field(s)

    Select the field(s) that you want to move data from. This is not required if you choose to use Transformation to handle the data.

    Destination Field(s)

    Select the field(s) that you want to move the data to.


    (Optional) You can modify the data as you move it. If you leave it this blank, the data will simply be moved as is. This is probably what you want to do if the source and destination field types are the same.

    However, if the two fields are different data types, transformation is especially important.

    To create a transformation, use basic template logic and formatting, and be careful of extra blank characters.

    If the destination field is expecting an array, use a pipe | to separate the values.

    If the destination field is a third-party field, you may need to do additional cleanup; we can’t guarantee the functionality in this case.

    Transformation Examples

    Converting a date field to a text field that holds the month and year…

    • {social_event_date format="%F %Y"}

    Converting a grid field to a checkbox field…

    • {class_students backspace="1}{class_students:student_name}|{/class_students}

    Converting a radio button field to a text field…

    • {if gender:value == ""}Not Selected{if:else}{gender:value}{/if}

    If Overwrite? is selected, the value from the source field will overwrite the destination field even if the destination field already has data in it. If unchecked, any data in the destination field will not be overwritten.

  • Do a Dry Run

    Once your routine is saved, you can preview the action it will take. This is called a Dry Run.

    To do a dry run with your routine, go to Add-ons > Hop Data Juggler and click Dry Run beside the routine that you want to preview.

    A Dry Run will not modify any data. It will simply show you the first five examples of what the routine will do to the data you’ve decided to move. It will also explain what, if any, steps Hop Data Juggler will take to add destination fields to the channels you are modifying.

  • Time to Juggle

    When you are ready to juggle your data, go to Add-ons > Hop Data Juggler and click Juggle beside the routine that you want to juggle.

    Initially, Hop Data Juggler will do a pre-flight check to see if the destination fields are attached to the channel(s) you have chosen to modify. If they are not, Hop Data Juggler will add them directly to the channel. Though this will be done for you, we recommend doing this manually beforehand, especially if you prefer to manage your fields with field groups rather than direct assignment.

    Then, Hop Data Juggler will then loop through all the entries for those channels, applying the Routine to move the data into the Destination fields.

  • After Juggling

    Once you’ve juggled a routine, you should follow these additional steps:

    1. Review the affected entries to verify that the routine has done what you expected. Remember that you can alter and juggle the routine again if you see unexpected issues, but be sure to turn Overwrite on in this case.
    2. If you’re happy with the juggling you’ve done, you may want to remove the original field from the channels it appears in, or rename it.
    3. Don’t forget to clean up your channel layout to ensure that your new field is appearing in the proper location on your entry page.
  • Limitations

    • Hop Data Juggler does not currently support direct data migration for the following types of fields (though you can use them as a Transformation source):

      • Fluid fields
      • Grid fields
      • File Grid fields
    • Hop Data Juggler does not currently support the following as the destination of a Transformation:

      • Relationship fields
      • Fluid fields
      • Grid fields
      • File Grid fields

    In other words, you cannot push data into a complex field, even with direct migration. However, for relationship data, you can move data from one (or many) relationship (or Playa) fields into another relationship field (without transformation).

  • Notes

    • Always backup your database and test thoroughly. We highly recommend running Hop Data Juggler on a staging or development site until you’re confident you’ve got your routine performing properly.
    • Hop Data Juggler does not ensure that the data is properly formatted for the new field’s data type. This is especially an issue for checkboxes, selects, and radio buttons, and when transformations are involved. If the field data is not formatted exactly as EE expects, the entry, when edited, may not display the information properly or at all.
    • A save will be triggered for each entry that is modified.
    • A save won’t be triggered if the Source Field is empty and the Destination Field is empty.
    • A save won’t be triggered if the Destination Field is full and you are not overwriting the data.
    • You can juggle multiple times. If you have Overwrite selected, the data will be updated every time the routine is juggled.
    • Hop Data Juggler does not modify source data, and it does not delete fields.
    • Hop Data Juggler also doesn’t modify templates to use the new fields. You will want to do this yourself once it’s done.
  • Updating

    Updating is easy:

    1. Download a new version from this website, and extract on your hard drive.
    2. Upload the new files to their appropriate locations.

  • Uninstalling

    1. Navigate to the Add-Ons > Modules tab in your EE control panel and uninstall the module.
    2. Remove the add-on directory from your EE system folder on the server.

  • Version History

    Last updated: about 2 weeks ago

    1.3.0 - 2023-05-18


    • New fieldtypes


    • Deleted destination field bug


    • PSR-12 on controller files

    1.2.0 - 2022-03-11


    • Transformation template editor
    • Juggle confirmation modal
    • Last run column
    • Extensions for updating channel and field short names
    • Jump menu items


    • Errors in relationship fields juggle process
    • Transformation process for option fields
    • Generation of new options with option fields


    • Order of action buttons
    • Hop add-on structure

    1.1.0 - 2022-01-13


    • Offset bug


    • Enhanced template editing for the Transformation field
    • Styling updates
    • Hop add-on structure

    1.0.0 - 2021-09-30

    Hello World!

Have a Project for Us?

Request a Proposal