Open Source bedeutet weit mehr als nur lizenzkostenfrei. Wir sehen speziell die Zukunftsfähigkeit und die damit einhergehende  Investitionssicherheit eines quelloffenen CMS als entscheidenden Vorteil. Eine kommerzielle Lösung ist immer nur so lange am Markt wie ihr Herstellerunternehmen. Erfolgreiche OS CMS hingegen leben länger. Sie überdauern Anbieterinsolvenzen oder Dienstleisterwechsel und werden Hersteller-unabhängig weiterentwickelt. Marktteilnehmer, die mit OS CMS ihr Geld verdienen, kommen und gehen. Die Systeme aber bleiben. Das führt zu einem weiteren Vorteil der Systeme ohne Vendor Lock: Die Unabhängigkeit vom technischen Dienstleister.

Wahrscheinlich lässt der meist nicht gegebene direkte Herstellersupport einige Unternehmen davor zurückschrecken, sich für eine Open Source Lösung zu entscheiden. Zudem empfinden insbesondere kleinere Mittelständler den fehlenden deutschen Background eines Open Source CMS als Minuspunkt. Jedoch kann hier CONTENIDO als deutschsprachiges CMS mit direktem Support durch four for business ganz klar punkten. 

Exakte Statistiken liegen uns dazu nicht vor, doch wir schätzen den Anteil der bei mittelständischen Unternehmen im Einsatz befindlichen Open Source Content Management Systeme deutlich höher ein als den weltweiten Durchschnitt – also ca. um die 90 %.

CONTENIDO unterliegt dem Urheberrecht und damit dem Copyright der four for business AG. Umbenennung oder Rebranding ist illegal, ebenso wie Logos im Backend auszutauschen, Copyright-Informationen im Quelltext löschen etc.

Das Content Management System darf nicht gegen Entgelt weiterveräußert werden. Sie dürfen sich als Agentur oder Dienstleister natürlich Ihre Arbeit rund um CONTENIDO vergüten lassen, unabhängig davon, ob Sie das CONTENIDO installieren, eine Website implementieren oder Support leisten. Das Content Management System CONTENIDO an sich muss aber immer kostenfrei bleiben.  

Das Unternehmen four for business AG als Copyright-Inhaber übernimmt keine Haftung für irgendwelche Schäden, die durch den Einsatz von CONTENIDO entstehen. Es können keine Ansprüche gegenüber four for business geltend machen und das Unternehmen ist nicht verantwortlich für Arbeiten anderer Dienstleister im Zusammenhang mit CONTENIDO. 

Das Content Management System CONTENIDO ist Open Source Software unter der General Public License (GPL). CONTENIDO darf lizenzkostenfrei, d. h. ohne die Entrichtung von Lizenzkosten, eingesetzt werden. Dieses gilt unabhängig davon, ob ein Unternehmen, eine Internetagentur oder eine Privatperson das CMS für seine Zwecke verwendet.

Für die aktuelleste Version von CONTENIDO benötigen einen auf Apache (mindestens Version 2) basierenden Webserver mit installiertem PHP (mindestens Version 5.4) und einer MySQL-Datenbank (mindestens Version 5.5). MySQL sollte nicht im so genannten strict-Modus laufen. Es empfiehlt sich außerdem eine PHP-Ausführungszeit von mindestens 30 Sekunden konfiguriert zu haben. Die meisten bekannten Webhoster bieten entsprechende Pakete an. Je nach Größe Ihrer Webpräsenz und/oder der Auslastung auf dem Server durch Projekte Dritter empfiehlt es sich jedoch, Ihre CONTENIDO-Installation auf einem eigenen Webserver (dedicated oder managed) zu betreiben.

Wir bedauern, dass es bei Ihnen zu Problemen gekommen ist! Gerne können Sie sich jederzeit unter forum.contenido.org an unsere hilfsbereite Community wenden. Schildern Sie Ihr Problem möglichst präzise mit reproduzierbaren Arbeitsschritten und geben Sie stets Ihre Arbeitsumgebung (Ihr verwendeter Browser mit Version, Versionsnummer von PHP und MySQL auf dem Websever) an. Kam es zu Fehlern, fügen Sie bitte die entsprechenden Einträge in der errorlog.txt bei, die Sie im CONTENIDO-Ordner data/logs auf Ihrem Webserver finden. Personenbezogene Details (wie auch interne URLs, Benutzernamen und Kennwörter) machen Sie bitte unkenntlich. Häufig beantworten sich Ihre Fragen auch bereits, indem Sie Ihr Problem in die Forensuche eingeben.Typische Probleme bei der Installation sind fehlende Systemvoraussetzungen oder auch fehlende Datei- und Systemrechte.

