Willkommen auf der privaten Homepage von Johannes Jarolim, Salzburg, Österreich. Welcome to the private homepage of Johannes Jarolim, Salzburg, Austria, Europe.
Sechzehn Artikel in der

Kategorie Wordpress

Jerome’s Keywords Manager

Even if Jerome’s Keywords is a very, very nice and useful wp-plugin – I still missed something. How could i update previously entered tags without editing every single post?

The solution:

The marvelous jeromes-keyword-manager ;-)
Version 2 of the plugin – Short Description can be found here.
Version 3 of the plugin – Look here for further information.
Version 4 of the plugin (Developement name: Final destination) – more info

Language files as far as i know:

Language Contributor Link
German Johannes Included in download
Korean Juice http://lombric.linuxstudy.pe.kr/PDS/jeromes-keywords-manager-ko_KR.zip
Japanese Plasticdreams http://plasticdreams.org/uploads/projects/jeromes-keyword-manager-lang-ja_JP.zip

Screenshots:
[mygal=jeromes-keywords-manager]
Screens for V3:
[mygal=jeromes-keywords-manager-v3]

The plugin allows to edit, replace or delete tags over all posts.
Hope this will help to spread the tagcloud idea ;-)

Installation:

How do i install a wp-plugin? Instead of repeating the old rtfm phrase i’ll explain the veeery complicated way to install one:

  1. Unzip the files into an empty directory
  2. Upload the file and directory directly into the wp-content/plugins folder of your wp-installation
  3. Go to admin panel / plugins and activate it
  4. Enjoy!

Administrationsmasken in WordPress verändern und ergänzen

Da ich derzeit evaluiere, ob ich WordPress ohne Hacks über ein Plugin zu einem PhotoBlog umfunktionieren kann, interessierte es mich natürlich sehr, wie weit ich WordPress Administrationsmasken anpassen und verändern kann.

WordPress bietet schon standardmäßig einige Hooks an, die es erlauben diverse Administrationsmasken mit eigenen Funktionalitäten zu ergänzen. Allerdings kommt man mit diesen nicht an alle Stellen heran – Standardmäßig kann man die Masken ohne Hacks am WordPress Quellcode nur ergänzen. Als Beispiel ziehe ich die Maske "Beitrag schreiben" heran (Erweiterte Eingabe). Diese bietet out of the box 3 Hooks für eigene Funktionen an:

edit_form_advanced
Dieser Hook ermöglicht es, eigene Inhalte unter dem Texteingabefeld einzufügen. Beispiel:

function editFormAdvanced() {
    echo ‘<div style="border:1px solid red; padding:1em;">Hello World!</div>';
}
add_filter(‘edit_form_advanced’, ‘editFormAdvanced’);


dbx_post_advanced

Zusätzliche Advanced dbx – Widget Balken am Ende der Maske. Der Code ist etwas umfangreicher, weil ein dbx-Container gemacht werden muß. Beispiel:

function dbxPostAdvanced() {
    echo ‘
        <fieldset id="yapbDbxPostAdvanced" class="dbx-box">
            <h3 class="dbx-handle">YAPB</h3>
            <div class="dbx-content">Hello World!</div>
        </fieldset>
    ‘;
}
add_filter(‘dbx_post_advanced’, ‘dbxPostAdvanced’);

dbx_post_sidebar
Zusätzlicher dbx-Widget Balken rechts. Der Code ist etwas umfangreicher, weil ein dbx-Container gemacht werden muß. Beispiel:

function dbxPostSidebar() {
    echo ‘
        <fieldset id="yapbdiv" class="dbx-box">
            <h3 class="dbx-handle">Yapb</h3>
            <div class="dbx-content">Hello World!</div>
        </fieldset>   
    ‘;
}
add_filter(‘dbx_post_sidebar’, ‘dbxPostSidebar’);

Und andere, ausgefallenere Stellen?
Wie bekomme ich jetzt aber zB. Inhalte ohne Hacks an den Anfang des Forms? Die Antwort, die ich gefunden habe, lautet: Mittels Manipulation des DOM. Beim ersten aufkeimen der Idee stöhnte ich jetzt unwillkürlich auf – DOM-Manipulation ist ja eine Heidenarbeit… Wenn man die richtige Library nicht kennt:

prototype.js
Geschrieben von Sam Stephenson, bietet diese Library mächte Werkzeuge für DOM-Manipulationen. Einlesen kann sich jeder selber (Zb. Auf dieser Seite). Machen wir es kurz – Hier ein Samplecode, der ein DIV an die erste Stelle des Forms bringt – Vorrausgesetzt, die JS-Library prototype ist ebenfalls mit Eingebunden:

function addContentAtTheBeginning() {
    $myDivContent = ‘<div style="border:1px solid red;padding:1em;">Hello World</div>';
    echo ‘
        <script language="JavaScript">
            new Insertion.Before(\’titlediv\’, ‘ . $myDivContent . ‘);
        </script> 
    ‘;
}
add_filter(‘edit_form_advanced’, ‘addContentAtTheBeginning’);

Kurz, einfach, schmerzlos, oder wie der gebildete Inder zu sagen pflegt: C’est ca:

Demonstrationsplugin downloaden (12kB)

WordPress und Übersetzungen

Wie wird WordPress bzw. Plugins oder Themes mehrsprachig? Mich hat das grundsätzlich interessiert, da ich mir derzeit anschaue, ob ich Yapb (Yet Another PhotoBlog) als WordPress Plugin umsetze. Grund für meine Neugier:

