sebadorn.de

Präludium zu einer kleinen Artikelreihe: APIs

Da müsst ihr API lesen. Schaut in die API. Steht alles in der API.

Als Erstsemester im Informatikbereich hört man das sehr häufig von seinen Professoren. Das Ding ist, sie haben auch noch recht. So eine ausführlich dokumentierte API macht vieles ein­facher, reinigt Flüsse und lässt Blumen aus dem Monitor sprießen. Ja okay, da habe ich jetzt vielleicht etwas übertrieben, aber ist schon schnieke. Deswegen gibt es ab sofort eine kleine Artikelserie zu verschiedenen APIs, hauptsächlich solche, die auch für Nicht-Programmierer von Interesse sein können. Aber das seht ihr dann.

Nun kommt die Erklärung, was zum Henker eine „API“ ist. Fangen wir damit an, dass die Ab­kürzung für application programming interface steht. Dabei handelt es sich um eine Schnittstelle um mit Software zu interagieren – dazu zählt zum Beispiel auch, eine Programmier­sprache wie Java nutzen zu können.

Ein paar Beispiele zum flüchtigen Anschauen (denn Durchlesen wäre wahnsinnig):

Die API-Dokumentation listet alle Methoden auf, die von der Software zur Verfügung gestellt werden, und liefert eine Beschreibung zur Wirkungsweise und Nutzung.


Browser: Opera 10

Neues Logo für Opera

Seit heute steht Opera 10 in der finalen Version zum Download bereit. Als Nutzer seit der 2. Beta-Version kann ich sagen, dass der für mich beste Browser noch besser geworden ist. Das hat sich unter anderem geändert:


  1. Interface Design: Das Interface wurde aufgehübscht mit einem schlanken und stimmigen Design. Andere Skins aus der Community lassen sich nach wie vor verwenden.
  2. Visual Tabs: Wenn der Seitentitel der Tabs nicht genug hergibt, kann man einfach die Tableiste vergrößern und hat eine Minivorschau.

    Opera Visual Tabs

  3. Turbo: Bei langsamen Verbindungen lässt sich der Turbo aktivieren, der Inhalte komprimiert und dadurch wieder einiges an Geschwindigkeit gut macht. Grafiken werden dabei jedoch zu Pixelmatsch und ohnehin schnelle Ver­bindungen gewinnen nichts dazu.

    Opera Turbo

  4. Web Standards: Opera war schon immer unter den Top-Rängen, wenn es um die Unterstützung von Web Standards ging. Jetzt schafft er den Acid3-Test mit 100/100-Punkten, ermöglicht das Nutzen von Web Fonts und den Einsatz von Transparenz gemäß CSS3 für HSLA- und RGBA-Angaben.
  5. Speed Dial lässt sich nun mit einem Hintergrundbild versehen und die Anzahl der Speed Dial-Felder einstellen.

Zum Wechsel möchte ich nicht aufrufen, höchstens mal zum Ausprobieren. Wenn ihr zufrieden seid mit eurem Browser ist ja alles gut. Firefox, Safari, Chrome – sind mittlerweile eh alle top und ihre Benutzer gehen eben nach Vorliebe beziehungsweise Bedürfnissen.


aestas 1.3.0

aestas 1.3.0 Interface

Interface

Als Texteditor steht nun TinyMCE zur Verfügung. Man hat auch noch die Wahl den alten mehr oder weniger von mir zusammengeschusterten oder gar keinen zu verwenden (Direkteingabe von Quelltext).

Kommentare lassen sich in der Übersicht komplett darstellen anstatt wie vorher nur gekürzt. Man klickt auf „zeigen“ und der Text klappt aus. Ein Link zum Kommentar ist auch gleich dabei.

Sehr praktisch wie ich finde: Stellt man den Status eines Eintrages auf „wird vorbereitet“ und speichert, kann man direkt weiterschreiben. Der Eintrag wird den Besuchern noch nicht angezeigt.

Kategorien lassen sich zusammenlegen. Wird man in der Praxis nicht sehr häufig brauchen, aber wenn doch, spart es viel Arbeit.

Kommentare

Kommentare können moderiert werden. Bedeutet: Neue Kommentare müssen erst abgesegnet werden. Optional kann man sagen, dass Kommentare von einer einmal bestätigten eMail-Adresse immer gleich angezeigt werden.

Es wird ein Cookie gesetzt, das automatisch Name, eMail und URL ins Kommentarfeld einträgt, wenn bereits einmal kommentiert wurde. (Gilt nur für diesen einen Blog und nicht anderswo.)

Wer will, kann den Gravatar-Dienst einbinden. Bildmaße und Standardgrafik lassen sich über das Interface einstellen.

Wer will, kann – intern – in den Kommentaren volles XHTML nutzen. (Nicht die <br /> vergessen!)

Newsfeed

Neue Optionen für den Newsfeed: Bilder anzeigen oder nicht, komplett die Formatierung entfernen, kürzen, Anzahl der Einträge.

Ein zusätzlicher Newsfeed für Kommentare. Sowohl für Kommentare insgesamt als auch je Eintrag.

