‪TYPO3CMS  10.4
‪Todo List
Member TYPO3\CMS\Extbase\Tests\Unit\Persistence\Generic\Mapper\DataMapperTest::fetchRelatedEagerReturnsEmptyArrayForEmptyRelationNotHasOne ()
: Cover this functionality by a functional test
Member TYPO3\CMS\Form\Domain\Runtime\FormRuntime::isRenderedCached ()
: this should be checked against https://forge.typo3.org/issues/91625 as this was fixed differently for UriBuilder
Member TYPO3\CMS\Form\Domain\Runtime\FormRuntime::initializeFormSessionFromRequest ()
FormRuntime::$formSession is still vulnerable to session fixation unless a real cookie-based process is used
Member TYPO3\CMS\Form\Controller\FormEditorController::transformFormDefinitionForFormEditor (array $formDefinition)
move this to FormDefinitionConversionService
Member TYPO3\CMS\Fluid\ViewHelpers\FormViewHelper::renderHiddenReferrerFields ()
filter out referrer information that is equal to the target (e.g. same packageKey)
Member TYPO3\CMS\Fluid\Core\Widget\WidgetContext::$viewHelperChildNodeRenderingContext
rename to something more meaningful.
Member TYPO3\CMS\Fluid\Core\Widget\AbstractWidgetViewHelper::initializeWidgetIdentifier ()
clean up, and make it somehow more routing compatible.
Member TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest::checkPhpDependencyThrowsExceptionIfIdentifierIsNotPhp ()
there is no way for this to happen currently
Member TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest::checkTypo3DependencyThrowsExceptionIfIdentifierIsNotTypo3 ()
this can never happen with current code paths
Member TYPO3\CMS\Extensionmanager\Utility\Parser\XmlParserFactory::$parsers
This would better be moved to a global configuration array like $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']. (might require EM to be moved in a sysext)
Member TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::getExtensionFromTer ($extensionKey, Dependency $dependency)
unit tests
Member TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::checkExtensionDependency (Dependency $dependency)
handle exceptions / markForUpload
Member TYPO3\CMS\Extbase\Tests\Unit\Persistence\Generic\Mapper\DataMapperTest::mapObjectToClassPropertyReturnsExistingObjectWithoutCallingFetchRelated ()
: Cover this functionality by a functional test
Member TYPO3\CMS\Extbase\Tests\Unit\Persistence\Generic\Mapper\DataMapperTest::MapObjectToClassPropertyReturnsNullForEmptyRelationHasOne ()
: Cover this functionality by a functional test
Member TYPO3\CMS\Form\Mvc\Property\TypeConverter\FormDefinitionArrayConverter::filterEmptyArrays (array $array)
ArrayUtility?
Member TYPO3\CMS\Extbase\Tests\Unit\Persistence\Generic\Mapper\DataMapperTest::fetchRelatedEagerReturnsNullForEmptyRelationHasOne ()
: Cover this functionality by a functional test
Member TYPO3\CMS\Extbase\Tests\Unit\Persistence\Generic\Mapper\DataMapperTest::thawPropertiesSetsPropertyValues ()
: Cover this functionality by a functional test
Member TYPO3\CMS\Extbase\Tests\Unit\Persistence\Generic\Mapper\DataMapperTest::mapSingleRowReturnsObjectFromPersistenceSessionIfAvailable ()
: Cover this functionality by a functional test
Member TYPO3\CMS\Extbase\Tests\Unit\Persistence\Generic\Mapper\DataMapperTest::mapMapsArrayToObjectByCallingmapToObject ()
: Cover this functionality by a functional test
Member TYPO3\CMS\Extbase\Tests\Unit\Mvc\Controller\ActionControllerTest::initializeActionMethodArgumentsRegistersArgumentsFoundInTheSignatureOfTheCurrentActionMethod ()
: make this a functional test
Member TYPO3\CMS\Extbase\Validation\ValidatorResolver::createValidator ($validatorType, array $validatorOptions=[])
remove throwing Exceptions in resolveValidatorObjectName
Member TYPO3\CMS\Extbase\Security\Cryptography\HashService::validateAndStripHmac (string $string)
Mark as API once it is more stable
Member TYPO3\CMS\Extbase\Security\Cryptography\HashService::appendHmac (string $string)
Mark as API once it is more stable
Member TYPO3\CMS\Extbase\Reflection\ObjectAccess::getGettableProperties (object $object)
What to do with ArrayAccess
Class TYPO3\CMS\Extbase\Property\TypeConverter\ObjectStorageConverter
Implement functionality for converting collection properties.
Member TYPO3\CMS\Extbase\Persistence\QueryInterface::getQuerySettings ()
decide whether this can be deprecated eventually
Member TYPO3\CMS\Extbase\Persistence\QueryInterface::setQuerySettings (QuerySettingsInterface $querySettings)
decide whether this can be deprecated somewhen
Member TYPO3\CMS\Extbase\Persistence\Generic\Storage\BackendInterface::getUidOfAlreadyPersistedValueObject (AbstractValueObject $object)
this is the last monster in this persistence series. refactor!
Member TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\TypoLinkGeneratorTest::setUpFileStorage ()
Provide functionality of creating and indexing fileadmin/ in Testing Framework
Member TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\Regular\Modify\ActionTest::changeContentSortingAndDeleteMovedRecord ()
: Publish and PublishAll for this are missing - TF throws an exception on publish due to deleted state
Member TYPO3\CMS\Workspaces\Controller\Remote\ActionHandler::deleteSingleRecord ($table, $uid)
What about reporting errors back to the interface? /olly/
Member TYPO3\CMS\Workspaces\Controller\Remote\ActionHandler::swapSingleRecord ($table, $t3ver_oid, $orig_uid)
What about reporting errors back to the interface? /olly/
Member TYPO3\CMS\T3editor\Controller\CodeCompletionController::getMergedTemplates ($pageId)
olive.nosp@m.r@ty.nosp@m.po3.o.nosp@m.rg: Refactor this method and comment what's going on there
Member TYPO3\CMS\Scheduler\Scheduler::removeTask (AbstractTask $task)
find a way to actually kill the existing jobs
Member TYPO3\CMS\Scheduler\Scheduler::cleanExecutionArrays ()
find a way to actually kill the job
Member TYPO3\CMS\Scheduler\Controller\SchedulerModuleController::stopTask ()
find a way to really kill the running task
Member TYPO3\CMS\Install\Service\CoreUpdateService::setDownloadTargetPath ($downloadTargetPath)
move this to folder structure
Member TYPO3\CMS\IndexedSearch\Controller\SearchController::preparePageLink (int $pageUid, array $row, array $urlParameters)
make use of the UriBuilder
Member TYPO3\CMS\IndexedSearch\Controller\SearchController::makeDescription ($row, $noMarkup=false, $length=180)
overwork this
Member TYPO3\CMS\IndexedSearch\Controller\SearchController::makeRating ($row)
can this be a ViewHelper?
Class TYPO3\CMS\Impexp\Controller\ImportExportController
: In TYPO3 v11 this class is about to become an abstract class
Class TYPO3\CMS\Frontend\Tests\Unit\Authentication\FrontendUserAuthenticationTest
: Some of these tests would be better suited as functional tests
Member TYPO3\CMS\Extbase\Persistence\Generic\Query::getSelectorName ()
This has to be checked at another place
Member TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\SlugSiteRequestTest::pageRequestSendsNotFoundResponseWithInvalidCacheHashWithHavingPageErrorHandling (string $uri)
Response body cannot be asserted since PageContentErrorHandler::handlePageError executes request via HTTP (not internally)
Member TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\SlugSiteRequestTest::restrictedPageSendsForbiddenResponseWithUnauthorizedVisitorWithHavingPageErrorHandling (string $uri, int $frontendUserId)
Response body cannot be asserted since PageContentErrorHandler::handlePageError executes request via HTTP (not internally)
Member TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\SiteRequestTest::pageRequestSendsNotFoundResponseWithInvalidCacheHashWithHavingPageErrorHandling (string $uri)
Response body cannot be asserted since PageContentErrorHandler::handlePageError executes request via HTTP (not internally)
Member TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\SiteRequestTest::restrictedPageWithParentSysFolderSendsForbiddenResponseWithUnauthorizedVisitorWithHavingPageErrorHandling (string $uri, int $frontendUserId)
Response body cannot be asserted since PageContentErrorHandler::handlePageError executes request via HTTP (not internally)
Member TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\SiteRequestTest::restrictedPageSendsForbiddenResponseWithUnauthorizedVisitorWithHavingPageErrorHandling (string $uri, int $frontendUserId)
Response body cannot be asserted since PageContentErrorHandler::handlePageError executes request via HTTP (not internally)
Member TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\MountPointTest::mountPointPagesShowContentAsConfigured (string $uri, string $expected)
: revisit the "mount_pid_ol=1" redirect, there is some truth to it, but still would remove the context, which does not make sense. Should be revisited. See test above as well.
Class TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\MountPointTest

