Releases: in2code-de/in2publish_core
8.3.1 False negative test fix and publishing error messages
The test ForeignInstanceTest
tested the DB connection by comparing credentials and host/port values. What a stupid idea! The new ForeignDatabaseConfigTest
actually tests if the database accessed as "foreign database" on stage is the same DB that is used on foreign when a command is executed. This method is way more robust and actually tests what it was thought for.
The publishing success message which was kind of hardcoded will now react to problems and errors that occurred during the publishing process. The flash message severity adapts to the most sever problem and display all error log messages of level warning
or higher.
8.3.0 Tests, Deprecation, Fixes
Hello everyone 👋
Featur
the new feature release of in2publish_core brings you a new test that will be especially useful for new adopters. It tests if the configured Database Connection in the LocalConfiguration.yaml and the configuration in effect when executing command controllers is actually the same. This test will detect erroneous configuration conditions that work in the web context but not in the context of the CLI.
Fix
Additonally to the new test following fies made it to this release:
- Fixed a broken type hint (the code is actually never used in normal cases)
- Merging defaults of configuration values is now possible.
- Fixed a problem with false negatives when testing for database operation success which spammed the log table.
- Enforced type safety (
int
) of the detected page identifier (except for combined identifiers in file related modules)
✂️ "A bit off the top, please" (Deprecation)
The fields tableName
and identifierFieldName
of the BaseRepository
have been deprecated. Any developer using the public methods of the BaseRepository
must use the tableName
argument that was introduced for all relevant methods. Deprecation logs will be written.
The fields will be removed eventually in in2publish_core version 10.
See these links for more information:
7.3.1 [Legacy] PHP 5.5 compat
Changes:
- Removed return type hints that broke PHP 5.5 compatiblity
8.2.2 multiline "order by", respect excludeRelatedTables in RTE relations
This is the third release today 😅
I stumbled upon some low hanging fruits, bugs that are easy to fix, so i took care of them.
Changes:
- excludedRelatedTables were not respected when resolving t3 URN relations.
- Exceptions thrown by the dispatcher because of poorly implemented additional RTE resolver slots are now catched.
- Removed 80 lines of dead code from the CommonRepository
- Improved the RegEx that tries to identify the
ORDER BY
part offoreign_table_where
. It did not work if there was a line break or more than 1 whitespace.
About the release cycle:
The overall release cycle has been long for the most time and sometimes people wait weeks before their fixes are released. I will therefore work towards a more shorter release cycle.
8.2.1 non-composer compat
The constant TYPO3_COMPOSER_MODE which is used to check if TYPO3 is installed via composer was accessed before checking for its existence, which led to an exception on development systems.
8.2.0 New signal, better inline relation resolving
New features:
CommonRepository::fetchRelatedRecordsByRte
can now resolve any kind of string based relation by slots resolving additional relations. (Primarily used for EXT:rte_ckeditor_image support in in2publish).
Feature/Fix:
- Type
inline
relations withoutforeign_field
are now supported
Fixes:
- in2publish_core relies on TYPO3 to parse FlexForms, but if TYPO3 encounters empty arrays a.k.a
<el>
-Elements it returns non-array values. A workaround for this core behavior has been added to prevent exceptions. - The
###REC_FIELD_[...]###
regex was modified to be non-greedy. - Task logging did not include the task uid because of a mistaken precedence order of a string concatenation and inline-if
8.1.1 CLI dispatcher detection, PHP 7 types and stuff
🐛 Bugs fixed:
- Type mismatch of function
strftime
argument inFormatPropertyByTcaDefinitionViewHelper
fixed. - Added missing annotation for parameter
tableName
of methodTableCommandController::publishCommand
- Added a new backend test to determine if a default FAL storage is configured
- Provided the configuration definition for the foreign backup table
- Corrected data types that changed when switching to DBAL
** For table related command (methodTableCommandController::copyTableContents
) (thx to @dr-bock )
** In SimpleOverviewAndAjax - Introduced automtic detection of the foreign CLI dispatcher with option to override if the detection fails.
8.1.0 configurable folderFileLimit, bugs, bugs, bugs
Hello devs, admins, integrators, editors and publishers 👋,
hereby we announce a new feature level release of the content publisher for TYPO3.
The new feature we introduced the new configuration option ☑️ factory.fal.folderFileLimit
.
This option is only used if factory.fal.reserveSysFileUids
is disabled.
With this option you can configure the limit of files per folder that the content publisher will support.
Here are the non-feature level changes:
- ✔️ : Added a new test to determine if the foreign dispatcher can be called with the configured
TYPO3_CONTEXT
- 👓 T3URN full text detection, which was already improved in the last release got a new rev. It is more strict and precise now.
- 🗑️ : Support for the
deleteAlike
feature of vertexvaar/logs version 2.1.0 - 🏴 Updated the extension icon to SVG and moved it to the Resources/Public folder
Besides the new feature we have fixed a handful of bugs:
- CLI commands were case insensitive in TYPO3 lower than v9. With that change the constant value
dbInitQueryEncoded
had to be lowercased. - TYPO3 allowed DB init commands ever since. These init commands are SQL commands that are executed right after the connection was established. With DBAL these commands changed their data type from
array
tostring
. The handling of initCommands has been adapted accordingly. - Allow the foreign database connection to fail
- The TCA can contain an additional_where section for columns with relations. There you can add arbitrary SQL which is supported by the content publisher. If that SQL included lowercase
and
at the beginning it was however not cropped and the resulting query was broken. Fixed! - To prevent exceptions during the installation the CP now checks it's extension configuration before accessing it.
- SimpleOverviewAndAjax had a bug which used the local database connection to fetch any record, including the foreign ones. You might have guessed that this won't work.
- The database test that checks if the databases are different databases would write an entry in one to see if it pops up in the other but didn't properly clear these values, which led to exceptions during publishing.
- Removed
fileadmin
from the required folders in the TYPO3 document root because the folder name is configurable
Happy publishing and with regards,
the Content Publisher Team 🎉
8.0.3 TCA user fail, CLI root path fix and T3 URN parsing
CLI root path fix:
In 8.0.1 i introduced a bug that lead to errors on some installations that use a single server for both of the local and foreign instance. This led to many and particularly different problems on various systems.
TCA user fail:
Since we explicitly do not support 3rd party extensions (except news, realurl, DCE and Flux; fal_securedownload in the Enterprise Edition) there are often problems with customer instances where the self-written TCA is not correct. In one of these cases there is no columns
section in one of the table configurations, which produced a PHP warning ("Wrong argument supplied for forearch"). The TCA PreProcessor now checks whether the entry columns
exists.
T3 URN parsing:
TYPO3 introduced a new way of referencing records in Rich Text Editors (CKEditor). These are URNs that begin with t3://
. Although support for parsing these URNs has been added it did not quite do the job. This issue has been resolved by enahncing the regex to parse more strictly.
8.0.2 strict_types, softrefs, LL, backend CSS
No great words this time. It's 20 minutes past midnight, i just wanna go sleeping 🛌 😴
strict_types:
- RecordFactory::getMergedIdentifierValue may actually return a string (concatenated values), so the
int
return type hint was removed
LL (Local Lang, Labels):
- Ensured that the method
LabelService::getLabelField
will always return a string, even if the records title property is an integer - Switched from the TYOP3 v9 NS
TYPO3\CMS\Core\Localization\LanguageService
back toTYPO3\CMS\Lang\LanguageService
softrefs:
- Ensure the softref property passed to
CommonRepository::fetchRelatedRecordsByRte
is a string - Include TCA text fields in the relation resolving process if they include a softref definition for typolinks or images
CSS:
- Prevent TYPO3 from "optimizing" precompiled CSS resources