Skip to content

dkd/crossmedia_fourallportal

 
 

Repository files navigation

Latest Stable Version Total Downloads Latest Unstable Version PHP Version Require

PIM Connector

Extension to facilitate import from PIM to TYPO3 records.

Requirements

  1. Typo3 version 12.4 or higher
  2. Typo3 in composer mode
  3. PHP version 8.1 or higher
  4. Installed typo3/cms-scheduler package: composer require typo3/cms-scheduler

Documentation and Guides

  1. Install the 4ALLPORTAL Plugin

  2. Server Component

  3. Module Component

  4. Mapping Class

  5. Type Converter

  6. Complex Types

  7. Dynamic Domain Module

  8. Model Class File

  9. 4ALLPORTAL Extension Commands

  10. TCA Definitions File

  11. Scheduled Tasks

  12. Old Documentation (8.7)

Versions

Version TYPO3 PHP Support/Development
6.x 12.x 8.1 - 8.3 Features, Bugfixes, Security Updates
5.x 7.6 - 8.7 5.5 - 7.2 Support dropped

Migration from Typo3 v8.x to v12.x

Please refer to the Migration Guide document included in this repository.

Expected behavior

Assuming that you put all of the above components together correctly, running the import CLI command should cause the following chain of events to occur:

  • Each Server is iterated
  • Each Module from each Server is iterated
  • The PIM API is queried using the credentials and configuration from Server and Module
  • A list of events are received and spooled
  • The events are claimed and processed one by one, performing one of either update or delete actions (note: create is compounded into update since ad-hoc creation happens)
  • If successful, all properties received from PIM are mapped onto the Entity properties and saved to the database.
  • If any errors should occur, feedback is output identifying the source of the problem.

Developer hints

The following hints may help developers avoid pitfalls when working with this logic:

  1. Reflection is widely used and registration happens in extension config files, and both of these asset types are quite eagerly cached by TYPO3. The cache group that contains both of these cache