[TYPO3-core] [FYI] Raised Fluid and Extbase versions from 0.9.5 to 0.9.6
Sebastian Kurfürst
sebastian at typo3.org
Thu Sep 17 16:05:11 CEST 2009
Hi everybody,
In this FYI, we raise the Extbase / Fluid versions included in TYPO3
core from 0.9.5 to 0.9.6.
Now comes the beta phase for extbase and fluid as well, meaning that
the API is quite stable now and we will concentrate on bugfixing.
Despite the small version number change, quite a lot has happened:
- Greatly improved support for backend modules. This is still alpha,
but works quite well.
- Fixed the severe error with 1:1 relations
- Rewritten ValidatorResolver. Now Validation of arguments actually
works and should be a lot more reliable than it was before.
- Implemented Flash Messages
- Added many ViewHelpers (Count, Padding, Password Input, Cycle,
GroupedFor)
- Improved Property Mapper and error messages
- many many bugfixes
The following bugfixes imposed an API change and are NON BACKWARD
COMPATIBLE:
[!!!][+BUGFIX] Extbase (Domain): Fixed support for usergroups and
subgroups. Renamed properties subgroup to subgroups and usergroup to
usergroups as they can hold multiple instances. Added mapping
configuration. Resolves #4620.
[!!!][+BUGFIX] Extbase (MVC): Now, in case people do not specify an
@param annotation, they will get an exception instead of Text being
used.
[!!!][+FEATURE] Fluid (TemplateView): made layoutRootPath and
partialRootPath configurable. Now templateRootPath defines the path to
the "Templates" folder. LayoutRootPath & PartialRootPath can be
specified independently. Related to #3296.
Below, you'll find the whole changelog.
Greets,
Sebastian
PS: Thanks to everybody involved in Extbase and Fluid! It's a lot of
fun working with you!
Extbase
[+BUGFIX] Extbase (Utility): Fixed TypoScript array conversion by now
using _typoScriptNodeValue always. Resolves #4300
[~TASK] Fluid (Tests): Renamed "URIBuilder_testcase" to
"UriBuilder_testcase"
[+FEATURE] Extbase (MVC): Tx_Extbase_MVC_Web_Routing_UriBuilder::reset
() now returns itself to support method chaining. This resolves #4411
[+FEATURE] Extbase (MVC): Added
Tx_Extbase_MVC_Web_Routing_UriBuilder::setFormat(). This allows you to
specify the format of the target (e.g. <f:link.action format="xml" /
>). Some smaller tweaks in UriBuilder
[+BUGFIX] Extbase (MVC): format was not reset in
Tx_Extbase_MVC_Web_Routing_UriBuilder::reset()
[+BUGFIX] Extbase (Property): Fixed the property mapper by backporting
the FLOW3 changes. Now we support mapping of 1:1 relations as well.
Resolves #4357.
[+FEATURE] Extbase (Persistence): Implemented a second Lazy Loading
strategy called "storage". In contrast to the LazyLoadingProxy it is a
StorageObject which loads its internal storage array lazy. This
enables the framework to intercept count($propertyValue). Furthermore,
you don't have to load the real instance inside your domain model
class. Related to #3596.
[+BUGFIX] Extbase (Persistence): It is now possible to pass an object
as operand of a comparison.
[+FEATURE] Extbase (MVC): Implemented flash messages.
[+BUGFIX] Extbase (Reflection): Fixed buildClassSchema() to prevent a
PHP warning.
[~BUGFIX] Extbase (MVC): fixed a typo in reflection service that was
introduced in r1242 and completely disabled reflection for arguments
[-TASK] Extbase (MVC): Removed check for multiple data types. It makes
no sense to allow multiple types.
[+BUGFIX] Extbase (Persistence): Fixed a problem with empty
$fieldValue causing an SQL error.
[!!!][+BUGFIX] Extbase (Domain): Fixed support for usergroups and
subgroups. Renamed properties subgroup to subgroups and usergroup to
usergroups as they can hold multiple instances. Added mapping
configuration. Resolves #4620.
[+FEATURE] Extbase (MVC): Now, non-domain-objects can be mapped inside
an argument as well. Additionally, improved the exceptions in these
cases. Related to #4631
[~TASK] Extbase (Domain): Changed property usergroups to usergroup
(FrontendUser) and sungroups to subgroup (FrontendUserGroup) equal to
the field names in the database (to avoid confusion).
[+TASK] Extbase: The Configuration Manager is now stored in a static
class member variable and can be retrieved by
Tx_Extbase_Dispatcher::getConfigurationManager() (not an API function!).
[+BUGFIX] Extbase (Persistence): Fixed sorting of m:m relations
(sorting and sorting_foreign fields in the relation table). Resolves
#4470.
[+FEATURE] Extbase (Configuration): Configuration is available in
Backend modules now! Depending on TYPO3_MODE the dispatcher now
creates an instance of Frontend- or BackendConfigurationManager.
TypoScriptSource has been adjusted to support Backend mode. This
resolves #4418
[~TASK] Extbase (Configuration): Moved Configuration Source Interface
from Classes/Configuration to Classes/Configuration/Source
[+TASK] Extbase (MVC): AbstractController::redirectToURI() prepends
'typo3/' to the absolute URI when in Backend mode
[+FEATURE] Extbase (MVC): added a call to t3lib_div::getFileAbsFileName
() for templateRootPath to allow notations like "EXT:extension/path"
and to validate the template path
[+FEATURE] Extbase (MVC): settings are now assigned to the view in
AbstractController::resolveView. Now settings are available in your
template as {settings}!
[+FEATURE] Extbase (MVC): UriBuilder can now create absolute URIs in
Backend mode too
[+BUGFIX] Extbase (Persistence): added t3lib_BEfunc::deleteClause()
call to enableFieldsStatement in Backend mode. Otherwise deleted
records would be selected in BE
Renamed reflection cache table to "tx_extbase_cache_reflection" to fit
conventions
[+BUGFIX] Extbase (Persistence): Removed call to undefined method
Tx_Extbase_Persistence_Query::getSource(). Thanks to Nikolas
Hagelstein. Resolves #4642.
[+BUGFIX] Extbase (Configuration): Fixed the configuration manager so
that the storage PID can be set from the plugins "Startingpoint"
selector.
[!!!][~FEATURE] Extbase (MVC): Improved the way flash messages are
handled. Now there is a separate "FlashMessages" object which
encapsulates handling the flash messages. This removes $this-
>pushFlashMessage and $this->popFlashMessages inside the Controller
and {flashMessages} inside Fluid Template. PLEASE UPGRADE by replacing
"$this->pushFlashMessage(" with "$this->flashMessages->add(" inside
your Controllers, and use <f:renderFlashMessages /> instead of the
custom for loop inside your templates. Note: You can set a custom CSS
class for outputting flash messages by using <f:renderFlashMessages
class="..." /> inside your templates. Related to #4638.
[+BUGFIX] Extbase (MVC): Fixed instanciation of Reflection Service
(instanciated twice).
[+BUGFIX] Extbase (Persistence): Fixed wrong variable name ($uid ->
$identifier).
[+TASK] Extbase (Persistence): Implemented a first level cache to
reduce number of calls to the storage backend (in the Repository).
[+TASK] Extbase: Minor cleanups.
[+BUGFIX] Extbase (Persistence): The function in_array is now used to
determine which objects of an aggregate were removed as array_diff
tries to convert objects to strings. Resolves #4655.
[~BUGFIX] Extbase (Persistence): Reverted the method to count elements
of a comma separated list relation because it ignores hidden elements.
Related to #3596, #4669, #4635.
[~TASK] Extbase: Changed status from alpha to beta. Extbase is now
attached to category "misc".
[+FEATURE] Extbase (MVC): made layoutRootPath and partialRootPath
configurable. Now view.templateRootPath defines the path to the
"Templates" folder. view.layoutRootPath & view.partialRootPath can be
specified independently. Related to #3296.
[~TASK] Extbase (MVC): Fixed doc comment in UriBuilder
[-API] Extbase (MVC): Removed enableValidation() and disableValidation
() on the Controller Argument. They are not needed anymore.
[!!!][+BUGFIX] Extbase (MVC): Now, in case people do not specify an
@param annotation, they will get an exception instead of Text being
used.
[+BUGFIX] Extbsee (MVC): Cleaned up validator registration in
ActionController. Now, @dontvalidate annotations only disable the
model-based validators.
[+BUGFIX] Extbase (Validation): Cleaned up ValidatorResolver. Now,
Validators which check the data type from the @param annotation are
also added to the validator chain.
[!!!][+BUGFIX] Extbase (Validation): @param string is now validated as
string, and not anymore as Text. This fixes numerous bug reports in
Fluid.
Fluid
[+FEATURE] Fluid (ViewHelpers): added "format" argument to action- and
page-viewHelpers. Now you can create links like "<f:link.action
format="xml" />"
[+BUGFIX] Fluid: Fixed fatal error and missing uid to __identifier
conversion.
[+FEATURE] Fluid (ViewHelpers): Added a simple CountViewHelper.
[+BUGFIX] Fluid (ViewHelpers): Fixed TranslateViewHelper. LLLabels can
now be overwritten via TS
(plugin.tx_blogexample.settings._LOCAL_LANG .default.read_more = more).
[+FEATURE] Fluid (ViewHelpers): Added a PaddingViewHelper
[+FEATURE] Fluid (ViewHelpers): Added a RenderFlashMessages ViewHelper
[TASK] Fluid (Core): Added a PaddingViewHelper
[TASK] Fluid (Core): Added an exception if ViewHelpers declare an
argument multiple times.
[+FEATURE] Fluid (ViewHelpers): Added a Form Password ViewHelper, to
generate password input boxes. Resolves #4648.
[~TASK] Fluid: tweaked exception that is thrown when trying to iterate
through non-traversable objects in ForViewHelper
[+FEATURE] Fluid: added CycleViewHelper. Resolves #4458
[+FEATURE] Fluid: added GroupedForViewHelper. Resolves #4460
[+TASK] Fluid: added test case for PaddingViewHelper. Relates to #4459
4207[~TASK] Fluid: made action argument optional in Uri/
ActionViewHelper. Relates to #4207.
[!!!][+FEATURE] Fluid (TemplateView): made layoutRootPath and
partialRootPath configurable. Now templateRootPath defines the path to
the "Templates" folder. LayoutRootPath & PartialRootPath can be
specified independently. Related to #3296.
--
Gimme five!
More information about the TYPO3-team-core
mailing list