Importing profiles

November 14, 2023

The easiest way to import or export jExperience profiles is by using CSV (comma-separated value) files. 

CSV files may be generated by different tools, but the most common one is Microsoft Excel. However Microsoft Excel generates many different types of CSV files. In the latest versions, you should use the following procedure to generate a CSV file:

  1. Choose File>Save As.
  2. Select File Format : CSV UTF-8

Depending on the platform of Microsoft Excel (Macintosh, Windows) and its version, it may generate different types of CSV files. The easiest way to determine the type of a CSV file is to use the following command on MacOS or Linux : 

file myfile.csv

This should generate an output such as the following:

myfile.csv: UTF-8 Unicode (with BOM) text, with CR line terminators

You can use this information to select the proper settings in the profile import settings.

If you're not on MacOS or Linux, you could use an online service such as CheckFileType to determine the type of the CSV file.

Profiles exports and imports ease this process with built-in features to configure and save one-time and recurrent exports and imports. 

This section mainly describes one-time imports and exports. To know more about recurrent (to ftp / network disk) exports and imports, please refer to Apache Unomi documentation on profiles imports.

Creating a profile import

When you create a profile import file, you have several things to consider. Before creating the file:

  • Decide if you will create either a one-time import or you schedule a recurring import. Before creating a recurring import, you need to obtain the filepath from technical team. For more information, see the integration guide.

To create a profile import:

  1. In Jahia, navigate to jExperience>Global>Integrations>Profiles import and click New import configuration.
    profile-import.png
  2. In New import configuration, provide a name and description for your import.
    profiles-import-new.png
  3. To specify how often to perform the import, in Frequency setup do one of the following:
    • To import a file once, in Oneshot, drop your CSV file onto the page or use Browse to navigate to your file.
      profiles-imports-type-oneshot.png
    • To schedule an import from an FTP or network disk, for example, to import profiles once a day from another server, select Recurrent and provide a file path to the FTP or network disk in Source path. Here are the most frequent values : 
      sftp://USER@HOST/PATH?password=PASSWORD&include=.*.csv&consumer.delay=24h
      ftps://USER@HOST?password=PASSWORD&fileName=profiles.csv&passiveMode=true&consumer.delay=24h
    • Then toggle the Status to Active to enable the scheduled import.
      profiles-imports-type-recurrent.png
  4. In Merging property, specify which profile property to use to check if imported properties are duplicates. If there is an existing profile, then data overwrite options apply.
    profiles-imports-configuration-1.png
  5. In Data overwrite, specify how to handle duplicated profiles during the import.
    • To reject duplicate profiles from the CSV import file, clear the Overwrite existing profiles checkbox.
    • To accept duplicate profiles from the CSV import file, select the Overwrite existing profiles checkbox. Then, select which properties to overwrite from the Properties to overwrite list. Otherwise, to overwrite all properties in existing profiles, select the Overwrite all properties checkbox.
  6. In Options, specify how to...
    • File has a header
      Select this your file has a header line and you want the import will skip it.
    • File has a "To delete" column
      If this option is selected, the last column of the file will be used to delete profile . For each line, if the content is "TRUE",  the profile will be deleted. 
    • Line separator
      The line separator of your file.
    • Column separator
      The column separator of your file.
  7. In Mapping, map the columns numbers of the CSV file to the profile properties.
    profiles-imports-mapping.png

Executions

profiles-imports-executions.png

Last 5 executions of the import are displayed, with the date of execution, the number of failures (1 per line) and the total number of profiles that were exported. For a failed import, it is possible to click on the import and see the details of the errors.