Packages/TYPO3.CMS.git
8 years ago[!!!][+TASK] Extbase (Object): Rewritten Object Container
Sebastian Kurfürst [Mon, 20 Dec 2010 16:56:37 +0000 (16:56 +0000)]
[!!!][+TASK] Extbase (Object): Rewritten Object Container

I have re-written the core of the Object Manager,
implementing proper dependency injection now, covered
by some unit tests (which could still be improved)...

Now, the object lifecycle method ("initializeObject")
is automatically called once an object has all of its
dependencies injected.

Additionally, Extbase (again) works in the backend
with an empty page tree.

Please thoroughly test this change!

8 years ago[+BUGFIX] Extbase (MVC): Improve Exception message
Sebastian Kurfürst [Mon, 20 Dec 2010 16:56:28 +0000 (16:56 +0000)]
[+BUGFIX] Extbase (MVC): Improve Exception message

If one misses the @dontvalidate annotation, he will
get a strange error which does not have a hint that
the @dontvalidate is missing. Now, the exception message
is extended.

8 years ago[+API] Extbase (Configuration): Adding getContentObject to API
Sebastian Kurfürst [Mon, 20 Dec 2010 16:56:23 +0000 (16:56 +0000)]
[+API] Extbase (Configuration): Adding getContentObject to API

8 years ago[+TASK] Extbase (Reflection): Added deprecation annotation to ObjectAccess::getAccess...
Bastian Waidelich [Thu, 2 Dec 2010 19:00:00 +0000 (19:00 +0000)]
[+TASK] Extbase (Reflection): Added deprecation annotation to ObjectAccess::getAccessiblePropertyNames()

To stay in sync with FLOW3, the methods getAccessibleProperties() and getAccessiblePropertyNames() to
getGettableProperties() and getGettablePropertyNames().
For compatibility reasons the old methods will stay in Extbase until version 1.5.
Note: you can now check wheter properties are settable as well

Relates to: #8534

8 years ago[+BUGFIX] Extbase (Reflection): Added PropertyNotAccessibleException that I forgot...
Bastian Waidelich [Thu, 2 Dec 2010 18:55:35 +0000 (18:55 +0000)]
[+BUGFIX] Extbase (Reflection): Added PropertyNotAccessibleException that I forgot to add in previous commit

Relates to: #8534

8 years ago[+FEATURE] Extbase (Reflection): Tx_Extbase_Reflection_ObjectAccess supports stdClass...
Bastian Waidelich [Thu, 2 Dec 2010 17:44:06 +0000 (17:44 +0000)]
[+FEATURE] Extbase (Reflection): Tx_Extbase_Reflection_ObjectAccess supports stdClass objects now

I've backported the ObjectAccess class and its unit tests from FLOW3.
Note: FLOW3's implementation allows to specify a third argument for the
method getPropertyPath() in order to support Closures.
This part is not backported as it's not compatible with PHP < 5.3.

8 years ago* Raising version to Extbase 1.3beta2a
Sebastian Kurfürst [Wed, 1 Dec 2010 12:47:57 +0000 (12:47 +0000)]
* Raising version to Extbase 1.3beta2a

8 years ago[+BUGFIX] Extbase (ConfigurationManager): FollowUp for #6067. Fixes a issue with...
Franz Koch [Wed, 1 Dec 2010 12:45:48 +0000 (12:45 +0000)]
[+BUGFIX] Extbase (ConfigurationManager): FollowUp for #6067. Fixes a issue with parsing flexform rootlevel keys not having child keys I recently came across

8 years ago[+BUGFIX] Extbase (Configuration): change the order of methods to determine the curre...
Franz Koch [Wed, 1 Dec 2010 12:35:09 +0000 (12:35 +0000)]
[+BUGFIX] Extbase (Configuration): change the order of methods to determine the current pageId for backend modules, which is used to fetch the TS framework configuration. Fixes #11205

8 years ago[+TASK] Extbase (Object): Make sure the class info cache is returning valid objects
Franz Koch [Wed, 1 Dec 2010 12:30:08 +0000 (12:30 +0000)]
[+TASK] Extbase (Object): Make sure the class info cache is returning valid objects

8 years ago* Raised version number to 1.3.0beta2
Sebastian Kurfürst [Wed, 1 Dec 2010 07:09:08 +0000 (07:09 +0000)]
* Raised version number to 1.3.0beta2
* Updated ChangeLog

8 years ago[+BUGFIX] Extbase (Persistence): Persistence_Backend::getIdentifierByObject should...
Sebastian Kurfürst [Wed, 1 Dec 2010 07:08:57 +0000 (07:08 +0000)]
[+BUGFIX] Extbase (Persistence): Persistence_Backend::getIdentifierByObject should work with LazyLoadingProxy

getIdentifierByObject should check if object is an instance of Tx_Extbase_Persistence_LazyLoadingProxy and should return the
identifier of the real object.

Resolves: #11194

8 years ago[+BUGFIX] Extbase (Configuration): slightly tweaked FrontendConfigurationManager...
Bastian Waidelich [Tue, 30 Nov 2010 15:37:12 +0000 (15:37 +0000)]
[+BUGFIX] Extbase (Configuration): slightly tweaked FrontendConfigurationManager (basically replaced explode() by t3lib_div::trimExplode() call)
[+TASK] Extbase (Tests): Added some unit tests for Backend- and FrontendConfigurationManager. To be continued

8 years ago[+BUGFIX] Extbase (DomainObject): added default __toString method to Tx_Extbase_Domai...
Marc Bastian Heinrichs [Tue, 30 Nov 2010 13:30:21 +0000 (13:30 +0000)]
[+BUGFIX] Extbase (DomainObject): added default __toString method to Tx_Extbase_DomainObject_AbstractDomainObject. Thanks to Marco Huber. Resolves #8083

8 years ago[+BUGFIX] Extbase (MVC): Fixed UriBuilder for handling LazyLoadingProxy objects as...
Marc Bastian Heinrichs [Tue, 30 Nov 2010 12:09:44 +0000 (12:09 +0000)]
[+BUGFIX] Extbase (MVC): Fixed UriBuilder for handling LazyLoadingProxy objects as arguments. Resolves #10705

