HIS Connector 

Extension key

his_connector

Package name

fgtclb/his-connector

Version

main

Language

en

Author

FGTCLB GmbH

License

This document is published under the Open Content License.

Rendered

Tue, 15 Sep 2026 12:04:13 +0000


TYPO3 CMS extension providing the connector to HIS (Hochschul-Informations-System) for TYPO3 based university and academic websites.


Introduction 

Learn what the extension provides and which TYPO3 and PHP versions are supported.

Installation 

Install the extension in your TYPO3 installation.

Command line 

Run synchronizations from HIS with the hisconnector:sync console command.

Changelog 

Overview of the changes per released version.

Introduction 

What does it do? 

The HIS Connector extension connects TYPO3 with HIS (Hochschul-Informations-System) so that data maintained in the campus management system can be used within a TYPO3 based website.

Compatibility 

Branch Extension TYPO3 PHP
main 1.x v13 / v14 8.2 - 8.5

Contributing 

Contributions are welcome. The development setup, the quality gates and the commit message rules are described in the CONTRIBUTING.md file of the source repository.

Installation 

The extension has to be installed like any other TYPO3 CMS extension.

Composer mode 

composer require fgtclb/his-connector
Copied!

Classic mode 

  1. Get it from the Extension Manager: Switch to the module Admin Tools > Extensions, switch to Get Extensions and search for the extension key his_connector, then import the extension from the repository.
  2. Get it from typo3.org: You can always get the current version from TER by downloading the zip version. Upload the file afterwards in the Extension Manager.

The extension does not require any further configuration yet.

Command line 

Synchronizations are run with the console command hisconnector:sync. The command reads a synchronization configuration file, fetches the configured data from HIS and writes it into the mapped TYPO3 tables.

vendor/bin/typo3 hisconnector:sync \
    EXT:his_connector/Configuration/HisConnector/academic_persons.yaml
Copied!
typo3/sysext/core/bin/typo3 hisconnector:sync \
    EXT:his_connector/Configuration/HisConnector/academic_persons.yaml
Copied!

The command can also be executed regularly with the scheduler task Execute console commands provided by the TYPO3 system extension typo3/cms-scheduler.

Synopsis 

hisconnector:sync [options] [--] <config>
Copied!

Arguments 

config
Type
string
Required

true

Synchronization configuration file to process.

Only *.yaml files located directly in the folder Configuration/HisConnector/ of an active extension are available. Configuration files of project specific synchronizations are therefore placed in that folder of a site package or another custom extension.

The command stops with the message Specified configuration file does not exist. if the passed value does not address such a file. A file which cannot be parsed or does not contain a valid configuration is reported with Specified configuration file is invalid: followed by the reason.

Options 

--offset
Type
integer
Default
0

Zero-based index of the first record to synchronize from the list of records fetched from HIS.

--limit
Type
integer
Default
all records

Maximum number of records to synchronize, starting at --offset.

Together with --offset a large synchronization can be split into several smaller runs:

vendor/bin/typo3 hisconnector:sync --offset=0 --limit=100 \
    EXT:his_connector/Configuration/HisConnector/academic_persons.yaml
vendor/bin/typo3 hisconnector:sync --offset=100 --limit=100 \
    EXT:his_connector/Configuration/HisConnector/academic_persons.yaml
Copied!

If the configured data source returns a single record instead of a list, this record is only synchronized with an offset of 0 and a limit greater than 0.

--storagePage
Type
integer

Uid of the page the synchronized records are stored on. Overrides the storagePage setting of the configuration file.

A storage page is mandatory. It has to be set either in the configuration file or with this option, otherwise every record is reported with the error Storage page not specified in sync configuration.

--fileStorageFolder
Type
string

Folder the synchronized files are stored in, given as combined identifier of storage uid and folder path, for example 1:/user_upload/his_connector/. Overrides the fileStorageFolder setting of the configuration file.

A file storage folder is only required if the mapping contains fields with files, for example person pictures.

Example 

The example configuration EXT:his_connector/Configuration/HisConnector/academic_persons.yaml neither defines a storage page nor a file storage folder, both have to be passed as options:

vendor/bin/typo3 hisconnector:sync \
    --storagePage=42 \
    --fileStorageFolder=1:/user_upload/his_connector/ \
    EXT:his_connector/Configuration/HisConnector/academic_persons.yaml
Copied!

Output and exit code 

The command prints one line per record fetched from HIS, containing the entity class, the HIS identifier and the number of synchronized TYPO3 records, followed by a summary:

Processing 2 of total 2 records...

FGTCLB\HisClientFacade\Model\Person:person-1 (3 record(s) synchronized)
FGTCLB\HisClientFacade\Model\Person:person-2 (2 record(s) synchronized)

Processed: 2
Copied!

An error while fetching the details of a record from HIS or while synchronizing it is printed for that record and the command continues with the next one. The summary then reports the number of records with errors.

Changelog 

Every notable change to the HIS Connector extension is documented here, grouped by version and change type.

Feature: Initial extension skeleton 

Description 

Initial skeleton of the fgtclb/his-connector extension, providing the project setup the actual connector implementation is built on:

  • TYPO3 v13 and v14 support on PHP 8.2 up to 8.5.
  • Dependency injection wiring through Configuration/Services.php, with services configured by Symfony dependency injection attributes on the classes themselves.
  • Container based tooling through Build/Scripts/runTests.sh covering linting, coding guidelines, static analysis, unit and functional tests and documentation rendering.
  • GitHub Actions workflows running these gates for TYPO3 v13 and v14 on pull requests.

The extension ships a FGTCLBHisConnectorDummy placeholder class that is removed once the first real implementation is added.

Important: HIS service credentials are blinded in the backend 

Description 

The HIS SOAP service URL, username and password configured in the extension configuration ($GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['his_connector']['soap']) are no longer displayed in clear text in the System > Configuration backend module provided by the TYPO3 system extension typo3/cms-lowlevel.

The options urlPrefix, username and password are displayed as ****** instead, like TYPO3 does for the database connection credentials. The timeout option is not security sensitive and stays visible.

Impact 

The HIS service credentials can no longer be read by backend administrators through the configuration module. System maintainers can still view and change them in the extension configuration of the Settings module.

Important: Third-party libraries bundled for the TER 

Description 

The extension requires the composer package wsdltophp/packagebase. Classic mode installations cannot install composer packages, therefore the extension package released to the TYPO3 Extension Repository (TER) ships the library in contrib/Libraries/ and registers it for class loading.

To ensure composer mode and classic mode installations use the same library version, the requirement in composer.json is restricted to the patch level releases of the bundled version 5.0.5 (~5.0.5).

Impact 

Classic mode installations do not need to provide wsdltophp/packagebase on their own. The PHP extensions soap, dom and json are still required.

Composer mode installations resolve wsdltophp/packagebase in version 5.0.5 or a newer 5.0.x patch release only. Projects requiring another version of the package in their root composer.json need to align their requirement.