Bei einem Versionsupdate von CONTENIDO ändern Sie unter Umständen zentrale Funktionen von CONTENIDO und auch Einträge in der Datenbank. Dies kann, je nach (individueller) Konfiguration, zu Problemen führen. Legen Sie deshalb vor jedem Update von CONTENIDO immer ein Backup Ihrer Dateien (der bisherigen Version) sowie der Datenbank an. Sollte es zu einem Problem kommen, können Sie so den alten Stand wiederherstellen.

Generell ist ein Update (innerhalb der 4.9x-Familie) leicht: Sie müssen lediglich die Dateien der alten mit den Dateien der neuen Version ersetzen, das Setup aufrufen und den Upgrade-Modus auswählen. Überprüfen Sie nach dem Update ob alle wesentlichen Punkte Ihrer Website noch funktionsfähig sind. Außerdem kann es (vor allem bei wesentlichen Änderungen bei einer CONTENIDO-Version) zu Inkompatibitlitäten bei alten Modulen oder Plugins kommen, wenden Sie sich bitte entsprechend an deren Entwickler.

Für ein Update von CONTENIDO 4.8 auf CONTENIDO 4.9 beachten Sie bitte die Aktualisierungshinweise auf docs.contenido.org.

Diese Frage ist pauschal weder mit einem ja noch mit einem nein zu beantworten – es kommt jeweils darauf an! Passen Sie Original-CONTENIDO-Dateien an, ist die Wahrscheinlichkeit sehr hoch, dass sie nach einem Upgrade verloren gehen. Dies gilt auch für Änderungen von Standard-Plugins von CONTENIDO. Ihre darüber hinaus installierten Plugins gehen jedoch keinesfalls verloren. Ebenso wie bei Modulen gilt jedoch auch bei Plugins, dass ggf. in Modulen/Plugins genutzte Funktionen und Klassen in der neuen CONTENIDO-Version nicht mehr verfügbar sind oder zumindest angepasst werden müssen.

Für den Umzug von CONTENIDO von Server A auf Server B ist es nicht notwendig, CONTENIDO vorher neu zu installieren. Sie können die kompletten Daten von Server A auf Server B umziehen. Dies ist auch angezeigt, da es sonst bei verschiedenen Konfigurationen zu Inkompatibilitäten kommen kann.

Bitte gehen Sie wie folgt vor:

  1. Sichern Sie alle Dateien auf dem (alten) Webserver als auch die (alte) MySQL-Datenbank
  2. Laden Sie die Dateien vom alten auf den neuen Webserver und achten Sie darauf, den Ordnern „data“, „cms/cache“ sowie „cms/data“ inklusive Unterordnern und Dateien Schreibrechte (chmod 777) zu geben
  3. Passen Sie die Konfigurationsdatei im Ordner „data/config[/production]“, config.php, an; sowohl die korrekten Dateipfade als auch die neuen MySQL-Zugangsdaten
  4. Laden Sie die MySQL-Daten in Ihre neue Datenbank
  5. In Ihrem Backend müssten Sie unter Administration -> Mandaten auch noch die Mandanten-Einstellungen korrigieren (dies erstellt die Datei contenido/data/config[/production]/config.clients.php mit korrekten Pfadangaben neu)
  6. Die Anpassung der .htaccess-Datei sollte entsprechend automatisch funktionieren, wenn Sie bei den von Ihnen eingesetzten Plugins, z. B. Advanded Mod Rewrite, einmal Ihre Konfiguration abspeichern und eine neue .htaccess-Datei generieren lassen

