Skip to content

Instantly share code, notes, and snippets.

@mhuber84
Last active September 12, 2016 15:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mhuber84/9da479f5410fe4c1abceea90cce6baf2 to your computer and use it in GitHub Desktop.
Save mhuber84/9da479f5410fe4c1abceea90cce6baf2 to your computer and use it in GitHub Desktop.
TYPO3 language handling and starttime/stoptime test (https://forge.typo3.org/issues/76974)

Because we had some issues with language handling and starttime/stoptime, I made some tests with different configurations and TYPO3 versions. These are the results, perhaps they are usefull for someone else, too.

Configuration 1

### TypoScript:
config.sys_language_overlay = 0
config.sys_language_mode = strict

### Page-TsConfig:
mod.web_layout.defLangBinding = 0
# since 7.6
mod.web_layout.allowInconsistentLanguageHandling = 1

Tests

Testcase Language BE FE default FE de
TYPO3 6.2.25
01. publish date: ce in language default only default OK (field is editable) OK (shown after publish date passed) OK (not shown)
02. expiration date: ce in language default only default OK (field is editable) OK (shown before expiration date passed) OK (not shown)
03. publish date: ce in language de only de ERROR (field is not editable, Forge says "WONTFIX for 6.2", see #68043 and #32252) [not testable] [not testable]
04. expiration date: ce in language de only de ERROR (field is not editable, Forge says "WONTFIX for 6.2", see #68043 and #32252) [not testable] [not testable]
05. publish date: ce in language default and translated to de default OK (field is editable) OK (shown after publish date passed) OK (not shown)
06. [translation of 05.] de OK (field is not editable) OK (not shown) ERROR (shown even bevore publish date passed)
07. expiration date: ce in language default and translated to de default OK (field is editable) OK (shown before expiration date passed) OK (not shown)
08. [translation of 07.] de OK (field is not editable) OK (not shown) ERROR (shown even after expiration date passed)
TYPO3 7.6.9
09. publish date: ce in language default only default OK (field is editable) OK (shown after publish date passed) OK (not shown)
10. expiration date: ce in language default only default OK (field is editable) OK (shown before expiration date passed) OK (not shown)
11. publish date: ce in language de only de OK (field is editable) OK (not shown) OK (shown after publish date passed)
12. expiration date: ce in language de only de OK (field is editable) OK (not shown) OK (shown before expiration date passed)
13. publish date: ce in language default and translated to de default OK (field is editable) OK (shown after publish date passed) OK (not shown)
14. [translation of 13.]publish date: ce in language default and translated to de de OK (field is not editable) OK (not shown) ERROR (shown even bevore publish date passed)
15. expiration date: ce in language default and translated to de default OK (field is editable) OK (shown before expiration date passed) OK (not shown)
16. [translation of 15.]expiration date: ce in language default and translated to de de OK (field is not editable) OK (not shown) ERROR (shown even after expiration date passed)

Configuration 2

### TypoScript:
config.sys_language_overlay = 1
config.sys_language_mode = strict

### Page-TsConfig:
# should be true if "config.sys_language_overlay = 1" (see https://docs.typo3.org/typo3cms/TyposcriptReference/7.6/Setup/Config/#sys-language-overlay)
mod.web_layout.defLangBinding = 1
# since 7.6
mod.web_layout.allowInconsistentLanguageHandling = 1

Tests

Testcase Language BE FE default FE de
TYPO3 6.2.25
01. publish date: ce in language default only default OK (field is editable) OK (shown after publish date passed) OK (shown after publish date passed because of "config.sys_language_overlay = 1")
02. expiration date: ce in language default only default OK (field is editable) OK (shown before expiration date passed) OK (shown after publish date passed because of "config.sys_language_overlay = 1")
03. publish date: ce in language de only de OK (ce is not shown in the page module) [not testable] [not testable]
04. expiration date: ce in language de only de OK (ce is not shown in the page module) [not testable] [not testable]
05. publish date: ce in language default and translated to de default OK (field is editable) OK (shown after publish date passed) OK (not shown)
06. [translation of 05.] de OK (field is not editable) OK (not shown) OK (shown after publish date passed)
07. expiration date: ce in language default and translated to de default OK (field is editable) OK (shown before expiration date passed) OK (not shown)
08. [translation of 07.] de OK (field is not editable) OK (not shown) OK (shown before expiration date passed)
TYPO3 7.6.9
09. publish date: ce in language default only default OK (field is editable) OK (shown after publish date passed) OK (shown after publish date passed because of "config.sys_language_overlay = 1")
10. expiration date: ce in language default only default OK (field is editable) OK (shown before expiration date passed) OK (shown after publish date passed because of "config.sys_language_overlay = 1")
11. publish date: ce in language de only de OK (ce is not shown in the page module) [not testable] [not testable]
12. expiration date: ce in language de only de OK (ce is not shown in the page module) [not testable] [not testable]
13. publish date: ce in language default and translated to de default OK (field is editable) OK (shown after publish date passed) OK (not shown)
14. [translation of 13.] de OK (field is not editable) OK (not shown) OK (shown after publish date passed)
15. expiration date: ce in language default and translated to de default OK (field is editable) OK (shown before expiration date passed) OK (not shown)
16. [translation of 15.] de OK (field is not editable) OK (not shown) OK (shown before expiration date passed)

Configuration 3

### TypoScript:
config.sys_language_overlay = hideNonTranslated
config.sys_language_mode = strict

### Page-TsConfig:
# should be true if "config.sys_language_overlay = hideNonTranslated" (see https://docs.typo3.org/typo3cms/TyposcriptReference/7.6/Setup/Config/#sys-language-overlay)
mod.web_layout.defLangBinding = 1
# since 7.6
mod.web_layout.allowInconsistentLanguageHandling = 1

Tests

Testcase Language BE FE default FE de
TYPO3 6.2.25
01. publish date: ce in language default only default OK (field is editable) OK (shown after publish date passed) OK (not shown because of "config.sys_language_overlay = hideNonTranslated")
02. expiration date: ce in language default only default OK (field is editable) OK (shown before expiration date passed) OK (not shown because of "config.sys_language_overlay = hideNonTranslated")
03. publish date: ce in language de only de OK (ce is not shown in the page module) [not testable] [not testable]
04. expiration date: ce in language de only de OK (ce is not shown in the page module) [not testable] [not testable]
05. publish date: ce in language default and translated to de default OK (field is editable) OK (shown after publish date passed) OK (not shown)
06. [translation of 05.] de OK (field is not editable) OK (not shown) OK (shown after publish date passed)
07. expiration date: ce in language default and translated to de default OK (field is editable) OK (shown before expiration date passed) OK (not shown)
08. [translation of 07.] de OK (field is not editable) OK (not shown) OK (shown before expiration date passed)
TYPO3 7.6.9
09. publish date: ce in language default only default OK (field is editable) OK (shown after publish date passed) OK (not shown because of "config.sys_language_overlay = hideNonTranslated")
10. expiration date: ce in language default only default OK (field is editable) OK (shown before expiration date passed) OK (not shown because of "config.sys_language_overlay = hideNonTranslated")
11. publish date: ce in language de only de OK (ce is not shown in the page module) [not testable] [not testable]
12. expiration date: ce in language de only de OK (ce is not shown in the page module) [not testable] [not testable]
13. publish date: ce in language default and translated to de default OK (field is editable) OK (shown after publish date passed) OK (not shown)
14. [translation of 13.] de OK (field is not editable) OK (not shown) OK (shown after publish date passed)
15. expiration date: ce in language default and translated to de default OK (field is editable) OK (shown before expiration date passed) OK (not shown)
16. [translation of 15.] de OK (field is not editable) OK (not shown) OK (shown before expiration date passed)

Configuration 4

### TypoScript:
config.sys_language_overlay = hideNonTranslated
config.sys_language_mode = strict

### Page-TsConfig:
# should be true if "config.sys_language_overlay = hideNonTranslated" (see https://docs.typo3.org/typo3cms/TyposcriptReference/7.6/Setup/Config/#sys-language-overlay)
# but we hopefully know what we do and make an exception ;-)
mod.web_layout.defLangBinding = 0
# since 7.6
mod.web_layout.allowInconsistentLanguageHandling = 1

Tests

Testcase Language BE FE default FE de
TYPO3 6.2.25
01. publish date: ce in language default only default OK (field is editable) OK (shown after publish date passed) OK (not shown because of "config.sys_language_overlay = hideNonTranslated")
02. expiration date: ce in language default only default OK (field is editable) OK (shown before expiration date passed) OK (not shown because of "config.sys_language_overlay = hideNonTranslated")
03. publish date: ce in language de only de ERROR (field is not editable, Forge says "WONTFIX for 6.2", see #68043 and #32252) [not testable] [not testable]
04. expiration date: ce in language de only de ERROR (field is not editable, Forge says "WONTFIX for 6.2", see #68043 and #32252) [not testable] [not testable]
05. publish date: ce in language default and translated to de default OK (field is editable) OK (shown after publish date passed) OK (not shown)
06. [translation of 05.] de OK (field is not editable) OK (not shown) OK (shown after publish date passed)
07. expiration date: ce in language default and translated to de default OK (field is editable) OK (shown before expiration date passed) OK (not shown)
08. [translation of 07.] de OK (field is not editable) OK (not shown) OK (shown before expiration date passed)
TYPO3 7.6.9
09. publish date: ce in language default only default OK (field is editable) OK (shown after publish date passed) OK (not shown because of "config.sys_language_overlay = hideNonTranslated")
10. expiration date: ce in language default only default OK (field is editable) OK (shown before expiration date passed) OK (not shown because of "config.sys_language_overlay = hideNonTranslated")
11. publish date: ce in language de only de OK (field is editable) OK (not shown) ERROR (not shown)
12. expiration date: ce in language de only de OK (field is editable) OK (not shown) ERROR (not shown)
13. publish date: ce in language default and translated to de default OK (field is editable) OK (shown after publish date passed) OK (not shown)
14. [translation of 13.] de OK (field is not editable) OK (not shown) OK (shown after publish date passed)
15. expiration date: ce in language default and translated to de default OK (field is editable) OK (shown before expiration date passed) OK (not shown)
16. [translation of 15.] de OK (field is not editable) OK (not shown) OK (shown before expiration date passed)

I didn't find an issue on forge for Configuration 1, Test 06, 08, 14 and 16 (everything the same). Any hints? And, for our usecase, Configuration 4 with TYPO3 7.6 would match best. But only if I can solve the ERROR in Test 11 and 12. Are there any chances to make this work?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment