PHPackages                             priorist/edm-typo3 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. priorist/edm-typo3

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

priorist/edm-typo3
==================

Provides a plugin to render events from EDM in TYPO3.

v3.2.6(1mo ago)0581GPL-2.0-or-laterJavaScript

Since Aug 26Pushed 2mo ago2 watchersCompare

[ Source](https://github.com/priorist/edm-typo3)[ Packagist](https://packagist.org/packages/priorist/edm-typo3)[ RSS](/packages/priorist-edm-typo3/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (6)Versions (75)Used By (0)

EDM TYPO3
=========

[](#edm-typo3)

A Typo3 extension that interacts with Education Manager (EDM).

Necessary Typo3 Setup
---------------------

[](#necessary-typo3-setup)

In order for the extension to work properly, there are some things to configure within your Typo3 instance.

### TypoScript

[](#typoscript)

Firstly, you should create a root template that defines the following TypoScript constants (not setup!):

```
plugin.tx_edmtypo3 {
    edm {
        url =

        auth {
            // OAuth App (configured in EDM) for general authentication, i.e. listing events
            anonymous {
                clientId =
                clientSecret =
            }

            // OAuth App (configured in EDM) for actual user authentication if EDM Login Portal is activated (optional)
            profile {
                clientId =
                redirectUri =
            }
        }
    }

    // Used in Fluid templates to load correct file versions
    versions {
        form =
        config =
        profile-snippet =
    }

    errors {
        enrollment {
            mailFrom =
            mailTo =
            mailSubject =
        }
    }

    // Page UIDs that are used to properly link from TYPO3 templates
    pageuids {
        eventSearch =
        eventDetail =
        eventEnrollment =
        locationDetail =
        lecturerDetail =
    }

    customConditions {
        // Used in EventController to specify EDM event types for which all events should be shown, regardless of dates or price
        eventTypes {
            showAllEvents =
        }
    }
}

```

### Page Structure

[](#page-structure)

How you use the extension is totally up to you, but in general the following page setup is advisable:

- A page containing the `Eventdetail` plugin ("Veranstaltungen: Detailseite"). This shows detailed information about a single event.
- A page containing the `Enrollmentnew` plugin ("Veranstaltungen: Anmeldung"). The template must integrate our `edm-registration-form` React application to handle enrollments (see below).
- A page containing either the `Eventsearch` plugin ("Veranstaltungen: Suche") or using the `Eventlist` plugin ("Veranstaltungen: Liste") wherever you want to. Both list events, but the `Eventsearch` plugin provides `filterData` and `categoryTree` to the Fluid template, making it possible to build search/filter functionality on top. Whereas the `Eventlist` plugin offers more filters in the TYPO3 backend.

### Enrollment to Events

[](#enrollment-to-events)

To enable enrollments in EDM through the website, the following has to be ensured:

- A page includes the `Enrollmentnew` plugin.
- The `Private/Ext/edm/Templates/Enrollment/New.html` template includes the `edm-registration-form` Javascript files (`form` and `config`)
- The `Private/Ext/edm/Templates/Enrollment/New.html` template exposes the `accessToken` provided by the controller as a Javascript variable called `__authToken`
- The `edm-registration-form` is initialised like so:

```
EdmForm.init({
    config: EdmForm.config, // DO NOT CHANGE
    event: __event, // The Javascript variable the `event` from the controller is stored into
    formType: "event", // DO NOT CHANGE
    formTypeName: "" // Only relevent for type "list", additional identifier to select correct form type from config
    element: document.getElementById("edm-registration-form"), // CSS selector of an HTML element the form is attached to
    maxWidth: 680, // Max width of the form application; defaults to "none"
    padding: 16, // Padding that should be applied to the form application; defaults to 0
    listId: "", // Only relevant for "newsletter" variant, not for "event"
    doiTemplateId: "", // Only relevant for "newsletter" variant, not for "event"
    language: "de" // Language the form should render in, currently works with "de", "en", "fr" and "es"; defaults to "de"
});
```

### Filter for Events

[](#filter-for-events)

This extension provides a basic jQuery filter plugin and template to use the data provided by the `Eventsearch` plugin. It requires jQuery to be available on the website.

The Search template also includes the following Javascript libraries that are leveraged by the filter plugin:

- [Daterangepicker](https://www.daterangepicker.com/)
- [Moment](https://momentjs.com/)
- [jQuery Autocomplete](https://jqueryui.com/autocomplete/)

The filter plugin is initialised within the Search template like so:

```

    $(".edm-event-search").eventFilterPlugin();

```

Optionally you can pass an `options` objects to override any configurable settings of the filter plugin, e.g. selectors, texts or filter definitions.

Extend Extension
----------------

[](#extend-extension)

It is possible to further extend the extension for your needs. This can be done either through hooks or by adding to already existing controller actions.

Since the provided templates are very rudimentary, it is advised to build your own in a separate extension, overwriting the ones from the `edm-typo3` extension.

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance86

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 99.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~22 days

Total

74

Last Release

53d ago

Major Versions

v0.9.9 → v1.0.02022-12-01

v1.2.11 → v2.0.22025-05-09

v2.0.2 → v3.0.02025-05-15

PHP version history (3 changes)0.1.0PHP ^7.4

0.9.6PHP ^7.4 || ^8.0

v1.1.7PHP ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/994357c5469654d3d187a918046a1700c502c4cd2298dd417b4819ca774c37fa?d=identicon)[priorist](/maintainers/priorist)

---

Top Contributors

[![FabDeep](https://avatars.githubusercontent.com/u/25568357?v=4)](https://github.com/FabDeep "FabDeep (130 commits)")[![lksstml](https://avatars.githubusercontent.com/u/2735190?v=4)](https://github.com/lksstml "lksstml (1 commits)")

### Embed Badge

![Health badge](/badges/priorist-edm-typo3/health.svg)

```
[![Health](https://phpackages.com/badges/priorist-edm-typo3/health.svg)](https://phpackages.com/packages/priorist-edm-typo3)
```

###  Alternatives

[fluidtypo3/flux

The flux package from FluidTYPO3

152982.2k20](/packages/fluidtypo3-flux)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

96374.6k23](/packages/friendsoftypo3-content-blocks)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

39488.5k](/packages/wazum-sluggi)[eliashaeussler/typo3-form-consent

Extension for TYPO3 CMS that adds double opt-in functionality to EXT:form

1481.0k](/packages/eliashaeussler-typo3-form-consent)[b13/assetcollector

Add CSS and SVG files and strings as inline style tag/inline svg to the html code.

10118.4k](/packages/b13-assetcollector)[mautic/mautic-typo3

Add-on TYPO3 extension that enhances the "EXT:marketing\_automation" TYPO3 extension by connecting it to the Mautic Marketing Automation platform: Determine "Persona" from Mautic segments. Also provides additional services e.g. language synchronisation between Mautic and TYPO3.

236.3k](/packages/mautic-mautic-typo3)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
