Features

Widgets
Widgets sind im Terminus des cellms Systems abgeschlossene Einheiten zur Darstellung eines Inhaltes auf einer Webseite. Ein Widget kann sich wiederum anderer Widgets bedienen – somit entsteht eine Referenzkette. Der Einstieg beginnt mit dem Widget einer einzelnen Webseite (page content). Kleine Einheiten sind Dateien oder Textbausteine mit Übersetzungen – umfangreichere Widgets sind z.B. Artikel mit mehreren Bildern, Texten, Videos, Links, Downloads und Tags.
Architektur
Das Konzept des Redaktionssystems cellms basiert auf einem Multitier-Ansatz mit 4 Schichten (Layer). Die oberen zwei Ebenen Präsentation und Logik sind der maßgebliche Kern des Systems. Widgets nutzen das Model-View-Controller (MVC) Designpattern auf Server- (PHP) und Client-Seite (JS). Es werden verschiedene Views für die unterschiedlichen Endgeräte im Browser oder in Apps bereitgestellt. Die Data Abstraktionsebene mit einer durch cellms Plugins erweiterten objektrelationalen Abbildung per propelORM interagiert mit SQL-Datenbanken verschiedener Anbieter.
Setup
Geschwindigkeit bei der Darstellung einer Webseite ist eine der maßgeblichsten Kenngrößen – der Benutzer ist zufrieden, wenn die Seite nach dem Klick sofort erscheint und der Anbieter erreicht eine bessere Bewertung bei den Suchmaschinen. Dieses Ziel wird durch einen entsprechenden Aufbau der Serverarchitektur erreicht. Ein leistungsfähiger Reverse Proxy sollte so viele Anfragen wie möglich aus dem Cache beantworten und damit die Applikation und die Datenbank entlasten. Ausfallsicherheit wird über einen Aktiv-Passiv Aufbau bei den Webservern und über eine Replikation der Datenbank erreicht.

widgets


Die cellms® Widgets im Überblick


Die Idee für die Benutzung des Redaktionssystems basiert auf dem KISS-Prinzip – „Keep it simple, stupid“. Widgets werden auf eine Webseite gezogen und die Inhalte bearbeitet. Die Palette des Redaktionssystems kann mit mehr als 100 bestehenden Widgets für die unterschiedlichsten Anwendungsfälle gefüllt werden. Bei Bedarf werden diese Widgets angepasst, erweitert oder neue entwickelt – Ihren Ideen sind keine Grenzen gesetzt. Widgets kennen ihre endgeräteabhängigen Darstellungsformen, bringen Ihre Administrationsdialoge für die Redaktion mit und benutzen Module. Der Referenz-Ansatz erlaubt die Vermeidung von Code-Duplizierungen zur Einhaltung des DRY Prinzips (Don’t repeat yourself) – das System wird damit schlanker, einfacher in der Wartung und effizierter in der Wiederverwendung von bereits vorhandenen Bausteinen.

