sirdiego/importr

Flexible importer for all kinds of files!

Installs: 9 154

Dependents: 0

Suggesters: 0

Security: 0

Stars: 9

Watchers: 2

Forks: 8

Open Issues: 3

Type:typo3-cms-extension

5.0.0 2022-03-24 20:19 UTC

This package is auto-updated.

Last update: 2024-10-29 03:46:31 UTC


README

Build Status Scrutinizer Code Quality Code Coverage

The importr can be used to create a bridge between TYPO3 entities and Excel, CSV or other text files.

Installation

After installing the extension via one of the possible methods you need to add the Scheduler Task to your tasks.

  • Extbase CommandController Task (extbase) - importr:import:initializeservicemanager

The frequency should be as often as possible (e.g. * * * * *), this way the Importr can be as precise as possible with the import timings.

TODO: Screenshot

TYPO3 Composer Mode

composer require diego/importr

Via Extension Manager

TODO: Screenshot

Usage

After installing the extension and adding the Scheduler Task you can start configuring your possible imports. These are called Strategies and should be placed on the root of your TYPO3 installation.

A Strategy consists of three main parts. The general configuration, the resource configuration and the target configuration. Every import needs to know from what resource it gets its data (resource) and where to put it (target).

By default the extension ships with an Excel (HDNET\Importr\Service\Resources\Excel), CSV (HDNET\Importr\Service\Resources\Csv) resources and Extbase model (HDNET\Importr\Service\Targets\ExtbaseModel) and database record (HDNET\Importr\Service\Targets\DbRecord) targets.

A simple Strategy can look like this:

Configuration

before:
  updateInterval: 100 # Sets th
after:
  createImport:
    1:
      importId: 1
      start: tomorrow 0400
      filepath: uploads/my_import.csv

Resources

HDNET\Importr\Service\Resources\Csv:
  skipRows: 1
  delimiter: ,

Targets

HDNET\Importr\Service\Targets\ExtbaseModel:
  model: VENDOR\MyExt\Domain\Model\MyModel
  repository: VENDOR\MyExt\Domain\Repository\MyRepository
  pid: 123
  mapping:
    0: myPropertyA
    1: myPropertyB
    8: myPropertyD