RSS Feed
Mär 16

WordPress Core Strings ohne Verlust beim nächsten Update überschreiben

Veröffentlich am Freitag, 16. Mär 2012 in WordPress

Auf dem letzten WP Meetup Potsdam hat Caspar eine kleine Einführung in das Thema Multisite gegeben. Dabei päsentierte er auch kurz das Einrichten eines neuen Blogs im Netzwerk. Als er sich im Dashboard angemeldet hatte wies er uns auch darauf hin, dass er die Bezeichnung “Dashboard” in “Übersicht” umbenannt hat, da dies wohl für einige Kunden besser verstädnlich ist.

Der falsche Weg

Auf die Nachfrage, wie er es denn umbenannt hätte, musste er dann zugeben, dass er die originale Datei überschrieben hat. Oder er hatte sie komplett kopiert und dann den einen String geändert, das weiß ich nicht mehr so genau. Aber auf jeden Fall waren wir uns alle einige, dass dies eine sehr schlechte Lösung des Problems ist. Spätestens beim nächsten großen Update, wie z.B. bald auf Version 3.4, wird auch die Übersetzungsdatei wohl wieder überschrieben werden müssen. Alle geänderten Übersetzungen sind somit verloren und müssen erneut überschrieben werden. Ich war mit aber sehr sicher, dass es dafür eine bessere Lösung gibt.

Der richtige Weg

Vor einiger Zeit habe ich dem Artikel Lokalisierung für Child Themes am Beispiel von Thematic beschrieben, wie man in einem Child-Theme die Übersetzungen für Strings im Parent Theme überschreiben kann. Ich war mir sehr sicher, dass dies auch für die WordPress Core Strings funktionieren muss. Bei Core-Übersetzungen wird ja in den Übersetzungsfunktionen keine Domain angegeben. Daher war die erste Vermutung, dass man einfach einen leeren String für das Einbinden der Übersetzungsdatei verwenden muss. Aber das war nicht ganz korrekt. Man muss den String “default” als Parameter verwenden. Damit ist es dann möglich, eine eigene Übersetzungsdatei zu laden. In dieser Datei müssen aber nicht alle Strings enthalten sein. Es reicht aus, wenn man nur die zu überschreibenden aufführt. Die Einbindung dieser mo-Datei geschieht dann wie folgt:

load_textdomain( 'default', dirname( __FILE__ ).'/'.get_locale().'.mo' );

In diesem Beispiel befindet sich dann z.B: die Datei de_DE.mo im selben Verzeichnis wie die Datei, in die diese Zeile eingefügt wurde. Dies kann in eurem Theme aber auch in einem Plugin geschehen. Im Falle von Capsar ist es sogar am sinnvollsten, das ganze als “must-use” Plugin im Ordner /wp-contents/mu-plugins/ abzulegen. Ich habe das ganze natürlich auch mal für euch fertig vorbereitet und ihr könnt es hier herunterladen und einfach als Plugin installieren:

Download

Fazit

Auch hier hat sich wieder gezeigt, wie flexibel WordPress ist. Auch mein Grundsatz “Don’t hack the core, never!” (auf Deutsch würde man wohl sagen “Nur gucken, nicht anfassen!”) wurde dadurch mal wieder bestätigt. Ich habe bisher wirklich noch kein Problem gefunden, dass ich nicht durch ein paar Zeilen Code in der functions.php Datei oder durch ein kleines Plugin lösen konnte, ohne den Core anfassen zu müssen. Das einizige, was einem hier noch passieren könnte ist eine Änderung des zu übersetzenden Strings in einer neuen Version. Dann müsste natürlich auch die Übersetzungsdatei angepasst werden. Aber eben auch nur die wenigen Strings darin und auch nur die, die sich geändert haben.

Was haltet ihr von meiner Lösung? Hättet ihr gedacht, dass so etwas mit nur einer Zeile Code möglich ist? Habt ihr vielleicht auch ähnlich tolle Fixes parat? Über Kommentare würde ich mich wie immer sehr freuen.

Jun 4

Ordnerstruktur eines SVN-Repositories richtig aufsetzen

Veröffentlich am Samstag, 4. Jun 2011 in Webserver

In meinem letzten Artikel Subversion mit WebDAV auf einem Ubuntu Server installieren habe ich euch ja gezeigt, wie man den Server für die Subversion Repositories aufsetzt. Nun geht es aber darum, wie man die Ordnerstruktur eines Projekts gestalten sollte. Wenn man hier von Anfang an auf ein paar Grundlegende Best-Practices achtet, dann erleichtert es einem später enorm die Arbeit mit dem Repository.

