Mein ownCloud möchte ich nicht mehr missen. Leider sind die Updates in relativ großen Sprüngen, so dass man immer mit Problemen rechnen muss.  Das heutige Update auf 8.0.2 fand ich recht stressig.

Das Update startet wie immer aus ownCloud heraus. Das erste Problem taucht bei immer immer dann auf, wenn die Datenbank aktualisiert werden soll. Das Online-tool fordert zum Neuladen der Seite auf, das haut aber bei mir nie hin. Als Alternative kann man an der Konsole folgenden Aufruf starten:

sudo -u wwwrun php occ upgrade

Dann lief das Update durch. Danach ging aber gar nichts mehr, nur noch weiße Seiten. Ich hätte vorher irgendwo lesen müssen, dass die Apps calendar und contacts nicht mehr so richtig dazu gehören und hätten deaktiviert werden müssen. Das geht aber auch von der Konsole aus mittels:

sudo -u wwwrun php occ app:disable contacts
sudo -u wwwrun php occ app:disable calendar

Diese beiden Apps gibt es dann in einer neuen Version, überarbeitet für Version 8.0.2. Will man die aktivieren kommt einen Fehlermeldung „Das Verzeichnis existiert schon“. Man muss also erst im Verzeichnis apps die Ordner contacts und calendar löschen, bevor man die neue Version der Apps installieren kann. Entsprechend gilt das übrigens auch für die Apps:

  • documents
  • bookmarks
  • search_lucene

Sehr erfreut hat mich, dass nach der Aktivierung von calendar meine bisherigen Daten alle noch vorhanden waren. Einen Schreck habe ich dann bekommen, als Thunderbird plötzlich alle Termine verloren hatte. Aber nach einem Neustart von Thunderbird hat er sich die Termine neu geholt und soweit ich das beurteilen kann sind alle Termine wieder vorhanden.

Beim Umstellen älterer Typo3-Projekte (noch ohne Templavoila) auf 6.2 tauchte das Problem auf, die unbenutzten Spalten auszublenden.

Das ist eigentlich recht elegant gelöst. Man erstellt mit der Funktion Liste auf der Root-Seite eine neues Element vom Typ Backend-Layout. Rechts neben dem Feld „Konfiguration“ gibt es einen Button „Assistent“ den man nutzen kann. Zusätzlich muss man einen Titel angeben.

Dieses neue Element muss man dann mit der Funktion Seite über die Seiteneigenschaften der Root-Seite unter Erscheinungsbild als Backend-Layout setzen.

Der Eintrag mod.SHARED.colPos_list=0 im TSConfig der Root-Seite würde nur die Bearbeitung sperren, aber nicht den Platz nutzbar machen.

Manchmal muss man eine Extension per Hand entfernen, weil durch ihre einbundung nur noch weiße Seiten erscheinen. Es gibt mehrere Stellen, an denen man eventuell Veränderungen vornehmen muss:

  • typo3conf/PackageStates.php
  • typo3conf/LocalConfiguration.php
  • und notfalls auch typo3temp löschen

Bei der Website http://netzdurchblick.de arbeiten wir mit einem grafischen Menü, bei dem die Buttons für NO, RO und ACT aus dem Ressourcen-Feld der jeweiligen Rubriken Startseite entnommen haben.

temp.hauptmenue = HMENU
temp.hauptmenue {
   special = list
   special.value = 238,197,247,165,1197,901
   1 = GMENU
   1 {
      NO = 1
      NO {
        5 = IMAGE
        5 {
            file.import.field = media
            file.import = uploads/media/
            file.import.listNum = 2
        }
        ATagTitle.field = subtitle 
        XY = [5.w],[5.h]
        transparentBackground = 1
        wrap = |
      }
      RO < .NO
      NO.5.file.import.listNum = 4
      ACT < .NO
      ACT.5.file.import.listNum = 4
   }
}

