WordPress als Blog-Plattform im Unternehmen

Der Einsatz von Webtechnologien wie Wikis oder Blogs in Unternehmen setzt sich zur Zeit immer mehr durch (siehe z.B. im CIO Weblog, bei bueltge oder bei basicthinking).
Und da wir in unserem Unternehmen bereits ein umfangreiches Intranet und auch ein Wiki pflegen, war der nächste Schritt für mich die Umsetzung einer Blog-Plattform. Daher habe ich bereits vor einiger Zeit eine Software zur Umsetzung einer Blog-Plattform gesucht. Mittlerweile ist diese Blog-Plattform umgesetzt und läuft seit einigen Monaten produktiv. Und zwar unter WordPress.

Was ich dabei für Plugins verwendet habe und was ich sonst so tun musste, beschreibe ich in diesem Artikel.

Einleitung

Zunächst einmal möchte ich meine Anforderungen an die zu erstellende Plattform vorstellen:

  • Mehrbenutzerfähigkeit
    • Mehrere Benutzer mit unterschiedlichen Rollen (Admin, Editor etc.)
    • (RSS-)Feeds je Autor
  • Einfach zu benutzen
    • WYSIWYG-Editor
    • Keine Anmeldung durch die Benutzer erforderlich (bzw. automatische Anmeldung)
    • Aufgeräumte, auf das Wesentliche reduzierte Editor-Oberfläche
  • Einfach zu erweitern/anzupassen
    • Gute Dokumentation
    • Viele Plugins verfügbar
    • An das Corporate Design anpassbar
  • Stabilität
    • Ausgereifte Software
    • Auch unter Last fehlerfrei lauffähig

Alle Blog-Systeme, die ich mir angeschaut habe (u.a. LifeType nach einem Tipp aus dem webdesignblog, Drupal und WordPress MU) erfüllten diese Anforderungen teilweise nicht. Am Häufigsten scheiterte es jedoch an der automatischen Anmeldung der Benutzer. Um die Einstiegshürden möglichst niedrig zu legen, wollte ich nämlich ein automatisches Login via IP-Adresse implementieren, wie ich es auch für unsere anderen Intranet-Systeme (TYPO3, MyBB) umgesetzt habe. Doch dazu später mehr…

Die logische Konsequenz aus der Anforderung „Mehrbenutzerfähigkeit“ wäre gewesen, WordPress MU einzusetzen, das extra zu diesem Zweck entwickelt wurde. Live-Tests zeigten jedoch (zumindest damals) derbe Schnitzer beim Design der Anwendung. So wurden z.B. für jeden Benutzer eigene Tabellen in der Datenbank angelegt. Ein absolutes Ausschlusskriterium für mich. Letztlich landete ich bei LifeType, dass eigentlich alles bot, was ich brauchte. Sehr nett fand ich z.B. die Möglichkeit, je Benutzer unterschiedliche Layouts zu verwenden. Nur ein zentraler Punkt klappte nicht: das IP-Auto-Login. Ich versuchte zwar selbst ein entsprechendes Plugin zu schreiben, aber leider gab es augerechnet für die Benutzeranmeldung keinen passenden Ansatzpunkt (vielleicht hat sich das inzwischen geändert!?).

Lange Rede, kurzer Sinn: Ich habe das Ganze nun mit WordPress umgesetzt 🙂

Mehrbenutzerfähigkeit

WordPress bietet von Haus aus bereits eine sehr gute Unterstützung für mehrere Benutzer und verschiedene Benutzerrollen. Hier musste ich also letztlich nichts ändern oder hinzufügen. Lediglich im Frontend wollte ich separate Seiten bzw. Feeds für jeden Benutzer anbieten, wie man es auch von“großen“ Plattformen kennt, damit die Leser nicht ständig die Beiträge aller Autoren angezeigt bekommen, sondern gezielt auswählen können.

