Dropbox im Alltag

Einen Dropbox-Account habe ich zwar bereits seit (wenn ich mich korrekt erinnere) fast drei Jahren, aber erst seit Kurzem sehe ich, wie hilfreich dieses Konzept tatsächlich ist.
Hintergrund: Ich habe mich kürzlich von Aptana als Web-IDE verabschiedet, da mir zum einen dessen Footprint zu groß war (allein der Start dauert gefühlte Ewigkeiten) und es zum anderen kaum möglich war, Projekte über mehrere Rechner gleich bearbeitbar zu halten. Umgestiegen bin ich auf Komodo Edit, das für meine Zwecke mehr als ausreichend ist und im gesamten Handling deutlich weniger sperrig daher kommt.

Die Projektdateien speichere ich im Dropbox-Ordner, der sich dann mittels des installierten Clients automatisch mit dem Webspeicher synchronisiert, und das auch auf allen anderen Rechnern auf denen ich mich mit demselben Konto anmelde, so dass ich auch auf dem Notebook oder dem Rechner im Wohnzimmer immer Zugriff auf die aktuellsten Versionen habe.

Weiterlesen

WordPress: „Forgot The Category“ für Custom Post Types

Ich erweitere gerade ein relativ umfangreiches Blog um einen Custom Post Type, um neben News auch Artikel darstellen und beide Beitragsvarianten unabhängig voneinander layouten zu können. Zudem wollte ich für die Artikel nicht die Standardkategorien nutzen, sondern neue Taxonomien.

Die Einrichtung des entsprechenden Custom Post Type war mit dem Plugin „Custom Post Type UI“ ein Kinderspiel (die Erstellung des Themes unter Einbindung der CPTs ist es nicht, aber dazu ein andermal).

Beim Test stieß ich dann allerdings auf ein unerwartetes Problem: ich habe das Plugin „Forgot The Category“ installiert, das mich darauf hinweist, eine Kategorie anzugeben, was ich schonmal vergessen hatte und das ist ärgerlich, wenn man es nicht merkt. Mit den bereits vorhandenen Beiträgen klappt das ohne Probleme, nur bei der selbst eingerichteten Taxonomie für den CPT zickte das Plugin und bemängelte nicht gewählte Kategorien.

Ein schneller Blick ins Plugin und via Firebug in den Quellcode der Kategorie-Box im WP-Backend zeigte mir schnell, wo das Problem lag, aber auch wie die Lösung auszusehen hatte:

Der Quelltext des Plugins (Auszug):

class DC_ForgotTheCategory {
  function AddToEditPage() {
    
  }
}

add_action("edit_form_advanced", array("DC_ForgotTheCategory", "AddToEditPage"));

In Zeile fünf entdeckt man den jQuery-Selektor

ul#categorychecklist

das Element mit der ID #categorychecklist gibt es allerdings in der Liste der Custom Taxonomy nicht. Der Quelltext zeigte mir aber dass dasselbe UL-Element auch eine Klasse namens

.categorychecklist

besaß und die war auch in der Liste der selbsterstellen Taxonomie vorhanden. Der Rest war einfach, Zeile fünf musste nur in

