How is the new Importer different from the old Importer?

Q. How is the new Importer different from the old Importer?


A. In many ways, the new Importer is the same as the old Importer: it still takes a .zip file of CSVs that's either uploaded manually or via an automatic integration, then applies the contents of that .zip file to your domain. It's also still compatible with the old import file formats.

Beyond that, though, the new Importer includes a lot of exciting improvements. If you're familiar with the old Importer, some of these may take a bit of getting used to, but in the end they should save you lots of time and cut down on errors.


Here's a quick overview of what makes the new Importer "new":


Navigation Updates


Imports & Exports


The Manage Domain menu now has separate listings for Imports and Exports



Import API


API Imports & Exports have been moved to Manage Domain > Settings > Import API (read more about the Import API).




Reviewing Data Prior to Import


The new Importer checks your data before for errors and other issues before it is processed and changes are applied to your domain. This gives you a chance to review and approve an import you've uploaded before it takes effect


Improved Error Reporting


The new Importer also includes improved error messages that help you identify and solve issues with your import files.


Import Notifications and Pre-Approval


With the new Importer, you can choose to receive notifications when an import is submitted, approved, or canceled. You can also set rules for when an automatic import requires approval. This helps you catch import files that have lots of errors or that will change more than a certain percentage of the records in your domain.


Full Imports & Partial Imports


With the new Importer, you can use different Import Specifications whenever you'd like, without needing to contact the PowerSchool Learning team to switch your Import Type for you. The new Importer recognizes Full Import and Partial Import files that follow either the Version 1 or the Version 2 specifications.


Refreshing Your Export File


In the new Importer, refreshing your Export File no longer affects the behavior of your next Import. Instead of comparing each import with your Export File, the new Importer compares it with the current state of the imported data in your domain and applies any changes accordingly.


Version 2 Import Specifications (Optional)


In addition to the old Version 1 Import Specifications, the new Importer supports two new Specifications:

You can continue to use the Version 1 specifications, but going forward development and support will focus on Version 2 and Version 1 will be retired at some point in the future.

Here is a summary of what's different in the Version 2 specifications:


New Required File: manifest.json


All Version 2 imports require a manifest.json file that tells the Importer how to interpret the file. This is a simple text file with the .json extension that's described in both Version 2 Import Specifications and included in all Version 2 sample files.


Column Names Matter (but Order Doesn't)


The columns in Version 2 import files are interpreted based on the header row (that is, the first row in the file). The order of the columns in the file no longer matters and you can omit non-required columns as you see fit. However, the column names in the header row must match the specification exactly for the import file to work.


New Names for Import ID Columns


For Version 2 import files, Import ID fields no longer use the generic import_id name. Instead, they use a column name specific to the type of record they identify. For example, a user's Import ID is in the user_id column and a class's Import ID is in the class_id column.


Other Column Name Changes


Several other fields have new names in the Version 2 specifications.

    • organizations.csv and update_organizations.csv
      • parent_org_id is now parent_organization_id
    • users.csv and update_users.csv
      • login is now username
      • google_id is now sso_id
      • disabled is now blocked
        • 1 means the user is Disabled and can't log in
        • 0 means the user is Enabled and can log in
      • suffix has been removed
    • users_custom.csv and update_users.custom.csv
      • custom_field_1 is now field1
      • custom_field_2 is now field2
      • custom_field_3 is now field3
    • classes_custom.csv and update_classes_custom.csv
      • custom_field_1 is now field1
      • custom_field_2 is now field2
      • custom_field_3 is now field3


Import files listed above have not changed in Version 2.