Archiv der Kategorie: Webentwicklung

Wenn WordPress im Wartungsmodus hängen bleibt

Ist mir gerade passiert: drei Plugins waren in WordPress zu aktualisieren, was normalerweise glatt über die Bühne geht. Diesmal jedoch blieb WordPress im Wartungsmodus hängen und ich konnte das Backend nicht mehr bedienen. Zum Glück fand ich schnell eine sehr einfache Lösung, und zwar im Blog von Ansas Meyer: WordPress Wartungsmodus manuell beenden. Vielen Dank für den Tipp!

concrete5: Wenn im Composer Eingabefelder fehlen (Teil 2)

Kürzlich hatte ich beschrieben, wie man fehlende Eingabefelder im Composer für die Blogartikel-Texte nachrüsten kann.

Ich hatte geschrieben, dass man sich ins Dashboard einloggt, zu den Seitentypen navigiert und im Seitentyp blog_entry die gewünschten Blöcke als Platzhalter einfügt. Nur leider fehlte eine Winzigkeit: Man muss, während man sich im Bearbeitung­smodus befindet, im Kontextmenü des eingefügten Blocks noch Composer-Einstellungen wählen.

concrete5-block-in-composer-einbinden-1.png

Im daraufhin erscheinenden Bearbeitungs-Fenster setzt man dann ein Häkchen bei Block in Composer einbinden. Erst dann erscheint solch ein Bereich auch im Composer.

concrete5-block-in-composer-einbinden-2.png

Das wirkt zunächst einmal alles ein bisschen umständlich. Es wird aber einleuchtend, wenn man bedenkt, dass sich die in einem Theme (Gestaltungsthema) enthalten Seitenvorlagen sehr flexibel durch den Webentwickler für den Kunden programmieren lassen und somit das System gar nicht wissen kann, welche Block-Platzhalter überhaupt im Composer zur Verfügung gestellt werden sollen und wie der Webentwickler sie genannt hat. Dennoch wäre es sicherlich eine gute Idee, wenn die concrete5-Programmierer die beiden Standard-Platzhalter Main und Blog Post More, falls vorhanden, im Composer auswählbar machen würden oder so was. So steht man als Anwender und/oder Webdesigner nicht wie der Ochs vorm Berg. Und wie man an den Fragen in den Foren erkennen kann, bin ich beileibe nicht der einzige »Ochse«.

concrete5: Wenn im Composer Eingabefelder fehlen

Der Composer im CMS concrete5 ist dafür da, auf besonders einfache Art neue Seiten oder Blogartikel zu erstellen. Andere Möglichkeiten sind, in der Verwaltung den Seitenbaum aufzurufen und dort eine neue Seite anzulegen; oder man geht direkt auf die Seite, zu welcher eine Unterseite erstellt werden soll. Der Composer soll einem diese langen Wege ersparen. Außerdem kann man ganz gut Seiten vorbereiten, ohne sie gleich veröffentlichen zu müssen; anders gesagt, es lassen sich Entwürfe speichern.

Ich muss gestehen, dass ich früher nie verstand, was dieser Composer überhaupt sollte. Aber es wurden bei mir auch nie irgendwelche Editoren oder Eingabebereiche für die zu erstellenden Texte angezeigt.
concrete5-composer-editoren.png

Ich begann zwar bald zu ahnen, dass da vielleicht in den Einstellungen etwas nicht stimmen konnte, ging der Sache aber nicht weiter nach. Kürzlich ließ mir das Thema aber endlich doch keine Ruhe mehr, und ich ging auf die Suche nach einer Lösung. Diese Lösung lautet: Man loggt sich ins Dashboard ein, geht zu Verwaltung > Seiten & Themes > Seitentypen, dort zu Blog Entry > Standards und fügt hier schon einmal Inhaltsblöcke ein. Am besten gibt man kurze Platzhalter-Texte als Hinweise ein.
concrete5-composer-bloecke.png

Quelle: concrete5.org/community/forums/

Nachtrag: Ein letzter Handgriff fehlt noch, wie ich feststellen musste! Er wird in Teil 2 beschrieben.

concrete5: Datum von Blogartikeln

