1. Einführung in Plone
Einführung in Plone
Eine Firma ohne Website ist undenkbar, und die meisten Firmen und Organisationen verfügen gleich über mehrere. Egal, ob es eine externe Site für die Kommunikation mit Kunden oder ein Intranet für die eigenen Mitarbeiter ist oder eine Webseite für direkte Kommunikation mit und Feedback von Kunden - die meisten Websites haben ein Problem, nämlich die Verwaltung ihres Inhalts. Dies ist eine Herausforderung, für deren Lösung eine Organisation sehr viel Zeit investieren und großen Aufwand betreiben muss. Es ist keine leichte Aufgabe, für solche Sites ein mächtiges, aber dennoch flexibles System zu schaffen, das gleichzeitig mit den sich ständig ändernden Anforderungen und mit den sich weiterentwickelnden Bedürfnissen der Firma klarkommt.
Unabhängig von den Anforderungen Ihrer Website und von der Menge an Inhalten oder Benutzern stellt Plone eine benutzerfreundliche, mächtige Lösung dar, mit der Sie über das Web ganz einfach beliebige Inhalte hinzufügen und bearbeiten können sowie Navigations- und Suchmöglichkeiten für diese Inhalte hinzufügen können, aber auch Sicherheitsmaßnahmen und Workflow-Einstellungen dafür vornehmen können.
Mit Plone können Sie fast jede Website erstellen und sie dann ganz leicht aktualisieren. Damit können Sie inhaltsreiche Sites schnell erstellen und sich einen Wettbewerbsvorteil verschaffen. Und schließlich ist vielleicht das Beste an diesem System, dass es Open Source und gratis ist. Aufgrund seiner beeindruckenden Liste von Eigenschaften ist es vergleichbar mit, wenn nicht sogar besser als viele geschlossene Content-Management-Systeme, die viele Hunderttausende von Dollar kosten.
Folgendes sagte Mike Sugarbaker in seinem Vortrag auf der Open Source Content Management-Konferenz (OSCOM) im Jahre 2002 für die Mindjack-Site (http://www.mindjack.com/events/oscom.html):
"Ich werde nicht die vollständige Liste aller konkurrierenden Open-Source-Management-Frameworks behandeln. Ich lasse alle Verfolger aus: Der Sieger heißt Plone. Dieses Produkt, das auf dem sechs Jahre alten Web Application Framework Zope basiert, war das Paket mit den meisten Werkzeugen, der höchsten Professionalität, der größten Zugkraft, und vor allem mit dem größten Rummel."
Sie finden die Plone-Website unter http://www.plone.org, wie in Abbildung 1.1 zu sehen ist. Um Plone einfach mal auszuprobieren, ist eine Demonstrations-Site unter http://demo.plone.org verfügbar. Dort können Sie einfach und schnell Inhalte über das Web bearbeiten. Das heißt, Sie können Ereignisse und Dokumente hinzufügen, Bilder hochladen und alles über das Framework verarbeiten, das Plone zur Verfügung stellt.
Wenn Sie einen Schritt weiter gehen möchten, können Sie unter http://www.objectis.org eine kostenlose Hosting-Dienstleistung von Objectis in Anspruch nehmen und eine eigene nichtkommerzielle Zope- oder Plone-Site aufsetzen und betreiben. Dort verfügen Sie dann über ein eigenes Portal mit vollen Manager-Rechten und vielen zusätzlich installierten Produkten. Derzeit betreibt Objectis fast 6000 solcher Portale.
Abbildung 1.1. Die Plone-Website
Was ist ein Content-Management-System?
Eine einfache Definition eines Content-Management-Systems (CMS) ist die, dass es ein System für die Verwaltung von Inhalten ist. Da diese Definition wenig hilfreich ist, möchte ich eine vollständigere Erklärung in kleineren Teilen angeben. Ich beginne mit einer allgemeinen Definition von Inhalt (Content): ein Inhalt ist eine Dateneinheit, die um dazugehörige Informationen erweitert ist. Eine Dateneinheit können dabei eine Webseite, ein bevorstehender Termin, ein Microsoft Word-Dokument, ein Bild, ein Videofilm oder irgendwelche Daten sein, die in der Organisation, die mit dem System arbeitet, von Bedeutung sind.
All diese Einheiten werden Inhalte genannt, und sie alle verfügen über ähnliche Attribute, z.B. dass sie von bestimmten Benutzern hinzugefügt und bearbeitet und auf verschiedene Weisen veröffentlicht werden müssen. Diese Attribute werden von einem Workflow-System gesteuert. Dahinter verbirgt sich eine regelbasierte Logik, mit der die Verwaltung der Inhalte beschrieben wird.
Historisch betrachtet, kann man einen Unterschied zwischen Content-Management- und Dokumentenmanagement-Systemen beobachten, aber heute sind beide überwiegend zu einem konvergiert. Der wesentliche Unterschied liegt in den verwalteten Einheiten: Meistens werden unter Inhalten beliebige Daten verstanden, während Dokumente Dinge sind, die von Menschen z.B. mit Software wie Microsoft Office geschrieben und bearbeitet werden. Nehmen Sie etwa ein Buch: Ein Buch besteht aus vielen Dateneinheiten und erfordert möglicherweise eine Verwaltung, die sich leicht von der allgemeiner Inhalte unterscheidet. In den meisten Fällen ist dieser Unterschied jedoch recht klein, und Produkte wie Plone können die kleinen Bestandteile eines größeren Inhalts verwalten und zusammensetzen.
Durch die Allgegenwart des Webs werden heute viele CMS als Web-CMS bezeichnet, sei es, weil sie über eine webbasierte Schnittstelle verfügen oder weil sie sich auf ein webbasiertes Übertragungssystem per Internet oder Intranet stützen. Plone bietet beides: eine Verwaltungsschnittstelle und ein Übertragungssystem auf Basis des Webs.
Folgendes ist eine mögliche Definition eines CMS (http://www.contentmanager.eu.com/history.htm):
Ein CMS ist ein Werkzeug, das es vielen verschiedenen (zentralen) technischen und (dezentralen) nichttechnischen Mitarbeitern ermöglicht, eine Vielzahl von Inhalten (z.B. Text, Grafik, Video usw.) zu erstellen, zu bearbeiten, zu verwalten und schließlich zu veröffentlichen, und zwar unter zentralen Randbedingungen bzgl. Regeln, Prozessen und Workflow, die ein konsistentes und gültiges Aussehen im Web sicherstellen.
Brauchen Sie ein Content-Management-System?
Auch wenn es nicht der einzige Vorteil eines CMS ist, so ist der offensichtlichste, dass eine Website damit einfach zu koordinieren ist. Stellen Sie sich eine Situation vor, in der eine Person, der Webmaster, eine Website koordiniert, sei es ein Intranet oder eine externe Site. Die Benutzer liefern Inhalte in den verschiedensten Formaten, und der Webmaster macht daraus benutzbare Webseiten, indem er sie in HTML (Hypertext Markup Language) umwandelt. Wenn ein Benutzer diese Seiten ändern muss, schickt er diese Änderungen an den Webmaster, und so weiter.
Daraus ergeben sich für die Organisation viele Probleme, wobei das größte ist, dass der gesamte Inhalt von einer Person abgewickelt wird - ein offensichtlicher Engpass. Diese eine Person kann nur ein bestimmtes Arbeitspensum erledigen, und wenn sie krank wird oder die Firma verlässt, geht viel Produktivität dabei verloren, einen Ersatz zu finden. Der Vorgang der Veröffentlichung kann sehr frustrierend sein, wenn E-Mails zwischen Webmaster und Benutzern ausgetauscht werden, die versuchen, ihre Inhalte zu veröffentlichen.
Was man braucht, ist ein System, das Folgendes leistet:
- Trennung des Inhalts einer Seite von seiner Präsentation: Wenn der eigentliche Inhalt von der Art seiner Präsentation getrennt wird, muss der Autor des Inhalts nichts über HTML oder darüber wissen, wie die Seite ausgegeben wird. Tatsächlich könnten auf den gleichen Inhalt verschiedene Templates angewandt werden, inklusive anderer Formate als HTML, z.B. PDF (Portable Document Format) oder SVG (Scalable Vector Graphics). Wenn Sie das Aussehen der Site ändern möchten, müssen Sie nur noch das eine Template ändern und nicht mehr alle Inhalte.
- Erlaubnis für bestimmte Benutzer, Inhalte hinzuzufügen und zu ändern: Wenn bestimmte Benutzer Inhalte leicht hinzufügen und ändern können, müssen diese nicht mehr zum Webmaster oder ans Webteam geschickt werden. Stattdessen kann der Benutzer, der eine Seite erstellen möchte, das einfach tun und die Seite so lange bearbeiten, wie es nötig ist.
- Anwendung von Regeln, die angeben, wer was und wann veröffentlichen kann: Ihre Geschäftslogik soll evtl. verhindern, dass jeder Inhalte auf Ihrer Website veröffentlicht. So könnten z.B. Marketing-Mitarbeiter Inhalte auf der Seite der Pressemitteilungen veröffentlichen, aber nicht auf den technischen Seiten.
- Anwendung von Geschäftslogik anf Inhalte: Wenn ein Marketing-Mitarbeiter eine Pressemitteilung erstellt, muss sie evtl. jemand aus der Rechtsabteilung überprüfen. In diesem Fall wird das Dokument von einem Revisionsprozess erfasst, der sicherstellt, dass es nicht öffentlich wird, bevor die Prüfung erfolgt ist.
- Informationen können intelligent gesucht und indiziert werden: Da das CMS strukturierte Informationen über den Inhalt verwalten kann (z.B. den Namen des Autors, das Datum der Veröffentlichung bzw. von Änderungen, Kategorien usw.), kann es Listen von Inhalten nach Autor, Zeit usw. erstellen. Es kann auch Suchfunktionen anbieten, die wesentlich intelligenter und nützlicher sind als eine rein textuelle Suche.
Obwohl dieses Beispiel Vorteile darstellt, die besonders für große Organisationen von Bedeutung sind, profitieren Organisationen aller Größen davon. Tatsächlich können kleine Organisationen, die üblicherweise keinen Vollzeit-Webmaster beschäftigen können, besonders große Vorteile durch ein solches System erhalten. Durch die Einführung eines CMS können Sie all diese und noch weitere Probleme lösen.
Das Schlüsselkonzept eines jeden CMS besteht in der klaren Trennung seiner wesentlichen Bestandteile: Sicherheit, Workflow, Templates usw. So sind z.B. die Templates, mit denen ein Eintrag dargestellt wird, von seinem Inhalt getrennt. Dadurch können Sie seine Darstellung leicht ändern.
Ein erster Blick auf Plone
Plone ist Open Source-Software, die unter der GPL (General Public License) lizenziert wird. Dies ist eine häufig verwendete Lizenz, die es jedem gestattet, die Software gratis einzusetzen. Weitere Informationen zur GPL finden Sie auf der Website der Free Software Foundation unter http://www.gnu.org. Sie können alle Aspekte des Quellcodes von Plone untersuchen und für Ihre Anwendung anpassen. Sie müssen keine Lizenzgebühren bezahlen, es gibt keine Lizenz, die irgendwann abläuft, und der gesamte Code ist offen gelegt. Diese Open-Source-Philosophie bedeutet, dass Plone bereits eine große Anzahl von Benutzern hat, und es gibt Legionen von Entwicklern, Usability-Experten, Übersetzern, Fachautoren und Grafikdesignern, die in der Lage sind, an Plone selbst zu arbeiten. Wenn Sie auf Plone setzen, sind Sie nicht auf eine Firma angewiesen. Es gibt etwa ein Dutzend Firmen, die Dienstleistungen zu Plone anbieten.
In naher Zukunft kann es durchaus sein, dass Plone unter die kommerziell vorteilhaftere LGPL gestellt wird oder sogar unter einem dualen Lizenzmodell verfügbar sein wird.
Verpackung
Zu Plone gibt es einfache Installationsprogramme für Windows, Linux und Macs. Produkte und Zusätze von Dritten verfügen ebenfalls über Installationsprogramme. Das Angebot qualitativ hochwertiger Releases für solche Produkte erleichtert ihre Installation und Verwaltung. Außerdem beinhaltet jedes neue Release einen Migrationspfad und Aktualisierungen, mit denen Ihre Plone-Site weiter funktioniert und auf dem neuesten Stand bleibt.
Internationalisierung
Die gesamte Benutzerschnittstelle von Plone wurde in über 25 Sprachen übersetzt, darunter Koreanisch, Japanisch, Französisch, Spanisch und Deutsch. Wenn Sie Ihre eigene Übersetzung hinzufügen möchten, so ist das einfach möglich (siehe Kapitel 4).
Benutzerfreundlichkeit
Plone bietet eine hervorragende Benutzerschnittstelle, die ein hohes Maß an Benutzerfreundlichkeit und Zugänglichkeit bietet. Dabei geht es nicht nur darum, hübschen HTML-Code darzustellen, sondern das betrifft fundamentale Teile von Plone. Die Schnittstelle von Plone ist kompatibel mit den US-Standards WAI-AAA und U.S. Section 508, die in Wirtschaft und Verwaltung gelten. Dadurch können mit Plone erstellte Sites auch von Menschen mit Sehbehinderungen benutzt werden. Zusätzlich bietet das den überraschenden, aber damit in Zusammenhang stehenden Vorteil, dass Ihre Seiten von Suchmaschinen wie Google besser indiziert werden.
Flexibles Aussehen
In Plone ist der Inhalt von den eigentlichen Templates (dem Aussehen, oft auch Skins genannt) getrennt, mit denen Inhalte dargestellt werden. Dieses Aussehen wird mit dem großartigen HTML-Templatingsystem namens Zope Page Templates sowie einer großen Anzahl von Beschreibungen in CSS (Cascading Style Sheets) beschrieben. Mit nur wenig Ahnung von Plone können Sie ein anderes Aussehen erreichen, zwischen mehreren Erscheinungsweisen wählen und die Präsentation Ihrer Website völlig umgestalten.
Registrierung und Personalisierung
Plone beinhaltet ein vollständiges Benutzerregistrierungssystem. Benutzer können sich auf einer Plone-Site mit eigenen Benutzernamen und -passwörtern sowie mit beliebigen anderen Angaben registrieren, die Sie über die Benutzer hinzufügen möchten. Anschließend können Sie die gesamte Benutzerschnittstelle für die jeweiligen Benutzer personalisieren. Außerdem können Sie mit Hilfe von Add-Ons bereits vorhandene Angaben über Ihre Benutzer aus vielen Stellen verwenden, z.B. aus relationalen Datenbanken, aus LDAP (Lightweight Directory Access Protocol), Active Directory und aus anderen Quellen. Kapitel 8 behandelt die Registrierung und Konfiguration von Benutzern.
Workflow und Sicherheit
Der Workflow steuert die Logik, nach der Inhalte auf der gesamten Site verarbeitet werden. Diese Logik können Sie über das Web mit grafischen Werkzeugen konfigurieren. Administratoren von Websites können diese so kompliziert oder einfach machen, wie sie es möchten. Man kann Benachrichtigungswerkzeuge hinzufügen, z.B. zum Verschicken von E-Mails oder Instant-Messages an Benutzer. Kapitel 8 behandelt den Workflow sehr detailliert.
Für jedes Stück Inhalt einer Plone-Site können Sie Listen für die Zugangskontrolle einrichten, die bestimmen, welche Benutzer Zugang zu diesem Inhalt haben und was sie damit anstellen können. Können sie ihn bearbeiten, ansehen oder kommentieren? All das lässt sich über das Web konfigurieren (siehe Kapitel 9).
Erweiterbarkeit
Da Plone Open Source ist, kann es leicht verändert werden. Sie können fast jeden Aspekt von Plone ändern und konfigurieren, um es an Ihre Bedürfnisse anzupassen. Zahllose Pakete für Plone bieten eine große Bandbreite an Möglichkeiten für kleinere Sites sowie für große Unternehmen. Depots für solche Gratisprodukte und -erweiterungen finden Sie unter http://www.plone.org. Mit Entwicklungswerkzeugen wie Archetypes (siehe Kapitel 13) können Sie Plone-Code sehr leicht über das Web oder mit UML-Werkzeugen (Unified Modeling Language) erstellen. Kapitel 10 behandelt die Integration von Plone mit Enterprise-Lösungen wie LDAP, Apache, Microsoft Internet Information Services (IIS), Macromedia Dreamweaver usw.
Anpassung von Inhalten
Die Benutzer einer Plone-Site können alle möglichen Inhalte hinzufügen, und die hinzugefügten Daten sind nicht in ihrer Menge oder Art eingeschränkt. Plone-Entwickler können ihre eigenen Inhaltstypen erstellen und hinzufügen, so dass fast jede Art von Inhalt verwaltet werden kann. Beschränkungen ergeben sich nur aus Ihrer Vorstellungskraft. In den Kapiteln 11 und 12 beschreibe ich, wie man Inhaltstypen anpassen kann. Kapitel 13 führt Sie in Archetypes ein, ein sehr mächtiges System für die Erstellung von Inhaltstypen, das ohne Programmierung auskommt. Sie können z.B. neue Inhaltstypen mit UML-Werkzeugen erstellen.
Dokumentation
Das Plone-Projekt verwaltet auch Dokumentation, darunter dieses Buch, das unter der Creative Commons-Lizenz veröffentlicht wird. Der beste Ausgangspunkt zur verfügbaren Dokumentation ist http://www.plone.org/documentation.
Community
Eines der besten Dinge an Plone ist seine Community von Entwicklern und Firmen, die Plone unterstützen und weiterentwickeln. Dank mehr als 60 Entwicklern weltweit, die in irgendeiner Weise daran beteiligt sind, ist es fast immer möglich, einen Plone-Entwickler zu finden, der gewillt und fähig ist, Ihnen zu helfen. Alan Runyan, Alexander Limi und Vidar Andersen haben angefangen, Plone zu entwickeln, aber es entwickelte sich schnell zu einem aktiven Projekt, nachdem weitere Entwickler sich daran beteiligten. Die Beiträge dieser Entwickler haben das Produkt Plone zu dem gemacht, was heute verfügbar ist.
Beitragen zur Plone-Entwicklung
Obwohl Plone über eine beachtliche Liste von Eigenschaften verfügt, ist die Liste seiner gewünschten Eigenschaften noch viel beachtlicher. Aus diesem Grund sucht das Projekt ständig nach Leuten, die ein wenig von ihrer Zeit dafür aufbringen können.
Da Plone auf den Endbenutzer zugeschnitten ist, gibt es zum Glück Bedarf an einem breiten Spektrum von Fähigkeiten. Helfer aus ganz verschiedenen Gebieten sind willkommen, nicht nur Programmierer oder Webentwickler. Plone benötigt Entwickler von Benutzerschnittstellen, Usability-Experten, Grafikdesigner, Übersetzer, Autoren und Tester. Den aktuellen Entwicklungsstand finden Sie auf der Plone-Website unter http://plone.org/development, und am leichtesten kann man mitmachen, indem man eine Mailing-Liste abonniert oder die Entwickler auf einem IRC-Kanal (Internet Relay Chat) besucht.
Was sind Zope und das CMF?
Plone baut auf Zope und CMF (Content Management Framework) auf. Um Plone zu verstehen, müssen Sie Zope und das CMF als darunter liegende Architektur verstehen. Aus diesem Grund werde ich in diesem Abschnitt diese beiden Dinge vorstellen und erklären, wie sie mit Plone zusammenspielen.
Zope ist ein mächtiger und flexibler Open-Source-Web-Application-Server, der von der Zope Corporation (http://www.zope.org) entwickelt wurde. Zope wurde als eigenständiges CMS entwickelt, hat aber mit der Zeit den Anforderungen seiner Benutzer nicht genügt. Dann hat die Zope Corporation das CMF als Open Source-Projekt entwickelt. Das CMF bietet Entwicklern die Werkzeuge zum Erstellen von komplexen CMS. Es bietet Workflow, Site-Aussehen und weitere Funktionen.
Das CMF ist ein Framework für ein System, d.h., es bietet die Werkzeuge, mit denen Entwickler ein Produkt erstellen können, statt ein fertiges System, das die Benutzer sofort einsetzen könnten. Plone verwendet diese und viele weitere Eigenschaften und verbessert sie zu einem qualitativ hochwertigen Produkt für den Benutzer. Plone ist eine Schicht über dem CMF, die eine Anwendung darstellt, die unter Zope läuft. Sie müssen das CMF verstanden haben, um Plone zu verstehen. Für die meisten Verwaltungsfunktionen wird die Verwaltungsschnittstelle von Zope benötigt, und für die Entwicklung mit Plone muss man wissen, Zope und dessen Objekte funktionieren.
Dieses Buch behandelt Zope nicht in seiner ganzen Tiefe, sondern gibt Ihnen genug Informationen darüber, damit Sie Aufgaben in Plone erledigen können. Durch die Lektüre dieses Buches erhalten Sie ausreichende Informationen, damit Sie fast alles in Plone anpassen und ändern können. Wenn Sie weitere Informationen zu Zope benötigen, empfehle ich Ihnen The Zope Book, das ursprünglich bei New Riders erschienen ist. Danach ist es online verfügbar gemacht worden und wird von Mitgliedern der Zope-Community aktualisiert. Es ist gratis online unter http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition verfügbar.
Sowohl Zope als auch das CMF sind Schlüsseltechnologien, ohne die Plone nicht existieren würde. Das Plone-Team ist vor allem der Zope Corporation zu sehr großem Dank für die Weitsicht verpflichtet, Zope und das CMF als Open Source verfügbar zu machen. Die Liste derer, denen ich dort sowie in den CMF-Communities danken möchte, ist sehr lang. Danke an alle Beteiligten!
Was ist Python?
Zope ist in Python geschrieben, einer objektorientierten Open-Source-Programmiersprache, die mit Perl oder Tcl vergleichbar ist. Man muss Python nicht kennen, um Plone zu benutzen oder gar einfache Administrationsaufgaben damit zu erledigen. Zum Anpassen von Produkten und beim Scripting von Plone ist jedoch ein wenig Python notwendig.
Tommy Burnette, ein erfahrener technischer Direktor bei Industrial Light & Magic, sagt Folgendes über Python (http://www.python.org/Quotes.html):
Python spielt in unserem Produktionsprozess eine Schlüsselrolle. Ohne Python wäre ein Projekt von der Größenordnung von Star Wars: Episode II sehr schwer zu realisieren gewesen. Python hält alles zusammen, vom Rendering sehr vieler Objekte über die Stapelverarbeitung bis hin zum Compositing.
Wenn Sie vorhaben, irgendetwas Anspruchsvolles mit Plone zu machen, sollten Sie sich zwei bis drei Tage Zeit nehmen und die Grundlagen von Python lernen. Danach werden Sie nicht nur Plone wesentlich besser anpassen können, sondern Sie werden auch allgemein mit Objekten vertraut sein und damit, wie sie mit der Plone-Umgebung zusammenspielen. Es würde den Rahmen dieses Buches sprengen, Ihnen Python beizubringen. Daher setze ich voraus, dass Sie über Grundkenntnisse in Python verfügen. Diese Grundkenntnisse sind ausreichend, um mit diesem Buch zu arbeiten und eine Plone-Installation leicht anzupassen.
Glücklicherweise ist Python eine sehr leicht zu erlernende Programmiersprache. Ein erfahrener Programmierer braucht durchschnittlich einen Tag, um damit produktiv zu werden. Frischgebackene Programmierer brauchen etwas länger. Wenn Sie Plone mit den Installationsprogrammen unter Windows oder auf Macs installieren, ist die passende Version von Python darin enthalten. Sie können Python separat für fast jedes Betriebssystem unter http://www.python.org herunterladen.
Die beste Art, sich mit Python vertraut zu machen, ist die, es in einem Kommandointerpreter auszuprobieren. Sollten Sie eine Windows-Installation von Plone haben, dann gibt es im Startmenü einen Link zu Pythonwin, einer Python-IDE (Integrated Development Environment). Gehen Sie zu Start - Programme - Plone - Pythonwin (siehe Abbildung 1.2).
Abbildung 1.2. Der Python-Prompt unter Windows
Unter Linux und Mac OS X wird bei der Eingabe von python normalerweise der Python-Interpreter gestartet:
$ python Pyython 2.3.2 (#1, Oct 6 2003, 10:07:16) [GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-5)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Da Python eine interpretierte Sprache ist, müssen Sie nicht das ganze Python-Script kompilieren und ausführen, sondern können einzelne Zeilen an den Interpreter übergeben, während Sie diese schreiben. Das macht aus dem Interpreter ein überraschend nützliches Werkzeug zum Testen und zur Fehlersuche in Code. Im Interpreter hat jede Zeile, die auf eine Eingabe wartet, das Präfix >>>.
Das einfachste "Hello World"-Programm sieht z.B. wie folgt aus:
>>> print "Hello, world!" Hello, world! >>>
Um den Interpreter zu beenden, geben Sie unter Linux Strg+D (drücken Sie die Taste D, während Sie Strg gedrückt halten) bzw. Strg+Z unter Windows ein (Sie können das später auch für eine fortgeschrittenere Interaktion mit Zope und Plone verwenden). Normale Python-Scripts können Sie ausführen, indem Sie diese an den Interpreter übergeben. Mit dem folgenden Script namens hello.py:
print "Hello, world!"
können Sie folgenden Befehl ausführen:
$ python hello.py Hello, world!
Die Python-Website unter http://www.python.org verfügt über eine hervorragende Dokumentation, besonders das Tutorium. Auch die folgenden Bücher bieten einen guten Überblick zu Python:
- Dive Into Python (Apress, 2004): Basierend auf Mark Pilgrims beliebtem webbasierten Tutorium bietet dieses Buch seinen Lesern eine schnelle Einführung in die Sprache Python. Dies ist ein tolles Buch, das für erfahrene Programmierer gedacht ist.
- Learning Python, Second Edition (O'Reilly, 2003): Dieses Buch behandelt die Version 2.3 von Python und bietet einen guten Überblick zu Python und all seinen neuen Eigenschaften. Es eignet sich gut für relativ neue Programmierer.
- Practical Python (Apress, August 2002): Diese sehr praxisorientierte Einführung zu Python bietet einen Überblick über die vielen Eigenschaften der Sprache. Die Leser können ihr Wissen sofort in die Praxis umsetzen, indem sie an zehn interessanten Projekten arbeiten. Dazu zählen ein webbasiertes schwarzes Brett und eine File-Sharing-Anwendung mit einer grafischen Benutzerschnittstelle.
- Python Essential Reference, Second Edition (Sams, 2001): Ein Referenzbuch, das eine sehr gute Übersicht aller wesentlichen Bibliotheken und Funktionen bietet. Dies ist ein exzellentes Buch für erfahrene Programmierer.
- Objektorientierte Programmierung mit Python (Mitp, 2004): Ein fundiertes Lehr- und Arbeitsbuch von Michael Weigend.
- Python für Kids (Mitp, 2003): Ein unterhaltsames Einsteigerbuch von Gregor Lingl, das durchaus nicht nur für Kinder zu gebrauchen ist.
- Python kurz & gut (O'Reilly 2002): Ein kleines praktisches Buch von Mark Lutz mit dem Essentiellen, was man über Python wissen muss, leider nicht mehr durchgehend aktuell.
- Einführung in Python (O'Reilly, 2000): Ein gut lesbares Einsteigerbuch von den erfahrenen Autoren Mark Lutz und David Ascher, leider nur in der ersten und nicht in der verbesserten zweiten Auflage auf deutsch übersetzt.
Typographische Konventionen
In diesem Buch werden folgende typographischen Konventionen verwendet:
- Kursiv: Neue Begriffe werden kursiv dargestellt. (Anhang C enthält ein umfangreiches Glossar, in dem alle Akronyme definiert werden.)s
- Fett: Falls es im Text Anweisungen gibt, die etwas beinhalten, das Sie auf Ihrer Tastatur eingeben sollen, werden diese Worte fett gedruckt.
- Code-Schrift: Eine nichtproportionale Schrift wird bei Dateinamen, Verzeichnispfaden, Code, Variablen und URLs (Uniform Resource Locators) verwendet.
- Kapitälchen: Kapitälchen heben Menüoptionen, Tab- und Buttonbeschriftungen hervor (In der Online-Version durch Kursiv ersetzt).
Dieses Buch enthält viele Bildschirmdarstellungen von Zope und Plone. Da Plone ein sich schnell weiterentwickelndes Produkt ist, können die Bildschirmdarstellungen leicht von der Version der Software abweichen, die Sie verwenden. Diese Unterschiede sollten jedoch gering sein und Ihr Verständnis von dem System nicht beeinträchtigen.
Verwendete Software
Für dieses Buch werden die im Folgenden genannten Software-Versionen verwendet. Auch wenn dieses Buch mit genau diesen Versionen im Hinterkopf geschrieben ist, sollte die gesamte Software auf diesen wie auch auf kommenden Versionen funktionieren.
Beim Schreiben dieses Buches war Plone 2.0 die aktuellste Version von Plone. Es ist die zweite große Version dieser Software, und sie bietet, verglichen mit der Version 1.0, viele neue Eigenschaften, darunter die Verwaltung von Gruppenbenutzern, eine neue Schnittstelle sowie eine verbesserte Zope-Distribution. Es wird Ihnen wärmstens empfohlen, neue Projekte mit 2.0 oder höher zu beginnen, anstatt ältere Versionen zu benutzen.
Plone 2.0 ist von folgenden Versionen abhängig: Zope 2.7, CMF 1.4.2 und Python 2.3.3. Alle Code-Beispiele in diesem Buch wurden speziell so entworfen, dass sie nicht von diesen Versionen oder von einem bestimmten Betriebssystem abhängig sind. Es kann jedoch Situationen geben, in denen das nicht der Fall ist. Für daraus entstehende Unannehmlichkeiten möchte ich mich entschuldigen.
Buchlizenz
Die Idee zu diesem Buch hatte ursprünglich eine Gruppe von Plone-Benutzern, die eine qualitativ hochwertige Dokumentation erstellen wollten. Die erste Version dieses Buchs haben wir auf der Plone-Website als Open-Source-Dokumentationsprojekt veröffentlicht. Alle Inhalte, die auf der Plone-Website hinzugefügt wurden, standen unter der Open-Publication-Lizenz.
Das wachsende Interesse an Plone ließ ein kommerzielles Buch vernünftig erscheinen, und so haben Apress und ich im Sommer des Jahres 2003 dieses Buch begonnen. Ich habe einiges an Material vom alten Buch mit Erlaubnis der ursprünglichen Autoren verwendet. Nach dem Wechsel zu Plone 2 habe ich große Mengen an neuem Material hinzugefügt. Dieses Buch wird nun unter der Creative-Commons-Lizenz veröffentlicht, die die Wiederverwendung dieser Arbeit gestattet, sofern der ursprüngliche Autor erwähnt wird. Für kommerzielle Zwecke dürfen Sie dieses Werk jedoch nicht verwenden. Weitere Informationen zu der Lizenz finden Sie unter http://creativecommons.org/licenses/by-nc-sa/1.0/.
Andy McKay: Plone. Addison-Wesley 2005
Es wurde zuletzt von sichart am 2006-10-06 14:25 aus der cvs Quelle via
cvs -z3 -d:pserver:anonymous@plone-docs.cvs.sourceforge.net:/cvsroot/plone-docs co -P PloneBook aktualisiert.

