Startseite
Ausarbeitung
Präsentation
Sonstiges

Was ist ein CMS?

Ein (Web) Content Management System (im folgenden meist CMS genannt) ist ein Anwendungsprogramm, das die gemeinschaftliche Erstellung und Bearbeitung des Inhalts von Text- und Multimedia-Dokumenten ermöglicht und organisiert. Ein Autor kann ein solches System auch ohne Programmier- oder HTML-Kenntnisse bedienen. [Wikipedia]

Kurze Geschichte

In den Jahren vor den dynamischen Webseiten durch CMS wurden statische html (Hypertext Markup Language) Seiten im Internet eingesetzt.
Auch heute werden diese noch eingesetzt, allerdings nur in Bereichen, in denen sich der Inhalt der Webseite nicht stetig ändert. Durch den regen Informationsfluss unserer heutigen Gesellschaft, welcher meist über das Internet erfolgt, war es bald schwierig, Webseiten aktuell zu halten.

Erschwerend kam noch hinzu, dass man um statische Seiten editieren bzw aktualisieren zu können immer einen Computer mit einem sog. FTP-Client benötigte (eine Internetanbindung wird als Grundlegendes betrachtet).
Durch die Einführung der dynamischen Programmiersprachen wie PHP, Perl, Javascript, ... wurde es von nun an möglich, per Browser seine Webseite zu editieren.

Statische Seiten - Pro/Kontra

Pro:
Es können durch Programmierfehler keine gravierenden Sicherheitslücke auftreten.
Eine große Vielfalt an Gestaltungsmöglichkeiten.
Kontra:
Man braucht einen FTP-Client, seine Webseite aktuell zu halten.
Wenn man eine neue Unterseite hinzufügt, muss man jede andere Datei editieren.
Große Dateimengen bei großen Webseiten.

Dynamische Seiten - Pro/Kontra

Pro:
Man kann seine Webseite an jedem Platz der Welt editieren.
Beim hinzufügen von Unterseiten muss man meist nur eine oder bei ausgereiften dynamischen Seiten keine Datei editieren.
Kleinere Dateimengen und Auslagerung von Inhalten.
Kontra:
Durch Programmierfehler können Sicherheitslücken auftreten (zB Exploits, die zur Auslesung des FTP-Passwortes führen).
Die grafische Gestaltung muss von anderen Programmiersprachen übernommen werden (zB Smarty-Template Engine oder html Dateien)

Bestandteile eines CMS

Nun waren bisher nur einzelne Programmiersprachen aufgeführt. Doch für ein CMS benötigt man meist mehrere Programmiersprachen.
Die wohl bekannteste Programmiersprachen ist PHP, welche im Jahr 1994 von Rasmus Lerdorf entwickelt wurde. Neben dieser Programmiersprache werden im Web auch Programmiersprachen wie Perl, Javascript, Ajax, html, xhtml, css, u.m. verwendet.

Zudem wird bei einem CMS noch eine Datenbank zur Auslagerung von Inhalten verwendet. Die bekannteste hierbei ist wiederum die Opensource Datenbank mySQL. Bekannte CMS-Entwickler verwenden allerdings auch das Datenbanksystem PostgreSQL oder Oracle (Drupal, Typo3 oder Joomla!).

Durch das Zusammenfügen dieser Verschiedenen Programmiersprachen und Datenbanksystemen entsteht eine Content Management System.
Ich möchte nun im folgenden die meist gebrauchten Programmiersprachen und Datenbanktypen kurz erläutern.

PHP:
1994 von Rasmus Lerdorf zur Erfassung von Zugriffen auf Webseiten und deren Auswertung.
Derzeit liegt PHP in der Version 4.4.8 und 5.2.5 vor und wird von 'The PHP Group' entwickelt.
PHP ist eine Server seitige Programmiersprache.

(Weitere Informationen über PHP erhalten Sie im Referat von André Reichelt)

Perl:
1986 von Larry Wall entwickelt. Ziel war es mit einer einfachen Sprache Ersetzroutinen für Unixserver zu entwickeln (Anfangs nicht für dynamisch Webseiten gedacht).
Durch die spätere freie Verfügung einwickelten sich sehr schnell sog. Module zur Textverarbeitung, für Datenbankzugriffe, ...
Derzeit liegt Perl in der Version 5.8 vor.
Im Web wird Perl meist in sog. CGI Ordnern eingestellt, welches die Schnittstelle zwischen Webbrowser, Webserver und Programmen bildet. (Common Gateway Interface)

MySQL:
1994 von Michale „Monty“ Widenius als Weiterentwicklung der ISAM-Engine entwickelt.
Sie ist für nicht kommerzielle Zwecke unter der GPL Version 2, allerdings ohne Gewährleistungen und Support.
Am 16.1.2008 erklärte Sun Microsystems die Absicht mySQL zu kaufen.

[Es gibt viele Datenbanksysteme welche auf der SQL (Structured Query Language) aufbauen, welche Anfang der 70er Jahre als einheitliche Sprache entwickelt wurde, um so das zugreifen auf andere Datenbanktypen zu erleichtern]

