Installation

To install and run SSIS Integration Toolkit for Magento, your system must have the following components installed.

  • A supported SSIS design-time or run-time, which can be one of the following:
    • Azure-SSIS Integration Runtime
    • SSIS 2022
    • SSIS 2019
    • SSIS 2017
    • SSIS 2016
    • SSIS 2014
    • SSIS 2012

    For SSIS run-time, the installation should be done by using the corresponding SQL Server installation media, and you must select the "Integration Services" component during the installation, as shown below:

    Integration Services Runtime Selection

    Note that when using SQL Server 2014, a cumulative update is required (a recent service pack, such as one of the following, is more preferred) in order to run our software during runtime.

    For SSIS design-time, you should be installing the version of SSDT (SQL Server Data Tools) or BIDS (Business Intelligence Development Studio) that aligns with the SQL Server version that you plan to use for your final deployment (the runtime).

    Target Server Design Time
    Azure-SSIS IR Any one of the following:
    SSIS 2019 Any one of the following:
    SSIS 2017 Any one of the following:
    SSIS 2016 Any one of the following:
    SSIS 2014 Any one of the following:
    • SSDT for Visual Studio 2019
      • Packages created using SSDT 2019 need to have their project's TargetServerVersion setting set to "SQL Server 2014" in order to work with SSIS 2014.
    • SSDT for Visual Studio 2017
      • Packages created using SSDT 2017 need to have their project's TargetServerVersion setting set to "SQL Server 2014" in order to work with SSIS 2014.
    • SSDT for Visual Studio 2015
      • Packages created using SSDT 2015 need to have their project's TargetServerVersion setting set to "SQL Server 2014" in order to work with SSIS 2014.
    • SSDT-BI for Visual Studio 2013
    SSIS 2012 Any one of the following:
    • SSDT-BI for Visual Studio 2012 (recommended; most reliable)
    • SSDT for Visual Studio 2019 (not recommended due to potential compatibility issues with ISV solutions)
      • Packages created using SSDT 2019 need to have their project's TargetServerVersion setting set to "SQL Server 2012" in order to work with SSIS 2012.
    • SSDT for Visual Studio 2017 (not recommended due to potential compatibility issues with ISV solutions)
      • Packages created using SSDT 2017 need to have their project's TargetServerVersion setting set to "SQL Server 2012" in order to work with SSIS 2012.
    • SSDT for Visual Studio 2015
      • Packages created using SSDT 2015 need to have their project's TargetServerVersion setting set to "SQL Server 2012" in order to work with SSIS 2012.

  • A Windows Operating System

    Windows operating system requirement largely depends on the version of SSIS runtime or design-time selected. We don't have any additional requirements in terms of the Windows operating system as long as it satisfies the minimum requirements of SSIS runtime or design-time. The general guideline is the newer the operating system is, the better. In summary, our software should work for the following Windows operating systems.

    • For desktop system (mostly for development workstations)
      • We generally recommend Windows 10, version 1507 or greater.
      • Windows 8.1, 8 or 7 should work fine with our software installation which supports most SSDT versions and SQL Server 2016 or below, but we highly recommend you upgrade to Windows 10 because their support status with Microsoft.
    • For server system (mostly for runtime deployments)
      • We generally recommend Windows Server 2016 or greater (Including Windows Server 2019 and potentially future Windows Server versions).
      • Windows Server 2012 or Windows Server 2012 R2 should work fine for SSIS version up to 2016.
  • A .NET Framework
    • Our software requires the installation of .NET Framework 4.5.2 or above
      • For SSIS 2016 or above, .NET Framework 4.6 (or above) is generally a prerequisite, no additional installation is required.
      • For SSIS 2014 or lower, you may turn on the .NET Framework feature or install it by downloading from Microsoft website.

When you have confirmed that your system satisfies the above prerequisites, you can navigate to the KingswaySoft website at https://www.kingswaysoft.com to download the installation package.

download options

Once you click the download link, save the zip file which contains the .msi file. Double click the .msi file to start the setup. A security warning may appear. You can safely accept the warning and continue the setup.

The Setup Wizard will appear. Click ‘Next’ to continue.

Magento Integration Installation

Select the checkbox to agree to the terms of the End-User License Agreement. Click 'Next' to continue.

Magento Integration Installation - EULA

Next, select one of the three setup types that best suits your needs.

Magento Integration Installation - Choose Setup Type

Click ‘Install’ to begin the installation.