add Tests for having a PageFolder as mounted page (e.g. id 10000)

Add tests for multilingual setups

Add tests with various TypoScript settings activated

Member TYPO3\CMS\Frontend\Middleware\ShortcutAndMountPointRedirect::releaseTypoScriptFrontendControllerLocks ()
: It would be better if lock acquiring and releasing would be encapsulated in ONE middleware.
Member TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::checkPagerecordForIncludeSection (array $row)
Find a better name, i.e. isVisibleRecord()
Member TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::checkRootlineForIncludeSection ()

Find a better name, i.e. checkVisibilityByRootLine

Invert boolean return value. Return true if visible.

Member TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::fetch_the_id (ServerRequestInterface $request=null)
:
Member TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::$contentType
Ticket: #63642 Should be refactored to a request/response model later
Member TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::resolveMixedLinkParameter ($linkText, $mixedLinkParameter, &$configuration=[])
the functionality of the "file:" syntax + the hook should be marked as deprecated, an upgrade wizard should handle existing links
Member TYPO3\CMS\Backend\Template\DocumentTemplate::insertStylesAndJS ($content)

: Review this, it may be obsolete or could be done differently?

: Previous comment was: "This is needed for extobjbase" (AbstractFunctionModule)

Member TYPO3\CMS\Core\Domain\Repository\PageRepository::addMountPointParameterToPage (array $page)
Find a better name. The current doesn't hit the point.
Class TYPO3\CMS\Core\DataHandling\Model\CorrelationId
Check internal state during v10 development
Member TYPO3\CMS\Core\DataHandling\DataHandler::getUnique ($table, $field, $value, $id, $newPid=0)
: consider workspaces, especially when publishing a unique value which has a unique value already in live
Member TYPO3\CMS\Core\Database\Schema\EventListener\SchemaColumnDefinitionListener::getEnumerationTableColumnDefinition (array $tableColumn, AbstractPlatform $platform)
: The $tableColumn source currently only support MySQL definition style.
Member TYPO3\CMS\Core\Database\Schema\DefaultTcaSchema::getTableFirstPosition (array $tables, string $tableName)