if ( jQuery("ul.categorychecklist input:checkbox:checked").length < 1 ) {

geändert werden (Raute gegen Punkt austauschen), und schon wurden korrekt mit einem Haken versehene Taxonomie-Begriffe nicht mehr bemängelt.

Quicktipp: WordPress 3.1 – Adminbar deaktivieren

Persönlich halte ich die neue Adminbar, die WordPress seit der Version 3.1 bietet, ja für ein sehr nützliches neues Feature, andere scheinen aber nicht so glücklich damit zu sein.

Man kann sie aber relativ einfach deaktivieren – entweder in der functions.php:

if (!is_admin() && !current_user_can('add_users')){
	wp_deregister_script( 'admin-bar' );
	wp_deregister_style( 'admin-bar' );
	remove_action('wp_footer','wp_admin_bar_render',1000);
}

Oder in der header.php, hier gehört der Code vor <?php wp_head() ?>

if (!current_user_can('add_users')){
        wp_deregister_script( 'admin-bar' );
        wp_deregister_style( 'admin-bar' );
        remove_action('wp_footer','wp_admin_bar_render',1000);
}

Eigentlich wäre es sinnvoll, wenn das via Option im Backend geschehen könnte, ich würde mal vermuten wollen, dass das aufgrund der geübten Kritik an diesem neuen Feature bald implementiert werden wird

Splashtop OS – schade

Heise hatte heute morgen in seinem Ticker gemeldet, dass Splashtop OS nun in der Version 1.0 vorliegt und ich habe gleich mal einen Test gestartet.

Splashtop OS ist im Prinzip ein Mini-Linux, das man auf einem Net- oder Notebook von Windows aus installieren kann und welches dann ab dem nächsten Neustart vor dem Bootvorgang ausgewählt werden kann. Der Vorteil ist, dass innerhalb weniger Sekunden gebootet wird und der Browser Chromium zur Verfügung steht, statt darauf zu warten, dass Windows komplett durchbootet, was bekanntermaßen dauern kann. Von der Bequemlichkeit und auch vom Energiespar-Aspekt eine prima Sache, wenn man „nur mal eben“ was im Netz nachsehen möchte und kein anderes Gerät zur Hand ist, das sofort online ist, wie beispielsweise ein iPad.

Splashtop wirbt damit, dass man nur eine 2MB-Datei herunter laden muss, das ist schonmal die erste Augenwischerei, denn diese Datei zieht erstmal ca. 350 MB aus dem Netz, bevor der eigentliche Installationsvorgang beginnt. Während der Installation muss man dann zwar eine EULA abklicken, allerdings wird nicht gefragt, wohin Splashtop OS installiert werden soll, als Laufwerk wird automatisch C: gewählt (und so eine Bevormundung mag ich überhaupt nicht!). In einem Konfigurationsdialog kann man dann noch ein paar simple Einstellungen vornehmen und bestimmen, ob man die Lesezeichen aus dem IE oder Firefox importieren möchte. Danach ist ein Neustart angesagt.

Weiterlesen

Server-Überwachung: serverstate.de

Blog Marketing Dies ist ein durch hallimash vermittelter, honorierter Eintrag

Wenn man Server welcher Art auch immer betreibt, die über das Web erreichbar sein müssen, dann kommt man irgendwann auf die Idee, dass man umgehend informiert werden möchte, wenn einer dieser Server (oder beispielsweise Webseiten) nicht mehr erreichbar ist. Mehrere Anbieter buhlen hier um den Nutzer, mit mehr oder weniger preiswerten Angeboten – etliche in Minimalausführungen sogar kostenfrei. Viele dieser Anbieter haben ihren Sitz allerdings im Ausland und deswegen nur englischsprachige Webseiten.

Wer einen Anbieter mit deutschsprachigem Benutzerinterface sucht, sollte mal einen Blick auf serverstate.de werfen. Hier wird eine Überwachung der Dienste HTTP & HTTPS, SMTP, FTP oder POP3 geboten, man kann unbegrenzt viele Dienste überwachen lassen und ebenso unbegrenzt viele Empfänger über eventuelle Ausfälle informieren lassen. Die Benachrichtigung geschieht via eMail oder SMS. Den Prüfintervall kann man zwischen einer Minute und einer Stunde relativ frei wählen, allerdings gilt: je öfter geprüft wird, desto höher sind auch die Kosten (0,0001 EUR pro Check). Als Beispiel: ich habe beim Test eingestellt, dass alle 30 Minuten geprüft werden soll und die Benachrichtigungen per eMail geschehen, das ergibt monatliche Kosten in Höhe von 0,14 Euro. Ein minütlicher Check würde im Monat mit EUR 4,32 zu Buche schlagen. Pro versandter SMS fallen 0,15 Euro an. Bezahlt werden kann via PayPal oder Überweisung.

Zusätzlich zum Uptime-Check bietet serverstate.de eine grafische Statistik der Prüfungen, weiterhin kann man außer den Uptime-Tests beispielsweise auch prüfen lassen, ob ein bestimmter Text auf einer Webseite vorhanden ist.

Bei meinem Test kamen die Down-Meldungen (ich hatte den Webserver mehrfach kurz deaktiviert) jedesmal prompt nach Sekunden.

Das Anlegen und Verwalten der Checks gestaltet sich durch die übersichtliche Web-Oberfläche, die völlig auf überflüssigen Schnickschnack verzichtet, sehr einfach und sollte durch auch durch Nicht-Geeks problemlos handhabbar sein. Vorsichtig sein sollte man allerdings beim Löschen eines Prüfauftrags im Verwaltungs-Backend, denn hier gibt es keine vorherige Rückfrage, es wird gleich gelöscht…

Wer auf Servermonitoring angewiesen ist und eine vergleichsweise preiswerte Lösung sucht, sollte sich serverstate.de mal ansehen. Betreiber ist die Firma Intelions OÜ aus Estland.

Logo Serverstate Copyright Intelions OÜ

QuickTip: anderer Font im WordPress-Editor

Der ein oder andere mag sich vielleicht für die Textdarstellung im Editor der Blogsoftware WordPress einen anderen als den voreingestellten Zeichensatz wünschen. Das ist einfach gemacht: wie so oft muss man nur ein wenig Code in die functions.php des verwendeten Themes einfügen:

function change_editor_font() {
   echo "";
}
add_action("admin_print_styles", "change_editor_font");

mobilyMap – jQuery Plugin für Kartendarstellung

Mein letzter Artikel beschäftigte sich mit der Einbindung eigener Karten (eigener Grafiken) in Google Maps. Mit mobilyMap steht jetzt ein jQuery-Plugin zur Verfügung, das es ermöglicht, auf Googles Maps-API zu verzichten und vollständige eigene Karten zu realisieren.

Insbesondere zeichnet sich mobilyMap dadurch aus, besonders leichtgewichtig zu sein, das Plugin bringt gerade einmal 5kB auf die virtuelle Textwaage (nur das Javascript, zusätzliche beigefügte Dateien wie beispielsweise Kartenmarker und ähnliche sind natürlich umfangreicher).

Klar, das Plugin verfügt nicht über den doch sehr großen Funktionumfang der Google Maps API, aber für kleinere Projekte kann es durchaus von Vorteil sein. Selbstverständlich können Klicks ebenso abgefangen und bearbeitet werden, wie Marker eingeblendet und noch ein paar Features mehr. Kartendaten können auf einfachste Weise via HTML eingebunden werden:

<div id=“p-900-130″> fügt beispielsweise dem über die ID definierten Punkt der Karte einen Marker hinzu.

Wichtigster Nachteil dürfte im Moment noch sein, dass mobilyMap keinerlei Zoom-Funktion zur Verfügung stellt (dafür wäre allerdings auch entweder ein Mapserver oder eine gekachelteKarte vonnöten).

Dennoch ein sehr interessantes Projekt, das ich weiter beobachten werde – zudem muss ich mal damit herumexperimentieren, wenn es meine Zeit erlaubt. Ich werde dann berichten.

Google Maps mit eigenen Karten

Ich wollte schon länger einmal mit Google Maps herumexperimentieren, insbesondere im Bereich von „custom maps“. Das bedeutet nicht, dass man vorhandene Karten mit neuen Markern oder Layern versieht, sondern dass man eine vollständig neue, fiktive Karte anzeigt, beispielsweise die einer Fantasy-Welt oder eines Raumsektor – beides Varianten, die Spieler von MMOs oder Pen&Paper-Rollenspielen sicherlich erfreuen. Außerdem ist so etwas ein prima Forschungsobjekt, weil es nebenbei auch noch Spaß macht.

Tatsächlich war die Realisierung einfacher als gedacht, es gibt diverse Tutorials im Netz, die allerdings dann ein wenig schwer zu verstehen sind, wenn man – so wie ich – in dieser Form noch nie mit der Google Maps API gearbeitet hat. Letztendlich ist das aber auch nur Javascript. :o)