Sie haben Ihre Datenbank umgezogen? Dann müssen Sie lediglich die Zugangsdaten (Host, Datenbank-Name, Datenbank-Benutzername, Datenbank-Kennwort) in der config.php-Datei ändern. Sie finden diese Datei standardmäßig im Ordner data/config/production. Der Ordnername „production“ kann je nach Ihrer individuellen Konfiguration abweichen. Sie finden die Zugangsdaten zur MySQL-Datenbank unter dem Abschnitt „Extended database settings“. Nach dem Ändern der Daten speichern Sie die Datei bitte ab und tauschen Sie sie auf dem Webserver aus.

Die lokale Entwicklung hat viele Vorteile: Sie können in Ruhe Dinge ausprobieren, ohne, dass es im Fehlerfall Probleme gibt, die Ihre Live-Seite beeinträchtigt.

Wenn Sie die lokale Entwicklung mitsamt Tests abgeschlossen haben, sichern Sie sich bitte die komplette Datenbank, in der CONTENIDO installiert ist. Dies geht bei kleineren Installationen z. B. direkt über phpMyAdmin, das Ihnen bspw. eine komprimierte .tar.gz-Datei erstellt. Sollten Sie sehr viele Datensätze haben, empfehlen sich entsprechende MySQL-Dump-Programme (auf der Kommandozeile gibt es z. B. das Programm „mysqldump“). Analog zum Export verhält sich auch der Import: Entweder Sie importieren die komprimierte Datei mittels phpMyAdmin, oder Sie nutzen die Kommandozeile. Mittels des Befehles „mysql –user=[Username] –password=[Kennwort] [Datenbankname]<[Name des Datenbank-Dumps].sql“ können Sie den Export auf Ihrem Webserver importieren. Vorher müssen Sie dafür sorgen, dass die entsprechende Sql-Datei auf Ihrem Webserver liegt.

Kopieren Sie als nächstes bitte alle lokalen CONTENIDO-Dateien in den entsprechenden Ordner auf Ihrem Webserver. Passen Sie bitte Dateirechte so an, dass die Ordner „data“, „cms/cache“ sowie „cms/data“ inklusive ihrer Unterordner Schreibrechte (chmod 777) erhalten.

Bevor Ihre Website nun im Internet funktioniert, müssen Sie noch die Konfigurationsdatei im Ordner „data/config“ anpassen: In der config.php sowohl die Pfade als auch die Zugangsdaten zum MySQL-Server. Über das Backend passen Sie bitte auch die Pfade für Ihre Mandanten unter Administration -> Mandanten an.

Nutzen Sie Module und Plugins Dritter, sind gegebenenfalls auch dafür individuelle Anpassungen notwendig.

Module und Plugins stellt unsere Community regelmäßig im Forum vor. Dort besteht auch die Möglichkeit, Tipps zur Weiterentwicklung zu geben sowie Fehler zu melden.

Module erweitern Ihr Frontend (sprich: die sichtbare Internetseite), während Plugins die Funktionalität des Backends (Ihre CONTENIDO-Verwaltung) erweitern. Die Entwicklung sowohl von Modulen als auch von Plugins setzt Kenntnisse in PHP sowie ggf. in HTML, CSS und JavaScript voraus. 

Bequem über das Backend können Sie Ihre Module unter Style - >Module erstellen, bearbeiten und entwickeln. Detaillierte Informationen zur Entwicklung von Modulen entnehmen Sie bitte unserer (englischsprachigen) Entwickler-Dokumentation Module liegen jeweils im Mandanten-Ordner unter „data/modules“.

Plugins haben in CONTENIDO eine feste Struktur mit einer Xml-basierten Konfigurationsdatei, die diverse Einträge in der CONTENIDO-Datenbank vornimmt. Detaillierte Informationen zum Aufbau von Plugins samt Tipps und Tricks entnehmen Sie bitte unserer (englischsprachigen) Entwickler-Dokumentation Plugins liegen im Ordner „contenido/plugins“.

PHP-Dateien – egal ob Module oder Plugins – sind stets mit einer Sicherheitszeile versehen:

defined('CON_FRAMEWORK') || die('Illegal call: Missing framework initialization - request aborted.');

Diese – direkt am Anfang stehende – Zeile verhindert den direkten Aufruf von Modulen. Sie ermöglichen hingegen das Aufrufen von Modulen bzw. Plugins ausschließlich im Rahmen des Frontends bzw. Backends.