Magento Integration Installation - Ready to Install

To complete the installation, select 'Finish'.

Magento Integration Installation - Setup Complete

Working with SSIS Toolbox

SSIS Toolbox is the first place that you will be looking for our components to be added to your ETL process during the design time.

If you are working with SSIS 2012 or later, SSIS Toolbox should be automatically available during the design time once you have an SSIS package opened provided that you have our software installed properly. If you are not seeing the SSIS Toolbox, you would either click the SSIS Toolbox menu option under the SSIS menu, or click the SSIS Toolbox icon in the design window's upper right corner as shown below.

SSIS Toolbox Buttons

Note: When working with SSIS Toolbox, you need to make sure that you are in the right view in order to see the right components. For instance, if you are looking for a data flow component, you need to make sure that you in the Data Flow view, not the Control Flow view. Visual Studio would show different components depending on the design view that you are currently working with.

Once the data flow components are available in the SSIS Toolbox, you can start your ETL development by dragging them from the toolbox to the Visual Studio design surface.

Using the Magento Connection Manager

The Magento Connection Manager is an SSIS connection manager component that can be used to establish connections with Magento.

To add a new connection, right-click the Connection Manager area in your Visual Studio project, and choose "New Connection..." from the context menu.

new connection

You will be prompted the "Add SSIS Connection Manager" window. Select the "Magento (KingswaySoft)" item to add a new Magento Connection Manager.

Add Magento Connection Manager

The Magento Connection Manager contains the following 3 pages of configuration.;

  • General
  • Advanced Settings
  • More Info

General Page

The General page allows you to specify connection properties and login credentials to Magento.

Magento Connection Manager

Server Information
Service URL

The Service URL field lets you specify the URL to the base URL for Magento rest endpoints. It should follow the pattern of: https://{your_magento_website}/rest

Store Code

The store code that will be used to retrieve the Magento schema. If there is no store code the <blank> code can be selected.

Authentication
Authentication Type

Magento supports different authentication modes. However, our connection manager currently only supports Token authentication.

Authentication Token

If you have an authentication token that you would like to use, enter it in the authentication field, and check the 'Admin Token' checkbox if it is an Admin token. If it is a customer token do not check the box. If you do not have a Magento token you can generate one by clicking the Generate Token button.

Show Token Button

If you need to see or copy the token in the 'Authentication Token' field click the 'Show Token' button to reveal the text of the token.

Generate Token Button

Magento Connection Manager - Generate Token

If you click the Generate Token button the 'Generate Token' dialog will appear. You can enter credentials for a Magento user, and then generate an admin token, or a customer token depending on what kind of user you use to access Magento. The generated token will automatically populate the 'Authentication Token' field and check the 'Admin Token' checkbox as appropriate. Credentials entered in this dialog are not saved, they are just used to generate a token and then discarded.

Service Timeout
Timeout

The Timeout value lets you indicate the length of time (in seconds) to expect a response from a web service call before failing.

Test Connection

After all the connection information has been provided, you may click the "Test Connection" button to test if the user credentials entered can authenticate with Magento.

Advanced Settings Page

The Advanced Settings page allows you to configure your connection to Magento to use a proxy server.

Magento Connection Manager - Advanced Settings

Proxy Server Settings
Proxy Mode

Proxy Mode option allows to specify how you want to configure the proxy server setting. There are three options available.

  • No Proxy
  • Auto-detect (Using system configured proxy)
  • Manual
Proxy Server

Using Proxy Server option allows you to specify the name of the proxy server for the connection.

Port

The Port option allows you to specify the port number of the proxy server for the connection.

Proxy authentication required

Select this option if your proxy server requires authentication. Doing so will activate the Username and Password fields below.

Username (Proxy Server Authentication)

Username option (under Proxy Server Authentication) allows you to specify the proxy user account.

Password (Proxy Server Authentication)

Password option (under Proxy Server Authentication) allows you to specify the proxy user's password.

Note: The Proxy Password is not included in the connection manager's ConnectionString property by default. This is by design for security reasons. However, you can include it in your ConnectionString if you want to parameterize your connection manager. The format would be ProxyPassword=myProxyPassword; (make sure you have a semicolon as the last character). It can be anywhere in the ConnectionString.

Miscellaneous Settings
Retry on Intermittent Errors

