menuKustodiat HP

kner 2010

Erstellen einer neuen HP und Warten des Typo3 CMS

Achten auf ==> ???? ungelöst ????

Datum

Tagesziel

Anmerkungen

Std.

19.10.10

CSS aufräumen

Erste Entwürfe / Datensicherung/ lokale Installation von Typo3

14

19.-21.10

Organisation

Layout/Sitzungen

10

22.10.10

Neues Layout


10

24.10.10

Typo3 Wartung

Installation Live System

Page Template selector

http://typo3.org/extensions/repository/?tx_terfe_pi1[view]=search&no_cache=1&tx_terfe_pi1[sword]=page+template+selector

evt. Anschauen; jede Abteilung kriegt ihr eigenes Template



einen Link auf fileadminsetzen hat unter Linux nicht funktioniert; warum????

10

25.10.10

Umstellung auf UTF8

http://t3n.de/magazin/mysql-typo3-utf-8-umstellen-tipps-wechsel-latin1-utf-8-220945/1/

php.ini ==> default charset utf-8

es wurden die Anweisungen dieser Anleitung befolgt:

Datenbank collation umstellen, alle Tabellen löschen und wieder einfügen; dann Typo3 umstellen;



http://en.gentoo-wiki.com/wiki/Convert_latin1_to_UTF-8_in_MySQL



  1. Datenbank und Filesystem klonen und eine parallele Installation aufbauen

  2. Die alte Datenbank im Format latin1 sichern
    mysqldump -q -c --opt --skip-add-locks --default-character-set=latin1 --insert-ignore --skip-set-charset -uhtlmoed -pxxxx databasename | gzip > dump.sql.gz

  3. Dateityp prüfen: file dump.sql

  4. Umwandeln
    iconv -f ISO8859-1 -t UTF-8 dump.sql > dump.utf8.sql

  5. typo3 umstellen

    1. force-charset utf8

    2. in [setDBinit] im Installtool folgende zwei Zeilen eintragen
      SET NAMES utf8;
      SET CHARACTER SET utf8;

  6. Datenbank umstellen

    1. DB leeren

    2. DB auf utf8 umstellen
      ALTER DATABASE databasename DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

  7. Backupdatei modifizieren

    1. sed 's/CHARSET=latin1/CHARSET=utf8/' backupfile.sql > backupfile_utf8.sql

    2. eventuell die Sonderzeichen austauschen? (nix gefunden)

  8. mysql -u user -p database < backupfile_utf8.sql



Probleme: anschließend sagt typo3 „no template found“, es wird keien Seite angezeigt. Lösung:

  1. COMPARE im Installtool und erledigen aller gewünschter Änderungen; der Eintrag multiplyDBfieldSize darf nicht gemacht werden!

  2. Den Extension -Cache löschen (mit PHPMYADMIN und LEEREN/truncate)







Evtl. Shared Dir in Virtualbox mounten

sudo mount -t vboxsf ubuntudaten /home/guenter/vboxshare



mysqldump -q -c --opt --skip-add-locks -uxxxx -pxxxx htlmoed_db | gzip > dump.sql.gz

mysql -uroot -pjoh316 --default-character-set=utf8 typo3database < /mnt/sdb1/jeff/utf-iconv.sql

Userpassworte auf joh316 ändern





die Datenbank scheint ok, das filesystem ist sichtbar, aber im Body steht noch nix; Extension autoparser und Templateselector aktivieren!

Tabellen leeren

http://typo3.intervation.de/snippets/script/leeren-von-tabellen-und-neu-indexieren.html

hier gibt’s ein cooles Skript zum Reduzieren der Datenbankgröße:

#!/bin/bash
MYSQL_DATABASE="typo3database"
MYSQL_USER="root"
MYSQL_PASSWORD="joh316"
MYSQL_HOST="localhost"

mysql_connect="mysql -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PASSWORD --database $MYSQL_DATABASE"
$mysql_connect -e "TRUNCATE TABLE sys_log"
$mysql_connect -e "TRUNCATE TABLE sys_history"