Etwas knifflig war es, die Zoomlevel der vorhandenen Karte festzulegen, die man an passende Zoomlevel der API anpassen musste, weiterhin musste die vorliegende Karte in Kartensegmente passender Größe für unterschiedliche Zoomstufen unterteilt werden, für letzteres gibt es allerdings ein Photoshop-Skript, das diese Arbeit doch erheblich vereinfacht. Auf die Nutzung eines Mapservers habe ich aufgrund der geringen Komplexität verzichtet und stattdessen einfach in einem Unterverzeichnis auf dem Webserver Bitmap-Kacheln abgelegt, die vom Javascript via API angefordert werden.

Nachdem die grundsätzliche Karte erst einmal stand und ich das Koordinatensystem verstanden hatte, war es nicht mehr weiter schwer, über Klick auf Links entweder an eine bestimmt Position der Karte zu navigieren bzw. Marker erscheinen zu lassen.

Die Demo kann man sich unter sto.rumschlauen.de ansehen (Update November 2012: Demo nicht mehr vorhanden), wer sich dafür interessiert, wie das alles geht, wirft einen Blick in den Quelltext, allerdings kommen die Datensätze der Kartenpositionen und der Marker via PHP aus einer Datenbank.

Es handelt sich – wie gesagt – um ein Experiment, der Code ist also nicht unbedingt optimiert.