It would be better if the incoming $tables structure would be cleaned

to contain a table only once before this class is entered.

Member TYPO3\CMS\Core\Database\RelationHandler::setUpdateReferenceIndex ($updateReferenceIndex)
: Unused in core, should be removed, use ReferenceIndexUpdater instead
Member TYPO3\CMS\Core\Database\QueryView::csvRowTitles ($row, $conf)
Unused?
Class TYPO3\CMS\Core\Configuration\Richtext
When I grow up, I want to become a data provider
Class TYPO3\CMS\Belog\Domain\Repository\WorkspaceRepository
This should be moved to EXT:workspaces if EXT:belog works no matter if workspaces are installed or not
Class TYPO3\CMS\Belog\Domain\Model\Workspace
: This should be extended and put at some more central place
Class TYPO3\CMS\Belog\Domain\Model\LogEntry
: This should be stuffed to some more central place
Member TYPO3\CMS\Backend\Tests\Functional\Controller\Page\LocalizationControllerTest::$assertCleanReferenceIndex
: Test setup should be updated to have true here
Member TYPO3\CMS\Backend\Template\ModuleTemplate::makeShortcutIcon ($gvList, $setList, $modName, $motherModName='', $displayName='', $classes='btn btn-default btn-sm')
Make this thing return a button object
Member TYPO3\CMS\Core\Resource\FileReference::getTitle ()
Possibly move this to the image domain object instead
Class TYPO3\CMS\Backend\Form\Utility\FormEngineUtility
: These helpers are target to be dropped if further FormEngine refactoring is done
Member TYPO3\CMS\Backend\Form\InlineStackProcessor::injectAjaxConfiguration (array $config)
: Review this construct - Why can't the ajax call fetch these data on its own and transfers it to client instead?
Member TYPO3\CMS\Backend\Form\FormDataProvider\TcaTypesShowitem::removeFieldsFromPalettes (array $result, $removeListArray)
: unit tests!
Member TYPO3\CMS\Backend\Form\FormDataProvider\TcaInline::getLiveDefaultId ($tableName, $uid)
: the workspace mess still must be resolved somehow
Member TYPO3\CMS\Backend\Form\FormDataProvider\TcaInline::resolveConnectedRecordUids (array $parentConfig, $parentTableName, $parentUid, $parentFieldValue)
: Cover with unit tests
Member TYPO3\CMS\Backend\Form\FormDataProvider\TcaInline::addInlineFirstPid (array $result)
: Find out when and if this is different from 'effectivePid'
Member TYPO3\CMS\Backend\Form\FormDataProvider\SiteTcaInline::addInlineFirstPid (array $result)
: Find out when and if this is different from 'effectivePid'
Member TYPO3\CMS\Backend\Form\FormDataProvider\AbstractItemProvider::getRegisteredFlexForms ($table)