Was muß ich schon Anfangs wissen, um das Plugin am Ende auch wirklich ohne große Arbeit Übersetzen zu können (Ich brauche keinen Abschließenden Aha-da-hab-ich-an-der-Realität-vorbeiprogrammiert Effekt).

Naja – WordPress benutzt das freie GNU-Gettext (bzw. hier ein Link zur Gettext-Seite selber), welches grob folgende Arbeitsschritte vorraussetzt:

  1. Alle zu übersetzenden Texte im Quellcode durch Funktionsaufrufe ersetzen
    zb. print(‘This is english’); durch print(__(‘This is english’, ‘pluginname’)); wobei beim Entwickeln wirklich Englisch verwendet werden sollte.
  2. Ein Tool wie zB. poEdit drüberlaufen lassen, alle diese Textschnipsel herausholen lassen und in eine .po-Datei speichern. Diese agiert als Resourcencontainer für nicht übersetzte Textschnipsel.
  3. Diese jetzt Schritt für Schritt in die gewünschte Sprache übersetzen
  4. Das Ergebnis zu einer .mo-Datei (zB. pluginname-de_DE.mo) kompilieren und abspeichern

WordPress selber erlaubt dann die Einbindung dieser Textdomain und ersetzt dann alle so vorbereiteten Textschnipsel durch die deutschen Übersetzungen, wenn der User das so in WordPress eingestellt hat.

Sollte der Benutzer dann eine noch nicht übersetzte Sprache verwenden, wird standardmäßig der Englische Text angezeigt, der ja immer noch im Quelltext vorliegt.

Fazit: Selbst wenn dies wieder mal der falsche Ansatz ist und ich Yapb als eigenständige WebApplikation entwickle, hab ich wieder was dazugelernt: Ein schöner Ansatz für Übersetzungen. Die Übersetzung geht gut von der Hand, wenn man statt den Commandline-Tools der GNU Foundation mit poEdit arbeitet. Ich denke, dass jedes seriöse Übersetzungsbüro .mo-Dateien akzeptiert.

More Infos: Falls sich jemand für das Thema interessiert und schnell in die Materie kommen möchte, kann ich diese beiden Artikel empfehlen:

Zusammen ergeben die 3 Artikel ein schönes Bild – Nach ein bisschen lesen und nachmachen sollte jeder in der Lage sein, eigene Übersetzungsdateien zu erstellen und zu benutzen.

Tagging und Tagclouds

Seit ich es das erste mal auf Seiten wie flickr, del.icio.us, Technorati  oder auch NetLib gesehen habe, interessiert mich die Indexierungsform Tagging sehr. Gestern habe ich Tagging und eine Tagcloud in meine Wordpress-Installation integriert.

Prinzipiell versieht man beliebige Information mit sogenannten Tags (Schlüsselwörtern) – Diese können entsprechend ihrer Häufigkeit in einer Tagcloud dargestellt werden. Hat man eine gute Basis an erfassten Tags, können sehr leicht Relationen einzelner Tags zueinander ermittelt werden. Die Komplexität der Vernetzung steigt sehr früh steil an.

Die Vorteile des Taggings:

  • Sehr schnelle Eingabe (Man gibt einfach mehrere Worte getrennt durch Beistriche an)
  • Sehr übersichtliche Darstellung von Schlagwörtern inkl. ihrer Gewichtung
  • Komplexität durch sehr viele Schlüsselwörter

Die Vorteile des Taggings in Multiuser-Umgebungen:

  • Spontane, freie Vernetzung von Inhalten ohne fixe Vorgaben

Allgemein Nachteile:

  • Doubletten einzelner Tags durch ungewollte gleichzeitige Nutzung des Singular, Plural, anderer Wortformen oder Synonyme, etc. Beispiele für Tagmöglichkeiten mit selber oder ähnlicher Bedeutung: Buch, Bücher, Roman, lesen, gelesen, etc.
  • Ungewollte Fehleinträge durch Tippfehler
  • Komplexität durch sehr viele Schlüsselwörter

Das Tagging in meiner WordPress-Installation habe ich mit diesem Plugin gelößt:
http://vapourtrails.ca/wp-keywords/

Die Darstellung der Tagcloud basiert auf dem Know How in diesem Artikel:
Tag Cloud Font Distribution Algorithm (Im speziellen die etwas schönere, logarithmische Verteilung)

Homepage erstrahlt in neuem Glanz

Da mein Wiki-System immer mehr wie ein Blog ausgeschaut hat, habe ich mich dazu entschlosssen, wirklich auf eines umzusteigen. So ein fliegender Homepagewechsel ist wie ein Umzug: Unwichtige Sachen werden weggeschmissen – Liebgewordene Pages werden nach und nach übersiedelt. Das neue WordPress 2.x schaut mich auf jeden Fall sehr nett an – Mal schauen, wie lange ich brauche, um das Layout auf meinen Geschmack umzustellen ;-)

PhotoBlog offline

Zu meinem Entsetzen hat sich ein Fehler in das Datenbankdesign des Photoblog eingeschlichen. Natürlich sehr peinlich – Und da ich ohnehin die Struktur an meinen neuen Wissensstand anpassen möchte, bleibt das PhotoBlog offline, bis ich es neu aufgebaut habe. Nicht dass es irgendwer angeschaut hätte ;-)

 « 1 2