Broadleaf Import
This module provides the ability to bulk import data into Broadleaf. This currently supports the following bulk import use cases:
- Catalog data (Products, Skus, Categories)
- Assets (.zip file of media items)
- Import via an API
- Flexibility to bulk import other non-Broadleaf-specific entities
The Broadleaf import tool is also extensible to support bulk imports for your own custom entities.
Installation
Add the following to your property section of your parent pom.xml
<broadleaf-import.version>2.1.0-M1</broadleaf-import.version>
Then in the dependency management section of your parent pom.xml
, add:
<dependency>
<groupId>com.broadleafcommerce</groupId>
<artifactId>broadleaf-import</artifactId>
<version>${broadleaf-import.version}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
Finally, add the following to the dependency management section of your admin pom.xml
:
<dependency>
<groupId>com.broadleafcommerce</groupId>
<artifactId>broadleaf-import</artifactId>
</dependency>
Version Compatibility
Import Version | Broadleaf Core Version |
---|---|
1.5.0-M1 | 4.1.3-GA+ |
2.0.0-M4 | 5.0.3-GA+ |
2.1.0-M1 | 5.1.0-GA+ |
Add Tables
The following are MySQL table creation scripts in order to hold data about currently running imports:
CREATE TABLE `blc_import_status` (
`IMPORT_STATUS_ID` bigint(20) NOT NULL,
`CEILING_CLASS` varchar(255) NOT NULL,
`CREATE_DATE` datetime DEFAULT NULL,
`PROCESSED_RECORDS` int(11) DEFAULT NULL,
`RESOURCE_URL` varchar(255) DEFAULT NULL,
`SPECIFICATION` varchar(255) DEFAULT NULL,
`STATUS` varchar(255) DEFAULT NULL,
`TOTAL_RECORDS` int(11) DEFAULT NULL,
`UPDATE_DATE` datetime DEFAULT NULL,
PRIMARY KEY (`IMPORT_STATUS_ID`)
) ENGINE=InnoDB;
CREATE TABLE `blc_import_status_detail` (
`IMPORT_STATUS_DETAIL_ID` bigint(20) NOT NULL,
`DESCRIPTION` varchar(255) NOT NULL,
`DETAIL_TYPE` varchar(255) DEFAULT NULL,
`RECORD_NUM` int(11) DEFAULT NULL,
`IMPORT_STATUS_ID` bigint(20) NOT NULL,
PRIMARY KEY (`IMPORT_STATUS_DETAIL_ID`),
KEY `FK7D680D6A6ED0A770` (`IMPORT_STATUS_ID`),
CONSTRAINT `FK7D680D6A6ED0A770` FOREIGN KEY (`IMPORT_STATUS_ID`) REFERENCES `blc_import_status` (`IMPORT_STATUS_ID`)
) ENGINE=InnoDB;
If you are running a Multi-Tenant installation, you will also need the following import to add site-discrimination:
ALTER TABLE `blc_import_status` ADD COLUMN `SITE_DISC` bigint(20) DEFAULT NULL;
ALTER TABLE `blc_import_status_detail` ADD COLUMN `SITE_DISC` bigint(20) DEFAULT NULL;