Wir empfehlen ansonsten, alle per Formular und Parameter übergebenen Variablen – vor allem solche, die in Datenbankabfragen genutzt werden – entsprechend mit unseren Sicherheitsfunktionen zu bearbeiten. Hierzu stehen die Funktionen cSecurity::toInteger (für ganze Zahlen), cSecurity::toString (für Texte), cSecurity::toBoolean (für Booleans) sowie generell cSecurity::escapeDB (bei Datenbankabfragen) und cSecurity::escapeString (bei Texten) zur Verfügung.

CONTENIDO ist schon in seiner Grundversion dafür ausgelegt, mehrere Mandanten (komplette Websites) von einem einzigen Webserver aus zu verwalten. Man kann also leicht eine weitere Subdomain erstellen oder als „Service-Provider“ für mehrere Kunden getrennte Websites bearbeiten.

Die einfachste Methode zur Erstellung eines weiteren Mandanten ist das komplette Anlegen durch CONTENIDO. Melden Sie sich bitte als System-Administrator an und wechseln Sie in den Bereich Administration -> Mandanten, links über der Mandanten-Liste ist der Knopf „Mandant erstellen“ verlinkt. Es öffnet sich dann der Kasten zum Eintragen der neuen Daten, zum Teil schon vorbelegt. Der Server-Pfad ist mit dem CONTENIDO-Verzeichnis ausgefüllt, hier empfiehlt sich z. B. das gewünschte Verzeichnis (z. B. „mandant2“) an den bestehenden Pfad anzuhängen. Wichtig: Bitte an das Pfadende keinen Schrägstrich stellen! Außerdem sollte dieses Verzeichnis noch nicht existieren, weil ansonsten die Frontend-Dateien nicht übernommen werden!

Das Feld „Web-Adresse“ ist die Adresse, unter der später der Benutzer die Webseiten aufruft, bitte auch wieder ohne Schrägstrich am Ende, CONTENIDO fügt ihn selbständig an. Die Adresse kann eine Subdomain sein, die Weiterleitungsadresse oder der normale Pfad auf dem Server.

„Frontend-Template kopieren“ übernimmt bestehende Frontend-Templates. Wenn jetzt alles richtig war, kommt nach kurzer Zeit die Meldung „Neuer Mandant wurde erstellt“: Das Frontend ist kopiert und alle Eintragungen in den entsprechenden Konfigurationsdateien sind gemacht. Nachdem Sie sich neu im Backend angemeldet haben, können Sie über die Kopfleiste der Verwaltung Ihren neuen Mandanten auswählen und bearbeiten. Zum Beispiel müssen Sie entsprechende Sprachen erstellen, Inhalte und Layouts sowie Templates anlegen.

Es besteht die Möglichkeit in CONTENIDO, einzelne Kategorien nur per Kennwort zugänglich zu machen. Dazu gibt es die Funktion „Schützen“. Diese Funktion ist sowohl im Bereich Content -> Artikel (via Funktion „Kategorie bearbeiten“) als auch unter Content -> Kategorie (über das Schloss-Icon neben jedem Kategorienamen) zu finden.

Beim nächsten Zugriff im Frontend auf Inhalte der geschützten Kategorien erscheint jetzt ein Anmeldefeld.

Die Berechtigung dazu wird im Backend erteilt. Der Benutzer muss einen Zugriff auf den Mandanten und die passende Sprache haben (Administration -> Benutzer -> Eigenschaften). Außerdem erteilt man im Bereich Administration -> Benutzer (oder Gruppe) -> Kategorien eine Zugriffsberechtigung auf das Frontend („Frontend-Zugriff“). System-Administratoren haben automatisch vollen Zugriff.

Des Weiteren ist es möglich, explizite Frontend-Benutzer unter Administration -> Frontend zu erstellen, zu bearbeiten und auch wieder zu entfernen. Einzelne Frontend-Benutzer können Gruppen zugewiesen werden. Gruppen können unter Administration -> Frontend über das Gruppen-Icon administriert werden. Unter dem Reiter „Frontend-Berechtigungen“ ist es dann möglich, die jeweiligen Kategorien auszuwählen, die geschützt sind, um so den Gruppenmitgliedern einen (selektiven) Zugriff zu gewähren.

 

