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

Schlagwort wordpress

Yet Another Photoblog goes alpha!

Finally – My wp-plugin "Yet another Photoblog" goes alpha. What does that mean? Well – I’m programming on a photoblog-conversion Plugin for WordPress for a while now and a alpha version is installed on this site since this morning.

What is Yapb? What can you expect?

  • A non invasive WP-plugin that converts wp into a easy useable photoblog system
  • Easy image upload – All wordpress post-features can be used
  • On the fly thumbnail generation – You can use multiple thumbnail sizes as you need them: Thumbnail generation is now part of the template
  • Exif data processing and output

The idea
There aren’t many open source photoblog systems out there in the wild. I searched a long time and found only few. Evaluated all of them and decided to program one on myself, since none of them meet my demands. I did that about three times – Every version was build up from the scratch. Every version was better and more flexible. More cool and finally more proprietary.

Every time i saw a feature in another blog system that i wanted to have – i had to spend much of my rare spare time to design, program and integrate it into my own photoblog system. After impelenting some features i decided that this was a waste of time.

There already was a system having lot’s of features and a huge community: WordPress. Yapb is my try to build on a wide spread platform – And to get what i want – As a photographer and programmer.

Technical spoken
Yapb integrates tightly into wordpress. Via Javascript DOM manipulation it injects several form additions into the standard wordpress post form. It provides additional data and fnctions to themes so that nearly every theme can be converted to a photoblog in virtually no time. Yapb doesn’t touch original wordpress code. You can decide if you want to write a normal WordPress Text-Post or if you want to post an image. etc. etc.

What’s next? Nearly all pics you see on this blog are posted over Yapb. Now it’s only a matter of time that a installable version get’s released.

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!

Eingabe ueber Blackberry

Kaum ein Blackberry in der Hand – Muss ich schon das Admin Interface testen – und geht wirklich laessig. Das ist definitiv die Bestaetigung dafuer, das sauberes HTML was kann.

Ich werde zukuenftig definitiv alle Userinterfaces nur noch mit sauberem HTML aufbauen, wenn ich kann.

artikeleingabe über opera mini

dank der sauberen präsentationsschicht des wordpress admin interfaces ist die eingabe neuer artikel bzw editierung bestehender artikel über mobile geräte absolut kein problem. diesen artikel habe ich sozusagen als proof of concept komplett über ein motorola v3 mit installiertem opera mini gepostet und mehrmals editiert.

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 ;-)

 « 1 2