fgtclb / t3oodle
Simple poll extension for TYPO3 CMS. t3oodle allows your frontend users to create new polls and vote for existing ones.
Requires
- php: ^8.1 || ^8.2 || ^8.3 || ^8.4
- ext-dom: *
- ext-json: *
- georgringer/numbered-pagination: ^2.0
- typo3/cms-core: ^12.4
- typo3/cms-extbase: ^12.4
- typo3/cms-fluid-styled-content: ^12.4
Requires (Dev)
- armin/editorconfig-cli: ^1.0
- friendsofphp/php-cs-fixer: ^3.86
- helmich/typo3-typoscript-lint: ^3.3
- jangregor/phpstan-prophecy: ^1.0
- phpstan/phpstan: ^1.12
- phpstan/phpstan-phpunit: ^1.4
- phpunit/phpunit: ^10.5
- saschaegerer/phpstan-typo3: ^1.1
- typo3/cms-felogin: ^12.4
- typo3/cms-install: ^12.4
- typo3/testing-framework: ^8.2
Suggests
None
Provides
None
Conflicts
None
Replaces
- typo3-ter/t3oodle: 2.0.5
- dev-master / 2.x-dev
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.x-dev
- 1.0.1
- 1.0.0
- 0.9.2
- 0.9.1
- 0.9.0
- 0.8.1
- 0.8.0
- 0.7.3
- 0.7.2
- 0.7.1
- 0.7.0
- 0.6.2
- 0.6.1
- 0.6.0
- 0.5.1
- 0.5.0
- 0.4.3
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.0
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- dev-docs/classic-mode-cache-flush
- dev-task/runtests-harness-sync
- dev-set-dev-version-2.0.6
- dev-release-2.0.5
- dev-fs-1887-relation-indexes
- dev-fs-1904-participant-guest-notice
- dev-fcp-6126
- dev-update-12
This package is auto-updated.
Last update: 2026-10-08 14:48:08 UTC
README
Simple poll extension for TYPO3 CMS. t3oodle allows your frontend users to create new polls and vote for existing ones.
This extension has been brought to you by FGTCLB and has been supported by Friedrich-Ebert-Stiftung e. V.
Documentation
This extension provides a ReST documentation, located in Documentation/
directory.
You can see a rendered version on https://docs.typo3.org/p/fgtclb/t3oodle once the extension has been released.
Demo
You will find a demonstration of the extension on https://t3oodle.com
Compatibility
| Branch | Version | TYPO3 | PHP |
|---|---|---|---|
| master | 2.x-dev | v12 | 8.1, 8.2, 8.3, 8.4 |
| 1 | 1.x-dev | v11 | 8.1, 8.2, 8.3, 8.4 |
Installation
Install with your flavour:
- Extension Manager
- composer
We prefer composer installation:
composer require -W 'fgtclb/t3oodle':'^2.0@dev'
Updating without composer
TYPO3 caches its compiled dependency injection container, by default in
typo3temp/var/cache/code/di/. Without composer, replacing the files of an
active extension (upload, FTP or Extension Manager) does not rebuild it, and
the backend "Flush all caches" removes it only in the Development context.
After every update of t3oodle in a non-composer installation, flush it with Admin Tools > Maintenance > Flush TYPO3 and PHP Cache, which also resets the PHP opcache, or run from the document root:
typo3/sysext/core/bin/typo3 cache:flush
Otherwise the frontend can fail with errors like Too few arguments to function FGTCLB\T3oodle\Service\UserService::__construct(), see
#47.
Create a release (maintainers only)
Prerequisites:
- git binary
- ssh key allowed to push new branches to the repository
- GitHub command line tool
ghinstalled and configured with user having permission to create pull requests.
Create release
Set
RELEASE_BRANCHto branch release should happen, for example: 'main'. SetRELEASE_VERSIONto release version working on, for example: '5.0.0'.
Important
Requires GitHub cli tool with personal token and
maintainer permission on the extension repository.
echo '>> Create release' ; \ RELEASE_BRANCH='master' ; \ RELEASE_VERSION='2.0.5' ; \ DEV_VERSION='2.0.6' ; \ echo ">> Checkout branches" && \ git checkout master && \ git fetch --all && \ git pull --rebase && \ git checkout ${RELEASE_BRANCH} && \ git pull --rebase && \ echo ">> Create release ${RELEASE_VERSION}" && \ git checkout -b release-${RELEASE_VERSION} && \ sed -i "s/^COMPOSER_ROOT_VERSION.*/COMPOSER_ROOT_VERSION=\"${RELEASE_VERSION}\"/" Build/Scripts/runTests.sh && \ sed -i "s/^ RELEASE_VERSION.*/ RELEASE_VERSION='${RELEASE_VERSION}' ; \\\\/" README.md && \ sed -i "s/^ DEV_VERSION.*/ DEV_VERSION='${DEV_VERSION}' ; \\\\/" README.md && \ tailor set-version ${RELEASE_VERSION} && \ composer config "extra"."typo3/cms"."version" "${RELEASE_VERSION}" && \ echo "${RELEASE_VERSION}" > VERSION && \ git add . && \ git commit -m "[RELEASE] ${RELEASE_VERSION}" && \ git push --set-upstream origin release-${RELEASE_VERSION} && \ gh pr create --fill --base ${RELEASE_BRANCH} --title "[RELEASE] ${RELEASE_VERSION}" && \ sleep 10 && \ gh pr checks --watch --interval 2 && \ sleep 10 && \ gh pr merge -rd --admin && \ git remote prune origin && \ git tag ${RELEASE_VERSION} && \ git push origin ${RELEASE_VERSION} && \ echo ">> Post-release - set dev version: ${DEV_VRESION}-dev" && \ git checkout -b set-dev-version-${DEV_VERSION} && \ sed -i "s/^COMPOSER_ROOT_VERSION.*/COMPOSER_ROOT_VERSION=\"${DEV_VERSION}-dev\"/" Build/Scripts/runTests.sh && \ tailor set-version ${DEV_VERSION} && \ composer config "extra"."typo3/cms"."version" "${DEV_VERSION}-dev" && \ echo "${DEV_VERSION}-dev" > VERSION && \ git add . && \ git commit -m "[TASK] Set dev version ${DEV_VERSION}" && \ git push --set-upstream origin set-dev-version-${DEV_VERSION} && \ gh pr create --fill --base ${RELEASE_BRANCH} --title "[TASK] Set dev version \"${DEV_VERSION}-dev\"" && \ sleep 10 && \ gh pr checks --watch --interval 2 && \ sleep 10 && \ gh pr merge -rd --admin && \ git remote prune origin
This triggers the on push tags workflow (publish.yml) which creates the upload package,
creates the GitHub release and also uploads the release to the TYPO3 Extension Repository.