ipf / news_bunny
NewsBunny - backend administration module for EXT:news (record list with filters, storage page listing, record creation)
Requires
- georgringer/news: ^13.0 || ^14.1
- typo3/cms-backend: ^13.4 || ^14.3
- typo3/cms-core: ^13.4 || ^14.3
- typo3/cms-extbase: ^13.4 || ^14.3
- typo3/cms-fluid: ^13.4 || ^14.3
Requires (Dev)
- phpunit/phpunit: ^11.5
- typo3/testing-framework: ^9.7
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Backend module for EXT:news that gives editors a dedicated working area for the news records of a site.
Features
- Own page tree with the number of news records per page, limited to the pages which hold records, optionally including subpages or limited to a single page
- Record list with configurable columns, sorting and pagination
- Filters for full text, time range, top news, archive state, visibility, language and categories
- Control panels to show, hide, move and delete records
- Listing of all pages which contain news, category or tag records
- Shortcuts to create news, category and tag records
- Per page configuration in the page TSconfig
Requirements
- TYPO3 CMS 13.4 or 14.3
- EXT:news 13.0 or 14.1
Both TYPO3 lines and both EXT:news lines are covered by the test suite, see
Tests below.
Installation
composer require ipf/news_bunny
The module is registered as web_newsBunny below the :guilabel:Web module. Make it
available for the relevant user groups in :guilabel:Administration > Modules, see
Documentation/Installation/Index.rst.
Documentation
The full documentation is written in reStructuredText and follows the TYPO3
documentation conventions, see Documentation/Index.rst:
Documentation/Introduction/Index.rst– features and permissionsDocumentation/Installation/Index.rst– installation and setupDocumentation/Configuration/Index.rst– all settings, per page in the page TSconfigDocumentation/Usage/Index.rst– manual for editorsDocumentation/Reference/Index.rst– module actions, tables and files
Render it with docs.typo3.org or with a local Sphinx installation, for example:
pip install -r requirements.txt sphinx-build -b html Documentation Documentation/_build/html
Tests
The test suite uses TYPO3 testing-framework. Unit tests run without a database, functional tests boot a throwaway TYPO3 instance with an SQLite database.
composer install composer test:fixtures # checks the structure of the CSV fixtures composer test:unit # no database composer test:functional # creates a temporary SQLite instance composer test # all of the above
composer install treats this repository as a standalone project, so TYPO3 itself
is installed into vendor/. The generated public/, var/, vendor/ and
composer.lock are ignored by git.
To run a single test:
vendor/bin/phpunit -c Build/phpunit/UnitTests.xml --filter NewsConstraintTest vendor/bin/phpunit -c Build/phpunit/FunctionalTests.xml --filter NewsRepositoryTest
The functional tests load their data from the CSV files in Tests/Functional/Fixtures.
composer test:fixtures verifies their structure and the FixtureSchemaTest verifies
that every column they use exists, which catches a broken fixture long before the
importer fails with an unrelated error.
Both suites also run on every push and pull request via GitHub Actions, see
.github/workflows/tests.yml.
License
GNU General Public License v2.0 or later, see LICENSE.