diff --git a/Build/Test/runTests.sh b/Build/Test/runTests.sh index bf35b7ff2..3263fbc10 100755 --- a/Build/Test/runTests.sh +++ b/Build/Test/runTests.sh @@ -74,7 +74,7 @@ Options: - functional: PHP functional tests - unit (default): PHP unit tests - -t <|11.5|12.4> + -t <11.5|12.4> Only with -s composerInstall Specifies which TYPO3 version to install. When unset, installs either the packages from composer.lock, or the latest version otherwise (default behavior of "composer install"). @@ -97,34 +97,29 @@ Options: - mariadb (default): use mariadb - mysql: use MySQL server - -i <10.1|10.2|10.3|10.4|10.5|10.6|10.7|10.8|10.9|10.10> + -i <10.2|10.3|10.4|10.5|10.6|10.11> Only with -d mariadb Specifies on which version of mariadb tests are performed - - 10.1 - 10.2 - 10.3 (default) - 10.4 - 10.5 - 10.6 - - 10.7 - - 10.8 - - 10.9 - - 10.10 + - 10.11 - -j <5.5|5.6|5.7|8.0> + -j <5.7|8.0> Only with -d mysql Specifies on which version of mysql tests are performed - - 5.5 (default) - - 5.6 - 5.7 - - 8.0 + - 8.0 (default) - -p <7.4|8.0|8.1|8.2> + -p <7.4|8.0|8.1|8.2|8.3> Specifies the PHP minor version to be used - - 7.4: (default) use PHP 7.4 + - 7.4: use PHP 7.4 - 8.0: use PHP 8.0 - - 8.1: use PHP 8.1 - - 8.2: use PHP 8.2 (note that xdebug is currently not available for PHP8.2) + - 8.1: use PHP 8.1 (default) + - 8.2: use PHP 8.2 + - 8.3: use PHP 8.3 -e "" Only with -s functional|functionalDeprecated|unit|unitDeprecated|unitRandom|acceptance @@ -180,7 +175,7 @@ fi TEST_SUITE="unit" TYPO3_VERSION="" DBMS="mariadb" -PHP_VERSION="7.4" +PHP_VERSION="8.1" PHP_XDEBUG_ON=0 PHP_XDEBUG_PORT=9003 SERVER_PORT=8000 @@ -189,7 +184,7 @@ SCRIPT_VERBOSE=0 PHPUNIT_WATCH=0 DATABASE_DRIVER="" MARIADB_VERSION="10.3" -MYSQL_VERSION="5.5" +MYSQL_VERSION="8.0" # Option parsing # Reset in case getopts has been used previously in the shell @@ -213,7 +208,7 @@ while getopts ":a:s:t:d:i:j:p:e:xy:whuv" OPT; do ;; i) MARIADB_VERSION=${OPTARG} - if ! [[ ${MARIADB_VERSION} =~ ^(10.2|10.3|10.4|10.5|10.6|10.11)$ ]]; then + if ! [[ ${MARIADB_VERSION} =~ ^(10.3|10.4|10.5|10.6|10.11)$ ]]; then INVALID_OPTIONS+=("${OPTARG}") fi ;; diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index fbc4a99ec..b9970c5db 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -1,55 +1,16 @@ # Development -## Kitodo.Presentation 4.0 - -- In Extbase, there is a default naming scheme to map model names to database - table names. As we currently don't use these for historic reasons, the mapping - needs to be reconfigured: - - - [ext_typoscript_setup.txt](ext_typoscript_setup.txt) is for compatibility - with TYPO3 v9. - - [Classes.php](Configuration/Extbase/Persistence/Classes.php) is for TYPO3 - v10 onwards. - - `polyfillExtbaseClassesForTYPO3v9` (defined in [Helper.php](Classes/Common/Helper.php)) - is used for TYPO3 v9 compatibility with the expression language function - `getDocumentType()` ([DocumentTypeFunctionProvider.php](Classes/ExpressionLanguage/DocumentTypeFunctionProvider.php)). - - To simplify this, we may consider to rename database tables according to the - default naming scheme. - - -## Future Changes - -### TCA type "language" -The TCA field 'sys_language_uid' of table 'tx_dlf_collections' is defined as the 'languageField' and should therefore use the TCA type 'language' instead of TCA type 'select' with 'foreign_table=sys_language' or 'special=languages'. - -### Forward() in controller actions will be removed in TYPO3 12 - -Instead of calling $this->forward() the controller action must return a ForwardResponse - -https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/11.0/Deprecation-92815-ActionControllerForward.html - -### Pagination Widget will be removed in TYPO3 11 - -https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/11.0/Breaking-92529-AllFluidWidgetFunctionalityRemoved.html - -The current solution does only work with TYPO3 9 and 10. - -As of TYPO3 10 a new pagination API has been introduced. This could be used as replacement in a release supporting TYPO3 10 and 11. - -https://docs.typo3.org/m/typo3/reference-coreapi/10.4/en-us/ApiOverview/Pagination/Index.html - ## Testing Before running any of the tests, please install the project dependencies. Choose which version of TYPO3 you would like to test against. ```bash -# If you use PHP 7.3 or 7.4 (supported by Kitodo) -composer update --with=typo3/cms-core:^10.4 +# If you use PHP 7.4 (supported by Kitodo) +composer update --with=typo3/cms-core:^11.5 # If you use PHP 8 -composer install-via-docker -- -t 10.4 composer install-via-docker -- -t 11.5 +composer install-via-docker -- -t 12.4 ``` ### Quick Start diff --git a/Documentation/guides.xml b/Documentation/guides.xml index 68f35cdec..cd528ddc1 100644 --- a/Documentation/guides.xml +++ b/Documentation/guides.xml @@ -1,6 +1,6 @@ - + diff --git a/SECURITY.md b/SECURITY.md index 47eadc609..b4ca470ab 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -6,8 +6,9 @@ The following versions of Kitodo.Presentation are currently being supported with | Version | With TYPO3 | Active Development | Security Fixes | | ------- | --------------- | :----------------: | :------------: | -| 5.x | 10 LTS + 11 LTS | ☒ | ☒ | -| 4.x | 9 LTS + 10 LTS | ☐ | ☒ | +| 6.x | 11 LTS + 12 LTS | ☒ | ☒ | +| 5.x | 10 LTS + 11 LTS | ☐ | ☒ | +| 4.x | 9 LTS + 10 LTS | ☐ | ☐ | | 3.3.x | 9 LTS | ☐ | ☐ | | 3.2.x | 8 LTS + 9 LTS | ☐ | ☐ | | 3.1.x | 8 LTS + 9 LTS | ☐ | ☐ | diff --git a/ext_emconf.php b/ext_emconf.php index e721940ec..30cbf942b 100644 --- a/ext_emconf.php +++ b/ext_emconf.php @@ -13,7 +13,7 @@ $EM_CONF[$_EXTKEY] = [ 'title' => 'Kitodo.Presentation', 'description' => 'Base plugins, modules, services and API of the Digital Library Framework. It is part of the community-based Kitodo Digitization Suite.', - 'version' => '5.0.5', + 'version' => '6.0.0', 'category' => 'misc', 'constraints' => [ 'depends' => [ diff --git a/ext_typoscript_setup.txt b/ext_typoscript_setup.txt deleted file mode 100644 index 00db5b8ac..000000000 --- a/ext_typoscript_setup.txt +++ /dev/null @@ -1,78 +0,0 @@ -# TODO: This whole file can get discarded when support for TYPO3 9.5 ends. - -config.tx_extbase { - persistence { - classes { - Kitodo\Dlf\Domain\Model\ActionLog { - mapping { - tableName = tx_dlf_actionlog - } - } - Kitodo\Dlf\Domain\Model\Basket { - mapping { - tableName = tx_dlf_basket - } - } - Kitodo\Dlf\Domain\Model\Collection { - mapping { - tableName = tx_dlf_collections - } - } - Kitodo\Dlf\Domain\Model\Document { - mapping { - tableName = tx_dlf_documents - } - } - Kitodo\Dlf\Domain\Model\Format { - mapping { - tableName = tx_dlf_formats - } - } - Kitodo\Dlf\Domain\Model\Library { - mapping { - tableName = tx_dlf_libraries - } - } - Kitodo\Dlf\Domain\Model\Mail { - mapping { - tableName = tx_dlf_mail - } - } - Kitodo\Dlf\Domain\Model\Metadata { - mapping { - tableName = tx_dlf_metadata - } - } - Kitodo\Dlf\Domain\Model\MetadataFormat { - mapping { - tableName = tx_dlf_metadataformat - } - } - Kitodo\Dlf\Domain\Model\MetadataSubentry { - mapping { - tableName = tx_dlf_metadatasubentries - } - } - Kitodo\Dlf\Domain\Model\Printer { - mapping { - tableName = tx_dlf_printer - } - } - Kitodo\Dlf\Domain\Model\SolrCore { - mapping { - tableName = tx_dlf_solrcores - } - } - Kitodo\Dlf\Domain\Model\Structure { - mapping { - tableName = tx_dlf_structures - } - } - Kitodo\Dlf\Domain\Model\Token { - mapping { - tableName = tx_dlf_tokens - } - } - } - } -}