[TYPO3-core] RFC #16878: Feature: Make t3lib_utility_Client::getBrowserInfo() aware of more operating systems

Ernesto Baschny [cron IT] ernst at cron-it.de
Thu Jan 20 09:01:42 CET 2011


Stanislas Rolland schrieb am 20.01.2011 07:01:
> Le 2011-01-04 12:32, Jeff Segars a écrit :
>> Thanks for your patch! We're already past the feature freeze for TYPO3
>> 4.5, so if this patch is considered a new feature it will have to wait
>> for TYPO3 4.6.
>>
> Since, in current trunk, the RTE is not enabled anymore in various
> browser/system combinations, I would consider this not only a new
> feature, but one that breaks backwards compatibility!

True, t3lib_utility_Client::getBrowserInfo used to return "system" as:

- "winNT" for Windows 7, Vista, XP, Windows 2000
- "mac" for iOS
- "linux" for Android
- "" BSD and ChromeOS

This was changed in this patch.

>> As far as backwards compatibility goes, I wonder if we can do something
>> similar to how the browser detection is handled. In getBrowserInfo() it
>> returns the specific browser as well as an "all" entry with other
>> entries. In t3lib_matchcondition_abstract->evaluateConditionCommon(),
>> the "all" entry is used so that the older, less specific entries still
>> match.
>>
> The patch that was committed does not do that. The 'all_systems' entry
> does NOT include all parsed systems, but only the 'old' ones.

Also true, Stan. You have already changed rtehtmlarea adapting to it.
But we could make "system" work like before again and deprecate the use
of "system". Add all new (and more precise) stuff to "all_systems" and
only work with it in future. Would that fit?

See attached patch, which:

- keeps the old values in 'system' for the extensions which still use
this value and rely on it to be the old stuff (like mentioned above)

- has the old *and* new values in all_systems

- t3lib_matchcondition now only uses all_systems for its matching, thus
TypoScript is still backwards compatible but the system does not use
'system' anymore

- adapted the test cases to reflect that and adds the tests for
backwards compatibility

Please test if this is ok with you Stan, maybe by reverting your RTE
changes. If it fits, maybe you can adapt RTE to use all_systems too?

Thanks for spotting this!

Cheers,
Ernesto

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 16878-backwards-compatible-followup.diff
URL: <http://lists.typo3.org/pipermail/typo3-team-core/attachments/20110120/ad9553d0/attachment-0001.txt>


More information about the TYPO3-team-core mailing list