Archiv der Kategorie: Webentwicklung

xt:Commerce nicht mehr als Community Edition

Das beliebte Shop-System xt:Commerce ist seit dem 01. Juni 2012 nicht mehr in der kostenlosen Community Edition erhältlich. Im kürzlich verschickten xt:C-Newsletter stand:

[…] Ab sofort stehen Ihnen 2 neue xt:Commerce Versionen — Professional für € 99 und Professional+ für € 299 — zur Verfügung. Die xt:Commerce Community Edition ist seit dem 01.06.2012 nicht mehr verfügbar. […]

Das sind immer noch äußerst moderate Preise. Da ich aber xt:Commerce »hinter den Kulissen« nicht gerade für ein übersichtliches System halte, und um meinen Kunden weiterhin ein kostenloses Shopsystem anbieten zu können, werde ich mich, sobald ich die Zeit dazu finde, mal in PrestaShop einarbeiten. Es ist Open-Source-Software und, wie gesagt, gratis. Man kann das Grundsystem mit Erweiterungen aufmotzen, die dann allerdings kostenpflichtig sind. Ob man zwangsläufig welche braucht oder ob man auch mit dem nackten Grundsystem schon auskommt, wird sich bei meinen Tests herausstellen.

http://www.prestashop.com/de/

Nachtrag:
Natürlich wäre osCommerce die vielleicht naheliegendste kostenlose Möglichkeit. Schließlich ist xt:Commerce ein Ableger davon, und so gesehen könnte man halt gleich auf das Ur-System zurückgreifen. Die 3er-Version, an der gerade programmiert wird, macht auch einen recht vielversprechenden Eindruck. Allerdings läuft sie erst ab PHP 5.3, und noch nicht alle Webhoster haben auf diese PHP-Version umgestellt. Demnächst mehr zu osCommerce.

Schriftgröße im HTML-Editor von WordPress 3.x

Mir persönlich – und vielleicht nicht nur mir – ist die Schriftgröße des HTML-Editors im Dashboard von WordPress 3.x zu klein. Mit ein paar Zeilen PHP-Code kann man die Schrift aber vergrößern. Wie das geht, habe ich hier gefunden: webdesign-passau.com. Danke, klappt wunderbärchen!

Nachtrag 12. Mai 2015: Die Website bzw. deren ursprünglichen Inhalte existieren nicht mehr.

MySQL-Front wieder erhältlich

Das beliebte und gute Programm MySQL-Front von Nils Hoyer zum Verwalten von MySQL-Datenbanken ist wieder erhältlich. Vor vielen Jahren hatte es mal als Freeware gestartet, dann wurde es kostenpflichtig (Shareware, € 35,–), wurde später aus namensrechtlichen Gründen umbenannt in SQL-Front und verschwand schließlich ganz vom Markt.

Seit Mai 2012 ist dieses Programm nun wieder zu bekommen, und zwar unter www.mysqlfront.de. Alternativ kann man es auch bei github herunterladen. Es heißt wieder MySQL-Front, ist erneut kostenlos und der Quellcode wurde offengelegt. Leider findet man nirgends irgendwelche Lizenzbedingungen.

Nachtrag:
Nils hat auf meine Anfrage an ihn geantwortet, jeder möge eigenverantwortlich über die Art der Nutzung entscheiden (um es in meinen eigenen Worten zusammenzufassen).

Von Serendipity nach WordPress

WordPress bietet von Hause aus keine Möglichkeit zum Import der Daten aus dem Blogsystem Serendipity. Eigentlich seltsam, da Serendipity (S9Y) ja nicht gerade unbekannt und ein sehr gutes System ist. Nun ja, vielleicht so gut, dass selten jemand nach WordPress wechselt. Meine eigenen Gründe habe ich ja im letzten Artikel erklärt.

Ich muss jetzt mein Blog nur wieder besser gegen Spam absichern. Antispam Bee von Sergej Müller leistet zwar super Dienste, weil es äußerst zuverlässig ausfiltert. Aber gegen Spambots werde ich ein zusätzliches Plugin einsetzen, nämlich GrowMap Anti-Spambot Plugin, das ein Kästchen einfügt, welches ein menschlicher Kommentator anklicken muss und welches aber für Bots unsichtbar ist. So landen die Spamkommentare gar nicht erst im System.

Doch zurück zum Blog-Import. Ich hatte nach längerer Suche per Suchmaschine doch noch ein Plugin einschließlich Anleitung in englischer Sprache gefunden, mit dem der Import für die 3er-Versionen von WordPress einwandfrei geklappt hat und leicht durchzuführen war, und zwar bei Abdussamad.com.

concrete5: Dashboard unsichtbar nach Upgrade auf 5.5.x

Ein besonderer Fall trat neulich beim Upgrade von 5.4.x auf 5.5.x auf. Das Upgrade wurde zwar einwandfrei durchgeführt, es gab also keine Fehler wegen der geänderten Datenbank – aber als ich mich nach Abschluss des Vorganges erneut einloggen wollte, war kein Dashboard zu sehen. Der Platz für die obere Admin-Leiste war aber offensichtlich reserviert, oder anders gesagt: die Seite erschien ein Stück nach unten verschoben.