Das CMS concrete5 speichert in der Datenbank die Angabe, wann ein Blogartikel erstellt wurde. Das dem Blogbesucher angezeigte Datum lässt sich allerdings ändern – und nach diesen öffentlichen Daten wird die Artikelliste auch sortiert, falls man eine chronologische Sortierung im Seitenlisten-Block eingestellt hat.
c5-blogartikel-datum.png

Wie aber lässt sich im Seitentyp blog_entry.php einstellen, dass eben diese Datumsangabe angezeigt werden soll? Indem man die Methode getCollectionDatePublic statt getCollectionDateAdded benutzt, etwa folgendermaßen:

<?php
    global $u;
    echo t(
        '%1$s',	
        $c->getCollectionDatePublic(DATE_APP_GENERIC_MDY_FULL) 
    );
?>

Quelle: concrete5.org/community/forums/

Limit Login Attempts: selbst ausgesperrt

Blogs, die auf dem wohl verbreitetsten Blogsystem WordPress laufen, sind natürlich äußerst beliebte Ziele von Crackern. Bots versuchen, durch wiederholtes Ausprobieren von Benutzernamen und Passwörtern in die Systeme einzudringen. Diese Brute-Force-Attacken sind weit verbreitet.

Es gibt verschiedene Möglichkeiten, sich zu schützen, die ich in diesem Rahmen nicht alle besprechen möchte. Sicherlich fängt der Schutz damit an, dass man keinen Benutzer admin im System hat und natürlich keine Passwörter wie password oder 1234 benutzt.

Ein bekanntes und beliebtes, wenn auch inzwischen veraltetes Plugin ist Limit Login Attempts, das eben diese Brute-Force-Attacken abzuwehren versucht. Wie es das macht, beschreibt Vladimir Simović in seinem Blog perun.net.

Dumm nur, wenn man sich selbst ausschließt. Es ist peinlich, aber ich muss zugeben: mir ist das gestern passiert. Irgendwie habe ich wohl drei- oder viermal ein altes, nicht mehr gültiges Passwort eingegeben, und schon kam ich nicht mehr ins Backend hinein. Vladimir empfiehlt, entweder die Zeitsperre abzuwarten oder eine andere IP-Adresse zu verwenden. Dazu müsste man im Falle eines DSL-Modems die Internet-Verbindung trennen und sich neu einloggen. Im Falle eines DSL-Routers müsste man vermutlich den Router neu starten, um eine andere IP zu erhalten, oder?

Ich schlage eine weitere Möglichkeit vor. Sie setzt allerdings voraus, dass man Zugriff auf die WordPress-Datenbank hat, und den hat man nur bei einem selbst gehosteten WordPress-Blog, nicht aber bei einem Blog auf wordpress.com. Außerdem eignet sich diese Methode auch nur für versierte Anwender. Und zwar löscht man einen Eintrag in der Datenbank (zum Beispiel über phpMyAdmin, falls der Webhoster es zur Verfügung stellt oder man es selbst installiert hat).

Im Detail: Tabelle wp_options, Feld option_name, Eintrag limit_login_lockouts, Feld option_value, und hier den Eintrag aus <MEMO> löschen.

Allerdings gibt es Plugins mit weiteren Möglichkeiten, sein WordPress-Blog sicher zu machen. Mehrere werden auf t3n.de vorgestellt. Welche man einsetzen will, mag jeder für sich entscheiden.

concrete5: Menü-Icons in TinyMCE fehlen

Neulich hatte ich nach einer frischen Installation von concrete5 das Problem, dass dem WYSIWYG-Editor TinyMCE im Content-Block die Menü-Icons fehlten. Auch früher schon einmal hatte ich das erlebt, und in Foren kann man lesen, dass es auch anderen Leuten bisweilen so geht. Dieses Phänomen ist ein bisschen mysteriös, denn es tritt anscheinend sporadisch auf, ohne erklärbare Ursache.

In meinem Fall könnte es daran gelegen haben, dass ich beim Upload der concrete5-Dateien ziemliche Verbindungs-Probleme zum FTP-Server des Kunden gehabt hatte und möglicherweise nicht alle Dateien korrekt hochgeladen worden waren. Nachdem ich die Ordner concrete/js und concrete/blocks gelöscht und neu hochgeladen hatte und außerdem das Verzeichnis files/cache geleert hatte, war wieder alles normal.

Diese Menüleiste fehlte.
(Aufs Bild klicken zum Vergrößern)