Die schnellste und einfachste Lösung, einen Zugang wiederherzustellen, bietet die „Passwort vergessen“ Funktion in der CONTENIDO Anmeldemaske. Voraussetzung: Sie haben vorab eine E-Mail-Adresse im Backend hinterlegt. Sollte das nicht der Fall sein, benötigen wir zur Wiederherstellung Ihres CONTENIDO Logins die Zugangsdaten zu Webserver oder Kundenverwaltung Ihres Providers. Nur mit diesen Informationen haben wir die Möglichkeit, Ihnen weiterzuhelfen.

Grundsätzlich ist dies möglich. Serverseitig ist die Voraussetzung für den Server und Ihre Domain ein gültiges SSL-Zertifikat. Unter Administration -> Mandanten sowie in der Konfigurationsdatei „config.php“ (Ordner: „data/config“) müssen Sie hierzu lediglich die Pfade anpassen. Als eine abgewandelte Variante können Sie – PHP-Kenntnisse vorausgesetzt – auch ein Modul schreiben, dass via der PHP-Funktion „getenv“ die Secure-Eigenschaften abfragt und automatisch mittels Location-Header-Weiterleitung auf die gesicherte Verbindung umleitet.

Kurze Antwort: Ja. Unter Administration -> System -> Konfiguration können Sie wählen, ob die Debug-Informationen in einer Datei gespeichert oder direkt angezeigt werden sollen. Außerdem können Sie die Debug-Funktion für Plugins aktivieren und deaktivieren.

In den meisten Fällen liegt es daran, dass sich die Pfade, die im Backend unter Administration -> System zu sehen sind, von denen des aktuellen Mandanten unterscheiden. D.h. unter Administration -> Mandanten bitte die Pfade überprüfen und mit den Pfaden in der Datei „config.php“ unter „data/config/[production/Name der Live-Produktion]“ abgleichen.

Meistens liegt das daran, dass in einem oder mehreren Modulen Syntax-Fehler eingebaut sind. Diese Fehler dokumentiert CONTENIDO automatisch in der Fehlerlog, die Sie unter Administration -> Logs -> System einsehen können.