Man kann dennoch ans Dashboard dran kommen, nämlich indem man in die Adresszeile des Browsers http://www.meine-domain.de/dashboard oder http://www.meine-domain.de/index.php/dashboard eingibt. Dort kann man dann einen eventuell eingeschalteten Wartungsmodus wieder auf Normalmodus stellen oder nach sonstigen Auffälligkeiten suchen.

Wenn es das alles nicht ist, gibt es noch eine weitere Möglichkeit, die man ausprobieren kann. In meinem Fall war das der ausschlaggebende Punkt. Und zwar prüft man nach, ob in der Footer-Datei des eingesetzten Themas, also in der Datei /themes/mein-theme/elements/footer.php, folgende Angabe im Quelltextes vorhanden ist:
<?php Loader::element('footer_required'); ?>.
Wenn nicht, fügt man die Zeile ein, und zwar weit unten, direkt vor dem schließenden </body>-Tag.

Quelle: http://www.concrete5.org/[…]/cant-log-in-after-update-to-5.5/.
Danke an Andy Adiwidjaja für diesen wertvollen Hinweis!

FlatPress: Blogsystem ohne Datenbank

Wer ein Blog betreiben oder als Webdesigner eines für einen Kunden einrichten möchte, aber keine Datenbank zur Verfügung hat, kann auf ein Blogsystem ausweichen, das die Daten in Textdateien, sogenannte »flat files« speichert. Eins dieser Systeme ist FlatPress. Wie der Name schon andeutet, orientiert es sich an WordPress, ist damit aber nicht kompatibel, das heißt: WordPress-Plugins lassen sich in FlatPress nicht nutzen.

Und es ist wesentlich weniger leistungsfähig. Es ist kein Mehrbenutzer-System, es bietet keine Zeitsteuerung, keine Versionierung und meines Wissens auch keine XML-RPC-Schnittstelle zum Fernpublizieren. Aber in vielen Fällen braucht man das alles auch gar nicht.

FlatPress verwendet die Template-Engine Smarty. Es lassen sich recht leicht eigene Themes basteln, falls man keins der angebotenen verwenden möchte, sondern etwas Individuelles braucht. Auch ein RSS- und Atom-Feed lässt sich erstellen. In die Seitenleiste kann man Widgets platzieren, zum Beispiel ein Suchfeld, den zu abonnierenden Newsfeed, eine Auflistung der neuesten Artikel und ein nach Monaten sortiertes Archiv (diese Dinge sind als Plugins recht einfach zuschaltbar).

Damit stillt FlatPress die Grundbedürfnisse eines Bloggers. Natürlich lassen sich auch statische Seiten anlegen, sodass man es auch als kleines CMS verwenden kann.

Und die Datensicherung und -wiederherstellung ist einfach: Dateien (insbesondere den Ordner /fp-content/content) per FTP auf den lokalen PC kopieren und im Bedarfsfall wieder zurück auf den Webserver. Datenbank-Sicherungen (Dumps) entfallen ja.

Fazit:
FlatPress ist ein schlankes und schnelles Blogsystem, das sich anbietet, wenn keine Datenbank zur Verfügung steht, man als Einzelner bloggt und nur Basis-Funktionalität benötigt.

concrete5: Upgrade von 5.4.x auf 5.5.x

Das CMS concrete5 wurde ja vor einigen Monaten (Dezember 2011) komplett runderneuert. Die 5.5er-Versionen unterscheiden sich nicht nur in Aussehen und Bedienung des Dashboards von den 5.4ern und einem neuen Standard-Theme mit Gewichtung auf der Blogfunktion. Nein, es wurden auch Änderungen an einigen Datenbank-Tabellen vorgenommen.

Und das kann bei manchen Webhostern bzw. in bestimmten Server­kon­fi­gu­ra­tio­nen zu Problemen beim Upgrade führen. Im schlimmsten Fall ist die Website nach dem Upgrade nicht mehr erreichbar und spuckt Fehler­meld­un­gen aus. Man kann zwar die Datenbank von Hand nachkonfigurieren, aber das ist sehr aufwändig. Und nach meinen Erfahrungen treten immer wieder neue Fehler auf. Bei kleineren Websites geht da eine komplette Neuinstallation schneller von der Hand.

Auf jeden Fall sollten kurz vor dem Upgrade Datensicherungen durchgeführt werden! Speichern Sie den Datenbank-Dump (Dashboard > Verwaltung > System & Wartung > Sicherung & Wiederherstellung) sowohl auf dem Werbserver als auch auf Ihrem PC ab. Und vorsichtshalber kopieren Sie auch alle Dateien per FTP auf Ihren lokalen PC.

Wie gesagt: Im Regelfall wird wohl alles glatt gehen. Aber wenn nicht, ist es gut, wenn man Backups zur Hand hat und erst mal schnell die Website wieder in den vorherigen Zustand zurück versetzen kann.

concrete5: Date Navigation eindeutschen

Die Datumsnavigation (Date Navigation) in concrete5 kann zum Beispiel die Artikelüberschriften eines Blogbereiches nach Erscheinungsdatum sortiert ausgeben. Das Problem ist nur, dass PHP die als Wort ausgeschriebenen Zeit- und Datumsangaben nur in englischer Sprache kennt. Man kann das normalerweise mit Hilfe eines Arrays, der den englischen Monatsnamen die deutschen zuordnet, zwar übersetzt ausgeben lassen, aber im Falle dieses DateNav-Blockes habe ich das nicht hinbekommen.

Und in der deutschen Übersetzungsdatei (/languages/de_DE/LC_MESSAGES/messages.po), die man bekommt, wenn man die deutsche Entwicklerversion von c5 über Github herunter lädt, sind weder Monatsnamen noch Wochentage eingepflegt.

Man kann aber selber eine Sprachdatei anfertigen. Man erstellt sich eine PHP-Datei, die einfach nur den folgenden Inhalt hat:

<?php
print t('Monday');
print t('Tuesday');
print t('Wednesday');
print t('Thursday');
print t('Friday');
print t('Saturday');
print t('Sunday');

print t('January');
print t('February');
print t('March');
print t('April');
print t('May');
print t('June');
print t('July');
print t('August');
print t('September');
print t('October');
print t('November');
print t('December');
?>

Diese Datei speichert man zum Beispiel als datumsangaben_de.php auf dem heimischen Rechner. Dann legt man mit Poedit (kostenlos für Windows®, Mac OS X® und Linux erhältlich) einen neuen Katalog an und liest die genannte Datei ein (Menü > Katalog > Aus Quelltexten aktualisieren). Die englischen Wörter kann man nun übersetzen. Anschließend speichert man die Übersetzung zum Beispiel als datumsangaben_de.po ab. Dabei wird auch automatisch eine bis auf die Dateiendung gleichnamige, aber kompilierte Datei erzeugt, also in unserem Fall datumsangaben_de.mo. Diese lädt man in das Sprachverzeichnis von concrete5 hoch, genauer gesagt in /languages/de_DE/LC_MESSAGES/datumsangaben_de.mo.

Beim nächsten Seitenaufruf, zumindest nach einem Leeren des Cache in concrete5 und im Webbrowser, werden nun die deutschen Da­tums­be­zeich­nun­gen angezeigt.

Und hier sind die fertigen Dateien (Zip, 2,2 KiB).

—
Danke für den Tipp an Tomislav Huic im concrete5-Forum.

concrete5: Duplicate Content trotz .htaccess

Ich hatte kürzlich das Problem, dass eine mit dem CMS concrete5 erstellte Website sowohl ohne das www. davor als auch mit angezeigt wurde. Suchmaschinen können das als unerwünschten doppelten Inhalt werten.

Ich hatte im Dashboard die »Pretty URLs« eingeschaltet und zusätzlich in der Datei .htaccess einen permanenten Redirect eingerichtet, aber seltsamer Weise ohne Wirkung (»domain« muss im Beispiel unten natürlich durch den richtigen Domainnamen ersetzt werden):

# --- Doppelten Content vermeiden ---
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.de\.de$
RewriteRule ^(.*)$ http://www.domain.de/$1 [R=permanent]

Normalerweise führt das dazu, dass immer auf die Subdomain www. umgeleitet wird. Dass sie eigentlich unnützer Ballast ist, soll an dieser Stelle nicht diskutiert werden. Es hat sich so eingebürgert, und mancher Benutzer ist vermutlich befremdet, wenn es fehlt. Doch wer will, kann ja genau umgekehrt vorgehen, also von mit www. auf ohne umleiten.

Jedenfalls, wie gesagt, nützte das nichts, was ich sehr seltsam finde. (Ich hatte allerdings schon mehrmals das Problem, dass unter concrete5 bestimmte, normale Angaben in der .htaccess in bestimmten Serverumgebungen nicht funktionieren oder zu Fehlern führen.) Nach langer Suche fand ich endlich die Lösung. Eine Zeile zusätzlichen Quelltextes in der Datei /config/site.php brachte den gewünschten Erfolg:

define('BASE_URL', 'http://www.domain.de');

Der Quelltext der /config/site.php sollte übrigens kein schließendes ?> enthalten und keine Leerzeilen am Ende, weil das auch wieder in bestimmten Umgebungen zu Fehlern führen kann.

HeidiSQL 7.0

Ich habe es erst heute bemerkt: Bereits seit dem 12. Februar gibt es Ansgar Beckers HeidiSQL in der Version 7.0. Die Neuerungen und Bugfixes kann man hier ablesen: HeidiSQL 7.0 released. Es handelt sich um einen kostenlosen Editor für MySQL®-Datenbanken. Natürlich wird auch der Open-Source-Ableger MariaDB unterstützt.

Kommerzielle Tools ähnlicher Güteklasse sind richtig teuer. Wer also HeidiSQL regelmäßig und vor allem beruflich nutzt, sollte die Weiterentwicklung durch eine Spende unterstützen.