TinyMCE in concrete5: CSS anpassen

In einem älteren Artikel hatte ich erklärt, wie man die Schriftgröße des WYSIWYG-Editors TinyMCE in concrete5 anpassen kann, da ich die Schrift in der Standardeinstellung zu klein finde. In jenem alten Tipp wurde die Schriftgröße generell für alle Themes geändert.

Einfacher und schneller ist es jedoch, die Schriftgröße des Editors nur für das aktive Theme anzupassen. Denn der Standardfall dürfte sein, dass man ein einziges Mal ein Gestaltungsthema erstellt und das Erscheinungsbild seiner Website nicht wie die Unterwäsche wechselt. Für diesen Zweck kann man zusätzlich zur Datei main.css eine weitere Stildatei erstellen, nämlich typography.css. Und selbst wenn nach ein paar Jahren die Website neu gestaltet werden muss, kann man diese Datei ja einfach in das neue Theme-Verzeichnis übertragen.

Natürlich lassen sich neben der Schriftgröße auch andere Einstellungen über diese CSS-Datei beeinflussen – in einem schon recht alten, englischsprachigen Blogartikel des concrete5-Kenners Remo Laubacher geht es eher darum, die Textfarbe der Überschriften im Editor gleich aussehen zu lassen wie auf der Website.

Weblication

Weblication ist ein kostenpflichtiges CMS (Content-Management-System) des deutschen Herstellers Scholl Communications AG. Ich habe Weblication® CMS CORE in der Version 8 als Demoversion kurz getestet.

Die Installation auf dem eigenen Webserver geht schnell und unkompliziert vonstatten. Sehr bedenklich finde ich die Tatsache, dass ein Benutzername admin mit dem Passwort admin standardmäßig angelegt wird. Besser wäre doch, gleich bei der Installation den Benutzer selbst einen Benutzernamen und ein Passwort eingeben zu lassen, wobei natürlich auch gleich auf eine gute Passwortstärke geprüft werden sollte. Immerhin wird darauf hingewiesen, dass man das Standard-Passwort sofort nach dem ersten Einloggen ändern sollte, und folgerichtig erscheint nach dem Anmelden ein entsprechender Hinweis. Und hier wird tatsächlich die Güte des Passworts geprüft.

Nach dem Einloggen ins Backend muss man zunächst ein Projekt anlegen. Auch das ist ungewöhnlich. Ich kenne es von vielen anderen Inhalts-Verwaltungs-Systemen so, dass man sofort nach der Installation eine Beispiel-Website mit einer Standard-Gestaltung vorfindet. Natürlich ist es legitim, andere Wege zu beschreiten. Nach dem Anlegen des Weblication-Projektes kommt man zu einer Art Baukasten, mit dem sich recht leicht Inhalte erstellen lassen. Wer fit ist, kann auch direkt von hier aus die Template- und CSS-Dateien bearbeiten.

Was mich stört, ist die Unübersichtlichkeit des Systems. Ständig öffnen sich neue Fenster (die zunächst durch meine Browser-Einstellungen blockiert wurden – klar, ich will ja schließlich Werbe-Popups blockieren). Außerdem wirkt die gesamte Verwaltungs-Oberfläche überladen und gestalterisch ziemlich altbacken auf mich. Systeme wie Concrete5 oder WordPress finde ich intuitiver bedienbar und sie machen mir einfach mehr Spaß. Zudem sind sie lizenzkostenfrei, was natürlich den Nachteil hat, dass man dort keinen Anspruch auf professionellen Support hat. Man »wurschtelt« sich bei Problemen also mehr oder weniger gut durch.

Ich muss gestehen: ich habe das Testen ziemlich schnell beendet. Sicherlich hat Weblication seine guten Seiten, und sicherlich sollte man ein geduldigerer Tester sein als ich es bin.

Das Unternehmen selbst macht allerdings einen sehr guten Eindruck auf mich. Auf Fragen und Hinweise wird sehr freundlich eingegangen. Daraus schließe ich, dass man als Anwender bestimmt einen guten Support geboten bekäme, falls man mal »stecken« bliebe. Nach eigenen Aussagen bietet Weblication® Echtzeit-Support direkt vom Hersteller. Das ist ein nicht zu unterschätzender Vorteil.

Weblication® CMS – Das Content-Management-System