: This approach is limited and doesn't find everything. It works for casual tt_content plugins, though:

: The data structure identifier determination depends on data row, but we don't have all rows at hand here.

: The code thus "guesses" some standard data structure identifier scenarios and tries to resolve those.

: This guessing can not be solved in a good way. A general registry of "all" possible data structures is

: probably not wanted, since that wouldn't work for truly dynamic DS calculations. Probably the only

: thing we could do here is a hook to allow extensions declaring specific data structures to

: allow backend admins to set exclude flags for certain fields in those cases.

Member TYPO3\CMS\Backend\Controller\SiteInlineAjaxController::compileChild (array $parentData, string $parentFieldName, int $childUid, array $inlineStructure)

: This clones methods compileChild from TcaInline Provider. Find a better abstraction

: to also encapsulate the more complex scenarios with combination child and friends.

Member TYPO3\CMS\Backend\Controller\FormSlugAjaxController::suggestAction (ServerRequestInterface $request)
)
  • ‪Show a message that the old URL will stop working (possibly add a redirect via checkbox)
  • ‪If the page has subpages, show a warning that the subpages WILL NOT BE MODIFIED and keep the OLD url
Member TYPO3\CMS\Backend\Controller\FormInlineAjaxController::compileChild (array $parentData, $parentFieldName, $childUid, array $inlineStructure)

: This clones methods compileChild from TcaInline Provider. Find a better abstraction

: to also encapsulate the more complex scenarios with combination child and friends.

"

: Will be set protected later, still used by ConditionMatcher

: Will be set protected later, still used by ConditionMatcher

Member TYPO3\CMS\Core\Tests\Acceptance\Backend\FormEngine\ElementsBasicInputRangeCest::simpleRangeAndMd5FieldsDataProvider ()
this one probably broke with the type="number" patch 'label' => 'input_25 eval=int, default=0, range lower=-2, range upper=2', 'inputValue' => 'Kasper TYPO3', 'expectedValue' => '0', 'expectedInternalValue' => '0', 'expectedValueAfterSave' => '0', 'comment' => '', ],
Member TYPO3\CMS\Extbase\Object\Container\Container::registerImplementation (string $className, string $alternativeClassName)
deprecate in favor of core DI configuration (aliases/overrides)
Member TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder::convertTransientObjectToArray (AbstractDomainObject $object)
Refactor this into convertDomainObjectsToIdentityArrays()
Member TYPO3\CMS\Extbase\Error\Result::recurseThroughResult (array $pathSegments)
: consider making this method protected as it will and should not be called from an outside scope
Member TYPO3\CMS\Core\Tests\Unit\Utility\GeneralUtilityTest::xml2ArrayFailsWithXmlContentBiggerThanTenMegabytes ()

: The parser run into a memory issue with files bigger 10 MB

: This special tests documents the issue. If fixed, this test

: should become a data set of xml2ArrayHandlesBigXmlFilesDataProvider()

: This test does not pass in all environments. It should be evaluated whether this test is really needed or should be removed.

Member TYPO3\CMS\Core\Tests\Unit\Http\UriTest::withPortAcceptsBooleanTrueAsPortOne ()

: Currently, boolean true is interpreted as 1 by canBeInterpretedAsInteger().

: This test shows that, but there is an inconsistency and maybe it would be better