Usability

Kategorien und Stichwörter zu Einträgen werden nun alphabetisch sortiert. Ist so angenehmer zu lesen.

Blättern bzw. Seitenwahl überarbeitet: Neueste, Älteste und Vierer-Schritte in der Seitenwahl.

Und schließlich noch eine „Archiv“-Liste der Einträge nach Monat und Jahr. Muss natürlich nicht verwendet werden. Wenn man es aber möchte, ist es etwas umständlich mit PHP einzubinden.

Sonstiges

Trackbacks. Allerdings so gut wie gar nicht getestet – Weder was Senden noch Empfangen betrifft. Man darf Fehler erwarten. Verzeiht.

Schöne Permalinks insofern mod_rewrite unterstützt wird. Eine feine Sache <ironie>und es war ein Heidenspaß es zu implementieren</ironie>.

Passwortgeschützte Einträge und Seiten. Vielleicht ist nicht jeder Eintrag für die ganze Welt bestimmt?

Das Veröffentlichungsdatum lässt sich beliebig bestimmen, so also auch in die Zukunft legen.

Sowohl Installation als auch das Upgradeverfahren habe ich überarbeitet. Übersichtlicher und sicherer (hoffentlich).

„Dublin Core“ und ein paar andere Meta-Angaben sind rausgeflogen. Nutzt ja eh keiner und belegt unnötig Platz sowohl in Datenbank als auch im Interface.

Apropos Datenbank: Die MySQL-Tabellen sind ein wenig überarbeitet und dadurch minimal flotter.

Neues für z.B. die Seitenleiste: Vielschreiber, Einträge von vor <x> Tagen. Leider immer noch umständlich über PHP einzubinden. Für die Zukunft als verbesserungswürdiger Punkt vorgemerkt.

Das Verzeichnis „deine-dateien“ sollte umbenannt werden zu „media“. Mir ist bewusst, dass dies in Hinsicht auf ältere Einträge Probleme bedeutet, wenn der Pfad zur Grafik plötzlich nicht mehr stimmt etc., dennoch halte ich es für einen wichtigen Schritt.

Bugfixes

  • In der Liste der letzten Einträge (last-posts.php) erscheinen nicht mehr die Überschriften von solchen Einträgen, die nicht angezeigt werden sollen.
  • Suchergebnisse werden jetzt wirklich nach Datum sortiert.
  • Erstellen fehlerhafter Wiederherstellungen sollte das Zeichen „\“ vorkommen.
  • Dateien im Ordner „includes“ abgesichert
  • Blättern funktioniert nicht, wenn Meldung angezeigt wird
  • Es wird geprüft, ob eine Datei "favicon.ico" hinterlegt ist, bevor versucht wird, eine solche einzubinden
  • Nun gibt es wirklich volle UTF-8-Unterstützung
  • Unter PHP < 5 ließen sich keine Kommentare eintragen, dies ist nun behoben
  • Gesperrte Einträge waren trotzdem einsehbar, wenn es der neueste Eintrag war und eine nicht existente Eintrags-ID in die Adresszeile eingegeben wurde
  • Ändert man die ID eines Eintrages, werden nun auch die Kommentare korrekt zugeordnet
  • Admins können nun nicht mehr ihre eigene Klasse ändern
  • Befindet man sich auf dem Blog und es existieren keine Einträge, wird nun keine Fehlermeldung mehr ausgegeben
  • POST/GET/COOKIE abgesichert, sollte magic_quotes_gpc deaktiviert sein
  • Mehrere kleine MySQL-Sicherheitsmakel behoben
  • Andere Berechnungsmethode der verbleibenden Zeit zum Kommentarbearbeiten welche keinen Fehler in der Stundenanzahl birgt

Schöne Permalinks aktivieren

Aufgepasst! Ganz so einfach von wegen Einstellung speichern und fertig ist es leider nicht. Legt in eurem Installationsverzeichnis eine Datei mit Namen .htaccess an. Dort schreibt ihr folgendes hinein:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Sollte aestas in einem Unterordner liegen, müssen die Zeilen RewriteBase und RewriteRule angepasst werden:

RewriteBase /verzeichnis/
RewriteRule . /verzeichnis/index.php [L]

Sollte bereits eine .htaccess dort liegen: Nicht löschen! Wenn ihr euch auskennt, editiert sie, ansonsten besser vorerst auf Permalinks verzichten.

Bitte verzeiht die Umständlichkeit. :)

Epilog

aestas wurde nicht in allzu vielen Szenarien getestet. Die meisten Erkenntnisse stammen von meinem eigenen Betrieb hier, auf meinem Webspace.
Bei Problemen versuche ich gerne zu helfen.

Es gilt die GNU GPL 2. Das Lizenzabkommen sollte man auch lesen.

aestas 1.3.0 Download

Installation: aestas-1.3.0.zip
Upgrade von 1.2.x: upgrade-aestas-1.3.0.zip
Eine knappe Installations- bzw. Upgradeanleitung liegt bei.