Neuigkeiten in concrete5 abschalten

Jene Neuigkeiten in concrete5, genannt Newsflow oder Welcome Screen, welche nach dem Einloggen ins Backend erscheinen – sie können ganz schön nerven. Oder vielleicht möchte man nicht, dass sie auf Systemen, die man für Kunden eingerichtet hat, sichtbar werden. Wie auch immer: dieser Nachrichtenfluss lässt sich abschalten, und zwar über die Kon­fi­gu­rations­datei.

In die Datei config/site.php gibt man folgende Zeile ein:
define('ENABLE_NEWSFLOW_OVERLAY', False);

Quelle:
olliephillips, www.concrete5.org/[…]/disable-welcome-screen/

LifeType, ein sehr altes Blogsystem

In den letzten Tagen habe ich mal ein bisschen auf meiner Testplattform gestöbert und einiges alte Zeug gefunden. Zum Beispiel hatte ich wohl schon in 2011 das Blogsystem LifeType in der damaligen Version 1.2.10_r6971 installiert. Das war, so hatte ich mir notiert, sehr schnell und äußerst einfach vonstatten gegangen. Als Datenbank wurde MySQL benötigt, und es sollte laut Angaben die uralte Version 3.23 ausreichen. Nun ja, daran sieht man ein bisschen, dass LifeType nicht mehr so ganz auf der Höhe der Zeit ist. Und so richtig viel hat sich auch in den letzten drei Jahren wohl nicht getan. Gerade aktuell (Stand: März 2014) ist Version 1.2.12, die im Juli 2013 veröffentlicht wurde. Eine Version 2.0 soll allerdings in der Entwicklung sein.

Angenehm fand ich damals, dass sich LifeType ohne zusätzlich zu installierende Sprachversionen auf Deutsch umschalten ließ, und die Übersetzungen sahen in Ordnung aus. Beschriftungen im Backend und im Frontend findet man nach der Umschaltung komplett in deutscher Sprache vor.

Die Anfänge von LifeType liegen weit zurück, es erschien im Juli 2003. Es ist damit also sogar ein halbes Jahr älter als WordPress, das in der ersten Version im Januar 2004 erschien. Leider sieht das Backend von LifeType noch heute so aus, als sei es aus jenen alten Tagen übrig geblieben. Es ist zwar sehr übersichtlich, sodass man sich schnell zurecht findet, es kommt aber für heutige Verhältnisse ziemlich unsexy daher.

LifeType-Backend
(Aufs Bild klicken zum Vergrößern)

Ebenso alt ist die Website des Anbieters, manche Seiten wurden zuletzt in 2008 aktualisiert. Plug-ins gibt es recht viele für LifeType, aber mit Gestaltungsthemen sieht es äußerst mau aus.

Das Funktionsspektrum ist ordentlich, man findet alles vor, was man von einem Blogsystem erwartet. Mit LifeType lassen sich sogar mit einer einzigen Installation mehrere unterschiedliche Blogs betreiben, so wie man es auch von WordPress kennt. Und mehrbenutzerfähig ist es natürlich auch. Als Template-Maschine dient Smarty; na ja, da bin ich eigentlich kein großer Freund von. Mir gefallen Systeme besser, die sich auf reines PHP beschränken.

Was ich aber als absolutes K.O.-Kriterium ansehe, ist folgendes Phänomen: Umlaute in den Kommentaren klappen nicht – am Umlaut wird der Kommentar einfach abgehackt, wie man nach dem Absenden des Geschriebenen feststellen muss. Das ist nicht gut, gar nicht gut. Vielleicht wurde dieser Fehler in Version 1.2.12 behoben, ich weiß es nicht und ich habe auch keine Lust, diese Version zu installieren und weiter zu testen. Ich werde mit LifeType sowieso nicht richtig warm, ich werde es jetzt im Zuge meiner Aufräumarbeiten löschen.

Irgendwie schade, denn ich freue mich immer, wenn es neben den Platzhirschen immer noch interessante, weniger verbreitete Software gibt. Und, das ist das Tröstliche, es erscheinen auch immer mal wieder frische, neue Blogsysteme. Auf diese werde ich denn wohl auch eher meine Aufmerksamkeit richten. Über das äußerst schlanke, schnelle Nibbleblog oder über Anchor CMS hatte ich ja schon mal berichtet.