Kylaloo

StartseiteNeu hierkontaktImpressumdownloads

Atemlos auf Wordpress 2.5

Abgelegt unter: | Mathias | 30. Mrz 2008 | 08:44 Uhr

wordpress_2.5

Bei Updates dieser Größenordnug bin ich immer nervös. Ihnen haftet so etwas endgültiges an. So schluckte ich auch diesmal, als mich der Updater irgendwann im Verlauf der ganzen Aktion darauf hinwies, dass er jetzt gedenkt, die Datenbank zu erneuern.

Gut - ich bin ja auf alles vorbereitet. Habe alles, was nicht Niet- und Nagelsicher war, doppelt abgesichert. Diesmal sogar mit ausführlichen Bildschirmfotos von allen Seiten des Administrationsbereichs, damit ich im Falle des Falles nachvollziehen kann, was ich wo eingetragen hatte.

Wie wird das aber sein, wenn wirklich einmal die Katastrophe eintritt? Rund 150 Artikel zu verlieren, täte mir mittlerweile doch schon sehr weh. Die Seite ist ein Stück von mir geworden.

Um mir es richtig zu geben, habe ich diesmal beschlossen, zusätzlich den Zeichensatz von ISO-8859-1 auf UTF-8 zu wandeln. Für einen Normalsterblichen, wie mich, bedeutet das den Gegenwert einer halben Weltumrundung. Bin ich doch schon froh zu wissen, was so ein Zeichensatz ist. Im Klartext bedeutet dieser Wechsel, dass ich das Zeug da in der Datenbank auch anfassen muss.

Mit spitzen Fingern suche ich bei Google nach Hilfeseiten und bleibe bei einem Script hängen, was die Wandlung leicht und unproblematisch bewerkstelligen soll. Ideal für Nichtprogrammierer, wie man sagt. Einfach hochladen und dann ansurfen. Alles weitere ergibt sich dann.

So harmlos kündigen sich meistens Katastrophen an.

Die aufgerufene Seite blieb leer.

Mein ungutes Gefühl steigerte sich, zumal der Autor des betreffenden Scripts ausdrücklich darum bittet, nur einmal das Ding aufzurufen, weil es sonst zu Fehlern führen wird.

Na toll, was tun? 

Weitere Recherchen im Internet verwirrten mich eher, sodass ich irgendwann auf eine verwegene Idee kam, auf die nur ein Laie, wie ich kommen kann.

Der Ansatz: Was wäre, wenn ich die XML Datei, die ich mir vor dem ganzen Durcheinander als Sicherheitskopie von WordPress ausgeben lies, auf UTF-8 umfrisiere und anschließend wieder frech in das Weblog importiere?

Gesagt - getan.
Ich habe also diese XML Datei mit einem einfachen Texteditor geöffnet und den Eintrag auf der ersten Zeile encoding=”iso-8859-1″ durch ein encoding=”utf-8″ ersetzt.

Mehr nicht.

Jetzt habe ich die Datenbank gelöscht und Kylaloo so neu aufgesetzt, als würde ich ein völlig neues Weblog einrichten. Diesmal allerdings Im UTF-8 Format. Nachdem ich alles andere, wie beispielsweise die Permalinks so eingerichtet habe, wie es vorher einmal war, kam jetzt der spannende Augenblick, die “umfrisierte” XML Datei zu importieren.

Unendlich lange gefühlte 30 Sekunden später meldete sich das Weblog und leitete mich durch den Importvorgang. Dann konnte ich zuschauen, wie das Skript einen Beitrag nach dem anderen wieder zum Vorschein brachte. 

Ich bin ganz aufgeregt - Das Ganze scheint funktioniert zu haben.

Ich klopf mal auf Holz.

WordPress 2.0 deutsch

Abgelegt unter: | Mathias | 27. Dez 2005 | 07:27 Uhr

wordpressus

Da sag mal einer, ich wäre nicht schnell.
Nur ein paar Stunden nach der Veröffentlichung der 2er Version kloppe ich hier schon die deutsche Fassung vom deutschen WordPress 2.0 heraus. Gut - Die Nacht ist faktisch durchgemacht und so überschwenglich glücklich bin ich jetzt auch nicht mehr. Mir ist es auf Teufel komm raus nicht gelungen, ein paar Ideen, die ich in der letzten Version eingebaut habe, hier wieder herzustellen. Ich wollte zum Beispiel das so wichtige Umlaut-Plugin automatisch aktiviert haben, damit daran keiner mehr denken muß. Geht nicht. Aktiviere ich es per Installationsskript, hagelt es später dumme Fehlermeldungen.

Auch das Datenbankplugin haben sie mit anderen Eigenschaften versehen, sodass jeder dazu gezwungen ist, seinen eigenen Sicherungsordner anzufertigen und an der richtigen Stelle mit den korrekten Rechten zu plazieren. Alles nicht so einfach, für die Anfänger unter uns. Wie gerne hätte ich wenigstens den Sicherungsordner bereits eingebaut gehabt, damit der Benutzer sich nur noch um die leidige Frage nach den Rechten kümmern muß. Immerhin: Ich habe dem Plugin eine kleine Anleitung hinzugefügt, die zu sehen ist, wenn man die Datenbank benutzen möchte. Vielleicht hilft das ja dem einen, oder anderen.