This is an option designed to help recover from possible intermittent outages or disruption of service. It prevents the integration process from stopping due to temporary issues. Enabling this option will allow service calls to be retried upon certain types of failure. A service call may be retried up to 3 times before an exception is fired. Retries occur after 0 seconds, 15 seconds, and 60 seconds.

Warning: We have designed our retry feature carefully such that the retry should only occur when it is deemed safe to do so; however, in some occasions such retry service calls could result in the creation of duplicate data.

Ignore Certificate Errors (since v2.3)

This option can be used to ignore those SSL certificate errors when connecting to FTPS server.

Warning: Enabling "Ignore Certificate Errors" option is generally NOT recommended, particularly for production instance. Unless there is a strong reason to believe the connection is secure - such as the network communication is only happening in an internal infrastructure, this option should be unchecked for best security.

More Info Page

The More Info page shows some basic information about the toolkit. In this page, you can find the version information of the toolkit.

Magento Connection Manager - More Info

Using the Magento Source Component

The Magento Source Component is an SSIS data flow pipeline component that can be used to read / retrieve data from Magento.

The component includes the following two pages of configuration.

  • General
  • Columns

General Page

The General page allows you to configure various options that will help you retrieve the desired data from Magento.

Magento Source Editor

Connection Manager

The source component requires an active web service connection to Magento. The Connection Manager drop-down will show a list of all Magento Connection Managers that have been created in the current SSIS package.

Endpoint

The endpoint drop-down lists all available rest endpoints.

Description

A description of the endpoint.

Child Object

Some source objects have child objects. For example the customer/search endpoint provides a list of customers as a parent object, and a list of addresses for each customer as a child object. If a source object has child objects they will appear as objects in the child objects combo box, and you can select any you wish to output. Each child object that is selected will created a new output for the SSIS component.

Batch Size

Some source objects support batch size. A default of 50 records per web service result is used, but you can set this to any number that your Magento server allows.

General Parameters

Some source objects have general parameters. These are parameters that are not related to searching, or sorting. You will see a list of available parameters and can set a value which will be used for the web request.

Search Parameters

Magento Source Editor - Search Parameters

Some source objects have search parameters. These are parameters that allow results to be filtered. When using more than one search parameter, Magento supports two levels of and/or operators. As you enter search parameters, each consecutive parameter with an OR operator will be part of a group where one of the parameters has to be true. When an AND operator is used, a new group will be created. Each parameter group, separated by an AND must be true for a result to be returned.

For example in the above screenshot, customers will be returned that have first name 'Dan' or 'Daniel' and also have a birthdate after 2001-01-01 or before 1995-01-01.

Sort Parameters

Some source objects have sort parameters which allow results to be sorted by field. Enter sort parameters by specifying a field, and a sort direction. Results will be sorted by the top parameter first, then by subsequent sort parameters.

Refresh Component Button

Clicking the Refresh Component button causes the component to retrieve the latest metadata and update each field to its most recent metadata.

Columns Page

The Columns page shows you all available attributes from the object that you specified on the General page. You may indicate which attributes to include in your source component by checking or unchecking the checkbox next to each attribute.

Magento Source Editor - Columns Page

Child Objects in the Source Component

When a child is selected in the "Child Object" drop-down list in the "General" page, it will be available in the 'Configure the output columns for' dropdown on the columns page. This allows for selecting output for both parent and child fields.

Using the Magento Destination Component

The Magento Destination Component is an SSIS data flow pipeline component that can be used to write data to Magento. You can create, update, upsert, or delete objects with this component.

There are three pages of configuration:

  • General
  • Columns
  • Error Handling

General Page

Magento Destination Editor

Connection Manager

The destination component requires an active web service connection to Magento. The Connection Manager drop-down will show a list of all Magento Connection Managers that have been created in the current SSIS package.

Endpoint

The endpoint field displays a list of available endpoints that allow write actions.

Description

The description field displays a description of the endpoint.

Action

The Action option allows you to specify how data should be written to Magento. There are up to (3) write actions supported for each endpoint.

  • Post: Create new object(s).
  • Put: Create, update, or upsert Magento object(s) depending on the service endpoint.
  • Delete: Delete object(s).
Map Unmapped Fields Button

By clicking this button, the component will try to map any unmapped attributes by matching their names with the input columns from upstream components. This is useful when your source component has recently added more columns, in which case you can use this button to automatically establish the association between input columns and unmapped destination attributes.

Clear All Mappings Button

By clicking this button, the component will reset all your mappings in the destination component.

Columns Page