Ich habe dieses Projekt übrigens durchgeführt, als ich noch dachte, dass die Betreiberfirma von STAR TREK ONLINE – Cryptic – es schaffen würde, ein brauchbares MMO in Roddenberrys Universum abzuliefern. Leider ist das nicht der Fall und ich kann jedem von diesem Spiel nur dringend abraten, es hat mit STAR TREK außer dem Namen nicht viel zu tun, es mangelt massiv an Content und es besteht zum größten Teil aus sinnlosem Geballer. Als Google-Maps-API-Demo und proof of concept kann die Seite aber dennoch für etwas nützlich sein… :o)

WordPress-Snippet: Links in Kommentaren nicht klickbar

Wer mit WordPress arbeitet, der weiß, dass in Kommentaren eingefügte Links automatisch so umgewandelt werden, dass man sie anklicken und dadurch auf die zugehörige Webseite kommen kann. Man weiß dann aber ganz sicher auch, dass schlaue Zeitgenossen versuchen, einem Spam-Links unterzujubeln.

Man kann das automatisierte Umwandeln durch einen einfachen Eintrag in der functions.php unterbinden:

remove_filter('comment_text', 'make_clickable', 9);

Gleich nach dem Speichern wird man feststellen, dass die Links als reiner Text noch vorhanden sind, sie aber nicht mehr automatisch „verlinkt“ werden.

WordPress: Dashboard-Widgets verstecken

Der eine WordPress-Admin freut sich, wenn er im Dashboard (deutsch holprig übersetzt als „Tellerrand“, wobei Armaturenbrett auch nicht besser wäre…) möglichst viele Widgets mit Informationen vorfindet, der andere wünscht sich eine deutlich übersichtlichere Oberfläche.

Letzterem kann geholfen werden. Folgender Code muss in die functions.php:

function remove_dashboard_widgets() {
  global $wp_meta_boxes;
  unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_drafts']);
  unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
  unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
  unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
}
if (!current_user_can('manage_options')) {
  add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );
}

Will man ein paar der Widgets behalten kommentiert man sie im obigen Code einfach aus oder löscht die entsprechende Zeile.