Introduction 

Welcome to the Telephonedirectory extension, your comprehensive solution for organizing and managing contact persons and buildings within TYPO3. The latest version, 5.0.0, brings significant improvements, new features, and enhanced functionality to make your experience even better.

Key Features 

With Telephonedirectory, you can efficiently manage and structure contact information, making it easier to keep track of important details. Here are some of the standout features included in this version:

  • Enhanced Flexibility with PSR-14 Events
  • Glossary Integrated Mode

Installation 

Installation Type 

Composer 

You can install telephonedirectory with following shell command:

composer req jweiland/telephonedirectory
Copied!

Extensionmanager 

If you want to install telephonedirectory traditionally with Extensionmanager, follow these steps:

  1. Visit ExtensionManager
  2. Switch over to Get Extensions
  3. Search for telephonedirectory
  4. Install extension

DEV Version (GIT) 

You can install the latest DEV Version with following GIT command:

git clone https://github.com/jweiland-net/telephonedirectory.git
Copied!

Scheduler Task 

You should add the Scheduler Task Send Mail to Employee which should be executed each day. It will inform the registered employees to re-check all their data after one year. If employee does not update his record its record will be set to hidden one month later.

Configuration 

Use your own fluid templates 

To use custom fluid templates you can set following constants:

  • plugin.tx_telephonedirectory.view.templateRootPath
  • plugin.tx_telephonedirectory.view.partialRootPath
  • plugin.tx_telephonedirectory.view.layoutRootPath

Changing & editing templates 

EXT:telephonedirectory is using fluid as template engine. If you are using fluid already, you might skip this section.

This documentation won't bring you all information about fluid but only the most important things you need for using it. You can get more information in books like the one of Jochen Rau und Sebastian Kurfürst or online, e.g. at http://wiki.typo3.org/Fluid or many other sites.

Changing paths of the template 

You should never edit the original templates of an extension as those changes will vanish if you upgrade the extension. As any extbase based extension, you can find the templates in the directory Resources/Private/.

If you want to change a template, copy the desired files to the directory where you store the templates. This can be a directory in EXT:sitepackage. Multiple fallbacks can be defined which makes it far easier to customize the templates.

plugin.tx_telephonedirectory {
  view {
    templateRootPaths >
    templateRootPaths {
      0 = EXT:telephonedirectory/Resources/Private/Templates/
      1 = EXT:sitepackage/Resources/Private/ext/telephonedirectory/Templates/
    }
    partialRootPaths >
    partialRootPaths {
      0 = EXT:telephonedirectory/Resources/Private/Partials/
      1 = EXT:sitepackage/Resources/Private/ext/telephonedirectory/Partials/
    }
    layoutRootPaths >
    layoutRootPaths {
      0 = EXT:telephonedirectory/Resources/Private/Layouts/
      1 = EXT:sitepackage/Resources/Private/ext/telephonedirectory/Layouts/
    }
  }
}
Copied!

Change the templates using TypoScript constants 

You can use the following TypoScript in the constants to change the paths

plugin.tx_telephonedirectory {
  view {
    templateRootPath = EXT:sitepackage/Resources/Private/ext/telephonedirectory/Templates/
    partialRootPath = EXT:sitepackage/Resources/Private/ext/telephonedirectory/Partials/
    layoutRootPath = EXT:sitepackage/Resources/Private/ext/telephonedirectory/Layouts/
  }
}
Copied!

Upgrade 

If you update/upgrade telephonedirectory to a newer version, please read this section carefully!

Upgrade to version 5.0.0 

The Telephonedirectory extension has been significantly updated in version 5.0.0. This release includes several new features, bug fixes, code optimizations, and improvements in testing. Here are the key highlights:

  1. Migration of mm record tables:
    • We changed the relation of the table tx_telephonedirectory_office_mm to
department and subjectfield changed to two new mm tables for better
indexing and performance. So a new upgrade wizard introduced for migrating the old relations to this new tables tx_telephonedirectory_domain_model_office_department_mm and tx_telephonedirectory_domain_model_office_department_mm.
2. Enhanced Flexibility with PSR-14 Events:
The extension now supports post and pre-processing using PSR-14 events,