: if the code would not accept 'true' as valid port but throw an exception instead.

: If that is changed, 'true' should be added to the 'invalid type' data provider above.

Member TYPO3\CMS\Core\Tests\Unit\Database\Query\QueryBuilderTest::fromQuotesIdentifierAndDelegatesToConcreteQueryBuilder ()
: Test with alias
Member TYPO3\CMS\Core\Tests\Unit\Database\Query\QueryBuilderTest::updateQuotesIdentifierAndDelegatesToConcreteQueryBuilder ()
: Test with alias
Member TYPO3\CMS\Core\Tests\Unit\Database\Query\QueryBuilderTest::deleteQuotesIdentifierAndDelegatesToConcreteQueryBuilder ()
: Test with alias
Member TYPO3\CMS\Core\Tests\Functional\SiteHandling\SiteBasedTestTrait::applyInstructions (InternalRequest $request, AbstractInstruction ... $instructions)
Instruction handling should be part of Testing Framework (multiple instructions per identifier, merge in interface)
Member TYPO3\CMS\Core\Tests\Functional\DataHandling\Regular\AbstractActionTestCase::movePageLocalizedInLiveWorkspaceDeletedToDifferentPageTwice ()
The "deleted" t3ver_state=2 record is turned into a move placeholder so the "marked for delete" information is lost.
Member TYPO3\CMS\Core\Tests\Functional\DataHandling\IRRE\ForeignField\Modify\ActionTest::createAndLocalizeParentContentWithHotelAndOfferChildrenWithoutSortByConfiguration ()
: Test is flaky with postgres ... find out why, that's a core bug for sure.
Member TYPO3\CMS\Core\Tests\Functional\DataHandling\IRRE\CSV\AbstractActionTestCase::copyParentContentToLanguage ()
Test missing in workspaces!
Member TYPO3\CMS\Core\Tests\Functional\DataHandling\FlexformIrre\ActionTest::$assertCleanReferenceIndex
: Test setup should be updated to have true here
Member TYPO3\CMS\Backend\Backend\Shortcut\ShortcutRepository::getTokenUrl (string $url)
: this needs love
Member TYPO3\CMS\Core\Tests\Acceptance\Backend\FormEngine\ElementsBasicInputEvalCest::simpleEvalInputFieldsDataProvider ()
this one probably broke with the html type="number" patch 'label' => 'input_9 eval=int', 'inputValue' => 'TYPO3', 'expectedValue' => '0', 'expectedInternalValue' => '0', 'expectedValueAfterSave' => '0', 'comment' => '', ],
Member TYPO3\CMS\Core\Utility\File\BasicFileUtility::getUniqueName ($theFile, $theDest, $dontCheckForUnique=false)
: should go into the LocalDriver in a protected way (not important to the outside world)
Member TYPO3\CMS\Core\Utility\File\BasicFileUtility::sanitizeFolderPath ($theDir)
: should go into the LocalDriver in a protected way (not important to the outside world)
Member TYPO3\CMS\Core\Utility\ExtensionManagementUtility::$extTablesWasReadFromCacheOnce
See if we can get rid of the 'load multiple times' scenario in fe
Member TYPO3\CMS\Core\Utility\ArrayUtility::flatten (array $array, $prefix='', bool $keepDots=false)

: The current implementation isn't a generic array flatten method, but tailored for TypoScript flattening

: It should be deprecated and removed and the required specialities should be put under the domain of TypoScript parsing

Member TYPO3\CMS\Core\Routing\Route::getArguments ()
'_arguments' are added implicitly, make it explicit in enhancers
Member TYPO3\CMS\Core\Resource\ResourceStorage::getAllFileObjectsInFolder (Folder $folder)
check if this is a duplicate
Member TYPO3\CMS\Core\Resource\Processing\TaskInterface::fileNeedsProcessing ()
isOutdated()/needsReprocessing()?
Member TYPO3\CMS\Core\Resource\Processing\ImagePreviewTask::fileNeedsProcessing ()
isOutdated()/needsReprocessing()?
Member TYPO3\CMS\Core\Resource\FileReference::getLink ()
Move this to the image domain object instead
Member TYPO3\CMS\Core\Resource\FileReference::getDescription ()
Possibly move this to the image domain object instead
Member TYPO3\CMS\Core\Resource\FileReference::getAlternative ()
Possibly move this to the image domain object instead