PHPackages                             oliverklee/seminars - 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. oliverklee/seminars

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

oliverklee/seminars
===================

TYPO3 extension that allows you to create and manage a list of seminars, workshops, lectures, theater performances and other events, allowing front-end users to sign up. FE users also can create and edit events.

v5.9.0(4mo ago)747.8k21[556 issues](https://github.com/oliverklee-de/seminars/issues)[11 PRs](https://github.com/oliverklee-de/seminars/pulls)GPL-2.0-or-laterPHPPHP ^7.2.0 || ~8.0.0 || ~8.1.0 || ~8.1.0 || ~8.2.0 || ~8.3.0CI passing

Since Jul 19Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/oliverklee-de/seminars)[ Packagist](https://packagist.org/packages/oliverklee/seminars)[ Docs](https://www.oliverklee.de/typo3-services/seminarmanager/)[ GitHub Sponsors](https://github.com/oliverklee)[ RSS](/packages/oliverklee-seminars/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (35)Versions (106)Used By (0)

TYPO3 extension `seminars`
==========================

[](#typo3-extension-seminars)

[![TYPO3 V11](https://camo.githubusercontent.com/5432de37ab8517e6d9e6f803a2e1a7674a308c6d93896fe8a6fbc8a4cb50aece/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5459504f332d31312d6f72616e67652e737667)](https://get.typo3.org/version/11)[![License](https://camo.githubusercontent.com/34c9a0d753ce44ad8d63ffaf77c32b5c6432e4c9a91eb7850c5467042f021745/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6f6c697665726b6c65652d64652f73656d696e617273)](https://packagist.org/packages/oliverklee/seminars)[![GitHub CI Status](https://github.com/oliverklee-de/seminars/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/oliverklee-de/seminars/actions)[![Coverage Status](https://camo.githubusercontent.com/9c2753d5a526b18099fa50badcd2e8b1be87ca99e21d79ce75740182f00a13e9/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f6f6c697665726b6c65652d64652f73656d696e6172732f62616467652e7376673f6272616e63683d6d61696e)](https://coveralls.io/github/oliverklee-de/seminars?branch=main)

This TYPO3 extension allows you to create and manage a list of seminars, workshops, lectures, theater performances and other events, allowing front-end users to sign up. FE users also can create and edit events.

Most of the documentation is in ReST format [in the Documentation/ folder](Documentation/) and is rendered [as part of the TYPO3 documentation](https://docs.typo3.org/typo3cms/extensions/seminars/).

Compatibility with TYPO3 12LTS/12.4
-----------------------------------

[](#compatibility-with-typo3-12lts124)

A TYPO3-12LTS-compatible version of this extension is available via an [early-acces program](https://github.com/oliverklee-de/seminars/wiki/Early-access-program-for-newer-TYPO3-versions).

Give it a try!
--------------

[](#give-it-a-try)

If you would like to test the extension yourself, there is a [DDEV-based TYPO3 distribution](https://github.com/oliverklee-de/TYPO3-testing-distribution)with this extension installed and some test records ready to go.

Staying informed about the extension
------------------------------------

[](#staying-informed-about-the-extension)

If you would like to stay informed about this extension (including compatibility with newer TYPO3 versions), you can subscribe to the [author's newsletter](https://www.oliverklee.de/newsletter/).

Running the tests locally
-------------------------

[](#running-the-tests-locally)

You will need to have a Git clone of the extension for this with the Composer dependencies installed.

### Running the unit tests

[](#running-the-unit-tests)

#### On the command line

[](#on-the-command-line)

To run all unit tests on the command line:

```
composer check:tests:unit
```

To run all unit tests in a directory or file (using the directory `Tests/Unit/Model/` as an example):

```
.Build/vendor/bin/phpunit -c Build/phpunit/UnitTests.xml Tests/Unit/Model/
```

#### In PhpStorm

[](#in-phpstorm)

First, you need to configure the path to PHPUnit in the settings:

Languages &amp; Frameworks &gt; PHP &gt; Test Frameworks

In this section, configure PhpStorm to use the Composer autoload and the script path `.Build/vendor/autoload.php` within your project.

In the Run/Debug configurations for PHPUnit, use an alternative configuration file:

`Build/phpunit/UnitTests.xml`

### Running the functional tests

[](#running-the-functional-tests)

You will need a local MySQL user that has the permissions to create new databases.

In the examples, the following credentials are used:

- user name: `typo3`
- password: `typo3pass`
- DB name prefix: `typo3_test` (optional)
- DB host: `localhost` (omitted as this is the default)

You will need to provide those credentials as environment variables when running the functional tests:

- `typo3DatabaseUsername`
- `typo3DatabasePassword`
- `typo3DatabaseName`

#### On the command line

[](#on-the-command-line-1)

To run all functional tests on the command line:

```
typo3DatabaseUsername=typo3 typo3DatabasePassword=typo3pass typo3DatabaseName=typo3_test composer check:tests:functional
```

To run all functional tests in a directory or file (using the directory `Tests/Functional/Authentication/` as an example):

```
typo3DatabaseUsername=typo3 typo3DatabasePassword=typo3pass typo3DatabaseName=typo3_test .Build/vendor/bin/phpunit -c Build/phpunit/FunctionalTests.xml Tests/Functional/Authentication/
```

#### In PhpStorm

[](#in-phpstorm-1)

First, you need to configure the path to PHPUnit in the settings:

Languages &amp; Frameworks &gt; PHP &gt; Test Frameworks

In this section, configure PhpStorm to use the Composer autoload and the script path `.Build/vendor/autoload.php` within your project.

In the Run/Debug configurations for PHPUnit, use an alternative configuration file:

`Build/phpunit/FunctionalTests.xml`

Also set the following environment variables in your runner configuration:

- `typo3DatabaseUsername`
- `typo3DatabasePassword`
- `typo3DatabaseName`

### Running the legacy functional tests

[](#running-the-legacy-functional-tests)

Running the legacy tests works exactly the same as running the functional tests, except that you run the tests in `Tests/LegacyFunctional/` instead of `Tests/Functional/`. You'll still need to use the configuration file `Build/phpunit/FunctionalTests.xml`, though.

###  Health Score

60

—

FairBetter than 98% of packages

Maintenance69

Regular maintenance activity

Popularity36

Limited adoption so far

Community24

Small or concentrated contributor base

Maturity95

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 83.6% 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 ~47 days

Recently: every ~116 days

Total

75

Last Release

94d ago

Major Versions

v2.2.5 → v3.0.02020-01-26

v3.4.1 → v4.0.02021-10-11

v3.4.3 → v4.1.62022-09-26

v4.4.0 → v5.0.02022-12-18

v4.4.1 → v5.2.02023-04-25

PHP version history (11 changes)1.0.0PHP &gt;=5.5.0,&lt;8.0

1.0.2PHP &gt;=5.5.0,&lt;7.0

1.1.1PHP &gt;=5.5.0,&lt;7.1

v1.4.0PHP ^5.5.0 || ~7.0.0

v2.0.0PHP ^5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0

v3.0.0PHP ~7.0 || ~7.1 || ~7.2

v3.3.0PHP ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0

v3.4.0PHP ^7.0.0 || ~8.0.0

v4.0.0PHP ^7.2.0 || ~8.0.0

v5.1.0PHP ^7.2.0 || ~8.0.0 || ~8.1.0 || ~8.1.0 || ~8.2.0

v5.5.2PHP ^7.2.0 || ~8.0.0 || ~8.1.0 || ~8.1.0 || ~8.2.0 || ~8.3.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/2cc98eb6580d4532340e818ea893009da65365b7f3525f518d143732e838735a?d=identicon)[oliverklee](/maintainers/oliverklee)

---

Top Contributors

[![oliverklee](https://avatars.githubusercontent.com/u/765746?v=4)](https://github.com/oliverklee "oliverklee (2762 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (281 commits)")[![Konafets](https://avatars.githubusercontent.com/u/363363?v=4)](https://github.com/Konafets "Konafets (190 commits)")[![AnReiter](https://avatars.githubusercontent.com/u/234920694?v=4)](https://github.com/AnReiter "AnReiter (27 commits)")[![mk-mxp](https://avatars.githubusercontent.com/u/55182845?v=4)](https://github.com/mk-mxp "mk-mxp (18 commits)")[![emilkneu](https://avatars.githubusercontent.com/u/122222511?v=4)](https://github.com/emilkneu "emilkneu (7 commits)")[![pascal20997](https://avatars.githubusercontent.com/u/1337769?v=4)](https://github.com/pascal20997 "pascal20997 (3 commits)")[![bouche](https://avatars.githubusercontent.com/u/769708?v=4)](https://github.com/bouche "bouche (2 commits)")[![jdreesen](https://avatars.githubusercontent.com/u/424602?v=4)](https://github.com/jdreesen "jdreesen (2 commits)")[![ohader](https://avatars.githubusercontent.com/u/402145?v=4)](https://github.com/ohader "ohader (1 commits)")[![fredericgaus](https://avatars.githubusercontent.com/u/973491?v=4)](https://github.com/fredericgaus "fredericgaus (1 commits)")[![chrissonntag](https://avatars.githubusercontent.com/u/39337016?v=4)](https://github.com/chrissonntag "chrissonntag (1 commits)")[![davidjakob](https://avatars.githubusercontent.com/u/4965254?v=4)](https://github.com/davidjakob "davidjakob (1 commits)")[![derhofbauer](https://avatars.githubusercontent.com/u/22151619?v=4)](https://github.com/derhofbauer "derhofbauer (1 commits)")[![djangones](https://avatars.githubusercontent.com/u/37584245?v=4)](https://github.com/djangones "djangones (1 commits)")[![abhinayvjk](https://avatars.githubusercontent.com/u/111815363?v=4)](https://github.com/abhinayvjk "abhinayvjk (1 commits)")[![froemken](https://avatars.githubusercontent.com/u/2532472?v=4)](https://github.com/froemken "froemken (1 commits)")[![leofuehringer](https://avatars.githubusercontent.com/u/13933437?v=4)](https://github.com/leofuehringer "leofuehringer (1 commits)")[![michsch](https://avatars.githubusercontent.com/u/357387?v=4)](https://github.com/michsch "michsch (1 commits)")

---

Tags

hacktoberfestphptypo3typo3-cms-extensioneventregistrationeducationseminarsworkshopstalks

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/oliverklee-seminars/health.svg)

```
[![Health](https://phpackages.com/badges/oliverklee-seminars/health.svg)](https://phpackages.com/packages/oliverklee-seminars)
```

###  Alternatives

[eliashaeussler/typo3-form-consent

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

1481.0k](/packages/eliashaeussler-typo3-form-consent)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[eliashaeussler/typo3-warming

Warming - Warms up Frontend caches based on an XML sitemap. Cache warmup can be triggered via TYPO3 backend or using a console command. Supports multiple languages and custom crawler implementations.

20229.9k](/packages/eliashaeussler-typo3-warming)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M385](/packages/shopware-core)[pagemachine/typo3-formlog

Form log for TYPO3

23225.3k6](/packages/pagemachine-typo3-formlog)[friendsoftypo3/content-blocks

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

96374.6k23](/packages/friendsoftypo3-content-blocks)

PHPackages © 2026

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