Über Tags verbundene Produkte, erweitert auch in semantischem Zusammenhang, gehört auf jede Produktdetailseite – für besten Abverkauf.
Zentrales Widget jeder Webseite mit Struktur – in der einfachen Ausführung mit Überschrift, Text und Bild. In der Erweiterung mit Slideshow, Video, Bildergalerie Link- und Downloadliste.
Eine Übersicht aus mehreren Artikeln nutzt automatisch Teile des Artikels wie Überschrift und Vorschaubild.
In Kombination mit der Wunschliste ein unschlagbares Team beim Einkaufen.
Ungeduldig? Den Lieferstatus fest im Griff.
Das Logbuch mit Posts, Tags, Social-Links und Kommentaren – gerne auch mehrsprachig.
An der Kasse - einfach, praktisch und schnell.
Für den Kenner der Abzweig in den Quelltext.
Verweist häufig auf ein PDF.
Viele Downloads auch gruppiert.
Vom geläufigen Kontaktformular bis zur ausgefeilten Umfrage.
Impressionen in der Vollbildversion für den ganzen Genuss.
Ein Bild ohne Beiwerk – selten benutzt.
Hyperlink, der Querverweis auf externe Seiten oder innerhalb der eigenen Seite mit Vorschlag des Ziels.
Ordentlich zusammengefasste Verweisliste – ist auch Bestandteil des Basisartikels.
Der Klassiker - bitte geben Sie ihren Benutzernamen und das Kennwort ein.
Gewusst wo – Karten für die Wegbeschreibung, die Verortung von Referenzen oder die Lage des Offline-Shops.
Wegweiser in verschiedenen Ausführungen.
Variable bestückbar mit geschützten Informationen.
Der Newsbeitrag basiert auf einem Basis-Artikel erweitert um eine chronologische Einordnung. Das Widget besteht auf einer Übersicht mit Pagination und einer Detailansicht.
Die einzelne Detailansicht einer Newsmeldung wird sowohl vom übergeordneten News Widget benutzt und gestattet auch das manuelle Einfügen einer bestimmten News in eine Seite.
Die einzelne Detailansicht einer Newsmeldung wird sowohl vom übergeordneten News Widget benutzt und gestattet auch das manuelle Einfügen einer bestimmten News in eine Seite.
Bringt automatisch die letzten News auf die Startseite.
Das Fundbüro fürs Passwort – alles wird gut…
Das Lichtbild ergänzt um Namen, Position und Kontaktdaten, in Erweiterung mit Vita-Download und *.vcf
Aktuelle Kollektion sofort auf der Startseite gefunden – schneller geht’s nicht.
Schaufenster mit Slideshow und den wichtigen Dingen wie Preis, Lieferinformation und Kaufen Button, erweitert mit ansprechend handhabbarer Produktkonfiguration.
Bestseller auf einen Blick – für die Startseite oder auch als Beiwerk im Blog.
Variabel einsetzbar auch auf Landingpages mit Sortierung und Filtern.
Typische Referenzlisten mit Referenzangaben, Bildergalerie basiert auf dem Basisartikel.
Die Anmeldung mit automatischer oder manueller Freischaltung, je nach Klassifizierung des Nutzers.
Bildliche Ansprache manuell oder automatisch innerhalb einer Seite mit Teasertext und Verweis, lässt sich auch per Touchscreen streicheln.
Die Wiederholung der Anfrage auf der Kopfzeile mit einer gewichteten Liste der Suchergebnisse.
Etiketten mit Texten drauf – man kennt sie aus den „Schlagwortwolken“.
Häppchen sind besonders auf Startseiten das ideale Mittel für die Orientierung des Lesers.
Zeilenweise Gruppierung mehrerer Aufreißer.
Appetit kommt auch mit der vertikalen Version des „Anreißers“.
Einfacher geht’s nicht – der multilinguale Textbaustein.
Zur Freude des Typografen gibt es den Text auch mit besserer Lesbarkeit.
Die verbale Ankündigung eines neuen Abschnitts im Einklang mit dem Strich.
Variable Absender auf Verbandsseiten, aus Mandantenumfeld mit Logo und den gewünschten Angaben und Verweisen.
Wenn es mal nicht Youtube oder Vimeo sein soll – der universelle Player-Container.
Markante Darstellung für wohlwollende Äußerung des zufriedenen Kunden.

Module


Die cellms® Module im Überblick

Die Anwendungslogik einer Webseite ist technisch betrachtet im „application tier“ implementiert, wobei die Funktionalität über einzelne Module verteilt ist. Eine maschinelle Interaktion mit den Modulen erfolgt über eine API bei Bedarf auch per Webservices. Offener Zugriff auf die Anwendungsdaten und die Möglichkeit des Transports dieser Informationen zwischen Systemen mithilfe des JSON-Snapshot Technologie ist die Grundlage der Transparenz des Systems.