Die Grundlegenge Ordnerstruktur

Es gibt keine fest vorgegebene Struktur für ein Repository. Es hat sich aber eine Struktur herausgebildet, die von den meisten Projekten, die Subversion einsetzen benutzt wird. Diese wird auch in der SVN-Referenz (deutsche Übersetzung) beschrieben. Dazu werden im Hauptverzeichnis folgende drei Ordner erstellt:

(weiterlesen …)

Mai 22

Subversion mit WebDAV auf einem Ubuntu Server installieren

Veröffentlich am Sonntag, 22. Mai 2011 in Webserver

Heute ist Tag 1 mit meinem neuen Server und natürlich ist noch nicht alles wieder so, wie es vorher war. Für einige kleine Projekte benötige ich ein SVN-Repository und da ich einen eigenen Server habe lohnt es sich ja auch diesen dafür zu verwenden. Da einige Projekte eventuell auch für die Allgemeinheit verfügbar sein sollen, möchte ich diesmal gleich den Zugriff per DAV ermöglichen, damit nicht immer ein Benutzer angelegt oder ein zentrales Passwort veröffentlicht werden muss. Da die letze Einrichtung auch bei mir schon wieder etwas her ist habe ich bei How-To Geek den Artikel Install Subversion with Web Access on Ubuntu gefunden. Hier nun meine Zusammenfassung zum Umsetzen auf einem Server mit Ubuntu 10.04 LTS (sollte aber auch auf anderen Linux Distributionen ähnlich funktionieren, abgesehen von den Speicherpfaden und der Art der Installation).

Installieren von Subversion

(weiterlesen …)

Feb 26

Einen Catch-All E-Mail Account in Plesk einrichten

Veröffentlich am Samstag, 26. Feb 2011 in Webserver

Wie ich schon in verschiedenen anderer Artikel erwähnt habe, läuft dieser Blog auf einem Server mit Plesk. Für meine Domain kann ich zurzeit bei meinem Hoster nur eine einzige E-Mail-Adresse angeben. Da ich aber auch andere Adressen verwenden wollte habe ich mir die E-Mail Funktion von Plesk zunutze gemacht.

Da ich alle E-Mail-Adressen meiner Domain ohnehin auf eine einzige Adresse umleiten lassen möchte, habe ich noch einer Möglichkeit in Plesk gesucht und schließlich auch gefunden. Man kann recht einfach einen sogenannten Catch-All E-Mail-Account einrichten. Die Einstellung ist allerdings etwas versteckt.

(weiterlesen …)

Jun 4

AWStats und Webalizer für Plesk aktivieren

Veröffentlich am Freitag, 4. Jun 2010 in Webserver

Ich nutze auf dem Server, auf dem dieser Blog läuft Plesk. Ich konnte dort bereits vieles aktivieren, aber eine Sache, die einfach nicht funktionieren wollte, war AWStats oder Webalizer. Dabei war es mir eigentlich egal, welchen der beiden Statistiken läuft, ich wollte es einfach nur mal zum Laufen bekommen, selbst wenn es nur allgemeine Daten zum Traffic und den Benutzern beinhaltet.

Statistiken in Plesk aktivieren

Das Ganze in Plesk zu aktivieren ist eigentlich kein allzu großes Problem. Unter “Domain -> Hosting -> Setup” kann man das jeweilige Statistik-Toll recht einfach aktivieren:

AWStats oder Webalizer Webstatistiken aktivieren

(weiterlesen …)

Mär 26

Website oder Blog mit der mod_deflate Komprimierung beschleunigen

Veröffentlich am Freitag, 26. Mär 2010 in Webserver

Ich wollte schon lange eine Komprimierung aller Dateien auf meinem Server aktivieren, aber alle Versuche die Komprimierung über das Apache Module mod_deflate oder mod_gzip zu aktivieren liefen ins Leere. Ich fand ständig super aufwändige Anleitungen, wie ich mir das selbst kompilieren und dann mit vielen Anpassungen unter Apache zum Laufen bekomme. Ich bin aber immer davor zurückgeschreckt es auch umzusetzen, da ich kein ausgewiesener Linux und Apache Profi bin.

An meinem Geburtstag habe ich dann durch Zufall auf der Suche nach einem anderen Problem gesucht habe unter anderem auf der Website debianroot.de eine super einfache Anleitung gefunden, wie man DEFLATE einfach aktivieren kann.

(weiterlesen …)

Feb 26

Programme als Administrator in eingeschränktem Profil starten

Veröffentlich am Freitag, 26. Feb 2010 in Software