Extrem viel Arbeit hat diesmal auch die Sprachdatei gemacht, die von einst 931 Phrasen auf stattliche 1217 angewachsen ist. Hinzu kamen die (Pi mal Daumen) 250 Ausdrücke, die unter die Kategorie “veraltet” gefallen sind und zusätzlich umgeschrieben werden mussten. Ein großes Stück Schuld an der Größe tragen die jetzt in die Sprachdatei integrierten Plugins und Importierhilfen anderer Weblogsysteme.

Wie immer, so ist auch diesmal das Kubrick-Theme mehr als lausig übersetzt worden. Das würde mich ja nicht weiter stören, wenn die Entwickler von WordPress nicht ausgerechnet dieses Theme zum Standardtemplate gemacht hätten. Zur Strafe habe ich eine Variante davon als Standardtemplate eingerichtet, die darauf hindeuten soll, dass wir alsbald bei WordPress.de im Komplettpaket ein eigenes Layout einbauen werden. So!

Ausserdem kann ich dieses Kubrick langsam sowieso nicht mehr sehen.

Ansonsten stimmt dieses Paket in allen anderen Angelegenheiten mit dem kürzlich erst vorgestelltem WordPress-Teutonicus überein.

Und die Sache mit der liebevollen Kritik dürft ihr jetzt in den Kommentaren üben.

Froher Schneefall

Abgelegt unter: | Mathias | 24. Dez 2005 | 04:41 Uhr

wordpressus

Zu Weihnachten habe ich für alle Kitschliebhaber, die auf Schneegestöber in ihrem WordPress Weblog stehen, ein Schneefallplugin übersetzt und bereitgelegt.

Einfach herunterladen, entpacken und angstfrei den kompletten Ordner “snowfall” in das Pluginverzeichnis auf dem Server schieben. Jetzt muß man nur noch das Plugin aktivieren und schon schneit es im Blog.

Das schöne an dem Plugin ist aber auch, dass man unkompliziert an einigen Parametern schrauben kann. Dazu geht man im Administrationsbereich auf Optionen und wenn die Augen nicht zu müde sind, entdeckt man dort auch die neue Karteikarte Schnee Effekt.

Vielleicht etwas übertrieben:
Das Plugin schreibt die Einstellungen in eine eigens dafür neu angelegte Zeile in die Datenbank.

[Das Original von AndyBeard kann man auf englisch im WP-Plugins.net finden]

Benutzer in Wordpress 2.0

Abgelegt unter: | Mathias | 06. Dez 2005 | 23:41 Uhr

VJ-ZDF

Ryan Boren, ein Entwickler von WordPress, hat in einem Artikel (engl.) einmal genauer erläutert, wie die neuen Benutzerlevels in Zukunft eingesetzt werden. Ich fand diesen Artikel interessant, so dass ich mich mal hingesetzt und das ganze Geraffel übersetzt habe:

Einer, der am meisten kritisierten Aspekte bei WordPress ist das System, mit dem die Benutzerrechte geregelt werden. Bei den Versionen 1.5.x und früher, geschieht das über Benutzer-Level. Jedem Benutzer ist hier ein Level zwischen 0 und 10 zugeordnet, wobei 10 die vollen administrativen Rechte, und Null praktisch keine Befugnisse hat. Die Level sind ausserdem hierarchisch. Der Benutzer eines höheren Levels kann die Beiträge eines Benutzers eines niedrigeren Levels bearbeiten. Das hört sich nach einem guten und einfachen Schema an, aber in der Praxis sorgt es doch für eine Menge Durcheinander. Die mit einem Level verbunden Privilegien sind nämlich alles andere als klar. Was ist der Unterschied zwischen Level Zehn und Level fünf? Wer kann hier wen bearbeiten? Kann ein Level fünf ein anderen Level fünf bearbeiten? Was genau kann jede der elf Level tun?

Für die 2.0er Version haben wir entschieden, dass dieses System einer Überholung bedarf. Nachdem wir einmal nachgeschaut haben, wie andere Weblog- und CMS Applikationen mit den Rechten umgehen, haben wir uns für ein Modell mit Rollen und Befugnissen entschieden. Nach einer Diskussion über den Ablauf, den wir etablieren wollten, begannen wir mit der Kreation von fünf Rollen: Registrierter Leser, Mitarbeiter, Autor, Herausgeber und Administrator. Jede dieser Rollen hat eine Sammlung von verknüpften Befugnissen. Ein registrierter Leser hat sehr begrenzte Befugnisse. Er kann den Tellerrand sehen und sein eigenes Profil bearbeiten. Das ist alles. Ein Mitarbeiter darf Entwürfe herstellen, diese aber nicht veröffentlichen. Ein Autor kann Beiträge veröffentlichen. Ein Herausgeber kann nicht nur die Beiträge anderer bearbeiten, sondern darf auch Kategorien, Linklisten, Kommentare und statische Seiten verwalten. Ein Administrator kann alles machen. Er kann die Themes “umschalten”, Plugins aktivieren, Dateien bearbeiten und Importer einsetzen.