8 years ago[+TASK] Extbase (Object): re-added Tx_Extbase_Object_Manager to gain more backwards...
Bastian Waidelich [Tue, 30 Nov 2010 12:06:03 +0000 (12:06 +0000)]
[+TASK] Extbase (Object): re-added Tx_Extbase_Object_Manager to gain more backwards compatibility. This class is marked deprecated and will be removed in Extbase 1.5

8 years ago[+BUGFIX] Extbase (Tests): tweaked ObjectContainer tests. Tests are failing deliberat...
Bastian Waidelich [Tue, 30 Nov 2010 12:02:39 +0000 (12:02 +0000)]
[+BUGFIX] Extbase (Tests): tweaked ObjectContainer tests. Tests are failing deliberately for now

The DI implementation has to be rewritten, as discussed.

This relates to: #11160

8 years ago[+BUGFIX] Extbase (Domain): fixed (non-breaking) method name for getting usergroup...
Marc Bastian Heinrichs [Tue, 30 Nov 2010 12:00:19 +0000 (12:00 +0000)]
[+BUGFIX] Extbase (Domain): fixed (non-breaking) method name for getting usergroup in Tx_Extbase_Domain_Model_FrontendUser. Resolves #11019

8 years ago[+BUGFIX] Extbase (Domain): Tx_Extbase_Domain_Model_FrontendUserGroup::getSubgroup...
Marc Bastian Heinrichs [Tue, 30 Nov 2010 11:50:21 +0000 (11:50 +0000)]
[+BUGFIX] Extbase (Domain): Tx_Extbase_Domain_Model_FrontendUserGroup::getSubgroup() returns wrong property. Resolves #11020

8 years ago[+BUGFIX] Extbase (MVC): re-enabled HMAC check for BE forms. The deactivation was...
Bastian Waidelich [Tue, 30 Nov 2010 11:31:40 +0000 (11:31 +0000)]
[+BUGFIX] Extbase (MVC): re-enabled HMAC check for BE forms. The deactivation was just a temporary fix - HMAC should work in BE mode just like in FE

8 years ago[TASK] Extbase (Configuration): Fix whitespaces
Sebastian Kurfürst [Tue, 30 Nov 2010 10:40:36 +0000 (10:40 +0000)]
[TASK] Extbase (Configuration): Fix whitespaces

Removed some trailing whitespaces.