Javascript:
1995 in Kooperation von Sun Microsystem und Netscape unter dem Namen LiveScript veröffentlicht.
Ursprünglich für den Netscape Navigator entwickelt, fand JS auch schnell in anderen Browsern seinen Platz. Durch den Namen Javascript, kommt oft die Vermutung auf, dass Javascript das gleiche wie Java ist. Dies ist allerdings nur in der Syntax der Fall, welche Java ähnelt.
Javascript ist eine Client seitige Programmiersprache.

HTML:
1989 von Tim Berners-Lee entwickelt. Diese Programmiersprache bzw. Auszeichnungssprache dient zur Strukturierung von Bildern und Texten in Dokumenten.
Derzeit wird sie von der W3C entwickelt und soll von xhtml abgelöst werden.
Derzeit ist html in der Version 4.01 und 3.2 vorhanden.

XHTML:
Die Weiterentwicklung von html, welche etwas strenger mit der Syntax umgeht.
Sie nutzt als Sprachgrundlage XML. xhtml wird ebenfalls von der W3C entwickelt.
Derzeit ist sie in der Version 2.0 und 1.1 vorhanden.

XML:
1998 von der W3C entwickelte Auszeichnungsprache. Sie wird vor allem zum Austausch von Daten zwischen unterschiedlichen Systemen verwendet.
Im WWW ist sie vermutlich am häufigsten in Form von RSS-Feeds anzutreffen. Derzeit ist sie in der Version 1.0 und 1.1 vorhanden.


Nun möchte ich noch einige Begriffe klären, welche in den letzten Jahren ebenfalls Einzug in das Internet genommen haben.


Ajax:
Der Begriff Ajax wurde erstmals von Jesse Garret in einem Artikel vom Februar 2005 eingeführt.
Ajax steht für 'Asynchronous JavaScript + XML'. Der Trick besteht darin XML Daten im Hintergrund mit Javascript zu übertragen und dann mit Hilfe von javascript in die aktuelle Seite einzufügen.
Eines der bekanntesten Beispiele ist hierbei Google Suggest, welches dem Besucher der Seite beim eintippen in das Feld Vorschläge macht, wie das Wort weitergehen könnte.
(Es gab aber schon lange vor der Einführung des Begriffes Ajax solche Anwendungen)

SEO:
SEO steht für Search Engine Optimization, was so viel wie Suchmaschinenoptimierung bedeutet.
Dieser Begriff sagt eigentlich schon so gut wie alles. Man möchte seine Webseite in bekannten Suchmaschinen weit vorne angezeigt bekommen.
Durch Algorithmen der Suchmaschinen ist dies zu einem gewissen Grade möglich, indem man z.B bei Google möglichst viele sog. Backlinks (Links auf anderen Webseiten auf die eigene Seite in Verbindung mit einem Wort oder Bild).

An dieser Stelle kommt auf eine spezielle Funktion von Apache zum Zuge, welche sich mod_rewrite nennt. Mit dieser Funktion ist es möglich dem Benutzer (oder auch der Suchmaschine) eine andere URL vorzugeben. Der Benutzer wird also ohne es zu merken auf eine andere Seite umgeleitet und so können dynamische Seiten als statische Seiten ausgegeben werden.
Dadurch hat man in der Suchmaschine tausende von statischen Seiten eingetragen, welche in Wirklichkeit einer Datei entsprechen.
(In Foren ist dies schnell der Fall)

In HTML sind für die SEO Metadaten vorhanden, welche von Suchmaschinen allerdings nicht mehr oder eher weniger beachtet werden (Das Tag: Description wird zB noch angezeigt).
Ein beliebter Trick ist es deshalb geworden in Grafiken die alt Attribute für Kernwörter (Keywords) zu 'missbrauchen'. Dies hat allerdings Auswirkungen auf die Barrierefreiheit haben:

Barrierefreiheit:
Barrierefreiheit ist ein viel diskutiertes Thema.
Dabei geht es vor allem darum, dass Menschen mit einer Behinderung ebenfalls die Webseite besuchen und Informationen daraus erhalten können. So kann man seine Webseite so programmieren, dass man mit dem Tabulator eine sinnvolle Reihenfolge von wichtigen Objekten anlegt und auch Alternativtexte der Grafiken sinnvoll beschriftet.

In Deutschland müssen Webseiten des Bundes barrierefrei sein.

Web 2.0:
Web2.0
[Quelle: Wikipedia.org]
Der Begriff Web 2.0 wurde erstmals bei der Web 2.0 Konferenz 2004 eingeführt.
Er bezeichnet den Fortschritt des Internet. Früher bestand das Internet nur aus statischen Seiten, welche in einem gewissen Zeitlichen Abstand aktualisiert wurden.
Web 2.0 beschreibt demnach das einbinden des Benutzers in die Webseite.
Beste Beispiele hierfür sind z.B. Foren, Communities, Flickr oder auch Browser Spiele.
Ein weiteres Merkmal für Web 2.0 sind Webseiten mit hellen & freundlichen Farben, vielen Rundungen und Funktionen für den Benutzer der Webseite.


Dokumentation eines CMS

Ich möchte Ihnen nun ein CMS etwas näher bringen. Meine Wahl viel dabei auf das Opensource und unter den GNU General Public License stehende Blog-CMS Wordpress.
Da diese Dokumentation etwas ausführlicher ist, habe ich diese auf einer weiteren Seite plaziert.
weiter »