Willkommen auf der privaten Homepage von Johannes Jarolim, Salzburg, Österreich

Welcome to the private homepage of Johannes Jarolim, Salzburg, Austria, Europe.

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)
This is a YAPB post

24. April 2006, 07:57

Fotoworkshop / Wochenende in München

20

Ein spannendes Wochende ging zu Ende und ich kam mit einer Reihe von feschen Fotos aus München zurück. Obwohl ich über weite Strecken eine kapitale Themenverfehlung abgeliefert habe (Wie sehe ich München - München soll erkennbar sein), bin ich dennoch sehr zufrieden mit den Ergebnissen:

This is a YAPB post

15. April 2006, 23:21

Wordpress und Übersetzungen

19

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.

This is a YAPB post

15. April 2006, 14:57

Racing Day

33
This is a YAPB post

10. April 2006, 08:51

Ice Age 2 - Jetzt taut’s

18

Gesehen: Den zweiten Teil.

Der Film ist tatsächlich sehenswert - Die Computergrafik und Animation hat sich seit dem ersten Teil wesentlich weiterentwickelt. Hier hat sich die Twentieth Century Fox Animation sehr verbessert. Nachdem mich der erste Teil animationstechnisch ziemlich entäuscht hatte, wage ich jetzt zu behaupten, dass sich die Technik jetzt auf Pixar-Niveau bewegt:

  • Die Bewegungsabläufe sind flüssig und natürlich
  • Komplexe Bewegungsabläufe (Muskeln) während der Bewegung (Besonderes Augenmerk auf das Mammut)
  • Mehr Liebe zum Detail (Mehr Budget?)
  • Durchaus gut gemachte Umgebung (hat aber schon im ersten Teil gepasst)

Die Story ist abwechslungsreich und mit vielen guten Lachern gespickt. Der Running-Gag des ersten Teils - Das Säbelzahnhörnchen - ist wieder präsent und müht sich mehr als je ab, seine Eichel zu bekommen.

Auf jeden Fall im Kino ansehen.

This is a YAPB post

5. April 2006, 08:35

Stealth - Unter dem Radar

17

Stealth - Unter dem Radar Gesehen: Seichter Actionfilm.

Da ich des öfteren längere Zeit auf dem Heimtrainer verbringe, brauche ich anspruchslose Actionkost, damit ich gedankenlos strampeln kann. Dieser Film ist genau ein solcher. Drei unglaublich hippe Piloten, allen voran das Hollywood Püppchen Jessica Biel, düsen mit ultrageheimen Stealth-Jägern durch die Welt.

Story: Anspruchslos und leicht zu konsumieren.
Die drei bekommen einen computer-gesteuerten, ungetesteten Wingman, der dann natürlich auch prompt nicht mehr gehorcht, alles und jeden einer Gefahr aussetzt und abgeschossen/eingefangen werden muß. Abgesehen von wirklich haarsträubenden Informatik-Aussagen (Liegt hoffentlich an der deutschen Übersetzung), haben wir hier die klassische Computer-soll-Mensch-ersetzen-und-das-stellt-sich-als-gar-nicht-toll-heraus-Story. Natürlich inklusive der Computer entwickelt Gewissen und opfert sich am Schluß Wendung.

Die Spezial Effects sind natürlich erste Sahne und zeigen, wie lässig (einhändig) ein guter Pilot sogar bei Überschall durch Gebirgstäler fliegen kann - Natürlich jederzeit mit schlagfertigen Kommentaren auf der Lippe. Zusätzlich haben die amerikanischen Militärpiloten der Zukunft jederzeit die Möglichkeit, einen Befehl zu verweigern, sollte es zu großen Kollateralschäden kommen *lach*.

Frau Biel gibt die sexy Soldatenbiene, die selbst im Feindesland verfolgt von unglaublich bösen Nordkoreanern eine gute Figur abgibt. Soldaten im 21. Jahrhundert haben natürlich im Notfall bauchfreie Kleidung, damit alle was zum schauen haben.

Fazit: Unrealistisch, aber super special Effects - Kein Nachdenken erforderlich
Und das ist genau das, was ich brauche, wenn ich am Heimtrainer allabentlich mein Blut vom Hirn in die Beine pumpe.

This is a YAPB post

4. April 2006, 08:51

Tagging und Tagclouds

16

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)

This is a YAPB post

1. April 2006, 19:38

Philip K. Dick - Blade Runner

9

Blade Runner.Das Buch vor dem Film.

Sehr spannendes und unterhaltsames Buch - Dick nimmt hier auch wieder Ideen aus seinen Kurzgeschichten auf - Zb. die Verehrung Wilbur Mercers (Die kleine Blackbox / Der unmögliche Planet S.516).

Besonders erfrischend fand ich die Idee, dass in einer verstrahlten, verlassenen Welt (Ein Thema, dass Dick immer wieder aufnahm) Haustiere als Statussymbole gelten. Gehegt, gepflegt und präsentiert: Wer keines hat oder erhalten kann, muß zu elektrischen Attrappen greifen, um vor den Nachbarn nicht blöd dazustehen.

Jeder, der den Film gesehen hat, sollte das Buch ebenfalls lesen - Für die wenigen, die den Film noch nicht gesehen haben: Unbedingt zuerst das Buch lesen!

Der unmögliche Planet.Wieder ein interessantes Buch gelesen: Der unmögliche Planet. Das Buch ist eine Sammlung teilweiser sehr kurzweiliger und guter Science Fiction Kurzgeschichten des Authors Philip K. Dick.

Schattenhaft auftauchende Erinnerungen an einzelne Geschichten lassen mich darauf schließen, dass ich das Buch vor Jahren schon einmal gelesen habe.

Was mir nicht bewußt war ist, dass neben Bladerunner schon einige Hollywood Filme wie Minority Report, Vanilla Sky, Die Truman Show, Total Recall, etc. mehr oder wenig von Dick’s Büchern und Kurzegeschichten abgeleitet wurden.

Ableitungen aus diesem Buch:

  • Der Minderheitenbericht (S. 402) -> Minority Report
  • Erinnerungen en gros (S. 582) -> Total Recall
  • Variante zwei (S. 115) -> Screamers

Auf jeden Fall Empfehlenswert: Wer nichts gegen Science Fiction aus der McCarthy Ära mit Verarbeitung von Ängsten aus der Zeit des kalten Krieges hat, kann selbst mit wenig Zeit zur Verfügung mal schnell die eine oder andere Geschichte durchlesen.