$mysql_connect -e "TRUNCATE TABLE index_fulltext"
$mysql_connect -e "TRUNCATE TABLE index_grlist"
$mysql_connect -e "TRUNCATE TABLE index_phash"
$mysql_connect -e "TRUNCATE TABLE index_rel"
$mysql_connect -e "TRUNCATE TABLE index_section"
$mysql_connect -e "TRUNCATE TABLE index_stat_search"
$mysql_connect -e "TRUNCATE TABLE index_stat_word"
$mysql_connect -e "TRUNCATE TABLE index_words"

$mysql_connect -e "TRUNCATE TABLE cache_pages"
$mysql_connect -e "TRUNCATE TABLE cache_hash"
$mysql_connect -e "TRUNCATE TABLE cache_imagesizes"
$mysql_connect -e "TRUNCATE TABLE cache_pagesection"
$mysql_connect -e "TRUNCATE TABLE cache_treelist"
$mysql_connect -e "TRUNCATE TABLE cache_typo3temp_log"
$mysql_connect -e "TRUNCATE TABLE cache_extensions"

$mysql_connect -e "TRUNCATE TABLE tx_realurl_errorlog"

$mysql_connect -e "TRUNCATE TABLE be_sessions"
$mysql_connect -e "TRUNCATE TABLE fe_sessions"
$mysql_connect -e "TRUNCATE TABLE fe_session_data"

wget -r -l5 -L -o crawler.log -nd --spider  http://localhost/cms/





Aktuell installierte Extensions

In der localconf.php sind sie unter $TYPO3_CONF_VARS['EXT']['extList'] aufgelistet; eine Gegenüberstellung mittels EXCEL mit Spaltensortierung liefert die Unterschiede zweier Installationen

lokale Installationen liegen in /typo3conf/ext

globale Installationen in /typo3/ext

wenn man upgradet bleibt typo3conf normalerweise erhalten; hier sind die Extensions abzulegen

Überprüfen, ob die Extensions aktuell sind

Es gab ein Problem, dass die Liste der Extensions nicht geladen wurd; nachdem im Installtool die globalen Extension erlaubt wurden konnte die Liste angezeigt werden



Problem Symlinks

Den Symlinks wird nicht gefolgt, weil die Verzeichnisse, auf die sie zeigen, in der php.ini oder der apache Konfiguration nicht freigegeben sind (open_dir oder so ähnlich)



Die Datenbankpflege beim Upgrade auf 4.3.8 hat das System zerschlagen; mal schauen ….



sudo a2ensite <virtualhostdateiname> zur Aktivierung des virtuellen Servers; anschließend Apache restart


10

26.10.10

Fehlersuche

Beim Upgrade auf die Version 4.3.8 hab ich Installtool alle vorgeschlagenen Änderungen angehakt; jetzt gibt’s jede Menge Fehlermeldungen.

Ergebnis: es wurden fast alle Tabellen in der Datenbank gelöscht; daher DB neu einspielen.

Vorsicht bei der Wartung über das Installtool!

Upgrade

  1. Dateisystem herrichten (Symlinks siehe oben)

  2. Datenbank einspielen (siehe oben)

  3. Datenbankuserpassworte ändern

  4. Installtool ==> compare

  5. Installtool ==> import

  6. Extensions updaten



Nach alten Extensions suchen

Auf typo3.org muß man einen Account haben, um den aktuellen TER zugreifen zu können