Nach einem Update von CONTENIDO 4.8 auf 4.9 tauchen solche Probleme häufig auf, da zahlreiche, in 4.8er Modulen genutzte Funktions- und Klassenaufrufe in Version 4.9 nicht mehr gültig sind. Zum Beispiel müssen Sie „new Template“ durch „new cTemplate“ in Ihren Modulen ersetzen. Bitte prüfen Sie daher ausgiebig all Ihre Module und wenden Sie sich ggf. an die Module-Entwickler und/oder schauen Sie im CONTENIDO-Forum (http://forum.contenido.org) nach, ob es für Ihr Modul eine Version auf Basis von CONTENIDO 4.9 gibt.

CONTENIDO erzwingt standardmäßig die Verwendung von Utf8. Mit Utf8 lassen sich nahezu alle Projekte und Sprachen umsetzen. Sollten Sie trotzdem eine andere Zeichenkodierung verwenden wollen, müssen Sie einiges beachten:

  • Zum einen sollten Sie bereits bei der Installation nach der Generierung der config.php-Datei die Datei lokal auf Ihrem Dateisystem herunterladen und bearbeiten

  • Entfernen Sie am Ende der Datei die Zeile mit CON_UTF8

  • Tauschen Sie Ihre lokale config.php-Datei mit der config.php-Datei auf dem Webserver aus, bevor Sie mit der Installation fortfahren

  • Gehen Sie bitte einen Schritt zurück und wählen bei der Eingabe der Datenbankdaten unter „Erweiterte Einstellungen“ entsprechend den von Ihnen gewünschten Zeichensatz und die entsprechende Datenbank-Kollation (die zusammenpassen müssen)

  • Dies ist notwendig, damit die Datenbanktabellen und eingepflegten Daten mit dem von Ihnen ausgewählten Zeichensatz erzeugt werden

  • Ist die Installation erfolgreich verlaufen, melden Sie sich bitte im Backend an und stellen unter dem Menüpunkt „Administration“, Punkt „Sprachen“ bei den entsprechenden Sprachen die richtigen Zeichensätze aus.

Melden Sie sich hierzu im Backend an und wechseln auf den Reiter „Administration“, Punkt „System“ und den Unterpunkt „System-Konfiguration“. Im Abschnitt „Backend“ finden Sie die Option „Erlaube alle HTML-Tags und -Attribute“. Durch setzen des Häkchens sind zukünftig alle HTML-Tags erlaubt.

Diese Fehlermeldung beschreibt eine fehlerhafte Lese-/Schreibberechtigung auf Ihrem Webserver. Sie müssen den entsprechenden Ordnern („data“, „cms/cache“ sowie „cms/data“) Schreibrechte gewähren. Es handelt sich dabei um CHMOD-Rechte 777.

CONTENIDO liefert hierzu standardmäßig das Plugin „Advanced Mod Rewrite“ („Mod_Rewrite“) mit. Mittels dieses Plugins können Sie entsprechend statische Adressen simulieren/konfigurieren. Dieses Plugin passt automatisch alle URLs in Ihrer Navigationsstruktur an. Analog stellt CONTENIDO von Haus aus das Plugin „URL Shortener“ zur Verfügung: Sie können über dieses Plugin Kurz-URLs definieren, z. B. www.ihredomain.de/weihnachtsfest, um auf den Artikel zu Ihrer Weihnachtsfeier zu verweisen. Beide Plugins müssen über den „Plugin Manager“ (Administration -> Plugin Manager) zunächst installiert werden.

Im Normalfall kann man in CONTENIDO ein einzelnes Modul immer nur einmal auf einer Seite verwenden, da es sonst zu Konflikten mit Variablen kommen kann.

Will man zwei unterschiedliche Texte oder Bilder auf einer Seite haben, müssen auch zwei unterschiedliche TEXT- bzw. IMG-Module verwendet werden. Ansonsten würde der gleiche Text zweimal auf der Seite erscheinen. Die Module unterscheiden sich also ausschließlich durch den Index (z. B. die 2 bei CMS_HTML[2]).

PseudoCron ist ein Cronjob-Emulator. Dieser wurde in CONTENIDO eingebaut, da nicht immer die Möglichkeit besteht, auf dem Webserver Cronjobs auszuführen. PseudoCron wird über das Frontend aufgerufen und führt Wartungsjobs regelmäßig durch. Eigene Jobs können einfach in die Datei crontab.txt (Ordner: „data/cronlog“) eingetragen werden, das Format ist dem des regulären Unix-Cron-Daemons ähnlich. Mit der Aktivierung des Standard-Plugins „Cronjobs Overview“ ist es möglich, die Cronjobs auch im Backend zu verwalten.

„Lost and found“ ist ein Mechanismus um Artikel aufzufangen, die keiner Kategorie zugeordnet sind (z. B. wenn bei der Zeitsteuerung eines Artikels „Verschieben nach Kategorie“ gewählt wurde und die Zielkategorie beim Zeitpunkt des Verschiebens nicht mehr existiert). Die entsprechende Funktion ist über die Artikelsuche unter Content -> Artikel aufzurufen.

Mittels Zugang auf die Datenbank, z. B. via phpMyAdmin, können Sie jederzeit die Statistik („Hits“) im Backend zurücksetzen. Leeren (nicht löschen!) Sie hierzu bitte die Tabelle „stat_archive“ (i. d. R.: „con_stat_archive“). Dies entfernt alle Statistiken bis auf den aktuellen Monat. Wollen Sie auch diesen zurücksetzen, gehen Sie bitte analog mit der Tabelle „con_stat“ vor.

Einträge in der Rubrik „Suchbegriffe“ setzen Sie zurück, indem Sie die Tabelle „con_search_tracking“ leeren.

Achten Sie bitte unbedingt darauf, die Tabellen jeweils nur zu leeren und nicht zu löschen! phpMyAdmin unterscheidet ausdrücklich zwischen beiden Möglichkeiten. Der MySQL-Befehl zum Leeren von Tabellen lautet: DELETE FROM con_search_tracking; bzw. analog für die beiden Statistik-Tabellen.