fgtclb / t3oodle
Simple poll extension for TYPO3 CMS. t3oodle allows your frontend users to create new polls and vote for existing ones.
Installs: 26 005
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 4
Forks: 2
Open Issues: 7
Type:typo3-cms-extension
pkg:composer/fgtclb/t3oodle
Requires
- php: ^8.1
- ext-json: *
- georgringer/numbered-pagination: ^2.0
- typo3/cms-core: ^11.5
- typo3/cms-fluid-styled-content: ^11.5
Requires (Dev)
- armin/editorconfig-cli: ^1.0
- bk2k/bootstrap-package: ^14.0
- friendsofphp/php-cs-fixer: ^3.64
- helhum/typo3-console: ^7.1
- helmich/typo3-typoscript-lint: ^3.2
- 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-composer-installers: ^4.0.0-RC1
- typo3/cms-felogin: ^11.5
- typo3/cms-tstemplate: ^11.5
- typo3/testing-framework: ^7.1
Replaces
- typo3-ter/t3oodle: 1.0.1
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 |
|---|---|---|---|
| main | 1.x-dev | v11 | 8.1, 8.2, 8.3, 8.4 (depending on TYPO3) |
Installation
Install with your flavour:
- Extension Manager
- composer
We prefer composer installation:
composer require -W 'fgtclb/t3oodle':'^1.0'
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.
Prepare release locally
Set
RELEASE_BRANCHto branch release should happen, for example: 'master'. SetRELEASE_VERSIONto release version working on, for example: '1.0.0'.
echo '>> Prepare release pull-request' ; \ RELEASE_BRANCH='master' ; \ RELEASE_VERSION='1.0.0' ; \ REPOSITORY_DEFAULT_BRANCH="$( git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@' )" ; \ git checkout ${REPOSITORY_DEFAULT_BRANCH} && \ git fetch --all && \ git pull --rebase && \ git checkout ${RELEASE_BRANCH} && \ git pull --rebase && \ git checkout -b prepare-release-${RELEASE_VERSION} && \ composer require --dev "typo3/tailor" && \ ./.Build/bin/tailor set-version ${RELEASE_VERSION} && \ composer remove --dev "typo3/tailor" && \ git add . && \ git commit -m "[RELEASE] ${RELEASE_VERSION}" && \ git push --set-upstream origin prepare-release-${RELEASE_VERSION} && \ gh pr create --fill-verbose --base ${RELEASE_BRANCH} --title "[RELEASE] ${RELEASE_VERSION} on ${RELEASE_BRANCH}" && \ git checkout ${REPOSITORY_DEFAULT_BRANCH} && \ git branch -D prepare-release-${RELEASE_VERSION}
Check pull-request and the pipeline run.
Merge approved pull-request and push version tag
Set
RELEASE_PR_NUMBERwith the pull-request number of the preparation pull-request. SetRELEASE_BRANCHto branch release should happen, for example: 'master' (same as in previous step). SetRELEASE_VERSIONto release version working on, for example:1.0.0(same as in previous step).
RELEASE_BRANCH='master' ; \ RELEASE_VERSION='1.0.0' ; \ RELEASE_PR_NUMBER='123' ; \ REPOSITORY_DEFAULT_BRANCH="$( git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@' )" ; \ git checkout ${REPOSITORY_DEFAULT_BRANCH} && \ git fetch --all && \ git pull --rebase && \ gh pr checkout ${RELEASE_PR_NUMBER} && \ gh pr merge -rd ${RELEASE_PR_NUMBER} && \ git tag ${RELEASE_VERSION} && \ git push --tags
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.