Bei der neuen Version funktioniert das leider nicht mehr, da eine Abstraktionsebene vor das Dateisystem gelegt wurde. Nach vielen mühsamen Experimenten habe ich folgende Lösung für das gleiche Problem gefunden (mit Hilfe von http://www.typo3.net/forum/thematik/zeige/thema/118444/):

temp.hauptmenue = HMENU
temp.hauptmenue {
  special = list
  special.value = 238,197,247,165,1197,901
     
  1 = GMENU
  1 {
     expAll = 1
     noBlur = 1
     NO = 1
     NO {
       XY = [5.w],[5.h]
       format = png
       quality = 100
       backColor = transparent
       5 = IMAGE
       5 {
         file {
         format = png
         import.cObject = FILES
         import.cObject {
           references {
             table = pages
             uid.field = tsfe:id
             fieldName = media
           }
           maxItems = 1
           begin = 2
           renderObj = IMG_RESOURCE
           renderObj {
             required = 1
             file.import.data = file:current:publicUrl
           }
          }
         }
       }
       ATagTitle.field = subtitle // title
     } # ende NO

     RO < .NO
     NO.5.file.import.cObject.begin = 4

     ACT < .NO
     ACT.5.file.import.cObject.begin = 3
  }
}

Frustrierenderweise funktionierte dann der RO-Effekt trotzdem nicht. Erst der Hinweis unter http://www.typo3.net/forum/thematik/zeige/thema/114717/ hat mich dann darauf gebracht im Haupttemplate noch die folgende Zeile unterzubringen

page.jsInline.10 = TEXT
page.jsInline.10.value (
var version = "n3";
)

Ein paar Hinweise findet man unter:

  • http://wiki.typo3.org/File_Abstraction_Layer#How_can_I_access_the_typolink-field_from_the_meta-data_of_one_file.3F
  • http://wiki.typo3.org/File_Abstraction_Layer#How_to_use_.22levelmedia.22_with_6.x_.3F
  • https://www.merec.org/typo3/verwendung-von-fal-file-abstraction-layer-typo3-6-0-mit-templavoila

Beim Update auf Typo3 6.2 gibt es Probleme mit einigen Extensions, bei mir sind es vor allem die von Georg Ringer, die ich bisher gern benutzt habe. Für viele Extensions gibt es einfach keine Anpassung an die neue Typo3-Version. Ein Hauptbroblem sind wohl die Veränderungen im Zusammenhang mit dem Pfad t3lib, der nicht mehr exisitiert. Daher laufen alle Programme ins Leere, die hier nach Bibliotheken suchen.

Einnen Versuch wert ist es, die entsprechende Require-Zeile einfach auszukommentieren in der jewiligen Datei typo3conf/ext/<extension>/pi1/class.tx_<extension>_pi1.php:

#require_once( PATH_tslib . 'class.tslib_pibase.php' );

Geklappt hat das bei mir mit

  • macina_searchbox
  • rgtabs (weiter Probleme analog zu https://forge.typo3.org/issues/43834 und https://forge.typo3.org/issues/41632, Lösung hier unter #8 )
  • dropdown_sitemap
  • chgallery (eine angepasste Version ist unter https://github.com/derhansen/TYPO3.ext.chgallery und https://github.com/georgringer/TYPO3.ext.chgallery verfügbar)
  • rgmediaimages (zusätzlich in typo3conf/ext/rgmediaimages/class.tx_rgmediaimages_fe.php)
  • rgsmoothgallery (eine angepasste Version ist unter https://forge.typo3.org/issues/58818 verfügbar, funktioniert nur mit der Anpassung wie bei rgtabs)

Bei manchen Extensions kann die Zeile in mehreren Dateien auftauchen.

Bei manchen Extensions weiss ich überhaupt nicht mehr, ob sie in dem System benutzt werden. Ich kenne momentan nur einen Weg das zu ermitteln und zwar von phpMaAdmin aus mittels

SELECT * FROM `tt_content` WHERE `list_type` like "%flash%"

Hier auf der Suche nach dem st_flashplayer.

Nur damit es ich nicht vergesse, die unter https://forge.typo3.org/issues/41632, Lösung hier unter #8 vorgeschlagene Lösung sieht folgendermaßen aus:

function includeLocalLang()    {
  $llFile = t3lib_extMgm::extPath('td_calendar').'locallang.xml';

  $version =     class_exists('t3lib_utility_VersionNumber')
                    ? t3lib_utility_VersionNumber::convertVersionNumberToInteger(TYPO3_version)
                    : t3lib_div::int_from_ver(TYPO3_version);
 if ($version >= 4007000) {
    $object = t3lib_div::makeInstance('t3lib_l10n_parser_Llxml');
    $LOCAL_LANG =  $object->getParsedData($llFile, $GLOBALS['LANG']->lang);
 } else {
    $LOCAL_LANG =  t3lib_div::readLLXMLfile($llFile, $GLOBALS['LANG']->lang);
 }

 return $LOCAL_LANG;
}

DerHansen löst das bei chgallery folgendermaßen:

function includeLocalLang()     {
 $llFile = t3lib_extMgm::extPath('chgallery').'locallang.xml';
 return $GLOBALS['LANG']->includeLLFile($llFile, FALSE);
 }

Die zweite Lösung wirkt auf mich korrekter.