Access Control
Zugriffkontrolle auf Widgets, Module und Daten mit den zwei Methoden Access Control List (ACL) und Role Based Access Control (RBAC) erfolgt zentral über das Access Control Modul.
BigData
Die Messung des Nutzerverhaltens in maschinellen Prozessen einer gut frequentierten Website kann mehrere hundert Millionen Datensätze pro Monat erzeugen. Die Analyse mit traditionellen Datenbank Systemen bringt diesen Prozess leicht in einen technischen und wirtschaftlichen Grenzbereich. Moderne Technologien wie das Apache Hadoop Framework bieten die geeigneten Werkzeuge, um mit modernen Mitteln relevante Informationen zu extrahieren. Mit diesem Framework in Kombination mit einem leistungsfähigen Raw-Receiver Cluster auf Basis des hochperformanten Webservers nginx können zehntausende Datensätze pro Sekunde entgegengenommen sowie der Weiterverarbeitung und Archivierung übergeben werden.
Blog
Die Interaktion mit einem Wordpress-Blog-System kann über ein cellms WP-Plugin aufgebaut werden. Die Übertragung nutzt die API’s von Wordpress bzw. cellms und ermöglicht einmalige Datenmigrationen oder Synchronisation.
Cache
Schnelle Webseiten zu liefern, welche gleichzeitig hochmodular organisiert sind, steht prinzipiell im Gegensatz. Die Lösung erfolgt über eine abgestimmte Cache-Kaskade über die Anwendung bis hin zum Load-Balancer.
Company
Die Vereinfachung der Zugriffkontrolle auf Frontend und Backend im Fall einer organisationsbezogene Benutzerverwaltung mit Firmen und Mitarbeitern wird über das Company Modul realisiert.
Debugger
Die Entwicklung wird durch Diagnose von Fehlern im Ablauf von Prozessen durch das Debugger Modul unterstützt. Es stehen hier dateibasierte und datenbank-orientierte Informationsausgaben zur Verfügung.
Device Regognition
Moderne Endgeräte differieren stark in ihren technischen Eigenschaften – markante Unterschiede sind die Bildschirmauflösung, die Existenz eines Touchscreens und die Fähigkeit zum Umgang mit Videoformaten. Der erste Schritt zum Umgang mit diesen Varianzen ist die Erkennung des richtigen Endgeräts anhand der Informationen des User Agent Profile (UAprof) und mithilfe der Bibliotheken wurfl und MobileESP.
Excel
Für den Datenaustausch von tabellarischen Informationen im MS Excel Format stehen in Excel Modul Export und Import Methoden zur Verfügung.
Forms
Der Formularbaukasten beschleunigt den Aufbau von umfangreichen Online-Formularen zur Informationserfassung. Mit der zentralen Element-Bibliothek, den Validierungs-Methoden und umfangreichen E-Mail Templates können ohne Coding schnell zeitgemäße Formulare zusammengestellt werden.
Graphic
Die Darstellung eines Bildes in einer Webseite kann gegenläufig hinsichtlich Qualität und Geschwindigkeit beeinflusst werden. Die Abstraktion und Organisation der Bildbearbeitung mithilfe der Suite „imagemagick“ sind in diesem Modul zusammengefasst.
Instant Update

Mit „Instant Update“ wird sichergestellt, dass  Änderungen ab dem Zeitpunkt der Veröffentlichung sofort in allen Cache-Stufen aktualisiert werden und der  Nutzer keine „alten“ Inhalte und Webseiten angezeigt bekommt. Instant Update versioniert  Veröffentlichungen in allen Cache-Stufen. Ein Modul auf der Anwenderseite (Javascript) erkennt neue Inhalte und aktualisiert über einen API-Aufruf den Proxy-Cache (nginx). Zusätzlich beschleunigt ein erweiterter Widget Cache den Aufbau des Applikations-Caches (smarty) und Ihre Seiten sind nach einer Veröffentlichung schneller erreichbar.

Mail
Der Aufbau von E-Mails für andere Prozesse wie z.B. Registrierung, E-Commerce oder Newsletter basiert auf einer universellen Template-Struktur sowohl für reine Textnachrichten als auch für gestaltete E-Mails mit Anhängen. Der Versand wird somit zentral gesteuert und profitiert von einem einheitlichen Ablauf und Reportfunktionen.
Maps / Locations
Diese Module organisieren die Darstellung von Karten und Ortspositionen auf Karten mithilfe verschiedener Google API’s.
News
Wiederholte strukturierte Informationen wie News-Bereiche, Pressemitteilungen und Pressespiegel basieren auf dem News Modul.
Newsletter
Ein intuitives Baukastensystem in Kombination mit einem Verbandsmodul ermöglicht den schnellen Aufbau von Newslettern oder zentralen Vorlagen für Mandanten. Der Versand von Newslettern erfolgt über ein Broadmail-Interface unseres E-Mail Marketing Partners optivo, wobei Empfängerlisten und Gruppen, Newsletter-Themen, Social-Link Elemente und Analysen zwischen beiden Systemen vollautomatisch abgeglichen werden.
Relation
Alle Beziehungen der Formen 1:1, 1:n und m:n zwischen den Entitätstypen des Systems werden über ein gemeinsames Modul behandelt und somit vereinfacht. Dadurch können flexibel neue Verknüpfungen eingeführt werden, ohne das Datenbank-Model ändern zu müssen.
Semantic
Das maschinelle Verständnis über die Bedeutung eines Textes ermöglicht das automatisierte Erkennen von Zusammenhängen. So kann beispielsweise das Redaktionssystem mithilfe des Semantic Moduls den Inhalt eines Blog-Artikels erkennen und automatisiert passende Produktangebote des Shop Moduls anbieten. Für die Analyse und Überführung von reinem Text in den Semantic Web Standard „RDF“ nutzt das Modul Webservice Interfaces der Dienste OpenCalais und AlchemyAPI.
Shop
Die redaktionelle Bearbeitung von E-Commerce Lösungen verteilt sich im Shop Modul auf die Bereiche Produktpflege inkl. Produkteigenschaften mit den Modulen Preis und Steuer; eine tiefergehende Organisation bieten die Bausteine Marken, Hersteller und Lieferanten. Für die Prozesssteuerung der Benutzerinteraktionen sind die Module Warenkorb, Merkliste, Bestellung mit Lieferkosten und Bezahlung verantwortlich. Die Migration von bestehenden Systemen vereinfacht ein Magento-Interface, mit dem Produktdaten über die Magento-API importiert werden können.
Smarty
Der Rendering Kern des Redaktionssystems basiert auf der Template Engine „Smarty“, dem Quasi-Standard im PHP Umfeld. Im Zusammenspiel mit verschieden Cache-Zielen des Redaktionssystems, den Cache Methoden von Smarty und eigenen Erweiterungen des Smarty Syntax, steht eine leistungsfähiges Framework zur Generierung von HTML5 und CSS3 Code zur Verfügung.
Snapshot
Das Snapshot und Recovery System ermöglicht den Im- und Export von Daten im JSON Format und garantiert die Interoperabilität zwischen verschiedenen Instanzen eines Systems und die vollständige Entkopplung von Code und Daten.
Tag
Die Markierung mittels verbalen Etiketts - dem Tag - und die gewichtete Beziehung zwischen Einheiten auf Basis ihrer übereinstimmenden Tags hat sich spätestens seit der Erfindung des Blog durchgesetzt und ist hier im entsprechenden Modul implementiert.
Text / Language
Mehrsprachigkeit von Webseiten ist eine Selbstverständlichkeit. Der stringente modulare Aufbau des Redaktionssystems und die konsequente Verwendung von UTF8 erlaubt es, jeden einzelnen Text in einem zentralen Textmodul als Baustein mit beliebig vielen Übersetzungen zu speichern. Der Abruf eines Textes in einer bestimmten Sprache kann somit flexibel inklusive Fallback-Methoden erfolgen.
Tex
Das betagte Textsatzsystem „Tex“ in Form der Distributionen teTeX und LaTeX im Zusammenspiel mit systemeigenen Smarty Kommandos ist die Grundlage für die Erzeugung von effektiven PDF Dokumenten.
Video
Für die Aufbereitung von Bewegtbild-Elementen in die verschiedenen Ziel-Formate MP4, WebM oder Ogg Vorbis kommuniziert das Video Modul mit Cloud-Transcoding Diensten wie, encoding.com, Panda oder Elastic Transcoder (AWS).
WebDAV
Für den Zugriff auf größere Mengen von Anwendungsdateien des Websystems steht der WebDAV Dienst zur Verfügung. Die Übertragung nutzt das HTTP Protokoll oder die verschlüsselte Alternative HTTPS.
Bitte warten