Diese Funktion bietet WordPress von Haus aus. An die URL des Blogs kann man einfach /author/name-des-autors anhängen und man bekommt eine Liste mit den Artikeln des Autors (hier z.B. der Link für mein Blog, obwohl es hier natürlich nur einen Benutzer gibt: http://blog.stefan-macke.de/author/stefan).

Eine recht einfache Lösung zum Erstellen einer Liste aller Autoren bietet die WordPress-Funktion wp_list_authors(), die sogar lediglich die aktiven Autoren (also die mit veröffentlichten Beiträgen) auflistet. Diese Funktion habe ich dann in ein Seiten-Template eingebunden und dieses als Grundlage für eine statische Seite verwendet und schon hatte ich die Möglichkeit, alle Beiträge eines Autors gezielt anzeigen zu lassen und auch als Feed abonnieren zu können. Dieses Template sieht (gekürzt um Kopf und Fuß etc.) so aus: <?php if(get_query_var('author_name')) { $curauth = get_userdatabylogin(get_query_var('author_name')); echo '<h1>Alle Beiträge von ' . $curauth->display_name . ' <a href="feed" title="RSS-Feed"><img src="/wp-content/themes/default/images/feed-icon.png" alt="RSS-Feed" /></a></h1>'; if (have_posts()) { while (have_posts()) { the_post(); echo '<h2><a href="'; the_permalink(); echo '">'; the_title(); echo '</a></h2>'; echo '<small>'; the_time('d. F Y, H:i'); echo ' Uhr</small>'; the_content('Den kompletten Beitrag lesen &raquo;'); echo '<p class="postmetadata">'; comments_popup_link('Keine Kommentare &raquo;', '1 Kommentar &raquo;', '% Kommentare &raquo;'); echo '</p>'; } } else { echo ' <p>Bisher keine Beiträge von diesem Autor.</p>'; } } else { ?> <h1>Liste aller aktiven Autoren</h1> <ul> <?php wp_list_authors('show_fullname=true&feed=Feed&feed_image=/wp-content/themes/default/images/feed-icon.png'); ?> </ul> <?php } ?>

Das erzeugt dann eine Seite wie in folgendem Screenshot zu sehen, bzw. listet halt die Beiträge des gegebenen Autors auf (hier muss natürlich jeder selbst wissen, wie er diese darstellen will). Durch das simple hinzufügen von /feed/ zur URL einer solchen Autoren-Seite, kann man auch direkt den zugehörigen Feed verlinken (z.B. http://blog-url/authors/macke/feed/).

listeaktiverautoren.jpg

IP-Auto-Login

Um die Benutzer anhand ihrer IP-Adresse anzumelden, ist es zunächst einmal erforderlich, diese in die WordPress-Datenbank zu schreiben. Wie gut, dass es hierfür bereits eine geeignete Tabelle gibt: wp_usermeta. Ich mache das Ganze während der Windows-Anmeldung im Startskript des Benutzers und trage einfach die aktuelle IP-Adresse zur User-ID des Benutzers mit ipaddress für das Feld meta_key ein. Das Ganze wird mittels eines eigens entwickelten Webservices erledigt.

Um den Benutzer nun automatisch anzumelden, sobald er die Seite besucht, ist das entsprechende Plugin erforderlich. Dieses gibt es inkl. (englischer) Beschreibung hier: WordPress-Login via IP-address.

Noch kurz ein Satz zum Login via IP: Über die Sicherheit des Ganzen lässt sich sicherlich streiten. Für kritische Informationen sollte man dieses Verfahren nicht einsetzen. Allerdings lag mein Schwerpunkt wie gesagt auf der weitestgehenden Vereinfachung für die Benutzer und es werden auch keine sensiblen Daten veröffentlicht.

Eingesetzte Plugins

Ich habe lediglich die folgenden Plugins eingesetzt. Wahrscheinlich gibt es aber noch eine Reihe weiterer Funktionen, die für Unternehmens-Blogs eingesetzt werden können. Für Anregungen habe ich immer ein offenes Ohr 😉

Anpassung des Editor-Bereichs

Wie gesagt: Der Benutzer soll einen aufgeräumten, übersichtlichen Editor-Bereich vorfinden. Daher habe ich zunächst die RSS-Feeds aus dem „Tellerrand“ entfernt und des Weiteren nur die Links zum Schreiben und Verwalten der eigenen Beiträge übriggelassen. WordPress bietet ja von Haus aus WYSIWYG, sodass ich mich weiter um nichts kümmern musste…

Anpassung des Themes

Das Theme habe ich natürlich an die Corporate Identity angepasst, was aber nicht weiter schwer sein dürfte. Es gibt im Netz genug Tutorials, wie man seine eigene WordPress-Oberfläche erstellt, sodass ich darauf hier nicht näher eingehen werde.

Finden von Informationen

Die Blog-Plattform dient bei uns vorerst nur der zeitnahen Information der Mitarbeiter über interessante Themen (vorrangig aus dem EDV-Bereich), aber es werden durchaus auch längere Artikel verfasst, deren Inhalte auch später einmal relevant sein werden. Daher ist die Möglichkeit des Wiederauffindens von Informationen ein wichtiger Punkt. Zwar bietet WordPress auch eine interne Suche an, aber diese habe ich durch unsere Intranet-Suchmaschine ersetzt (was recht einfach als kleine Änderung im Theme möglich ist). Somit kann ich die Vorteile der eingesetzen Suchmaschinen-Software mnoGoSearch direkt aus der Blog-Oberfläche heraus nutzen.

Auslagerung der Benutzerverwaltung nach TYPO3

Als einen letzten Schritt habe ich die Benutzerverwaltung von WordPress komplett nach TYPO3 ausgelagert. Hierzu habe ich eine Erweiterung für TYPO3 programmiert, die die dort erstellten/geänderten Benutzer mit WordPress synchronisiert. Dadurch haben die Administratoren lediglich eine Oberfläche zum Bearbeiten der Benutzer. Dies ist natürlich nur für mein Unternehmen praktikabel, da wir TYPO3 für den Hauptteil des Intranets einsetzen und dies unsere zentrale Plattform ist, auf der alle wichtigen Änderungen gemacht werden. Vielleicht schreibe ich in einem späteren Beitrag noch einmal genau, wie ich die Synchronisation umgesetzt habe…

Fazit

Zum Abschluss kann ich sagen, dass man mit WordPress durchaus eine Blog-Plattform für ein Unternehmen aufsetzen kann, die sämtliche Anforderungen an eine leicht zu bedienende Oberfläche und gut integrierte und flexible Struktur umsetzt.

Ob die Mitarbeiter die Plattform dann letztlich nutzen, steht natürlich auf einem ganz anderen Blatt… Ich bin jedenfalls bislang sehr gut mit meiner Umsetzung zurechtgekommen und die übrigen Benutzer haben sich bislang auch nicht beschwert 😀

Über uns Stefan

Polyglot Clean Code Developer

68 Kommentare

  1. Inzwischen hat sich ja WordPress ziemlich weiter entwickelt. Das CMS eignet sich nicht nur für Blogs sondern auch sehr gut um eine Webseite zu erstellen. Ein Freund von mir hat dies für unser Firma gemach. Nach der Resonanz von vielen Kunden ist diese sehr gut geworden. Wandern

  2. Hello there, I found your blog using Search engines while hunting for a related subject, your web site came up, it appears very good. I’ve book marked it in my google bookmark

  3. Blogs sind schon seit mehreren Jahren für Unternehmer interessant – insbesondere dank der stetig wachsenden Leserzahlen in diesem Bereich.

  4. Also ich nutze wp in meinem Shop, überlege aber im neuen Shop auf das Shopeigene Blogsystem zu setzen. Wp ist mir mit dem ganzen Spam und updates echt zu umständlich.

    vg Jörg

  5. Hallo,
    super Seite mit tollen und Interessanten Themen!!

    Gruß Axel
    Chiptuning

  6. Danke für die Infos. Ihr habt mir sehr geholfen!

  7. Danke für die Infos, genial das hatte ich schon länger gesucht.

  8. Erstmal danke für das Theme!
    Also, ich hatte schon das Vergnügen mit Joomla, Contao und SharePoint, aber noch nicht mit WordPress.

    Vielleicht ändert das sich.

    Vielen Dank!

  9. cooler blog 🙂 voralem das gelbe desin gefällt mir sehr 🙂

  10. Also meinerseits war ich von Drupal mehr als enttäuscht, vielleicht hab ich mich nicht ausreichend damit befasst, aber von der Funktionalität fand ich das mehr als schlecht. TYPO3 bietet hier natürlich eine viel freundlichere Oberfläche und ein weites Spektrum an Möglichkeiten. Über WordPress kann ich leider auch nicht viel erzählen, hier fehlt mir komplett der Bezug.

  11. Stimmt und gefällt mir gut!

  12. Hallo, vielen Dank für diesen nützlichen Artikel.
    Cécile

  13. Also ich nutze wp in meinem Shop, überlege aber im neuen Shop auf das Shopeigene Blogsystem zu setzen. Wp ist mir mit dem ganzen Spam und updates echt zu umständlich.

  14. Great website you have here but I was wanting to know if you knew of any user discussion forums that cover the same topics talked about in this article? I’d really like to be a part of community where I can get feed-back from other experienced people that share the same interest. If you have any recommendations, please let me know. Thanks! Buy Neopets Items | http://www.echargestations.co.uk

  15. really dont know why but loving the yellow digital background of the site

  16. Also Drupal ist doch keine reine Blogsoftware! Drupal hat als einen Baustein die möglichkeit einen Blog zu eröffnen… bietet aber gaaaaanz viele Zusatzmodule und ist einfach die beste Software auf diesem Bereich!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax