Einträge von Mathias Bauer

Blogsystem vs. CMS – WordPress vs. Joomla

mbdus-Softwareentwicklung
Zu Beginn der Erstellung meines neuen Webauftritts https://www.mbdus.de stellte sich mir die Frage, welches und ob ich ein Blogsystem verwenden sollte. Dass ich einen Blog anbiete, war klar. Im heutigen Zeitalter darf eine Webseite nicht mehr nur aus reinem statischen Content bestehen. Also was tun? In Joomla eine Blogkategorie einrichten oder lieber einen WordPress-Blog integrieren? Und warum sollte man sich überhaupt darüber Gedanken machen? Alle verwenden WordPress, also nehme ich das auch, oder?
WordPress als Blogsystem

Artikel sind gut verlinkt (meistens sogar in Social Media) und werden gut in Google gelistet.
WordPress ist schnell installiert und konfiguriert (berühmte 2 Minuten-Installation).
Zwar sind von vorne herein alle Blogfunktionen schon vorhanden, trotzdem sollte man noch den Blog um weitere Funktionen mit Plugins erweitern.

Joomla (stellvertretend für ein nicht reines Blogsystem)

Joomla ist ein Content Management System (CMS) und kein Blogsystem. Deshalb sind die typischen Blogfunktionen nicht vorinstalliert.
Blogfunktionen können jedoch über Plugins, Komponenten und Module nachinstalliert werden.
Somit kann man grundsätzlich Joomla auch als Blog nutzen.
Jedoch ist Joomla als Blog nicht ganz so einfach und schnell nutzbar wie WordPress.

Daraus ergeben sich 2 Optionen oder Möglichkeiten:

Option

Zusätzlich WordPress in einem Unterordner oder Subdomain installieren und konfigurieren.
Vorteil:
WordPress ist das Blogsystem schlechthin.
Nachteil:
Falls kein Unterschied im Aussehen zu sehen sein soll, dann muss das Template der eigentlichen Webseite auch in WordPress erstellt werden.

Option

In dem System (CMS, Shop-System), mit dem man arbeitet, müssen die Blogfunktionen nachgebildet werden. Für die meisten Systeme sind jedoch dafür schon Komponenten, Module oder Plugins in der Community oder auf dem Markt vorhanden.
Vorteil:
Das Template muss nicht nachgebildet werden. Und die gesamte Webseite wird aus einem System heraus gemanagt.
Nachteil:
Die eigentliche Blog(unter)seite mit allen gewünschten Funktionen zu erstellen ist etwas aufwendiger als mit WordPress, da die Standardfunktionen noch nicht vorinstalliert und konfiguriert sind.
Die entscheidende Frage, die sich u.a. mir stellt, ist: „Welches System mag Google am liebsten?“ Bevorzugt Google überhaupt ein System? Die Antwort ist nein. Für Google sind hauptsächlich regelmäßige neue Inhalte auf der Webseite wichtig und ob die Seite gut besucht ist und noch besser, es findet sogar Interaktion in Form von Kommentaren statt.
Somit bleibt es zunächst eine Geschmacksfrage, ob man zusätzlich für einen Menüpunkt ein Blogsystem einrichtet oder ein CMS erst noch einrichtet und mit Blogfunktionen ausstattet.
Hier auf https://www.unibits.de wurde zusätzlich eine Subdomain https://www.mbdus.de eingerichtet und mittels einem Menüpunkt verlinkt. Auf https://www.mbdus.de wurde eine sog. Blogkategorie in Joomla erstellt. Außerdem wurden zusätzlich noch zwei Komponenten, JComments und AutoTweetNG, installiert und konfiguriert. Damit ist dort nur ein System im Einsatz, was auch zu bevorzugen ist. Im Nachhinein könnten Anforderungen aufkommen, wie man denn die beiden Systeme auch miteinander verknüpfen kann, so dass man sich z.B. nicht zweimal im Backend anmelden muss. Klar, auch so etwas (Bridge) kann man programmieren oder ist bereits in der Community vorhanden und muss “nur” installiert und konfiguriert werden. Aber man könnte es von vorneherein auch einfacher haben…
Deshalb sollte man sich im Vorfeld Gedanken machen, welche Funktionen brauche ich oder möchte ich meinen Benutzern zur Verfügung stellen. Möchte ich einfach „nur“ Content oder kann und muss es mehr sein, wie z.B. ein Onlineshop oder andere Funktionen wie z.B. die einer Community. Dafür sollte dann ein CMS oder Shopsystem zum Einsatz kommen. In diesen Systemen kann man dann auch einen systemeigenen Blog erstellen. Der entscheidende Punkt ist jedoch, dass diese Systeme meist eine MVC-Architektur als Fundament besitzen und somit sauber Module, Komponenten oder Plugins entwickelt werden können. Natürlich kann man durch Plugins auch WordPress soweit bringen, dass eine MVC-Struktur zu Grunde liegt. Jedoch ist es einfacher und schneller, und somit auch mit weniger Aufwand verbunden, gleich auf eine MVC-Struktur zurückzugreifen.
Wenn aber von Beginn an klar ist, dass „nur“ Content zur Verfügung gestellt wird, und dabei ist es egal ob statischer oder dynamischer, dann sollte man auf ein Blogsystem wie WordPress zurückgreifen. Es ist schneller installiert und konfiguriert. Und von Beginn an ist alles vorhanden, um bei Google gut gelistet werden zu können. Zwar sind auch hier noch einige Plugins zusätzlich sehr hilfreich, jedoch ist die Webseite schnell erstellt.
Im Übrigen eignet sich WordPress auch für größere, mittelständische Unternehmen. Die Webseiten von Mesacon Messelektronik GmbH (https://www.mesacon.com und https://www.mesacon.in) sind ausschließlich mit WordPress erstellt. Wie dort zu sehen ist, kann man in WordPress auch statische Seiten anlegen, die immer den gleichen Content bereitstellen.
Mesacon Messelektronik GmbH
 
Mesacon Messelektronik GmbH

JTL-Plugin zur Anzeige von externem Inhalt auf der Detailseite entwickelt

Der JTL-Shop https://www.tunatur.de bietet Bio-Waren in seinem Sortiment an. Dazu werden die Artikeldaten von diversen Lieferanten geliefert. Zunächst wurde ein Updater für die JTL-WAWI entwickelt, der die Daten von Terra und Bigros aufbereitet. Dieser arbeitet lokal auf dem PC des Shopbetreibers in einer sog. XAMPP-Umgebung (u.a. lokaler Webserver und MySQL-Datenbank).
Im ersten Schritt werden die Lieferantendateien per FTP heruntergeladen und eingelesen. Aus den aufbereiteten Daten wird eine CSV-Datei erzeugt, die per Importwerkzeug, der Ameise, in die JTL-WAWI importiert werden kann. Ein Spezialfall galt es bei den Bildern zu behandeln. Da der WAWI-Bildimport den Import selbst und den Webshopabgleich extrem verlangsamte, werden nur die URLs für die Thumbnails u.a. in der Kategorieübersicht importiert.  
Auf der Detailseite werden bei Aufruf des Shopartikels alle Daten für die Beschreibung aus einer XML-Datei von Ecoinform ausgelesen, aufbereitet und angezeigt. Hier wird auch die Bild-URL für das normal große Bild entnommen und per externer URL eingebunden. Dafür wurden Template-Dateien angepasst und ein individuelles Plugin entwickelt.  
 
 

JTL-Plugin zur Lieferantenbestandsanzeige entwickelt

Für die Shops https://shoetopia.de, https://my-size.de und https://shoes-unlimited.de wurde zum Einen ein Updater zur Abholung und Aktualisierung der Lieferantenbestandsdaten in der Datenbank entwickelt und zum Anderen ein JTL-Plugin programmiert, das die Artikeldetailseite um den Lieferantenbestand erweitert.

Einmal täglich (Cronjob) wird das Script angestoßen. Die Daten werden in einer separaten Datenbanktabelle gespeichert. Somit wurden die Core-Dateien nicht modifiziert und der JTL-Shop ist weiterhin updatefähig.
 

Impressum

Angaben gemäß § 5 TMG:
mbdus – Softwareentwicklung Mathias Bauer An der Gersprenz 7 64846 Groß-Zimmern
Kontakt:

Telefon:

+49 6071 609501

Telefax:

+49 6071 609500

E-Mail:

info@mbdus.de

Umsatzsteuer-ID:
Umsatzsteuer-Identifikationsnummer gemäß §27 a Umsatzsteuergesetz: DE267410723
Quellenangaben für die verwendeten Bilder und Grafiken:
https://fotolia.de
 
Quelle: Impressumgenerator, https://www.e-recht24.de
Haftungsausschluss:
Datenschutzerklärung für die Nutzung von Facebook-Plugins (Like-Button)
Auf unseren Seiten sind Plugins des sozialen Netzwerks Facebook, 1601 South California Avenue, Palo Alto, CA 94304, USA integriert. Die Facebook-Plugins erkennen Sie an dem Facebook-Logo oder dem “Like-Button” (“Gefällt mir”) auf unserer Seite. Eine Übersicht über die Facebook-Plugins finden Sie hier: https://developers.facebook.com/docs/plugins/. Wenn Sie unsere Seiten besuchen, wird über das Plugin eine direkte Verbindung zwischen Ihrem Browser und dem Facebook-Server hergestellt. Facebook erhält dadurch die Information, dass Sie mit Ihrer IP-Adresse unsere Seite besucht haben. Wenn Sie den Facebook “Like-Button” anklicken während Sie in Ihrem Facebook-Account eingeloggt sind, können Sie die Inhalte unserer Seiten auf Ihrem Facebook-Profil verlinken. Dadurch kann Facebook den Besuch unserer Seiten Ihrem Benutzerkonto zuordnen. Wir weisen darauf hin, dass wir als Anbieter der Seiten keine Kenntnis vom Inhalt der übermittelten Daten sowie deren Nutzung durch Facebook erhalten. Weitere Informationen hierzu finden Sie in der Datenschutzerklärung von facebook unter https://de-de.facebook.com/policy.php
Wenn Sie nicht wünschen, dass Facebook den Besuch unserer Seiten Ihrem Facebook-Nutzerkonto zuordnen kann, loggen Sie sich bitte aus Ihrem Facebook-Benutzerkonto aus.
 
Datenschutzerklärung für die Nutzung von Google Analytics
Diese Website benutzt Google Analytics, einen Webanalysedienst der Google Inc. (“Google”). Google Analytics verwendet sog. “Cookies”, Textdateien, die auf Ihrem Computer gespeichert werden und die eine Analyse der Benutzung der Website durch Sie ermöglichen. Die durch den Cookie erzeugten Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert. Im Falle der Aktivierung der IP-Anonymisierung auf dieser Webseite wird Ihre IP-Adresse von Google jedoch innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des Abkommens über den Europäischen Wirtschaftsraum zuvor gekürzt.
Nur in Ausnahmefällen wird die volle IP-Adresse an einen Server von Google in den USA übertragen und dort gekürzt. Im Auftrag des Betreibers dieser Website wird Google diese Informationen benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung verbundene Dienstleistungen gegenüber dem Websitebetreiber zu erbringen. Die im Rahmen von Google Analytics von Ihrem Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt.
Sie können die Speicherung der Cookies durch eine entsprechende Einstellung Ihrer Browser-Software verhindern; wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website vollumfänglich werden nutzen können. Sie können darüber hinaus die Erfassung der durch das Cookie erzeugten und auf Ihre Nutzung der Website bezogenen Daten (inkl. Ihrer IP-Adresse) an Google sowie die Verarbeitung dieser Daten durch Google verhindern, indem sie das unter dem folgenden Link verfügbare Browser-Plugin herunterladen und installieren: https://tools.google.com/dlpage/gaoptout?hl=de.
 
Datenschutzerklärung für die Nutzung von Twitter
Auf unseren Seiten sind Funktionen des Dienstes Twitter eingebunden. Diese Funktionen werden angeboten durch die Twitter Inc., Twitter, Inc. 1355 Market St, Suite 900, San Francisco, CA 94103, USA. Durch das Benutzen von Twitter und der Funktion “Re-Tweet” werden die von Ihnen besuchten Webseiten mit Ihrem Twitter-Account verknüpft und anderen Nutzern bekannt gegeben. Dabei werden auch Daten an Twitter übertragen.
Wir weisen darauf hin, dass wir als Anbieter der Seiten keine Kenntnis vom Inhalt der übermittelten Daten sowie deren Nutzung durch Twitter erhalten. Weitere Informationen hierzu finden Sie in der Datenschutzerklärung von Twitter unter https://twitter.com/privacy.
Ihre Datenschutzeinstellungen bei Twitter können Sie in den Konto-Einstellungen unter https://twitter.com/account/settings ändern.
 
Quellenangaben: eRecht24 Datenschutzerklärung für Facebook, Datenschutzerklärung für Google Analytics, Twitter Datenschutzerklärung

Framestarter – Webanwendungen schneller entwickeln

Default Frontend-Template des Framestarters
In meiner letzten Webanwendung habe ich das Framework CodeIgniter eingesetzt und getestet. CodeIgniter ist sehr gut, schnell und leichtgewichtig. Deshalb kann ich es absolut empfehlen.
Ein Punkt hat mich jedoch gestört. Von Beginn an sind nicht die gängigen Komponenten vorinstalliert, die eine Durchschnittswebanwendung benötigt. Man kann zwar diese Komponenten mittels Plugins nachinstallieren und konfigurieren. Jedoch kostet das den Entwickler bei jeder neuen Webanwendung wieder wertvolle Zeit, die er in die Entwicklung der eigentlichen Funktionen stecken könnte.
Ein Ansatz bietet BonFire. BonFire wurde speziell für die schnelle Entwicklung von CodeIgniter-Anwendungen programmiert. Hier sind von Beginn an schon viele Plugins und eigene Erweiterungen integriert. Allerdings sind das bereits zu viele. Bspw. ist der Administrationsbereich schon zu umfangreich. Auch die Templates sind zu umfassend. In diesem Fall muss man nach der Installation Quellcode anpassen oder entfernen.
Es wird ein Startpacket mit allen Komponenten benötigt, die auf möglichst allen Webseiten zu finden sind. Im Zweifelsfall ist die Komponente weg zu lassen und nachträglich zu installieren und zu konfigurieren.
Deshalb soll Framestarter Abhilfe verschaffen. Die Idee besteht darin, möglichst schnell eine Webanwendung entwickeln zu können ohne das Rad neu erfinden zu müssen. Framestarter basiert auf CodeIgniter und enthält zusätzlich von Beginn an:

eine .htaccess-Datei, die aus der URL /index.php/ entfernt.
eine Benutzerregistrierung (Tank Auth).
Sprachdateien (aus Tank Auth).
Die deutsche Sprachdatei wurde angepasst.
ein Administrationsbereich mit der Möglichkeit schnell ein Rechtesystem umzusetzen. In  der Datenbank wird standardmäßig die group_id = 3 gesetzt.
ein Templatesystem (beinhaltet bewusst zwei rudimentäre Themes für das Frontend und Backend).
HMVC, um das Template in Bereiche unterteilen und modular entwickeln zu können.
Bsp.-Modulpositionen sind in den Konfigurationsdateien modules.php und admin_modules.php hinterlegt.

Framestarter spart dem Entwickler zu Beginn des Projektes eine Menge Zeit. Somit kann dieser direkt mit der Programmierung der eigentlichen Funktionen beginnen.
Framestarter kann hier kostenlos heruntergeladen werden.
Über ein „Like” oder einen Kommentar würde ich mich sehr freuen. Danke!