Dann die aktuelle Liste importieren (im Menü //Extension Manager/Import Extensions/Import List oder so ähnlich)

diese Liste landet in ../typo3temp/extensions.xml.gz (ca. 4000 Einträge)



Lokale/Globale extensions

Globale Extensions müssen im Installtool eingeschaltet werden (Bereich „EXT“)

../typo3conf/ext ...lokal

../typo3/ext ...global



Cronjob einrichten um regelmäßig auf neue Extensions zu prüfen

 Sudo crontab -e
 /var/spool/cron/crontabs zeigt die Jobs der User

z.B: */2   *   *   *   *     /var/lib/typo3-dummy/typo3/cli_dispatch.phpsh t3updatec$ 
läuft alle 2 Minuten
log in /var/log/syslog

Frontend User anlegen

Niicht vergessen, im Template die PiD für den Sysordner mit den FE Usern anzugeben

http://www.admin-wissen.de/eigene-tutorials/webentwicklung/typo3-workshop/fortgeschrittene-themen/fe-benutzerverwaltung/sysfolder-und-template/





Trouble Ticket System installiert

Das statische Template muß eingebunden werden (siehe Manual)



Es hat länger nicht funktioniert, weil ich nicht wusste, dass die FE User im Template eingetragen werden müssen (Constant Editor)



  1. Frontend User auth.

  2. Extension

Templates

Die Templates der HP verweisen immer noch auf Subtemplates in „ElektronikAlt“; dies wird jetzt so gelöst:

  1. Sysfolder anlegen

  2. in diesen Sysfolder die Subtemplates kopieren

  3. im Haupttemplate die Referenzen auf die neuen Subtemplates legen


11


27.-28.

Layoutentwürfe


3

29.10.10

Wartung htl.jeff.at

Verringerung der Tabellen wie oben beschrieben

Implementierung des Ticketsystems

Implementierung des Newstickers



Einfaches Hauptmenü entwickelt

3

02.11.10

Wartung

Homepage nicht erreichbar, weil im Schulnetz ein Fehler vorlag: die Url www.htl.moedling.at/ni wurde nicht mehr aufgelöst; Abhilfe: Umschreiben der Startseite auf die Form index.php?id=26



Uploads Ordner wiederherstellen; beim Reinigen der Seite mit der Extension kb_clean wurde der Uploads-Ordner gelöscht (nicht verifiziert, nur eine Vermutung); den Ordner aus dem letzten Backup restauriert




1

03.11.10

Wartung/Ticketsystem

Implementierung Ticketsystystem

Implementierung Teaser/Änderung des Templates und CSS

Wieder-Inbetriebnahme des Homepage-Astes „Homepage Neu“ als Plattform für die Kommunikation mit den Redakteuren

Best Practice

Methode1: Office Import Extension; gut, weil Bilder automatisch importiert werden

Methode2: Openoffice und Writer2xhtml Addon; Vorgehensweise auf der HP dokumentiert

9

04.11.10

Extensions/Wartung

Artikel über Wettbewerbssieger online gestellt

Layoutstudien

Extension Recherche (Kalender/Teaser);

Auswahl eines Layouts

5


6.-7-11.

Layout Neu


20


09.11.10

Datensicherung

Calendar Extension

Datensicherung : Cronjob auf jeff und auf localhost;

Calendarbase: Probleme mit deutschen Wochentagen und Zeitangaben; Lösung offen, vermutlich ein WinXP Problem; Doku siehe kner.at

10

10.11.10

Calendar Deutsche Wochentage und Zeit

Ändern der Templates

der Kalenderanwendung



Portierung der lokalen Seite auf jeff.atCal

Das Problem mit den deutschen Wochentagen ist gelöst (setlocale() in der index.php von typo3); die Umstellung des Datumformats wird in der Cal-Konfiguration vorgenommen.

Kalender wird auf vielen Ebenen konfiguriert

  1. in der Extension (loaded Extensions)

  2. im Typoscript-Template der Kalenderseite (Constant Editor; Achtung, steht nur auf der Seite mit der Kalender-extension zur Verfügung)

  3. in den Templates der Ansichten

  4. über Typoscript



Problem: das Menü funktioniert nur mit Javascript; Umbau auf CSS nötig. Dokumentation http://www.alistapart.com/articles/dropdowns

ein untergeordnetes Element kann beeinflusst werden mit z.B: „ul:hover li a{...}“ wenn man über ul mit der Maus fährt, wird der Style von a geändert!



Cronjob verbessert: es starten mehrere rsyncs gleichzeitig und schreiben die Platte voll ==> Abbruch, wenn schon ein rsync-Job läuft mit

lockfile="/tmp/cron.backup-dump"

flock -w 0 $lockfile rsync

9

11.11.10

Gimp/Layoutstudien


5


12.11.10

Layout und Newsdienst

Implementierung des Seitencontent

7

13.11.10

Seitenlayout/Kalenderextension

Kalenderextension zeigt keinen more Link ==> die Einzelansicht muß installiert werden

Probleme mit Content:: die Content-Stylesheets müssen ausgetauscht werden; Isolierung der Templates in neue Ordner sodass später die Portierung der fertigen Seite leichter möglich ist.

10

14.11.10

Vorbereitung für die Präsentation


Portierung der Seite auf den Laptop


15.11.10

Template

Entfernen der Default-Styles für Kalender und CSS-Styled Content; die Styles werden im zentralen Template verwaltet

Neuordnung des kompletten Template-Systems

für alle Seiten wird im Template „Autoparser“ eine Defaultseite (template_page_neu.html) eingestellt; diese Einstellung kann durch individuelle Änderung in dern Seiteneigenschaften für einzelne Seiten überschrieben werden

10

16.11.10-19.11.10

Typoscript Studium und Wartungsarbeiten

Vorbereitung für AVSitzung -Vorstellen des Layoutentwurfs;

AVSitzung

10

22.11.10


Warten auf Rückmeldung der Kunden




Implementierung auf jeff.at

Saubere Trennung der neuen Installation von der Installation der Schulhp: Trennung der Templates, des Filesystems, der Typoscript-Konfiguration wo dies möglich ist; Dokumentation der Änderungen, die nicht getrennt vorgenommen werden können.


0


Prospekte scannen

Weite 800px; als jpg abspeichern und mit

>convert *.jpg abteilung.pdf zu einem PDF zusammenfassen.

convert -page A4 -units PixelsPerInch -density 96 -border 100x100 1.gif 1.pdf

0


OCR Scan

Bild aufbereiten; Transparent-Layer entfernen; hohe Auflösung; starker Kontrast (Gimp: //Color/Threshold) das Bild als TIF (LZW-komprimiert) abspeichern! Dann mit dem Freewaretool von Google „tesseract“ scannen

>tesseract xxx.tif xxx.txt

Achtung! Funktioniert nicht, wenn das Bild einen Transparent-Layer hat

0


Stundentafel

Export aus CALC mittels xhtml Export; dann mit dem Skript xhtml-tidy.sh die Daten extrahieren und die Style-Angaben herauslöschen

~/Dropbox/bash/xhtml-tidy.sh a.xhtml style.*\"



#kner 2010 this script forms openoffice xhtml exports, strips header and clears pattern

if [ $# -lt "3" ]; then

echo "trimm openoffice output ==> usage: xhtml-tidy input output pattern"

exit

else

echo $3

tidy -i -asxhtml --show-body-only yes -utf8 $1|sed -r 's%'$3'%%'> $2

fi



Update September 2011

es gibt Probleme mit sed und regepx; besser: gedit mit Regepx verwenden

  1. als normales HTML speichern

  2. mit tydy wie oben in xhtml umformen und body herausschneiden

  3. Styles entfernen
    style=[\s\S]*?\"[\s\S]*?\"

  4. unerlaubte tags entfernen
    sdnum=[\s\S]*?\"[\s\S]*?\"
    sdval=[\s\S]*?\"[\s\S]*?\"

  5. mit cut&paste ins typo3 übertragen

0


Portierung der Entwicklungsseiten auf den Produktionsserver

  1. Filesystem übertragen; Achtung auf die Rechte und Besitzer

  2. Seitenbaum importieren (t3d)

    1. Achtung, die Seitentemplates sind schon aktiv, d.h. Die Templates sollten schon am Filesystem sein

  3. Probleme:

    1. manche News-Dienste verlieren den Link zur Datenseite

0


Neue Seiten als eigenständiger Baum

Um von den globalen Templates unabhängig zu werden wird Typoscript für den Seitenbaum zurückgesetzt (Edit the whole template record) und „//Options/clear Constants“ „//Options/clear Setup“

jetzt werden die Basistemplates und die statischen Templates neu eingebunden

Problem: wenn man den neuen Baum als Wurzelebene festlegt funktioniert das linke Menü nicht mehr (Grund ???)


167


IE6 Blödheiten

Position:absolute Fehler; das Element ist falsch positioniert oder verschwindet ganz; clear:both zusätzliche einfügen



Typo3 Datenbank manipulieren

Die Prüfung auf xhtml-Korrektheit liefert Fehler; der Versuch mit der Extension find&replace diese Fehler zu beseitigen führte dazu, dass im Text anstelle des Tags <br/> der Text „<br/>“ erschien.

Ursache: die Daten werden von der Extension mit mysql_escape_string bearbeitet und dann eingetragen; dadurch verwandeln sich die Binärcodes der Sonderzeichen in „Textcode“; um dies anzupassen wurden zuerst Versuche mit MysqlAdmin gemacht;



Ergebnis: ein \n direkt im bodytext-feld führt zu einem <p> </p> im Html-Code; für eine weiche Zeilenschaltung muß <br /> in das Feld bodytext eingefügt werden.

SQL:

update `tt_content` set bodytext=replace(bodytext,'\\n','<br />') where pid='5495'



SELECT bodytext

FROM `tt_content`

WHERE pid = '5470';



Durch Abänderung der Extension (Entfernen von mysql_escape_string) konnte die SQL Anweisung für den gesamten Seitenbaum ausgeführt werden.




Homepage Klonen

Die gesamte HP auf neu.htl.jeff.at klonen:

  1. Datenbank überschreiben:
    sql -uuser -ppassword
    use htlmoed_neu
    source /usr/home/htlmoed/dump.sql … spielt die Origanialdaten ein

  2. Verzeichnisstruktur kopieren nach /usr/home/htlmoed/public_htlm/neu „cp -R * neu “ (1.9 GB!)



Exif Rotation korrigieren

jhead -autorot *



IE7 Fehler: Seiten sind alle schwarz

Extension perfectlightbox deinstallieren




CSS Reset

Setzt die Defaulteinstellungen der Browser zurück; dadurch einheitliches Erscheinungsbild der Webseiten auf allen Browsern wahrscheinlicher; nicht vergessen auch VALIDIEREN von html und css!

http://developer.yahoo.com/yui/3/cssreset/

Fehlermeldungen

Debugging ist schwierig; eine Zusammenfassung ist nötig

debug.enable in Typoscript

Debug im Installtool



In der localconf.php den Datenbankuser korriegieren

kann tslib nich finden

Symlinks in Linux funktionieren nicht: alle Symlinks und die Ordner auf die sie zeigen müssen für den user www-data:www-data zugreifbar sein (chmod -R 775 ) und in der Apache Konfigurationsdatei oder in der php-Ini müssen alle Verzeichnisse für Apache Zugreifbar sein (open_basedir)

Extension behält Fehlermeldungen

Die Extension deinstallieren und neu einrichten

Extension Update funktioniert nicht

KONTROLLE von ERROR.LOG im Verzeichnis //var/log/apach2

Extension Manager (import extensions)

The extension MD5 sum could not be fetched from http://typo3.org/fileadmin/ter/extensions.md5.Possible reasons: Network problems, allow_url_fopen is off, cURL is not enabled in the Install Tool

Erweiterungen im TER













Interessante Extensions




http://typo3.org/documentation/document-library/extension-manuals/mail2news/1.9.8/view/


Mail to ttnews



Best Practice

Htmlarea Bereiche kann man auch mit der Firefox-Extension WRITE AREA bearbeiten; geht nicht schlecht. Bilder müssen mit absolutem Pfad angegeben werden in der Form http://htl.jeff.at/fileadmin/elektronik/bilder/Exkursion4aheli201011/4ahelt201011.JPG



CSS Snippets

/*  Einfaches Hauptmenü  Kner 2010 */ 
/* **************************************** menuMain ********************** */ 
div#menuMain 
{ 
	position:relative; 
	margin:0; 
	padding:0; 
} 

/***************************************** menuTop ***********************/ 
ul#menuTop 
{ 
	text-align:center; 
	font-size:12px; 
	background-color:#DEDEDC; 
	border:solid 1px #999; 
	list-style:none; 
	height:24px; 
} 

li.level1li 
{ 
	position:relative; 
	display:block; 
	float:left; 
	min-width:70px; 
} 

/* Untermenüpunkte */ 
ul#menuTop li.level1li ul 
{ 
	position:absolute; 
	left:0; 
	top:24px; 
	display:block; 
	border:solid 1px; 
	padding:2px; 
	list-style:none; 
	background-color:#DEDEDC; 
	z-index:1000; 
} 

ul#menuTop a 
{ 
	display:block; 
	text-decoration:none; 
	border:solid 1px silver; 
	text-align:center; 
	padding-left:2px; 
	padding-right:2px; 
	margin:3px; 
} 

ul#menuTop a:hover 
{ 
	background-color:#eee; 
} 

ul#menuTop a:active 
{ 
	color:blue; 
} 

Bearbeitung von sehr großen Dateien

VIM Editor

Suchen und ersetzen



globales Ersetzen: :%s/suchstringglobal/ersetzstringglobal/g

Sonderzeichen ersetzen: Binärcode wird eingegeben durch ^V+Dezimal oder ^VX+Hex