{"id":1334,"date":"2018-08-14T16:47:40","date_gmt":"2018-08-14T16:47:40","guid":{"rendered":"https:\/\/www.taywa.ch\/blog\/?p=1334"},"modified":"2022-05-03T08:47:40","modified_gmt":"2022-05-03T08:47:40","slug":"typo3-upgrade-von-version-8-lts-auf-version-9-lts","status":"publish","type":"post","link":"https:\/\/www.taywa.ch\/blog\/typo3\/typo3-upgrade\/typo3-upgrade-von-version-8-lts-auf-version-9-lts\/","title":{"rendered":"TYPO3 Upgrade von Version 8 LTS auf Version 9 LTS"},"content":{"rendered":"<h2>Vorbereitung<\/h2>\n<h3>Extension<\/h3>\n<p>Wenn eine Extension kompatibel zu Version 8 und 9 ist, kann man diese noch in der Version 8 auf die neuste Version updaten. Meistens w\u00e4hle ich aber ein anderes Vorgehen und deaktiviere alle Extension, indem ich diese in einen anderen Ordner verschiebe.<\/p>\n<pre class=\"lang:default decode:true\">cd typo3conf\r\nmkdir ext_off\r\nmv ext\/* ext_off<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>Login \u00fcber\u00a0 typo3\/install<\/h2>\n<p>&nbsp;<\/p>\n<p>Nach dem neu verlinken der 9 LTS Source erfolgt das Einloggen \u00fcber das gewohnte \/typo3\/install. Die Upgradeprozedur ist \u00e4hnlich wie bei vorhergenden Versionen.<\/p>\n<h2>Anpassungen im Typoscript<\/h2>\n<p>Vergleiche k\u00f6nnen neu mit symfony expression language geschrieben werden.<\/p>\n<p>Quellen:<\/p>\n<p>https:\/\/docs.typo3.org\/typo3cms\/TyposcriptReference\/latest\/Conditions\/Reference.html<\/p>\n<p>https:\/\/docs.typo3.org\/typo3cms\/extensions\/core\/Changelog\/9.4\/Feature-85828-MoveSymfonyExpressionLanguageHandlingIntoEXTcore.html<\/p>\n<pre class=\"lang:default decode:true\">[globalVar = LIT:1 = {$taywa.config.footer.use}]<\/pre>\n<p>Neu:<\/p>\n<pre class=\"lang:default decode:true\">[1 == {$taywa.config.footer.use}]<\/pre>\n<p>per sed:<\/p>\n<pre class=\"lang:default decode:true\">sed -i 's\/globalVar = LIT:1 =\/1==\/' *.ts\r\nsed -i 's\/globalVar = GP:L &gt;\/1==\/' *.ts<\/pre>\n<p>&nbsp;<\/p>\n<h2>Include kann man nun ersetzen mit @import<\/h2>\n<p>&nbsp;<\/p>\n<pre class=\"\"><span class=\"s\">&lt;<\/span><span class=\"nc\">INCLUDE_TYPOSCRIPT<\/span><span class=\"s\">:<\/span> <span class=\"s\">source=\"FILE:fileadmin\/html\/mainmenu_typoscript.txt\"&gt;<\/span><\/pre>\n<p>zu:<\/p>\n<pre class=\"lang:default decode:true\">@import \"fileadmin\/html\/mainmenu_typoscript.txt\"<\/pre>\n<p>sed befehl f\u00fcr das<\/p>\n<pre class=\"lang:default decode:true\">sed -i 's\/&lt;INCLUDE_TYPOSCRIPT: source=\"FILE:\/@import \"\/g' *.ts\r\nsed -i 's\/.ts\\\"&gt;\/.ts\\\"\/g' *.ts<\/pre>\n<p>Anpassungen im css von css styled content zu fluid styled content<\/p>\n<pre class=\"lang:default decode:true\">sed -i 's\/.t3ce\/.frame\/' *.css<\/pre>\n<pre class=\"lang:default decode:true \">sed -i 's\/textpic-cont\/frame-type-textpic\/' *.css<\/pre>\n<p>&nbsp;<\/p>\n<h3>Anpassungen f\u00fcr Fluid Styled Content<\/h3>\n<p>root_constants:<\/p>\n<pre class=\"lang:default decode:true \">styles.templates {\r\n templateRootPath = fileadmin\/Resources\/Private\/FluidStyledContent\/Templates\/\r\n layoutRootPath = fileadmin\/Resources\/Private\/FluidStyledContent\/Layouts\/\r\n partialRootPath = fileadmin\/Resources\/Private\/FluidStyledContent\/Partials\/\r\n}<\/pre>\n<p>und<\/p>\n<pre class=\"lang:default decode:true\">mkdir -p fileadmin\/Resources\/Private\/FluidStyledContent\/Templates\r\nmkdir fileadmin\/Resources\/Private\/FluidStyledContent\/Layouts\r\nmkdir fileadmin\/Resources\/Private\/FluidStyledContent\/Partials\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>kopiere Layout<\/p>\n<pre class=\"lang:default decode:true \">cp -v typo3\/sysext\/fluid_styled_content\/Resources\/Private\/Layouts\/Default.html fileadmin\/Resources\/Private\/FluidStyledContent\/Layouts\/<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:default decode:true \">sed -i 's\/.csc-textpic-image \/.image \/' *.css<\/pre>\n<p>&nbsp;<\/p>\n<p>Pop up, fr\u00fcher im Root Setup<\/p>\n<p>Neu in den Constants<\/p>\n<pre class=\"lang:default decode:true \">styles.content.image{\r\n\tmaxW = 1200m\r\n\tmaxWInText = 600\r\n\tcolumnSpacing = 30\r\n\ttextMargin = 60\r\n\tlinkWrap{\r\n\t\tlightboxEnabled = 1\r\n\t\twidth = 1280m\r\n\t\theight = 900m\r\n\t}\r\n}\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:default decode:true \">tt_content.image.20.1.imageLinkWrap {\r\n\twidth = 1280m\r\n\theight = 900m\r\n\r\n\t# Bildlink Grossansicht f\u00fcr JavaScript\r\n\tJSwindow = 0\r\n\tdirectImageLink = 1\r\n\tlinkParams.ATagParams.dataWrap = class=\"lightbox\" rel=\"lightbox{field:uid}\"\r\n}\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h2>F\u00fcr unsere Installation relevante \u00c4nderungen:<\/h2>\n<pre class=\"lang:default decode:true \">cd \/Resources\/Private\/Typoscripts\/\r\nmv root_config.ts page_config.ts<\/pre>\n<pre class=\"lang:default decode:true\">UPDATE\u00a0pages\u00a0SET\u00a0TSconfig\u00a0=\u00a0\"@import 'fileadmin\/Resources\/Private\/Typoscripts\/page_config.ts'\"\u00a0WHERE\u00a0TSconfig\u00a0=\u00a0'&lt;INCLUDE_TYPOSCRIPT:source=\\\"FILE:fileadmin\/Resources\/Private\/Typoscripts\/root_config.ts\\\"&gt;'<\/pre>\n<p>&nbsp;<\/p>\n<h3>Usergruppen migrieren<\/h3>\n<p>fe_groups auf pages<\/p>\n<pre class=\"lang:default decode:true\">SELECT DISTINCT(fe_group), count(*) FROM `pages` WHERE hidden = 0 AND deleted = 0  GROUP BY fe_group<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>css_styled_content wurde entfernt und fluid_styled_content sollte ein drop in replacement sein:<\/p>\n<p><a href=\"https:\/\/docs.typo3.org\/typo3cms\/extensions\/core\/Changelog\/9.0\/Breaking-80876-RemoveSystemExtensionCss_styled_content.html?highlight=css_styled_content\">Breaking-80876-RemoveSystemExtensionCss_styled_content.html<\/a><\/p>\n<p>Noch \u00e4lter? Dann shilft vielleicht dies: <a href=\"https:\/\/www.taywa.ch\/blog\/typo3\/typo3-upgrade-von-version-7-lts-auf-version-8-lts\/\">Migration von v7 auf v8<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vorbereitung Extension Wenn eine Extension kompatibel zu Version 8 und 9 ist, kann man diese noch in der Version 8 auf die neuste Version updaten. Meistens w\u00e4hle ich aber ein anderes Vorgehen und deaktiviere alle Extension, indem ich diese in einen anderen Ordner verschiebe. cd typo3conf mkdir ext_off mv ext\/* ext_off &nbsp; &nbsp; Login \u00fcber\u00a0<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[197,210,196,166],"tags":[],"class_list":["post-1334","post","type-post","status-publish","format-standard","hentry","category-typo3-8-lts","category-typo3-9-lts","category-typo3-migration","category-typo3-upgrade"],"_links":{"self":[{"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/posts\/1334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/comments?post=1334"}],"version-history":[{"count":20,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/posts\/1334\/revisions"}],"predecessor-version":[{"id":1448,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/posts\/1334\/revisions\/1448"}],"wp:attachment":[{"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/media?parent=1334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/categories?post=1334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.taywa.ch\/blog\/wp-json\/wp\/v2\/tags?post=1334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}