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
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
Sebastian Kurfürst [Wed, 1 Dec 2010 07:09:08 +0000 (07:09 +0000)]
* Raised version number to 1.3.0beta2
* Updated ChangeLog
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
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
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
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
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
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
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
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
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
Sebastian Kurfürst [Tue, 30 Nov 2010 10:40:36 +0000 (10:40 +0000)]
[TASK] Extbase (Configuration): Fix whitespaces
Removed some trailing whitespaces.
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)
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.
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"
Bastian Waidelich [Sat, 27 Nov 2010 11:57:04 +0000 (11:57 +0000)]
[+TASK] Extbase (Tests): Moving all Tests in "Unit" directory (2/2)
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
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
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
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
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
Bastian Waidelich [Wed, 24 Nov 2010 18:47:53 +0000 (18:47 +0000)]
[+BUGFIX] Extbase (MVC): disable HMAC check for BE forms
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.
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
Bastian Waidelich [Wed, 17 Nov 2010 12:25:00 +0000 (12:25 +0000)]
* Updated version to 1.3.0beta1a
* Updated ChangeLog
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
Bastian Waidelich [Tue, 16 Nov 2010 13:12:35 +0000 (13:12 +0000)]
[+BUGFIX]: Extbase (Persistence): Fixed typo from previous commit
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
Sebastian Kurfürst [Tue, 16 Nov 2010 11:42:08 +0000 (11:42 +0000)]
* Raised version number to 1.3.0beta1
Sebastian Kurfürst [Tue, 16 Nov 2010 11:18:55 +0000 (11:18 +0000)]
* Updated ChangeLog
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
Sebastian Kurfürst [Tue, 16 Nov 2010 10:52:30 +0000 (10:52 +0000)]
* Updated ChangeLog
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
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
Bastian Waidelich [Tue, 16 Nov 2010 10:38:14 +0000 (10:38 +0000)]
* Updated ChangeLog
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
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.
Jochen Rau [Tue, 16 Nov 2010 10:17:24 +0000 (10:17 +0000)]
[~TASK] Extbase: Reimplemented BE module support. Still needs cleanup.
Jochen Rau [Tue, 16 Nov 2010 10:17:03 +0000 (10:17 +0000)]
[~BUGFIX] Extbase: Fixed the way a module gets called.
Sebastian Kurfürst [Tue, 16 Nov 2010 09:41:31 +0000 (09:41 +0000)]
Updated ChangeLog
Sebastian Kurfürst [Tue, 16 Nov 2010 09:36:00 +0000 (09:36 +0000)]
* Updated ChangeLog
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
Sebastian Kurfürst [Tue, 2 Nov 2010 09:42:08 +0000 (09:42 +0000)]
* Cleaned up Persistence Backend
Sebastian Kurfürst [Tue, 2 Nov 2010 09:42:01 +0000 (09:42 +0000)]
* Cleaned up QOM Factory
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
Felix Oertel [Mon, 1 Nov 2010 21:38:37 +0000 (21:38 +0000)]
[+FEATURE] Extbase (DI): merging DI into trunk. (resolves #10558)
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
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
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
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
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
Sebastian Kurfürst [Sun, 26 Sep 2010 09:47:50 +0000 (09:47 +0000)]
[TASK] Extbase: moved Release Notes to ChangeLog.txt.
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
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
Sebastian Kurfürst [Wed, 22 Sep 2010 07:01:48 +0000 (07:01 +0000)]
* Fixed typo in 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.
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.
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
Sebastian Kurfürst [Tue, 24 Aug 2010 08:31:15 +0000 (08:31 +0000)]
* Added ChangeLog
* Raised Version to 1.3.0alpha1
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.
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
Jochen Rau [Tue, 27 Jul 2010 09:46:39 +0000 (09:46 +0000)]
[+BUGFIX] Extbase: Fixed a small typo in extension description.
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.
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.
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.
Jochen Rau [Tue, 20 Jul 2010 10:18:55 +0000 (10:18 +0000)]
[~TASK] Extbase: Changed state to 'stable'. Resolves #8768.
Jochen Rau [Tue, 20 Jul 2010 10:18:51 +0000 (10:18 +0000)]
[+BUGFIX] Extbase: Fixed EOL and encoding of several files. Resolves #8876.
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.
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.
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.
Jochen Rau [Thu, 1 Jul 2010 18:34:42 +0000 (18:34 +0000)]
[~TASK] Extbase: Removed new lines at the end of php files.
Jochen Rau [Tue, 22 Jun 2010 10:54:45 +0000 (10:54 +0000)]
[~TASK] Extbase: Raised version number to 1.2.0.
Jochen Rau [Tue, 22 Jun 2010 08:39:31 +0000 (08:39 +0000)]
[~TASK] Extbase: Raised version number to 1.2.0RC2
Franz Koch [Mon, 21 Jun 2010 16:08:01 +0000 (16:08 +0000)]
[+BUGFIX] Followup for #6130. SplObjectStorages don't have a method _memorizeCleanState. So better call it in function mapResultToPropertyValue, also in order to fix the initial issue on all places where mapResultToPropertyValue is called (it's 3 times for now).
Franz Koch [Mon, 21 Jun 2010 15:52:58 +0000 (15:52 +0000)]
use existing method to check for lazyLoaded properties instead of repeating the detection code
Franz Koch [Mon, 21 Jun 2010 15:48:03 +0000 (15:48 +0000)]
Some cosmetics and cleanups
- fixed doc comment (we no longer have a Tx_Extbase_Persistence_RowInterface)
- use foreach instead of a while/list construct (is supposed to be faster)
- in ClassLoader require files only once (just in case)
Jochen Rau [Sun, 20 Jun 2010 07:18:23 +0000 (07:18 +0000)]
[+TASK[+BUGFIX] Extbase (Persistence): Lazy loading of objects no longer triggers unneeded database update of related objects. Thanks to Franz-Xaver Koch. Resolves #6130.] Extbase (Persistence): Fixed a bug where extbase got into a recursion during persistence.
Jochen Rau [Sun, 20 Jun 2010 07:18:15 +0000 (07:18 +0000)]
[+BUGFIX] Extbase (Persistence): Changes made to a domain object sitting at a "dirty" property get persisted now. Resolves #8244.
Jochen Rau [Sun, 20 Jun 2010 07:18:10 +0000 (07:18 +0000)]
[+BUGFIX] Extbase (Persistence): Fixed processing of one-to-one relations with intermediate table. Resolves #8362.
Jochen Rau [Sun, 20 Jun 2010 03:57:33 +0000 (03:57 +0000)]
[+BUGFIX] Extbase (Persistence): Follow-up to r2371. Fixed NULL initialization and documentation. Related to #8320.
Jochen Rau [Sat, 19 Jun 2010 17:10:38 +0000 (17:10 +0000)]
[+BUGFIX] Extbase (Persistence): Fixed a problem where the third argument was mandatory, when calling Query->statement. Resolves #8320.