Ich bin ja eher ein Webentwickler als ein Administrator, aber ab und zu bleibt es einem nicht erspart sich auch um die Rechner der anderen Kollegen zu kümmern. Ein sehr häufig auftretendes Problem ist dabei das Installieren von Programmen oder Updates. Da in unserem Büronetzwerk natürlich nicht jeder Benutzer ein Hauptbenutzer und schon gar kein Administrator ist, muss man dort als Admin tätig werden.

Zu Beginn meiner Admintätigkeit habe ich oftmals den Benutzer abmelden müssen aus Unwissenheit darüber, wie man unter einem eingeschränkten Profil ein Programm als Admin starten kann. Mittlerweile habe ich aber gelernt, dass man über die Kombination “Rechte Maustaste -> Ausführen als…” sehr einfach eine Installation als Admin ausführen kann.

(weiterlesen …)

Feb 11

Anzahl der Backups im Plesk Backup-Manager begrenzen

Veröffentlich am Donnerstag, 11. Feb 2010 in Webserver

In meinem Artikel Plesk Backup-Manager auf 1&1 Linux Root Server einrichten habe ich bereits beschrieben was zu tun ist, um das Backup auf einem Server mit Plesk einzurichten. Beim Einsatz dieser Konfiguration bin ich allerdings sehr schnell auf ein folgenschweres Problem gestoßen.

Da ein Backup der Domain mittlerweile eine Größe von über 20GB hat reichen die 250GB des 1&1 Backup FTP-Servers nur für 10 Backups. Sobald dieser Speicherplatz verbraucht ist, werden die Daten auf dem Webserver abgelegt. Das fatale dabei ist, dass dadurch der gesamte Speicherplatz des Servers langsam aber sich aufgebraucht wird. Wenn der Speicherplatz belegt ist führt es im schlimmsten Fall dazu, dass MySQL keine temporären Tabellen mehr erzeugen kann und euer Server ist somit nicht mehr in der Lage die Anfragen zu bearbeiten. Also im Klartext: Euer Server funktioniert im schlimmsten Fall nicht mehr.

(weiterlesen …)

Feb 1

Internet Explorer 6 unter Windows 7 nutzen mit dem Windows XP Mode

Veröffentlich am Montag, 1. Feb 2010 in Software, Webentwicklung

Wer sich von euch jetzt fragen sollte “Wieso sollte ich den IE6 unter Windows 7 nutzen?” dem würde ich gerne “Willst du nicht!” antworten. Aber diejenigen unter uns, die Webseiten entwickeln und auch mit dem IE6 eine Website testen müssen, wird dieser Artikel wohl helfen.

Unter Windows kann ja bekanntermaßen immer nur eine Version des Internet Explorers installiert sein. Da der IE8 auch einen Kompatibilitätsmodus für den IE7 besitzt hat man so schon mal zwei Fliegen mit einer Klappe geschlagen. Aber wie soll man unter Windows 7 einen IE6 installieren. Zum Glück gibt es hier eine sehr einfache und sehr benutzerfreundliche Methode. Zum Testen des Chrome Frame für meinem letzen Artikel habe ich noch eine virtuelle Maschine mit Windows XP unter Suns VirtualBox verwendet. Es geht aber sehr viel einfacher und erfordert keine Zeitaufwändige Installation eines XP-Systems, für das man auch noch eine Lizenz benötigt. Wer also keine mehr rumliegen hat und nicht unbedingt eine XP-VM benötigt, kann sich trotzdem den IE6 für Win7 holen.

(weiterlesen …)

Dez 28

Kostenlose Alternative zum Cisco VPN Client unter Windows 7 x64 (64 bit)

Veröffentlich am Montag, 28. Dez 2009 in Software

Bei der Installation meines Win7 Systems auf meinem ThinkPad stieß ich auf das Problem, das wohl viele Umsteiger von Windows in einer 32bit Version haben. Für die Zugriff auf die Netzwerke in der Universität und im Büro bin ich auf eine Cisco VPN Verbindung angewiesen. Leider gibt es von Cisco keinen 64bit VPN Client für Windows 7 in der x64 Version. Lediglich für Windows XP ist hierfür ein Client verfügbar.

Ich habe also einige Foren durchsucht und bin dabei auf verschiedene Lösungswege gestoßen. Manche haben den Cisco AnyConnect VPN Client empfohlen, der allerdings zu dieser Zeit keine PCF Profildateien unterstütze. Da ich aber von der Universität auch nicht auf Unterstützung von AnyConnect warten konnte musste eine andere Lösung her.

(weiterlesen …)

Impressum