8 years ago[+TASK] extbase (ConfigurationManager): Made FrontendConfigurationManager parse recur...
Felix Oertel [Tue, 30 Nov 2010 10:01:00 +0000 (10:01 +0000)]
[+TASK] extbase (ConfigurationManager): Made FrontendConfigurationManager parse recurring sections in flexforms right. Thanks to Franz Koch (resolves #6067)

8 years ago[+BUGFIX] Extbase (Configuration): Slightly tweaked AbstractConfigurationManager
Bastian Waidelich [Sat, 27 Nov 2010 15:19:07 +0000 (15:19 +0000)]
[+BUGFIX] Extbase (Configuration): Slightly tweaked AbstractConfigurationManager
[+TASK] Extbase (Tests): Added unit tests for AbstractConfigurationManager

Note: the ConfigurationManager now always overrides switchableControllerActions
when retrieving configuration for the current plugin. Before that only happened
when no extensionName/pluginName was specified.
Additionally: It's not possible anymore to specify new controllers in
switchableControllerAction configuration. That was the intended behavior.

8 years ago[+TASK] Extbase (Tests): Renamed test files from "*_testcase.php" to "*Test.php"
Bastian Waidelich [Sat, 27 Nov 2010 12:05:29 +0000 (12:05 +0000)]
[+TASK] Extbase (Tests): Renamed test files from "*_testcase.php" to "*Test.php"

8 years ago[+TASK] Extbase (Tests): Moving all Tests in "Unit" directory (2/2)
Bastian Waidelich [Sat, 27 Nov 2010 11:57:04 +0000 (11:57 +0000)]
[+TASK] Extbase (Tests): Moving all Tests in "Unit" directory (2/2)

8 years ago[+TASK] Extbase (Tests): Moving all Tests in "Unit" directory.
Bastian Waidelich [Sat, 27 Nov 2010 11:54:43 +0000 (11:54 +0000)]
[+TASK] Extbase (Tests): Moving all Tests in "Unit" directory.

This is the first step of a bigger unit test cleanup

8 years ago[+FEATURE] Extbase (MVC): add possibility to output FlashMessageQueue
Bastian Waidelich [Sat, 27 Nov 2010 11:31:56 +0000 (11:31 +0000)]
[+FEATURE] Extbase (MVC): add possibility to output FlashMessageQueue

Tx_Extbase_MVC_Controller_FlashMessages now internally uses the
t3lib_FlashMessageQueue that has been introduced with TYPO3 4.3.
This results in following changes:
- flashmessages are now treated globally, not in a per-extension-scope. As soon as you output the messages first, the session will be flushed
- a flashmessage is not a simple strings anymore, but consists of
message body and (optionally) title & severity.
You can specify title and severity like this:
$this->flashMessages->add('Your message', 'some title', t3lib_FlashMessage::WARNING);
- you can now output flashmessages in backend that were set from other TYPO3 classes
- a revised flashmessage ViewHelper allows you to render flashmessages in the style
of core flashmessages now (see Fluid changelog)

This resolves: #10821

8 years ago[+TASK] Extbase (Persistence): counting query results does not work with limit constr...
Bastian Waidelich [Wed, 24 Nov 2010 19:51:33 +0000 (19:51 +0000)]
[+TASK] Extbase (Persistence): counting query results does not work with limit constraints

Tx_Extbase_Persistence_Storage_Typo3DbBackend::getObjectCountByQuery() replaces the SELECT part of a query by COUNT(*) before executing a statement.
This did not work as expected in some cases, e.g. the LIMIT constraint was ignored by the count query.

This resolves: #10956

8 years ago[+TASK] Extbase (Persistence): findOneBy*() methods should return NULL if no item...
Bastian Waidelich [Wed, 24 Nov 2010 18:56:00 +0000 (18:56 +0000)]
[+TASK] Extbase (Persistence): findOneBy*() methods should return NULL if no item was found

This resolves: #10958

8 years ago[+TASK] Extbase (Core): Slightly improved error handling in bootstrap
Bastian Waidelich [Wed, 24 Nov 2010 18:48:53 +0000 (18:48 +0000)]
[+TASK] Extbase (Core): Slightly improved error handling in bootstrap

This resolves: #11055

8 years ago[+BUGFIX] Extbase (MVC): disable HMAC check for BE forms
Bastian Waidelich [Wed, 24 Nov 2010 18:47:53 +0000 (18:47 +0000)]
[+BUGFIX] Extbase (MVC): disable HMAC check for BE forms

8 years ago[~TASK] Extbase (Utility): Changed Tx_Extbase_Utility_TypoScript:convertPlainArrayToT...
Nikolas Hagelstein [Fri, 19 Nov 2010 14:23:48 +0000 (14:23 +0000)]
[~TASK] Extbase (Utility): Changed Tx_Extbase_Utility_TypoScript:convertPlainArrayToTypoScriptArray to self::convertPlainArrayToTypoScriptArray. Resolves #10538.

8 years ago[+BUGFIX] Extbase (MVC): UriBuilder: use current plugin if no pluginName has been...
Bastian Waidelich [Thu, 18 Nov 2010 18:30:31 +0000 (18:30 +0000)]
[+BUGFIX] Extbase (MVC): UriBuilder: use current plugin if no pluginName has been specified

If multiple plugins are found, that are configured to handle the specified action, Extbase will throw an Exception. Now, this only happens if the *current* plugin is does not contain the action.

This fixes: #10932

8 years ago* Updated version to 1.3.0beta1a
Bastian Waidelich [Wed, 17 Nov 2010 12:25:00 +0000 (12:25 +0000)]
* Updated version to 1.3.0beta1a
* Updated ChangeLog

8 years ago[+TASK] Extbase: Re-implement support for BE modules
Bastian Waidelich [Tue, 16 Nov 2010 23:39:14 +0000 (23:39 +0000)]
[+TASK] Extbase: Re-implement support for BE modules

This is a major rework of the backend module handling in Extbase.
It still needs some refinements and it does not yet support all
BE module features we were planning to support (see #5097 and #5098)
but it's a cleaner base for further development.
Previous Extbase BE modules should now work again.

This resolves: #10583

8 years ago[+BUGFIX]: Extbase (Persistence): Fixed typo from previous commit
Bastian Waidelich [Tue, 16 Nov 2010 13:12:35 +0000 (13:12 +0000)]
[+BUGFIX]: Extbase (Persistence): Fixed typo from previous commit

8 years ago[+BUGFIX] Extbase (Persistence): DataMapper cannot deal with QueryResults
Bastian Waidelich [Tue, 16 Nov 2010 12:55:19 +0000 (12:55 +0000)]
[+BUGFIX] Extbase (Persistence): DataMapper cannot deal with QueryResults

Tx_Extbase_Persistence_Mapper_DataMapper::mapResultToPropertyValue() expected
the query result to be an array. Changed this to handle instances of type
Tx_Extbase_Persistence_QueryResultInterface

Fixes: #10850

8 years ago* Raised version number to 1.3.0beta1
Sebastian Kurfürst [Tue, 16 Nov 2010 11:42:08 +0000 (11:42 +0000)]
* Raised version number to 1.3.0beta1

8 years ago* Updated ChangeLog
Sebastian Kurfürst [Tue, 16 Nov 2010 11:18:55 +0000 (11:18 +0000)]
* Updated ChangeLog

8 years ago[+BUGFIX] Extbase (Object): The Object Container now properly uses the TYPO3 caching...
Bastian Waidelich [Tue, 16 Nov 2010 11:07:09 +0000 (11:07 +0000)]
[+BUGFIX] Extbase (Object): The Object Container now properly uses the TYPO3 caching framework. By default the DI cache is now stored in database, just like the reflection cache

8 years ago* Updated ChangeLog
Sebastian Kurfürst [Tue, 16 Nov 2010 10:52:30 +0000 (10:52 +0000)]
* Updated ChangeLog

8 years ago[+BUGFIX]: Extbase (Utility): Replaced one last occurrence of TYPE_PLUGIN by PLUGIN_T...
Bastian Waidelich [Tue, 16 Nov 2010 10:47:10 +0000 (10:47 +0000)]
[+BUGFIX]: Extbase (Utility): Replaced one last occurrence of TYPE_PLUGIN by PLUGIN_TYPE_PLUGIN in Tx_Extbase_Utility_Extension

8 years ago[~TASK] Extbase (Utility): renamed Tx_Extbase_Utility_Extension::TYPE_CONTENT_ELEMENT...
Bastian Waidelich [Tue, 16 Nov 2010 10:43:14 +0000 (10:43 +0000)]
[~TASK] Extbase (Utility): renamed Tx_Extbase_Utility_Extension::TYPE_CONTENT_ELEMENT to Tx_Extbase_Utility_Extension::PLUGIN_TYPE_CONTENT_ELEMENT and Tx_Extbase_Utility_Extension::TYPE_PLUGIN to Tx_Extbase_Utility_Extension::PLUGIN_TYPE_PLUGIN

8 years ago* Updated ChangeLog
Bastian Waidelich [Tue, 16 Nov 2010 10:38:14 +0000 (10:38 +0000)]
* Updated ChangeLog

8 years ago[+FEATURE] Extbase (Persistence): Default orderings & QuerySettings
Bastian Waidelich [Tue, 16 Nov 2010 10:34:14 +0000 (10:34 +0000)]
[+FEATURE] Extbase (Persistence): Default orderings & QuerySettings

It is now possible to change the default orderings of a repository without needing to
modify the query by setting the $defaultOrderings field of your Repository to a
non-empty array:
protected $defaultOrderings = array(
  'title' => Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING,
  'date' => 'title' => Tx_Extbase_Persistence_QueryInterface::ORDER_DESCENDING
);
This will change the default ordering for all queries created by this repository. Of course
you can override the ordering by calling $query->setOrderings() in your custom finder method.

Besides it's now possible to change the default query settings of a repository. This
way you could for instance disable "respect storage pid" for all queries. We added a life-cycle
method "initializeObject" to the repository which will be executed as soon as the repository
is created. Just override it like:
public function initializeObject() {
  $querySettings = $this->objectManager->create('Tx_Extbase_Persistence_Typo3QuerySettings');
  $querySettings->setRespectStoragePage(FALSE);
  $this->setDefaultQuerySettings($querySettings);
}
Of course, QuerySettings can be overridden too in your custom finder method by calling $query->setQuerySettings();

This resolves: #10319

8 years ago[~TASK] Reverted previous "[~TASK] Extbase: Reimplemented BE module support. Still...
Jochen Rau [Tue, 16 Nov 2010 10:31:03 +0000 (10:31 +0000)]
[~TASK] Reverted previous "[~TASK] Extbase: Reimplemented BE module support. Still needs cleanup."

This reverts commit fa24749433846a6fd5860df94ad0e9e04ef375db.

8 years ago[~TASK] Extbase: Reimplemented BE module support. Still needs cleanup.
Jochen Rau [Tue, 16 Nov 2010 10:17:24 +0000 (10:17 +0000)]
[~TASK] Extbase: Reimplemented BE module support. Still needs cleanup.

8 years ago[~BUGFIX] Extbase: Fixed the way a module gets called.
Jochen Rau [Tue, 16 Nov 2010 10:17:03 +0000 (10:17 +0000)]
[~BUGFIX] Extbase: Fixed the way a module gets called.

8 years agoUpdated ChangeLog
Sebastian Kurfürst [Tue, 16 Nov 2010 09:41:31 +0000 (09:41 +0000)]
Updated ChangeLog

8 years ago* Updated ChangeLog
Sebastian Kurfürst [Tue, 16 Nov 2010 09:36:00 +0000 (09:36 +0000)]
* Updated ChangeLog

8 years ago[+FEATURE] Extbase (Utility): Allow plugins to be registered as new content element
Bastian Waidelich [Mon, 15 Nov 2010 22:16:38 +0000 (22:16 +0000)]
[+FEATURE] Extbase (Utility): Allow plugins to be registered as new content element

Added a fifth parameter to Tx_Extbase_Utility_Extension::configurePlugin that allows
you to specify the plugin type (currently "list_type" and "CType" are supported).
Thanks to Marc Bastian Heinrichs, Rens Admiraal & Franz Koch for your help!

Resolves: #10666

8 years ago[+BUGFIX] Extbase (Utility): Added condition to Tx_Extbase_Utility_Extension::getTarg...
Bastian Waidelich [Mon, 15 Nov 2010 21:58:04 +0000 (21:58 +0000)]
[+BUGFIX] Extbase (Utility): Added condition to Tx_Extbase_Utility_Extension::getTargetPidByPlugin() in order to only select tt_content entries that are of CType "list". Thanks to Marc Bastian Heinrichs

8 years ago[!!!][~TASK] Extbase (Configuration): Major rework of the ConfigurationManager
Bastian Waidelich [Mon, 15 Nov 2010 21:55:25 +0000 (21:55 +0000)]
[!!!][~TASK] Extbase (Configuration): Major rework of the ConfigurationManager

Configuration of controllers and actions is now stored in a global registry
($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions']). But you
should never access this directly. Instead always retrieve the frameworkConfiguration
from the ConfigurationManager.
Inserting an Extbase plugin is now as simple as:
lib.foo = USER
lib.foo {
  userFunc = tx_extbase_core_bootstrap->run
  extensionName = YourExtension
  pluginName = YourPlugin
}

This is not really a breaking change as it does not change the public API. But it's not unlikely that it changes the behavior of your Extension in case you modified the TypoScript, that is generated by Tx_Extbase_Utility_Extension::configurePlugin().

NOTE: Unit tests of Extbase and Fluid v4 are broken currently. We'll be fixing those asap

8 years ago[~TAKS] Extbase (MVC): FrontendRequestHandler now retrieves the current cObject throu...
Bastian Waidelich [Mon, 15 Nov 2010 15:39:30 +0000 (15:39 +0000)]
[~TAKS] Extbase (MVC): FrontendRequestHandler now retrieves the current cObject through the ConfigurationManager
[+BUGFIX] Extbase (MVC): FrontendRequestHandler was refering to $this->frameworkConfiguration which wasn't available
[-API] Extbase (MVC): marked Tx_Extbase_MVC_Web_Request::getContentObjectData() deprecated as should retrieve the current cObject through the ConfigurationManager
[+TASK] Extbase (MVC): modified the Tx_Extbase_MVC_Web_RequestBuilder so that it's possible to change the action only by specifying the action parameter. Before you had to specify the controller as well, even if it was the default controller

8 years ago[+BUGFIX] Extbase (MVC): Flashmessages now share a scope throughout the extension...
Bastian Waidelich [Mon, 15 Nov 2010 11:20:00 +0000 (11:20 +0000)]
[+BUGFIX] Extbase (MVC): Flashmessages now share a scope throughout the extension. Before, every plugin had it's own scope leading to the messages only being output when entering the same plugin again (e.g. redirecting from one plugin to another would never display the messages)
[~TASK] Extbase (Core): The Flashmessages now get persisted in the Bootstrap in resetSingletons()
[-TASK] Extbase (Core): Removed some commented lines from Bootstrap

8 years ago[FEATURE] Extbase (Object): Make DI Class Mapping configurable through TS
Sebastian Kurfürst [Mon, 15 Nov 2010 08:36:51 +0000 (08:36 +0000)]
[FEATURE] Extbase (Object): Make DI Class Mapping configurable through TS

It is now possible to configure the Dependency Injection class mapping by specifying:
config.tx_extbase.objects.[FullyQualifiedObjectName].className = [NewClassName]

This has the effect of effectively replacing [FullyQualifiedObjectName] with
[NewClassName].

Resolves: #10559

8 years ago[-TASK] Extbase (Utility): Removed two obsolete checks for $GLOBALS['TSFE']->tmpl...
Bastian Waidelich [Sun, 14 Nov 2010 16:44:26 +0000 (16:44 +0000)]
[-TASK] Extbase (Utility): Removed two obsolete checks for $GLOBALS['TSFE']->tmpl->setup['tt_content.']['list.']['20.'] in Tx_Extbase_Utility_Extension
[~TASK] Extbase: added two doc comments that were missing

8 years ago[+BUGFIX] Extbase (Persistence): Extbase still used PHPs current() on some QueryResul...
Bastian Waidelich [Sun, 14 Nov 2010 14:56:14 +0000 (14:56 +0000)]
[+BUGFIX] Extbase (Persistence): Extbase still used PHPs current() on some QueryResults in Persistence/Repository. Replaced these by calls to the getFirst() method of the QueryResult
[+TASK] Extbase (Persistence): added a private field to the QueryResult to make the above case easier to debug: When calling current() on an Iterator, PHP returns the first field of that object instead of calling the current() method of the Iterator interface.. With our somewhat pragmatic approach you'll see the warning if you debug the results of current($query->execute())
[+BUGFIX] Extbase (Persistence): Replaced two occurrences of Query->count() by Query->execute()->count() to avoid deprecated warnings in the Core

8 years ago[+BUGFIX] Extbase (MVC): view configuration (templateRootPath, ...) has to be set...
Bastian Waidelich [Sun, 14 Nov 2010 13:54:39 +0000 (13:54 +0000)]
[+BUGFIX] Extbase (MVC): view configuration (templateRootPath, ...) has to be set before View::canRender() is called

8 years ago[!!!][+TASK] Extbase (MVC): The UriBuilder now uses the current cObject instead of...
Bastian Waidelich [Sat, 13 Nov 2010 19:38:47 +0000 (19:38 +0000)]
[!!!][+TASK] Extbase (MVC): The UriBuilder now uses the current cObject instead of creating a new instance in the constructor. This is a breaking change if you instantiated the UriBuilder in your code. Please use the Extbase ObjectManager or inject the ConfigurationManager manually.
[+BUGFIX] Extbase (Reflection): ReflectionService now uses a cacheIdentifier per Extension. Besides the Bootstrap now resets the ReflectionService after dispatching a request. This resolves #10146
[+TASK] Extbase (Configuration): The ConfigurationManager now holds the current cObject. You can retrieve it via ConfigurationManagerInterface::getContentObject()
[+BUGFIX] Extbase (Configuration): When loading configuration of other plugins, the context specific configuration (e.g. flexform settings) are no longer merged with the frameworkConfiguration
[+BUGFIX] Extbase (MVC): Controllers are no Singletons by default. If a controller contains stateful fields (e.g. $this->settings) this breaks multiple plugins on one page
[+TASK] Extbase (Persistence): QuerySettings now also store the storage page id(s). This is required for the upcoming Ajax Widgets

8 years ago[+BUGFIX] Extbase: fixed php warning in Tx_Extbase_Persistence_LazyLoadingProxy when...
Marc Bastian Heinrichs [Wed, 10 Nov 2010 22:43:47 +0000 (22:43 +0000)]
[+BUGFIX] Extbase: fixed php warning in Tx_Extbase_Persistence_LazyLoadingProxy when loading the real instance would return NULL. Resolves #10683

8 years ago[+BUGFIX] Extbase: use 3rd parameter = TRUE of t3lib_div::trimExplode to split switch...
Marc Bastian Heinrichs [Wed, 10 Nov 2010 22:34:12 +0000 (22:34 +0000)]
[+BUGFIX] Extbase: use 3rd parameter = TRUE of t3lib_div::trimExplode to split switchableControllerActionParts from flexform. Thanks to Georg Ringer. Resolves #10688

8 years ago[+TASK] Extbase: Replaced "public static" by "static public" in various places to...
Bastian Waidelich [Wed, 10 Nov 2010 19:05:49 +0000 (19:05 +0000)]
[+TASK] Extbase: Replaced "public static" by "static public" in various places to be CGL conform
[+TASK] Extbase: Marked Utitlity_Extension camelCase/underscore helper functions deprecated
[+TASK] Extbase: Removed obsolete FIXME comments, whitespace fixes

8 years ago[!!!] Extbase: Reintegrating branch "dispatcher" to trunk. Resolves: #10605
Bastian Waidelich [Wed, 10 Nov 2010 18:56:01 +0000 (18:56 +0000)]
[!!!] Extbase: Reintegrating branch "dispatcher" to trunk. Resolves: #10605

Branch history:
[+FEATURE] Extbase (Configuration): Extend ConfigurationManager so that it can load configuration of different plugins
[+FEATURE] Extbase (Configuration): 1st level cache for ConfigurationManager. Resolves: #10717. Resolves: #10716
[+TASK] Extbase: cleaned up Configuration* implementation, replaced t3lib_div::makeInstance() calls
Streamlined ConfigurationManager API and enforced its usage throughout the Extbase classes.
Replaced all t3lib_div::makeInstance() calls by $objectManager->create()/$objectManager->get() throughout the Extbase classes.
Some smaller tweaks and fixes. Resolves: #10655. Resolves: #10712
[TASK] Extbase (Object): Make tests work again. Resolves: #10709
[TASK] Extbase (Object): Updated autoload.php and emconf. Relates to: #10561
[TASK] Extbase (Object): Use typed exceptions. Relates to: #10561
[TASK] Extbase (Object): CGL cleanup
Additionally, removed support for @inject annotations at methods. Relates to: #10561
[TASK] Extbase (Object): Remove getParents. Relates to: #10561
[TASK] Extbase (Object): Remove isSingleton. Relates to: #10561
[TASK] Extbase (Object): Remove injectExtensionSettings feature. Relates to: #10561
[TASK] Extbase (Object): Change namespaces to Tx_Extbase_Object_Container. Relates to: #10561
[TASK] Extbase (Object): Add Container to Extbase. Relates to: #10561
[+TASK] Extbase (Core): moved Tx_Extbase_Bootstrap to Tx_Extbase_Core_Bootstrap
Moving Bootstrap to be compliant with FLOW3
Removed obsolete Classes. Resolves: #10704
[+TASK] Extbase: Merged current trunk (r2689) with local modifications into dispatcher branch
Note: This still needs a cleanup and some fixes (see FIXME comments) before it can be merged back to the trunk. Relates to: #10605. Relates to: #10655
[+TASK] Extbase (Configuration): Moved CONFIGURATION_TYPE_* constraints to ConfigurationManagerInterface. Resolves #10604.
[~TASK] Extbase (Configuration): The concrete configuration management strategy gets instanciate only once now.
[+FEATURE] Extbase (MVC): Decoupled framework settings from Dispatcher.
With the new dependency injection feature you can get the Configuration Manager injected by adding the lines
protected $configurationManager;
public function injectConfigurationManager(Tx_Extbase_Configuration_ConfigurationManagerInterface $configurationManager) {
    $this->configurationManager = $configurationManager;
}
You can get various types of configuration invoking
$this->configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManager::CONFIGURATION_TYPE_EXTBASE)
where the class constant must be either CONFIGURATION_TYPE_EXTBASE (for Extbase settings), or CONFIGURATION_TYPE_SETTINGS (for the current module/plugin settings), or CONFIGURATION_TYPE_TYPOSCRIPT (for a raw TS array). Resolves #4741.
[~TAKS] Extbase: Removed obsolete code.
[~TASK] Extbase: Added core patch for mod.php (see previous commit).
[+TASK] Extbase: Changed the way a module gets called.
- You can now specify a function name to be invoked by mod.php:
$TBE_MODULES['_dispatcher'][] = 'Tx_Extbase_Bootstrap->callModule';
- This requires a core patch.
[~TASK] Extbase: Changed configuration of the RequestHandler class names to TypoScript.
- The request handlers can now be registered in TypoScript with the setting:
   config.tx_extbase.mvc.requestHandlers.[RequestHandlerClassName] = [RequestHandlerClassName].
- There are now two RequestHandlers in Extbase: FrontendRequestHandler and BackendRequestHandler. Common functionality is in the AbstractRequestHandler.
[+API][+FEATURE] Extbase (Utility): Implemented mechanism to register RequestHandlers.
[+TASK] Extbase: Backported Request Handler Resolver.
[~TASK] Extbase: Added "deprecated" annotation to Dispatcher.
[~TASK] Extbase: Added missing comment.
[+BUGFIX] Extbase (Reflection): The ReflectionService now gets injected to the dispatcher. Related to #10146.
[+BUGFIX] Extbase (Reflection): Changed the way the Reflection Service and it's cache gets initialized.
* Removed check for pre-initialized Reflection Service in the Bootstrap.
* Now using a fixed cache key ('ReflectionData').
Related to #10146.
[~TASK] Extbase: First step of the Dispatcher refactoring.
* Added and adapted some Unit Tests.
* Moved the Dispatcher to MVC.
* Added a backwards compatibility Dispatcher on root level.
* Added a Bootstrap class.
* Removed all backend module support for now.
Related to #7153.
[+TASK] Extbase: Added branch for the dispatcher refactoring.

8 years ago[!!!][+BUGFIX] Extbase: fixed typo in getter and setter of Tx_Extbase_Domain_Model_Fr...
Marc Bastian Heinrichs [Sun, 7 Nov 2010 11:39:41 +0000 (11:39 +0000)]
[!!!][+BUGFIX] Extbase: fixed typo in getter and setter of Tx_Extbase_Domain_Model_FrontendUser::lastlogin . Thanks to Christian Schwan. Resolves #9345

8 years ago[+FEATURE] Extbase (MVC): Backport possibility to change the view object class name...
Bastian Waidelich [Tue, 2 Nov 2010 19:03:28 +0000 (19:03 +0000)]
[+FEATURE] Extbase (MVC): Backport possibility to change the view object class name more easily

Backported FLOW3s improved resolveView() mechanism. Tx_Fluid_View_TemplateView is still the default implementation, but can be easily changed by setting $defaultViewObjectName in your controller. Besides it's possible to specifying different views depending on the current request format by setting $viewFormatToObjectNameMap.
NOTE: If the view can't be rendered, the new template based "NotFoundView" will be created. So instead of the invisible HTML comments of the EmptyView, you'll get a more meaningful error message if the template file could not be found

Resolves: #8990

8 years ago[+BUGFIX] Extbase: Some smaller tweaks and fixes
Bastian Waidelich [Tue, 2 Nov 2010 18:20:52 +0000 (18:20 +0000)]
[+BUGFIX] Extbase: Some smaller tweaks and fixes
[!!!][+FEATURE] Extbase (Persistence): Backport QueryResult from FLOW3

Now Query::execute() returns an instance of QueryResultInterface that allows it to modify the query before actually accessing the records that it retrieves. This is required for the upcoming "Fluid widgets" backport (#10568).
NOTE: This change is not backwards compatible, if you work with PHPs array_* functions on the query result. To work around this issue, you'll have to convert the query result to an array before by calling the QueryResult::toArray() method. We're planning to add a compatibility mode, but that's not yet implemented.

Resolves: #10566

8 years ago[+BUGFIX] Extbase (Object): Minor fix in ObjectManager to make it compatible with...
Bastian Waidelich [Tue, 2 Nov 2010 18:06:24 +0000 (18:06 +0000)]
[+BUGFIX] Extbase (Object): Minor fix in ObjectManager to make it compatible with PHP 5.2.x

Relates to: #9062

8 years ago[+BUGFIX] Extbase (Object): Refactor Object Manager
Sebastian Kurfürst [Tue, 2 Nov 2010 13:23:07 +0000 (13:23 +0000)]
[+BUGFIX] Extbase (Object): Refactor Object Manager

The Object Manager is now at the same location and
has the same API as in FLOW3.

[+BUGFIX] Extbase: Major cleanups to Dependency Injection and Persistence

Now, DI finally works with Persistence, cleaning
this greatly up. Additionally, all internal
t3lib_div::makeInstance calls have been replaced.
Now, dependency injection is actually usable.

Additionally, we completely thought over which
persistence classes need to be singleton and which
should be prototype, leading finally to a
coherent design in the persistence layer.

[+BUGFIX] Extbase: remove non-used interfaces

Removed classes which were not used.

Relates to: #9062
Resolves: #10585
Resolves: #10564

8 years ago* Cleaned up Persistence Backend
Sebastian Kurfürst [Tue, 2 Nov 2010 09:42:08 +0000 (09:42 +0000)]
* Cleaned up Persistence Backend

8 years ago* Cleaned up QOM Factory
Sebastian Kurfürst [Tue, 2 Nov 2010 09:42:01 +0000 (09:42 +0000)]
* Cleaned up QOM Factory

8 years ago[+BUGFIX] Extbase (MVC): Fix arguments object
Sebastian Kurfürst [Tue, 2 Nov 2010 09:41:53 +0000 (09:41 +0000)]
[+BUGFIX] Extbase (MVC): Fix arguments object

The arguments object is now correctly inheriting from ArrayObject

Resolves: #10562

[+BUGFIX] Extbase (MVC): Make database connection work again

Resolves: #10585

8 years ago[+FEATURE] Extbase (DI): merging DI into trunk. (resolves #10558)
Felix Oertel [Mon, 1 Nov 2010 21:38:37 +0000 (21:38 +0000)]
[+FEATURE] Extbase (DI): merging DI into trunk. (resolves #10558)

8 years ago[+TASK] Extbase: Undefined identifier in Tx_Extbase_Persistence_Storage_Typo3DbBacken...
Xavier Perseguers [Mon, 1 Nov 2010 17:44:41 +0000 (17:44 +0000)]
[+TASK] Extbase: Undefined identifier in Tx_Extbase_Persistence_Storage_Typo3DbBackend::removeRow

Method clearPageCache was given an undefined variable $uid as second parameter.

Resolves: #10570

8 years ago[+TASK] Extbase: $query->contains generate incomplete SQL
Xavier Perseguers [Mon, 1 Nov 2010 17:38:13 +0000 (17:38 +0000)]
[+TASK] Extbase: $query->contains generate incomplete SQL

Use FIND_IN_SET instead of a self-constructed query of LIKE statements
Resolves: #8959

8 years ago[+BUGFIX] Extbase (Persistence): Removed method createQuery from the QOMFactory....
Jochen Rau [Tue, 19 Oct 2010 14:50:32 +0000 (14:50 +0000)]
[+BUGFIX] Extbase (Persistence): Removed method createQuery from the QOMFactory. It is neither part of the API nor is it used by Extbase.

Resolves #10215

8 years ago[+BUGFIX] Extbase (Property): Minor fix in PHP doc comment
Bastian Waidelich [Mon, 18 Oct 2010 17:56:57 +0000 (17:56 +0000)]
[+BUGFIX] Extbase (Property): Minor fix in PHP doc comment

Fix the order of @param annotation in Tx_Extbase_Property_Mapper::mapAndValidate()
Resolves: #5887

8 years ago[~CONFIGURATION] Extbase (MVC): Changed default value for automatic target page deter...
Jochen Rau [Mon, 27 Sep 2010 13:59:55 +0000 (13:59 +0000)]
[~CONFIGURATION] Extbase (MVC): Changed default value for automatic target page determination

The page id gets automatically detected if plugin.tx_extensionname_pluginname.view.defaultPid
is an empty string (was "auto" before). This ensures backwards compatibility.

Resolves #9121

9 years ago[TASK] Extbase: moved Release Notes to ChangeLog.txt.
Sebastian Kurfürst [Sun, 26 Sep 2010 09:47:50 +0000 (09:47 +0000)]
[TASK] Extbase: moved Release Notes to ChangeLog.txt.

9 years ago[+FEATURE] Extbase (MVC): Automatic target page determination
Bastian Waidelich [Thu, 23 Sep 2010 18:41:44 +0000 (18:41 +0000)]
[+FEATURE] Extbase (MVC): Automatic target page determination

you can use the "pageUid" argument of the link.* and uri.* view helpers
to link to a different page. That is deprecated though as we won't have
the notion of "page uids" in v5. Instead the target page is now determined
automatically.
If the target page can't be determined because more than one active
plugin is capable of handling the action an exception will be thrown.
In that case you'll have to define the target page either by using the
pageUid argument or - preferably - by setting
plugin.tx_extensionname_pluginname.view.defaultPid to a fixed page uid.

Note: This feature still has to be documented!

Resolves: #9121

9 years ago[+FEATURE] Extbase (MVC): Configurable plugin namespace
Bastian Waidelich [Thu, 23 Sep 2010 16:41:04 +0000 (16:41 +0000)]
[+FEATURE] Extbase (MVC): Configurable plugin namespace

until now the namespace (aka prefix) of Extbase plugins was
fixed (tx_extensionname_pluginname). This is now configurable
via TypoScript. Just write:
plugin.tx_extensionname_pluginname.view.pluginNamespace = my_custom_namespace
to change the prefix for a specific plugin or
plugin.tx_extensionname.view.pluginNamespace = my_custom_namespace
to change if for the whole extension.

Note: This feature still has to be documented!

Resolves: #8365

9 years ago* Fixed typo in ChangeLog.
Sebastian Kurfürst [Wed, 22 Sep 2010 07:01:48 +0000 (07:01 +0000)]
* Fixed typo in ChangeLog.

9 years ago* Raised version number to 1.3.0alpha2 and updated ChangeLog.
Sebastian Kurfürst [Wed, 22 Sep 2010 06:46:58 +0000 (06:46 +0000)]
* Raised version number to 1.3.0alpha2 and updated ChangeLog.

9 years ago[!!!][+BUGFIX] Extbase: Fix Extbase Caching Bug (thanks to Bastian Waidelich)
Jochen Rau [Mon, 20 Sep 2010 13:48:47 +0000 (13:48 +0000)]
[!!!][+BUGFIX] Extbase: Fix Extbase Caching Bug (thanks to Bastian Waidelich)

Non-cacheable actions were cached due to the fact that TYPO3s
TypoScript condition "GP" does not merge GET & POST vars.
Additionally "switchableControllerActions" that were overridden
in the plugin flexform were not taken into account.
This is a breaking change if you set up your TS configuration
of the plugin manually.

9 years ago[-TASK] Extbase (MVC): removed fallback to current page in AbstractController::redire...
Bastian Waidelich [Mon, 20 Sep 2010 10:03:02 +0000 (10:03 +0000)]
[-TASK] Extbase (MVC): removed fallback to current page in AbstractController::redirect() as that's already done within the UriBuilder if $targetPageUid is NULL

9 years ago* Added ChangeLog
Sebastian Kurfürst [Tue, 24 Aug 2010 08:31:15 +0000 (08:31 +0000)]
* Added ChangeLog
* Raised Version to 1.3.0alpha1

9 years ago[~TASK] Extbase: Raised version number to 1.3.0-devel to reflect the version scheme...
Franz Koch [Fri, 6 Aug 2010 12:35:49 +0000 (12:35 +0000)]
[~TASK] Extbase: Raised version number to 1.3.0-devel to reflect the version scheme defined in the wiki. Resolves #9152. Thanks Xavier for pointing to it.

9 years ago[+TASK] Extbase (MVC): cleaned up View implementations and added assign() and assignM...
Bastian Waidelich [Wed, 4 Aug 2010 17:56:45 +0000 (17:56 +0000)]
[+TASK] Extbase (MVC): cleaned up View implementations and added assign() and assignMultiple() methods to ViewInterface. This resolves #9137

9 years ago[+BUGFIX] Extbase: Fixed a small typo in extension description.
Jochen Rau [Tue, 27 Jul 2010 09:46:39 +0000 (09:46 +0000)]
[+BUGFIX] Extbase: Fixed a small typo in extension description.

9 years ago[+BUGFIX] Extbase (Persistence): DataMapper now mapps NULL into a property on non...
Felix Oertel [Wed, 21 Jul 2010 13:53:11 +0000 (13:53 +0000)]
[+BUGFIX] Extbase (Persistence): DataMapper now mapps NULL into a property on non-existing related object instead of FALSE. Resolves #8973.

9 years ago[+BUGFIX] Extbase (Reflection): getParentClass() in Tx_Extbase_Reflection_ClassReflec...
Jochen Rau [Wed, 21 Jul 2010 11:37:01 +0000 (11:37 +0000)]
[+BUGFIX] Extbase (Reflection): getParentClass() in Tx_Extbase_Reflection_ClassReflection no longer causes a fatal error if no parent class exists. Resolves #8800.

9 years ago[+BUGFIX] Extbase (Utility): Improved performance of TypoScript::convertTypoScriptArr...
Jochen Rau [Tue, 20 Jul 2010 10:19:01 +0000 (10:19 +0000)]
[+BUGFIX] Extbase (Utility): Improved performance of TypoScript::convertTypoScriptArrayToPlainArray. Thanks to Timo Schmidt. Resolves #8857.

9 years ago[~TASK] Extbase: Changed state to 'stable'. Resolves #8768.
Jochen Rau [Tue, 20 Jul 2010 10:18:55 +0000 (10:18 +0000)]
[~TASK] Extbase: Changed state to 'stable'. Resolves #8768.

9 years ago[+BUGFIX] Extbase: Fixed EOL and encoding of several files. Resolves #8876.
Jochen Rau [Tue, 20 Jul 2010 10:18:51 +0000 (10:18 +0000)]
[+BUGFIX] Extbase: Fixed EOL and encoding of several files. Resolves #8876.

9 years ago[+BUGFIX] Extbase (MVC): Fixed a problem where a non-required action argument throwed...
Jochen Rau [Mon, 5 Jul 2010 11:06:37 +0000 (11:06 +0000)]
[+BUGFIX] Extbase (MVC): Fixed a problem where a non-required action argument throwed Exception if it was not found in the Backend. Thanks to Marc Bastian Heinrichs. Resolves #7277.

9 years ago[!!!][+BUGFIX] Extbase (Persistence): All methods trying to find an object by uid...
Jochen Rau [Thu, 1 Jul 2010 18:35:11 +0000 (18:35 +0000)]
[!!!][+BUGFIX] Extbase (Persistence): All methods trying to find an object by uid now ignores the storagePid. This changes the behavior of argument mapping and the way extbase fetches 1:1 relations. Resolves #5631.

9 years ago[+BUGFIX] Extbase (Persistence): Fixed a problem where localized objects inside an...
Jochen Rau [Thu, 1 Jul 2010 18:34:46 +0000 (18:34 +0000)]
[+BUGFIX] Extbase (Persistence): Fixed a problem where localized objects inside an aggregate are not translated. Resolves #8555.

9 years ago[~TASK] Extbase: Removed new lines at the end of php files.
Jochen Rau [Thu, 1 Jul 2010 18:34:42 +0000 (18:34 +0000)]
[~TASK] Extbase: Removed new lines at the end of php files.

9 years ago[~TASK] Extbase: Raised version number to 1.2.0.
Jochen Rau [Tue, 22 Jun 2010 10:54:45 +0000 (10:54 +0000)]
[~TASK] Extbase: Raised version number to 1.2.0.

9 years ago[~TASK] Extbase: Raised version number to 1.2.0RC2
Jochen Rau [Tue, 22 Jun 2010 08:39:31 +0000 (08:39 +0000)]
[~TASK] Extbase: Raised version number to 1.2.0RC2