Search by

mediaessenz / fullcalendar

Alexander Grein

Fullcalendar implementation for TYPO3 CMS

Package info

gitlab.com/mediaessenz/fullcalendar

Homepage

Issues

Type:typo3-cms-extension

pkg:composer/mediaessenz/fullcalendar

Fund package maintenance!

Patreon

Paypal

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 1

v5.0.2 2026-10-25 20:08 UTC

README

Shows events of Google calendars, iCal feeds and EXT:calendarize in a skinnable calendar with month, week, day and list views. Based on FullCalendar 6, Vue 3 and Bootstrap 5.

  • Event sources: Google calendar feeds, iCal feeds, EXT:calendarize
  • Category filter for visitors, colors per category
  • Restriction of feeds and categories to frontend user groups
  • Event modal with iCal download

Installation

composer require mediaessenz/fullcalendar

Then add the Site Set mediaessenz/fullcalendar to your site (or include the static TypoScript template "Fullcalendar") and add the plugin "Fullcalendar" to a page.

Documentation

The documentation is in Documentation/. Render it locally with

docker run --rm -v "$(pwd)":/project ghcr.io/typo3-documentation/render-guides:latest --config=Documentation

Translations

The source language is English (Resources/Private/Language/*.xlf). Translations are managed with Crowdin (crowdin.yml) and are stored as <language>.<file>.xlf next to the source files. The German files (de.*) are maintained in the repository.

Development

The frontend sources are in Resources/Private/TypeScript and are built into Resources/Public:

npm install
npm run build
npm test

Running the tests

The unit tests live in Tests/Unit and use the TYPO3 testing framework. The development dependencies are installed into .Build (ignored by git):

composer install
composer test:unit

In a DDEV project the commands can be executed in the extension directory:

ddev exec -d /var/www/html/vendor/mediaessenz/fullcalendar composer install
ddev exec -d /var/www/html/vendor/mediaessenz/fullcalendar composer test:unit

Releasing

A release is published to the TYPO3 Extension Repository (TER) by the GitLab CI (.gitlab-ci.yml).

  1. Raise the version in ext_emconf.php and in composer.json (extra.typo3/cms.version).
  2. Add the changelog file Documentation/ChangeLog/<major>-<minor>-<patch>.rst (listed in Documentation/ChangeLog/Index.rst).
  3. Commit, create an annotated tag and push it. The tag message is used as upload comment in the TER:
    git tag -a v5.0.1 -m "Bugfixes"
    git push origin v5.0.1
    
  4. The pipeline of the tag runs the tests and the job release-checks (version of the tag equals ext_emconf.php and composer.json, changelog entry exists), then ter-package builds fullcalendar_<version>.zip: the tag without the files listed in .gitattributes (e.g. Tests/, Build/). The package is available as job artifact.
  5. Check the package, then start the manual job ter-publish. A version published to the TER can't be changed or deleted. After the upload the job gitlab-release creates the GitLab release of the tag.

Required setup in GitLab: the CI/CD variable TYPO3_API_TOKEN (a TER access token, see typo3/tailor, flags masked and protected) and the protected tags v*.

The package can be built locally with sh Build/ci/build-ter-package.sh v5.0.1 /tmp (needs a committed tag).