Typo3 - Update: Unterschied zwischen den Versionen
| Zeile 4: | Zeile 4: | ||
== Update auf 6.2 == | == Update auf 6.2 == | ||
=== Probleme mit dem index === | === Probleme mit dem index === | ||
| + | https://forge.typo3.org/issues/61154 | ||
| + | |||
'''Fehlermeldung''' "Migrate all file links of RTE-enabled fields to FAL" fails with "Reference index was probably out of date." | '''Fehlermeldung''' "Migrate all file links of RTE-enabled fields to FAL" fails with "Reference index was probably out of date." | ||
| Zeile 23: | Zeile 25: | ||
update sys_refindex set softref_key = 'typolink' where softref_key = 'typolink_tag' AND ref_table = '_FILE'; | update sys_refindex set softref_key = 'typolink' where softref_key = 'typolink_tag' AND ref_table = '_FILE'; | ||
| − | |||
== Update Infos 4.5 == | == Update Infos 4.5 == | ||
Version vom 22. Januar 2015, 19:48 Uhr
Links
Update auf 6.2
Probleme mit dem index
https://forge.typo3.org/issues/61154
Fehlermeldung "Migrate all file links of RTE-enabled fields to FAL" fails with "Reference index was probably out of date."
Description
Meanwhile I did upgrades from TYPO3 4.7 to 6.2 for three different instances and every time I ran into this problem. Reason are links in content elements of hidden or (from database point of view: logical) deleted pages where the target (usually the file in fileadmin) does not exist anymore.
cli_dispatch.phpsh lowlevel_refindex -c
does not detect these broken links. So this is a deadlock during migration.
I found this workaround which requires using a SQL client for the mysql database: 1) check if the result of this query matches the list of "Reference index was probably out of date" elements
select * from sys_refindex where softref_key = 'typolink_tag' AND ref_table = '_FILE';
2) If so you can update these records:
update sys_refindex set softref_key = 'typolink' where softref_key = 'typolink_tag' AND ref_table = '_FILE';
Update Infos 4.5
- Weitere Tools werden separat installiert
- utf-8 für Datenbankverbindung wird vorausgesetzt (siehe auch Typo3 auf utf-8 umstellen)
- Install-Tool $TYPO3_CONF_VARS['SYS']['setDBinit'] und $TYPO3_CONF_VARS['BE']['forceCharset'] default haben sich verändert.
- Zugriff auf veraltete php-Funktionen werden geloggt. Vorsichtig Log kann groß werden
- Extbase und Fluid
Update Infos 4.3
- simulate_static_docs muss separat installiert werden
Update Wizard Info
CSS Styled Content: Default targets for non-frame pages
The default page target is empty (so no target is generated). If you use frames, you have to set target to "page" in Constants.
CSS Styled Content: htmlspecialchars in menu content elements
Page titles will get htmlspecialchar'ed when rendered in "Sitemap/menu" content elements, to avoid generating invalid XHTML.
htmlArea RTE: Using CSS classes for indentation and alignment
* Indentation is produced by a CSS class instead of the blockquote element.
You will need to specify in Page TSConfig the class to be used for indentation using property buttons.indent.useClass (default is "indent"). You will need to define this class in your stylesheets and ensure that it is allowed by the RTE transformation (RTE.default.proc). Alternatively, you may continue using the blockquote element by setting property buttons.indent.useBlockquote. You may also want to add the new blockquote button to the RTE toolbar.
* Text alignment is produced by CSS classes instead of deprecated align attribute.
You will need to specify in Page TSConfig the class to be used for each text alignment button using property buttons.[left, center, right or justifyfull].useClass (defaults are "align-left", "align-center", "align-right", "align-justify"). You will need to define these classes in your stylesheets, and ensure that they are allowed by the RTE transformation (RTE.default.proc). Alternatively, you may continue using deprecated align attribute by setting property buttons.[left, center, right or justifyfull].useAlignAttribute.
Update alter Typo3 Installationen (<V.3.8)
Aus der Mailing Liste Östereich: - der Core ist relativ easy (fast) immer zu upgraden (muesst' eigentlich von v3.3 auch gehen ;-) ) - Achte immer auf installierte Extensions
- wenn etwas nicht geht, mal soweit wie moeglich alle Extensions wegschalten (nicht loeschen!).
- dann zuschalten; wenns dann hakt, dann sieht man gleich welche ext "boese" ist.
- dann diese ext updaten, wenns keine updates gibt, mal danach googlen.
- wenns dann net geht, debuggen..
Weitere Probleme:
Alte TS Templates arbeiten noch mit CSet und Content als default Template. Nach umstellen auf css-styled-content muß evt. einiges angepasst werden:
Update auf 4.1
Unbedingt im Install Tool Compare ausführen und Tabellen aktualisieren. Sonst kann es Probleme mit verschiedenen Extensions geben (z.B. Login..)
Probleme beim TYPO3 Update lösen
Nach dem Datenbank Compare fehlen Teile der TYPOScript Templates
Lösung
Von Version 4.2 auf 4.1 werden blob Felder zu Text Feldern umgewandelt. Dabei werden bei Umlauten die Inhalte abgeschnitten, wenn die Datenbank utf-8 arbeitet, TYPO3 aber die Daten in latin abgelegt hat.
Beim Compare muß man dann die blob konvertierungen weglassen (vor allem bei den Templates - in der Regel gibt es da Kommentare mit Umlauten) und leicht abgewandelt selbst durchführen:
ALTER TABLE sys_template CHANGE config config TEXT CHARACTER SET latin1;
Typo3 läßt hier die Angabe welcher Zeichensatz drin ist weg.
Die wichtigsten Statements (Stand Typo3 4.5):
ALTER TABLE sys_template CHANGE constants constants text CHARACTER SET latin1; ALTER TABLE sys_template CHANGE config config text CHARACTER SET latin1; ALTER TABLE tt_content CHANGE image image text CHARACTER SET latin1; ALTER TABLE tt_content CHANGE media media text CHARACTER SET latin1; ALTER TABLE tt_content CHANGE pages pages tinytext CHARACTER SET latin1; ALTER TABLE tt_content CHANGE multimedia multimedia tinytext CHARACTER SET latin1; ALTER TABLE pages CHANGE media media text CHARACTER SET latin1;
Link: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html (Zugriff: 10/2012)
Release Notes Version 4.1
Die wichtigsten Neuerungen
- IRRE (Inline Relational Record Editing)
- AJAX Page and File Tree
- Clean-up functions (command line scripts)(Über Extension lowlevel)
- Improved Extension Manager (less memory, stored extension list)
- UTF-8 for filenames
- Backend "Who is online"
- Frontend "Stay logged in" (Konfiguration mit new login box)
- MySQL InnoDB (Wird automatisch bei Neuinstallation zur Verfügung gestellt, wenn es in mySQL aktiviert ist)
- Speed up Backend with .htaccess http://typo3.org/development/articles/release-notes-41/page/4/)
Manuelles ändern der Tabellen auf InnoDB
alter table cache_hash ENGINE = INNODB; alter table cache_imagesizes ENGINE = INNODB; alter table cache_md5params ENGINE = INNODB; alter table cache_pages ENGINE = INNODB; alter table cache_pagesection ENGINE = INNODB; alter table cache_typo3temp_log ENGINE = INNODB; alter table fe_sessions ENGINE = INNODB; alter table fe_session_data ENGINE = INNODB; alter table index_fulltext ENGINE = INNODB; alter table index_grlist ENGINE = INNODB; alter table index_phash ENGINE = INNODB; alter table index_rel ENGINE = INNODB; alter table index_section ENGINE = INNODB; alter table index_stat_search ENGINE = INNODB; alter table index_stat_word ENGINE = INNODB; alter table index_words ENGINE = INNODB; alter table sys_log ENGINE = INNODB;
Generelle Informationen zum Update unter Linux
Quelle: typo3.net Mai 2006
Typo3 ist normalerweise sehr einfach upzudaten - allerdings müssen ein paar Dinge beachtet werden, um updatefähig zu bleiben:
- Es dürfen keine Änderungen an dem Typo3-Sourcecode gemacht worden sein. Falls dieses doch gemacht wurde, müssen natürlich diese Änderungen erst in die neue Version eingearbeitet werden.
- Installierte Extensions sollten möglichst immer LOCAL installiert worden sein. So bleiben diese nach dem Tausch des Typo3-Sourcecodes unberührt und funktionieren nach dem Update (meist) wie gewohnt. Es gibt nur selten den Fall, daß eine Typo3-Version eine Funktion nicht mehr verwendet, die es in der alten Version noch gab.
- Wenn sie HTML-Templates von GLOBAL installierten Erweiterungen direkt im Extensionordner modifiziert haben sollten, müssen diese erst z.B. in den fileadmin kopiert werden. Dann können Sie den Pfad zu dieser Datei im TypoScript anpassen.
Den Pfad finden Sie überigens mithilfe des TypoScript-Object-Browsers schnell. Meist ist er an der Stelle plugin.extensionname.templateFile zu finden.
Datei:T3 wichtigeVerzeichnisse.gif
Einige der wichtigsten Verzeichnisse
Das Update für mittwaldmedien Kunden
Für unsere Kunden ist es nun besonders einfach, die vorhandene Installation auf die aktuelle Version zu bringen. Sie müssen sich nur auf der Webseite http://www.typo3server.com einloggen. Nach dem Login finden Sie ein Menü mit einem Link zu dem Typo3-Versionsmanager. Dort können Sie mit einem Klick Ihren Account auf die neue Version updaten.
ToDo Versionsmanager für Geo-bit
Manuelles Update
Für diejenigen, die dieses Update manuell machen wollen oder müssen, sind die folgenden Schrittenötig. Die Beispiele - vor allem die Pfade - müssen natürlich angepasst werden. Die Beispiele gehen davon aus, daß Sie eine Verzeichnisstruktur angelegt haben, die dem obigen Bild entspricht.
1. Machen Sie zuerst eine Datensicherung von dem Typo3-Sourcen und Ihrem html-Ordner! Die Datenbank können Sie nun über diesen Befehl sichern:
mysqldump -u benutzername -p -B --add-drop-table datenbank > typo3DBSicherung.sql
Notfalls könnte auch ein Dump mit phpMyAdmin erstellt werden.
2. Verbinden Sie sich mit Ihrem Server über SSH.
3. Wechseln Sie das Verzeichnis auf einer Ebene über dem Rootverzeichnis Ihres Webservers. z.B.: cd /home/www/p1234/
4. Laden Sie sich die neuen Typo3-Sourcen auf ihren Linuxrechner. Die aktuellen Sourcen finden Sie unter: http://typo3.org/download/packages/.
Die benötigte Datei hat das Format typo3_src-3.x.x.tar.gz
Beispiel:
wget belnet.dl.sourceforge.net/sourceforge/typo3/typo3_src-3.7.0.tar.gz
5. Entpacken Sie die Datei mit dem Kommando:
Beispiel:
tar -xzvf typo3_src-3.x.x.tar.gz
6. Ändern Sie nun die Rechte so, wie der bisherige Typo3-Sourcecode-Ordner sie hatte.
Beispiel:
chown p1234.ftponly typo3_src-3.7.0 -R
7. Entfernen Sie den alten symbolischen Link mit:
rm typo3_src
8. Legen Sie nun einen neuen Link an mit:
ln -s typo3_src-3.x.x typo3_src
(Die Versionsnummer müssen Sie natürlich noch anpassen.)
9. Nun muss die Datenbank noch aktualisiert werden:
Gehen Sie hierzu in das Typo3-Installtool und klicken Sie auf den 2. Menüpunkt Database Analyser. Mit einem Klick auf Compare werden die zu ändernden oder zu ergänzenden Datenbankfelder angezeigt. Mit einem Klick auf "Write to database" wird die Datenbank an die neue Typo3-Version angepasst.
10. Loggen Sie sich nun als Admin im Backend an und löschen Sie alle Caches.
Neu in Version 4
- Conditions mit AND und OR (|| &&)
Neu in 4.2
Viele Usability Verbesserungen im Backend
Update auf 4.2
Extensions Updaten
- dam 1.0.11 ist nicht kompatibel Update auf min. 1.0.13
- date2cal auf >= 7.1.0
- Kickstarter 0.3.8 ist nicht kompatibel
- Developer tools gehen nicht mehr (wg. Frame oben)
Ablauf
- Backend Benutzer sperren (only Admins)
- Sicherung der Datenbank
- neue Source + Symlink
- Update Wizard
- Compare
Probleme
DAM Upload geht für Benutzer nicht mehr (Fehler Meta Daten können nicht geschrieben werden) Beim neu indizieren geht dem dam der Media Ordner verloren. Er legt dann einen neuen an, in den er scheiben möchte. Die Benutzer sind abe noch auf den alten eingestellt. D.h. die Benutzergruppen m´üssen auf den neuen eingestellt werden.
Im Dam stehen im IE7 die Benutzerwerkzeuge nicht zur verfügung (löschen etc.) nur der Stift ist noch da.
Lösung: Das Problem ist das CSS für das Fenster. Es verdeckt die restlichen Symbole Forum: 24.7.
Ich hatte das gleiche Problem bis vor 5 Minuten auch, gelöst habe ich es so: - Datei: class.tx_dam_listbase.php im Ordner DAM\lib\ Unter der Zeile 256 ('itemTD' => ' class="typo3-dblist-item"',) ist in 3 Werten als Breite 1% angegeben. Das auskommentieren
- Datei: stylesheet.cdd in typo3_src\typo3\ table.typo3-dblist width: 98%; durch width: auto; ersetzen und in table.typo3-dblist tr td {width: auto;} einsetzen,
damit hats bei mir im IE 7, Firefox, safari für Win und Opera alles richtig angezeigt :-)
Ich hoffe, geholrfen zu haben, Schmoozer
Bug in Mount Points
Datenbank über Root Shell sichern (mysql backup)
mysqldump -opt ...
Beispiele
Die häufigste Anwendung von mysqldump ist wahrscheinlich die Erstellung eines Backups einer vollständigen Datenbank:
shell> mysqldump --opt db_name > backup-file.sql
oder mit User und Passwortangabe:
mysqldump -u meinDBUser -pGEHEIM db_name > backup.sql
--opt ist in neueren MySQL Versionen Standardmäßig an deshalb lassen wir es mal weg.
Die Speicherauszugsdatei können Sie wie folgt wieder einspielen.
shell> mysql db_name < backup-file.sql
Oder aber so:
shell> mysql -e "source /path-to-backup/backup-file.sql" db_name
mysqldump ist ferner sehr nützlich zum Ausfüllen von Datenbanken durch Kopieren von Daten von einem MySQL Server auf einen anderen:
shell> mysqldump --opt db_name | mysql --host=remote_host -C db_name
Sie können mit einem einzigen Befehl einen Speicherauszug mehrerer Datenbanken erstellen:
shell> mysqldump --databases db_name1 [db_name2 ...] > my_databases.sql
Um einen Speicherauszug aller Datenbanken zu erstellen, verwenden Sie die Option --all-databases:
shell> mysqldump --all-databases > all_databases.sql
Bei InnoDB-Tabellen bietet mysqldump die Möglichkeit, eine Online-Sicherung zu erstellen:
shell> mysqldump --all-databases --single-transaction > all_databases.sql
Diese Datensicherung muss vor Beginn des Speicherauszugsvorgangs lediglich (mit FLUSH TABLES WITH READ LOCK) eine globale Lesesperre für alle Tabellen erwirken. Sobald diese Sperre aktiv ist, werden die Koordinaten des Binärlogs ausgelesen, und die Sperre wird aufgehoben. Wenn beim Absetzen der FLUSH-Anweisung gerade eine umfangreiche Änderungsanweisung ausgeführt wird, dann – und nur dann! – kann der MySQL Server stehen bleiben, bis diese lange Anweisung ausgeführt ist; danach ist der Server sperrfrei. Wenn die vom MySQL Server empfangenen Änderungsanweisungen (in Bezug auf ihre Ausführungsdauer) kurz sind, sollte die anfängliche Sperrperiode auch bei vielen Änderungen nicht spürbar sein.
Bei der Point-in-Time-Wiederherstellung (die auch als „Roll-Forward“ bezeichnet wird, wenn Sie ein altes Backup wiederherstellen und die seitdem durchgeführten Änderungen neu aufspielen müssen) ist es häufig nützlich, das Binärlog zu rotieren (siehe Abschnitt 5.12.3, „Die binäre Update-Logdatei“) oder zumindest die Binärlogkoordinaten zu kennen, denen der Speicherauszug entspricht:
shell> mysqldump --all-databases --master-data=2 > all_databases.sql
Oder:
shell> mysqldump --all-databases --flush-logs --master-data=2
> all_databases.sql
Mass Update Script
Yesterday some updates came out for TYPO3. These updates fixed certain issues and we needed to update all of our excellent shared hosting environments.
We already have a script (which is more elaborate now) that checks all our TYPO3 installations and sends the sysadmins a nice report about its findings. We use part of that report (list of paths to Document Roots) to feed the updater script.
The TYPO3 update requires you to do the followi
* update encryption key * clear configuration cache * clear page cache
We do not want to go into 200+ TYPO3 backends and do those tasks manually. We are lazy and we will write a script to automagically do the boring tasks for us.
This script is not perfect but it works well on Debian systems. You can modify it to fit your needs. It was just a quick hack to ease the upgrade pain. Take care to switch the symlink part for upgrade runs of different versions of TYPO3.
I am not responsible for any damage to your system that may occur to misuse of this script. Make sure you understand it before you run it. Run it with a single URI before attempting a whole ist of URI's.
Ein Massen Update Script von:
http://typofree.org/article/archive/2009/january/title/typo3-mass-upgrade-script/ Zugriff am 12.3.2009
http://typofree.org/article/archive/2009/january/title/typo3-mass-upgrade-script/
TYPO3 mass update script
1.
#!/bin/sh
2.
binDir=/usr/bin/
3.
sleep=2
4.
5.
pageCacheTables=(
6.
cache_pages
7.
cache_pagesection
8.
)
9.
10.
sites=(
11.
/var/www/sites/live/www.somedomain.tld
12.
/var/www/sites/live/www.someotherdomain.tld
13.
/var/www/sites/live/www.yetsomeotherdomain.tld
14.
)
15.
16.
len=${#sites[*]}
17.
pageCacheTablesLength=${#pageCacheTables[*]}
18.
i=0
19.
while [ $i -lt $len ]; do
20.
echo updating: ${sites[$i]}
21.
cd ${sites[$i]}
22.
rm typo3_src
23.
ln -s ../../sources/typo3_src-4.2.5 typo3_src
24.
25.
echo generating new key
26.
k=0
27.
key=
28.
while [ $k -lt 96 ]; do
29.
key=$key$(head -100 /dev/urandom | md5sum | cut -c1)
30.
let k++
31.
done
32.
echo key: $key
33.
sed -i "s/\(\$TYPO3_CONF_VARS\['SYS']\['encryptionKey'] = \).*/\1'$key';/g" typo3conf/localconf.php
34.
35.
echo removing configuration cache
36.
rm -f typo3conf/temp_CACHED*
37.
38.
echo clearing page cache
39.
# For some insane reason some values are enclosed in double qotes
40.
database=$(grep "typo_db " typo3conf/localconf.php | tail -1 | sed "s/^[^']*'\([^']*\)'.*/\1/" | grep '$typo_db =')
41.
if [ -z "$database" ] ; then
42.
database=$(grep "typo_db " typo3conf/localconf.php | tail -1 | sed "s/^[^']*'\([^']*\)'.*/\1/")
43.
else
44.
database=$(grep "typo_db " typo3conf/localconf.php | tail -1 | sed "s/^[^\"]*\"\([^\"]*\)\".*/\1/")
45.
fi
46.
username=$(grep "typo_db_username " typo3conf/localconf.php | tail -1 | sed "s/^[^']*'\([^']*\)'.*/\1/" | grep '$typo_db_username =')
47.
if [ -z "$username" ] ; then
48.
username=$(grep "typo_db_username " typo3conf/localconf.php | tail -1 | sed "s/^[^']*'\([^']*\)'.*/\1/")
49.
else
50.
username=$(grep "typo_db_username " typo3conf/localconf.php | tail -1 | sed "s/^[^\"]*\"\([^\"]*\)\".*/\1/")
51.
fi
52.
password=$(grep "typo_db_password " typo3conf/localconf.php | tail -1 | sed "s/^[^']*'\([^']*\)'.*/\1/" | grep '$typo_db_password =')
53.
if [ -z "$password" ] ; then
54.
password=$(grep "typo_db_password " typo3conf/localconf.php | tail -1 | sed "s/^[^']*'\([^']*\)'.*/\1/")
55.
else
56.
password=$(grep "typo_db_password " typo3conf/localconf.php | tail -1 | sed "s/^[^\"]*\"\([^\"]*\)\".*/\1/")
57.
fi
58.
j=0
59.
while [ $j -lt $pageCacheTablesLength ];
60.
do
61.
nice -n 19 ${binDir}mysql --batch -u$username -p"$password" -D$database -e "TRUNCATE ${pageCacheTables[$j]}"
62.
nice -n 19 ${binDir}mysql --batch -u$username -p"$password" -D$database -e "ALTER TABLE ${pageCacheTables[$j]} auto_increment=1"
63.
let j++
64.
done
65.
66.
echo "done! Sleeping $sleep seconds . . ."
67.
sleep $sleep
68.
69.
echo
70.
let i++
71.
done