Obwohl diese Rollen hierarchisch zu sein scheinen, sind sie es nicht. Jede Rolle ist einfach nur eine Sammlung von Befugnissen. Die Rollen der Herausgeber und Administratoren haben jetzt auch die Befugnis, Beiträge zu bearbeiten, die nicht von ihnen sind. Sie dürfen in sämtliche Beiträge des Blogs eingreifen. Auch in die, der eigenen Rollen. Für diejenigen, die noch die alte Level-Hierarchie gewohnt sind, mag es merkwürdig sein, Herausgebern und Administratoren das Bearbeiten von Beiträgen zu erlauben. Die Hierarchien zu vermeiden war jedenfalls eine wegweisende Entscheidung. Man hat jetzt entweder die Befugnis andere Beiträge zu bearbeiten, oder nicht. Wir versuchen es einfach zu halten.

Benutzer können eine, oder mehrere Rollen haben und individuelle Befugnisse bekommen, die ihnen auch ausserhalb des Contextes ihrer Rolle zugeordnet werden können. In der Standardeinstellung ist zunächst lediglich eine Rolle für jeden Benutzer vorgesehen. Man wählt eine der fünf Rollen für den Benutzer aus und voilá, das war es dann auch schon. Man kann weder mehrere Rollen vergeben, noch individuelle Befugnisse den Benutzern erteilen.
Es ist eine zweckmäßige Entscheidung mit der Intention die Dinge einfach zu halten. Die Möglichkeit weiterführende Rollen und Befugnisse zu verwalten, wird durch ein Plugin zur Verfügung gestellt werden.

Derzeit sind etwa zwanzig Befugnisse definiert. Im Quelltext sind Befugnisse einfach nur Schlüsselwörter, die Benutzern und Rollen zugewiesen werden können.

Hier nun unser komplette Sammlung an Befugnissen.

  • switch_themes
  • edit_themes
  • activate_plugins
  • edit_plugins
  • edit_users
  • edit_files
  • manage_options
  • moderate_comments
  • manage_categories
  • manage_links
  • upload_files
  • import
  • unfiltered_html
  • edit_posts
  • edit_others_posts
  • edit_published_posts
  • publish_posts
  • edit_pages
  • read

Um mit dem bisherigen Benutzerlevel-System kompatibel zu sein, haben wir Befugnisse, die mit den früheren Levels korrespondieren: level_0, level_1, … , level_10.

Ein registrierter Leser hat die level_0 Befugnisse.
Ein Mitarbeiter hat die von level_0 und level_1.
Der Autor wiederum hat die Befugnisse der level_0, level_1, und level_2.
Ein Herausgeber ist mit den Befugnissen von level_0 bis level_7 ausgestattet und
die Befugnisse des Administrators reichen von level_0 bis level_10.

Beim Upgrade von früheren WP-Versionen bekommen alle Benutzer Rollen, die ihren früheren Benutzerleveln entsprechen. Ein Level-7 Benutzer bekommt beispielsweise die Rolle eines Herausgebers.

Für Plugin Autoren ist ein API erhältlich, um Rollen und Befugnisse abrufen und verändern zu können. Ein Plugin kann eine neue Befugnis mit dem Namen “do_foo” herstellen, die dem Administrator mit dem folgenden Code zugeordnet wird:

$role = get_role('administrator');

$role->add_cap('do_foo');

Um herauszufinden, ob der derzeitige Benutzer überhaupt diese Befugnis besitzt, können sich Plugins der current_user_can() Funktion bedienen:

if ( current_user_can('do_foo') ) ...

Um die Befugnisse einer bestimmten Benutzer-ID herauszufinden erstellt man ein WP_User Objekt:

$user_id = 1;

$user = new WP_User($user_id);

if ( $user->has_cap('do_foo') ) ...

Wenn eine völlig neue Rolle erstellt werden soll, kann man das mit add_role() und add_cap() realisieren.

$role = add_role('foo_doer', 'Foo Doer');

$role->add_cap('do_foo');

$role->add_cap('do_bar');

Soviel zu den Grundlagen. Für die komplette API gehe zu der Datei capabilities.php
Am meisten wird bei der API current_user_can() benutzt. Wann immer du bestimmen möchtest, was der angemeldete Benutzer machen darf, benutze current_user_can().

Für weitere Informationen zu den Rollen und Befugnissen, gehe zu Owens Übersicht. Wenn Du ein Plugin Autor bist und Fragen zur API und mehr hast, besuche die Hackers List und wenn Du ein Benutzer bist, der sich gerade fragt, was das alles zu bedeuten hat, besuche die Support Foren.

Weitere Artikel: 12345»

XHTML | CSS | Atom | RSS | © 2008 by Mathias Hundt | made with WordPress 2.5.1