The Columns page allows you to map the columns from upstream components to destination attributes.

In the Columns page, you will see a grid as shown below.

Magento Destination Editor - Columns Page

  • Input Column: You can select an input column from an upstream component here.
  • Destination Field: The attribute/field that you want to write data to.
  • Data Type: This column indicates the type of value for the current attribute.
  • Unmap: This button provides a convenient way to unset the mapping for the selected attribute/field.

Error Handling Page

The Error Handling page allows you to specify how errors should be handled when they happen.

Magento Destination Editor - Error Handling

There are three options available:

  1. Fail on error
  2. Redirect rows to error output
  3. Ignore error

When the Redirect rows to error output option is selected, rows that failed to write to Magento will be redirected to the 'Magento Error Output' of the Destination Component. As indicated in the screenshot below, the green output connection represent rows that were successfully written, and the red 'Error Output' connection represents rows that were erroneous. The 'MagentoErrorMessage' output column found in the 'Error Output' may contain the error message that was reported by Magento or the component itself.

Magento Error Output

Note: Use extra caution when selecting Ignore error option, since the component will remain silent for any errors that have occurred.

In the Error Handling page, there is also an option that can be used to enable or disable the following output fields for the destination component.

  • MagentoRecordId - Contains the newly created Magento record's Id field value.

License Manager

SSIS Integration Toolkit comes with a license manager program which helps you manage and activate the product license key to be used for the toolkit. The below information is useful for development workstations and Single Server license management. For Azure-SSIS IR deployments, license management and activation will be handled through the PowerShell script, see Running SSIS Integration Toolkit on the Cloud for further details.

Without a commercial license,SSIS Integration Toolkit will operate under the Developer License which is free to use for development or evaluation purpose. Under the developer license, you can use the software within the development tool (SSDT-BI, BIDS, or Visual Studio).

KingswaySoft License Manager

The only limitation with the free developer license is the inability to run the software outside of the development tool (SSDT-BI, BIDS, or Visual Studio). If you would like to run the software outside the development tool, such as running SSIS packages on a scheduled basis or from a command line, you will need to acquire a license from us.

If you want to test out the functionality by scheduling your SSIS packages, a trial license can be requested. To do so, you can launch License Manager program, then click "Change License Key" button, where you can request a free trial license after filling out the necessary Licensee Information.

KingswaySoft License Manager

If you have received a product license key from us after placing an order through our online shopping cart system, you can also click "Change License Key" button and enter the product license key in order to activate the software to use the fully-featured commercial license.

Licensee field is where you will specify the company the software is licensed to, you can include you system's machine name for future reference. For example, the Licensee can be "ABC Inc." or "XYZ Corp (SQLSVR-001)." The Contact Email would be the person we reach out to for any license related notices such as renewal reminders.

To request a free trial license or activate a product license key that you have received, you can use Web Service option to complete the process by sending the request to our license server directly. An Internet connection is required when Web Service option is used. This is the option that we recommend.

Alternatively, you can choose the Email option so that the license manager will generate an email for you which you can send to us. The Email option should only be used if your system has no Internet access. It requires manual processing so please expect to wait for 24 to 48 hours before receiving a license file from us. Once you have received the license file from us from through email, you can save it to a local file, which you can then install by clicking "Install License File..." button in License Manager.

If you have acquired a license from us, once the software has been activated, your license manager will be shown as something like below.

KingswaySoft License Manager

Connection Tier will display the number of distinct connections your license supports per connection type within a 24 hour period at runtime. Multiple connections to the same instance are typically treated as 1 distinct connection (exceptions may apply depending on the nature of the service). Selecting the magnify icon will launch the Runtime Connection Usage Summary window which will display counts on the number of connections made per connection type and when the 24 hour period will reset.

License Manager Runtime Connection Usage Summary

You can see your Maintenance Expiry Date in the License Manager program if you are using a perpetual license. By default, your perpetual license comes with a one-year maintenance and upgrade, which entitles you to use any version of the software released before your Maintenance Expiry Date. You can extend it by entering a new maintenance license key that you have acquired from us.

KingswaySoft License Manager

If your commercial license is a subscription license, you will not see the Maintenance Expiry Date option in the License Manager program, since your subscription license comes with maintenance and upgrade for the entire subscription period. Instead you will see your license expiry date and a progress bar with the amount of days left on your subscription.

Note: You must run License Manager program under a local administrative account due to the privileges required to write license file to the system.