providing greater flexibility and customization options.

  1. Glossary Integrated Mode:
    New configuration options have been added to enable glossary integrated mode, enhancing the user experience and functionality.

This update makes the Telephonedirectory extension more robust, flexible, and easier to maintain. The new features and optimizations will help users achieve better performance and customization in their TYPO3 projects.

Upgrade to version 4.1.0 

As we have marked storagePid and detailViewPid in scheduler task as int you have to delete the task and re-create it.

Upgrade to version 4.0.0 

We have migrated from ObjectManager to GeneralUtility::makeInstance. This has effects to our task in scheduler module. Please remove task Send mail to employee and re-create it with the same configuration.

Known Problems 

There are currently no known problems. If you have one please contact us via our issue tracker.

Change log 

Version 6.1.1 

  • [BUGFIX] Temporary fix for frontend file upload with old TypeConverter

Version 6.1.0 

  • [REFACTORING] Migrated from legacy InjectTraits to modern Constructor Injection with PHP 8.2 readonly properties for all controllers and services.
  • [REFACTORING] Refactored TemplateRenderingService and EmployeeNotificationService to enforce Single Responsibility and strict typing.
  • [REFACTORING] Added redirectToEmployee helper to AbstractController to centralize internal navigation.
  • [TASK] Introduced ExtConf service to manage extension settings, eliminating "magic strings" and global array access.
  • [TASK] Added additionalSecretForHashGeneration to ext_conf_template.txt and ExtConf.xlf for administrative control over security salts.
  • [TASK] Integrated PSR-3 Logger into EmployeeController for professional error tracking.
  • [TASK] Updated German translations in de.locallang.xlf and corrected malformed XLIFF structures.
  • [BUGFIX] Added defensive checks in initializeUpdateAction to prevent fatal errors during property mapping.
  • [BUGFIX] Corrected redundant logic in the EmployeeNotificationService dispatch process.

Version 6.0.4 

  • [TASK] Updated wizard title with [extension] name format

Version 6.0.3 

  • [BUGFIX] Issue while trying to insert a duplicate record has been fixed

Version 6.0.2 

  • [BUGFIX] TCA Migrations for tables done

Version 6.0.1 

  • Update testing directory

Version 6.0.0 

  • Compatibility adjustments for TYPO3 13 LTS
  • Dropped support for older TYPO3 versions
  • Replaced StandaloneView usage with modern alternatives based on ViewInterface and ViewFactoryData
  • Migrated from deprecated Hashing Utility to HashService
  • Moved TypoScript configuration to the SiteConfiguration folder for better flexibility
  • Converted all list_type plugins to CType elements, including a migration wizard for existing tt_content records
  • Replaced all deprecated method calls with updated TYPO3 Core API functions

Version 5.0.0 

  • Numerous bug fixes to improve stability and reliability.
  • Various code optimizations for enhanced performance and maintainability.
  • Adoption of the TYPO3 Testing Framework for improved testing practices.
  • Enhanced flexibility with post and pre-processing using PSR-14 events.
  • New configuration options added for glossary integrated mode.
  • Removed deprecated API calls and functions.
  • Change mm relations of different properties in one mm table to different.

Version 4.1.0 

  • Remove all extbase stuff from scheduler task
  • Remove TSFE and ContentObjectRenderer from scheduler task
  • Add factory to retrieve employee as plain array with all sub-properties
  • Replace deprecated authToken with HashService
  • Use correct indents in html files
  • Use Site router to build URLs for frontend

Version 4.0.1 

  • Add module_sys_dmail_category to employee

Version 4.0.0 

  • Remove TYPO3 9 compatibility
  • Add TYPO3 11 compatibility
  • Add strict types to UnitTest files

Version 3.0.0 

Breaking 

  • getImage now returns an ObjectStorage use getFirstImage instead to retrieve employee image (firstImage instead of image in fluid)

Changes 

  • Now compatible with TYPO3 9.5 and 10.4
  • Remove TYPO3 8 compatibility

Sitemap