Mit ‘TYPO3’ getaggte Artikel

Reguläre Ausdrücke in TypoScript

Mittwoch, 10. Februar 2010

TypoScript Variablen und Konstanten mit regulären Ausdrücken zu prüfen ist ein neues Feature ab TYPO3 Version 4.3.0. Leider ist dieses Feature nirgendwo dokumentiert und es finden sich auch keine Beispiele im Internet. Ich habe es nach einiger Frickelei allerdings hingekriegt.

Und zwar ging es darum Google Analytics Javascript Code in die Seite einzufügen, falls eine entsprechende Template-Konstante gesetzt ist. Und so gehts:

1
2
3
[globalString = LIT:{$GOOGLE_ANALYTICS_ID} = /UA-([0-9]+)-([0-9]+)/]
  # do something
[end]

Wichtig ist dabei, dass globalString reguläre Ausdrücke unterstützt und globalVar nicht. Die Konstante muss man dann weiterhin mit LIT in einen Literal “typisieren” und den regulären Ausdruck mit “/” umschließen.
Mit Quantoren scheint es allerdings ein paar Probleme zu geben: ([0-9]{2}) als letzter Ausdruck meiner Google Analytics ID hat funktioniert, ([0-9]{1,4}) hingegen nicht. :/

rsync bei TYPO3 Projekten

Dienstag, 09. Februar 2010

Wollte heute mal ein TYPO3 Projekt ganz unkompliziert über rsync/ssh auf den Webserver hochladen. Funktioniert ganz gut mit:

1
rsync -rulzPh -e 'ssh -ax' ./ ssh-user@ssh-host:/directory

Die Optionen sind -r für rekursiv, -u für update, -l für symbolische Links (erhalten), -z für Komprimierung, -P für –progress (Fortschrittsanzeige) und –partial (erlaubt anscheinend fortsetzen von Dateitransfers) und -h für “human readable” Formate. Mit -e schaltet man die Remote Shell um (da ich ja über SSH verbinde). Damit man aber nicht die ganzen Temp-Dateien und den sonstigen MacOS Filesystem-Mist mit transferiert, erstellt man am besten eine Datei, die zu exkludierende Dateien enthält. Diese hab ich “.rsync_exclude” genannt. Der Inhalt sieht dann wie folgt aus:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# exclude this file
- .rsync_exclude

# exclude mac files
- .DS_Store
- ._*

# exclude git repository
- .git

# exclude typo3 temp files
- /public/typo3temp/*
- /public/typo3conf/temp_*

# exclude typo3 install file
- /public/typo3conf/ENABLE_INSTALL_TOOL

# exclude typo3 deprecation logs
- /public/typo3conf/deprecation_*

Nun muss man beim Aufruf einfach nur noch --exclude-from=.rsync_exclude anhängen und ab gehts!

Saubere GIT Repositories für TYPO3 Projekte

Donnerstag, 04. Februar 2010

Ich erstelle gerade ein TYPO3 Projekt und wollte den Sourcecode mit GIT managen. Da ich natürlich <b>nur</b> die projektspezifischen Dateien ohne temporäre Inhalte und Caches im GIT Repository haben möchte, habe ich folgenden Inhalt in die .git/info/exclude geschrieben:

1
2
3
4
/typo3_src*
/public/typo3temp/*
/public/typo3conf/temp_*
/public/typo3conf/ENABLE_INSTALL_TOOL

… ausgehend von der Verzeichnisstruktur:
/public
/typo3_src-4.3.1

Jetzt haben wir allerdings das Problem, dass der Ordner public/typo3temp nicht mit ins Repositry eingespült wird. Damit der Ordner doch mit im Repository auftaucht, habe ich in dem Verzeichnis eine .donotdelete Datei erstellt:

1
2
touch /typo3temp/.donotdelete
git add -f public/typo3temp/.donotdelete

Danke an den Klops für den Tipp.

Vielleicht hilfts ja wem.