Hilfe Warenkorb Konto Anmelden
 
 
   Schnellsuche   
     zur Expertensuche                      
Das Joomla!-Entwicklerhandbuch. Open Source Library - Joomla!-Komponenten und -Templates programmieren mit dem Joonla!-Framework
  Großes Bild
 
Das Joomla!-Entwicklerhandbuch. Open Source Library - Joomla!-Komponenten und -Templates programmieren mit dem Joonla!-Framework
von: Alex Kempkens
Addison-Wesley Verlag, 2009
ISBN: 9783827323231
544 Seiten, Download: 13512 KB
 
Format:  PDF
geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop

Typ: B (paralleler Zugriff)

 

 
eBook anfordern
Inhaltsverzeichnis

  Inhaltsübersicht 8  
  Inhaltsverzeichnis 10  
  Einleitung 20  
     Warum ich dieses Buch schreibe 20  
     Warum Sie dieses Buch lesen sollten 21  
     Wie Sie mit dem Buch arbeiten können 22  
     Dankeschön 22  
     Noch Fragen? 22  
  Teil I Einführung in die Entwicklung mit Joomla! 24  
     1 Was ist Joomla!? 26  
        1.1 Joomla! als Content Management System verstehen 28  
        1.2 Joomla! und die Welt von Open-Source-Projekten 29  
     2 Der Aufbau von Joomla! 34  
        2.1 Übersicht und Einführung in die Terminologie 34  
           2.1.1 Joomla! Core 35  
           2.1.2 Die Joomla!-Datenbank 36  
           2.1.3 Joomla!-Erweiterungen 36  
        2.2 Was das Entwickeln auf Basis von Joomla! für den Entwickler bedeutet 37  
           2.2.1 Die Joomla!-Softwarearchitektur 38  
        2.3 Die Schichten der Joomla!-Architektur 41  
           2.3.1 Das Joomla!-Framework 42  
           2.3.2 Applikationsschicht 44  
           2.3.3 Erweiterungen und CMS-Funktionen 44  
     3 Die Arbeitsumgebung für Joomla! einrichten 46  
        3.1 Überblick über die Arbeitsumgebung 46  
        3.2 Werkzeuge und Produkte für die Arbeitsumgebung 48  
        3.3 Installation und Konfiguration der Serverdienste 52  
           3.3.1 Grundinstallation unter Windows 52  
           3.3.2 Grundinstallation unter Mac OS X 57  
           3.3.3 Serverinstallation in einer virtuellen Umgebung 62  
        3.4 Einrichtung der lokalen Entwicklungswerkzeuge 63  
           3.4.1 Vorschlag für die lokale Umgebung 63  
           3.4.2 Entwicklungswerkzeuge auf Windows einrichten 65  
           3.4.3 Entwicklungsumgebung für Mac OS X 66  
           3.4.4 Einrichtung eines Subversion-Clients 68  
     4 Joomla! erweitern 70  
        4.1 Hilfreiche Anwenderforen für Erweiterungen 70  
        4.2 Joomla! Extension-Websites 71  
           4.2.1 extensions.joomla.org 72  
           4.2.2 Weitere Verzeichnisse für Erweiterungen 73  
        4.3 JoomlaCode - ein Platz für Entwicklungen 74  
           4.3.1 Die Forge aus Sicht des Benutzers 75  
           4.3.2 Tracker 78  
           4.3.3 Download von Releases bzw. Quellcodes 80  
           4.3.4 Die Forge für Projektleiter 86  
        4.4 Installation von Joomla! Erweiterungen 87  
           4.4.1 Nutzung des Joomla!-Erweiterungsmanagers 87  
           4.4.2 Konfigurationsdateien für die Installation 88  
           4.4.3 Installationsablauf, Aktualisierung und Abhängigkeiten 90  
  Teil II Erste Schritte in der Entwicklung für Joomla! 92  
     5 Kennenlernen und Anpassen von Erweiterungen 94  
        5.1 Grundverständnis bei Anpassungen 94  
        5.2 Vorbereitungen für die Anpassungen 95  
           5.2.1 Sicherung der aktuellen Installation 96  
           5.2.2 Aktualisierung der aktuellen Version 99  
           5.2.3 Abgleich der lokalen Entwicklungsumgebung 103  
        5.3 Erweiterung der Kontaktverwaltung 104  
           5.3.1 Anforderungen an die Anpassung aufnehmen und analysieren 105  
           5.3.2 Die Schritte zur vollständigen Anpassung 106  
           5.3.3 Vorbereiten der Komponente 107  
           5.3.4 Erstellung der neuen Datenbanktabellen 108  
           5.3.5 Anpassungen innerhalb der Komponente 110  
           5.3.6 Anpassungen der Verwaltungsklassen 116  
           5.3.7 Anpassung der Darstellung 119  
        5.4 Fazit zum Anpassen von Erweiterungen 124  
     6 Grundlagen von Templates 126  
        6.1 Das Beez-Template 126  
        6.2 Anpassen bestehender Templates 128  
           6.2.1 Analyse der Designanforderungen 128  
           6.2.2 Planung der Template-Anpassungen 129  
           6.2.3 Vorbereiten des Templates 130  
           6.2.4 Anpassungen innerhalb des Templates 131  
           6.2.5 Anpassungen der allgemeinen Template-Struktur 132  
           6.2.6 Anpassungen von Design und Grafiken 142  
           6.2.7 Anpassungen der Programmierung im Template 143  
        6.3 Dynamische Elemente integrieren 145  
           6.3.1 Dynamische Steuerung des Templates über Parameter 145  
           6.3.2 Einbinden von dynamischen Menüs 147  
           6.3.3 Dynamik im Template oder in den Modulen 149  
        6.4 Überschreiben der Ausgaben von Erweiterungen 150  
           6.4.1 Nutzung der Überschreibung für individuelle Anpassungen 150  
           6.4.2 Überschreiben von Ausgaben in Modulen und Komponenten 151  
     7 Eigene Entwicklungen 154  
        7.1 Konzeption und Planung 154  
           7.1.1 Analyse der Anforderungen 154  
           7.1.2 Design der Informationsstruktur 155  
           7.1.3 Softwarearchitektur 156  
           7.1.4 Design des Benutzerinterface 159  
        7.2 Erweiterte Einsatzgebiete für Erweiterungen 162  
           7.2.1 Spezielle Komponenten 162  
           7.2.2 Einsatz von Modulen innerhalb der Entwicklung 163  
           7.2.3 Einsatz von Plugins 165  
        7.3 Anwendungen auf Basis des Frameworks 167  
        7.4 Anpassen oder neu entwickeln - das ist die Frage 168  
     8 Weitere Informationen zu den Technikgrundlagen 170  
        8.1 Erforderliche Serverdienste 170  
           8.1.1 Der Webserver 170  
           8.1.2 Die Programmiersprache PHP 171  
           8.1.3 Datenbank MySQL 171  
        8.2 Konfiguration eines Produktivservers 172  
           8.2.1 Webserver und virtuelle Hosts 172  
           8.2.2 Integration von PHP 177  
           8.2.3 MySQL-Datenbank 181  
        8.3 Optimierung von Joomla!-Servern 181  
           8.3.1 Performanz 181  
           8.3.2 Sicherheit und Verfügbarkeit 182  
        8.4 Übertragung der Entwicklungsergebnisse 183  
           8.4.1 Vorbereitung der Übertragung 184  
           8.4.2 Lokale Entwicklungsumgebung zusammenstellen 185  
           8.4.3 Übertragung der Dateien zum Server 186  
           8.4.4 Einspielen der Datenbank 186  
           8.4.5 Tests und Abschluss 187  
  Teil III Das Joomla!-Framework im Detail 188  
     9 Allgemeine CMS-Architektur 190  
        9.1 Trennung von Inhalt, Verwaltung und Darstellung 191  
        9.2 Trennung von Inhalt und Navigation 194  
           9.2.1 Organisatorisch bedingte Trennung 195  
           9.2.2 Wiederverwendung von Inhalten 196  
        9.3 Herstellen einer Verbindung zwischen Inhalt und Navigation 196  
           9.3.1 Verbindung von Navigation und Inhalt 197  
           9.3.2 Verbindung zwischen Navigation und Template 201  
           9.3.3 Verbindung von Inhalt und Komponenten 202  
           9.3.4 Verbindungen von Komponenten untereinander 203  
           9.3.5 Verbindung zwischen Modul und Komponente 204  
     10 Entwicklungsgrundlagen und allgemeine Programmierkonzepte 208  
        10.1 Kurze Einführung in UML 209  
           10.1.1 Use Case oder Nutzfall-Diagramme 209  
           10.1.2 Seitenablauf mit Zustandsdiagramm 211  
           10.1.3 Klassendiagramme 212  
        10.2 Softwareentwicklungsrichtlinien von Joomla! 214  
           10.2.1 Grundlegende Richtlinien für den Einsatz der Entwicklungssprache 216  
           10.2.2 Namenskonventionen innerhalb von Joomla! 219  
           10.2.3 Namenskonventionen für Klassen, Attribute usw. 221  
           10.2.4 Kontrollstrukturen innerhalb von PHP 222  
           10.2.5 Deklarationen und Aufrufe von Funktionen/Methoden 225  
           10.2.6 Absicherung von Skripten vor unerwünschtem Zugriff 227  
           10.2.7 Bereits verwendete Konstanten 229  
        10.3 Genutzte Entwicklungspatterns 231  
           10.3.1 Model/View/Controller (MVC) 232  
           10.3.2 Fabrik und Singletons 241  
           10.3.3 Nachrichten & Beobachter (Events & Observer) 246  
     11 Einstieg in das Framework 252  
        11.1 Übersicht der Bibliotheken 252  
        11.2 Bibliotheken aus dem Joomla!-Projekt 253  
           11.2.1 Allgemeine Pakete 254  
           11.2.2 Unterstützende Pakete 254  
           11.2.3 Joomla!-Anwendungspakete 256  
        11.3 Allgemeine Funktionen des Frameworks 257  
           11.3.1 JFactory, die Fabrik von Joomla! 259  
           11.3.2 JLoader, automatisches Laden von Klassen 259  
           11.3.3 JRoute & JRouter für sprechende URLs und Suchmaschinenoptimierung 262  
           11.3.4 Mehrsprachige Texte, UTF-8 und Leserichtung 264  
           11.3.5 Versionsprüfung und Abstimmung 269  
        11.4 Unterstützung für allgemeine Aufgaben 270  
           11.4.1 Basisklassen 270  
           11.4.2 Fehlerhandling und Logging 271  
     12 Erstellung von HTML-Dialogen 278  
        12.1 HTML-spezifische Elemente 279  
           12.1.1 JHTML-Basismethoden 280  
           12.1.2 Behavior 282  
           12.1.3 Content 288  
           12.1.4 E-Mail 289  
           12.1.5 Form 290  
           12.1.6 Grid 291  
           12.1.7 Image 293  
           12.1.8 List 295  
           12.1.9 Menu 298  
           12.1.10 Select 298  
        12.2 Joomla!-spezifische HTML-Komponenten 301  
           12.2.1 Seitenbereiche 301  
           12.2.2 Seitenaufteilung 302  
           12.2.3 Editor-Integration 305  
           12.2.4 Parameter-Darstellung 305  
           12.2.5 Toolbar-Darstellung 308  
     13 Details zu den unterstützenden Paketen 318  
        13.1 Versand von E-Mails 319  
        13.2 Dateisystem 320  
           13.2.1 Übersicht der Dateisystem-Implementierung 322  
           13.2.2 Zugriffe auf Dateien und Verzeichnisse 322  
           13.2.3 Zugriffe auf komprimierte Archive 327  
        13.3 Spezielle Clients 327  
        13.4 Systemumgebung 328  
        13.5 Pakete zur Unterstützung von Anwendungen 333  
           13.5.1 Nutzen strukturierter Daten 333  
           13.5.2 Filtern von Ein- und Ausgaben 335  
           13.5.3 Eventhandling und Integration von Plugins 337  
           13.5.4 Verwenden von Caches 341  
           13.5.5 Verwenden von Session-Informationen 343  
     14 Das Präsentationsframework 346  
        14.1 Allgemeine Funktionsweise 347  
           14.1.1 Einfluss der Anwendung auf die Präsentation 348  
           14.1.2 Nutzung eines zentralen Ausgabedokumentes 350  
           14.1.3 Generierung der Ausgabe 354  
        14.2 Allgemeiner Aufbau der Templates 356  
           14.2.1 Die Template-Datei 358  
           14.2.2 Übersicht der Standard-CSS-Klassen 359  
           14.2.3 Zusätzliche XHTML-Tags innerhalb eines Templates 363  
           14.2.4 Parameter und Manifestdatei eines Templates 364  
        14.3 Präsentationen von Erweiterungen 366  
           14.3.1 Definition eines Views 367  
           14.3.2 Ablauf der Verarbeitung in einer Erweiterung 371  
           14.3.3 Sprachdateien von Templates 372  
        14.4 Überschreiben der Präsentation im Template 373  
     15 CMS-Erweiterungen im Framework 378  
        15.1 Allgemeine Funktionsweise der Erweiterungen 380  
           15.1.1 Installation von Erweiterungen 382  
           15.1.2 Aufbau von Erweiterungen 385  
        15.2 Integrierte Komponenten 386  
           15.2.1 Manifest für Komponenten 389  
           15.2.2 Individuelle Konfiguration einer Komponente 393  
        15.3 Module als Gestaltungselemente 393  
           15.3.1 Installation Manifestdatei 394  
           15.3.2 Dynamisches Design 396  
           15.3.3 Integration von Modulen 396  
        15.4 Plugins für die Erweiterungen 397  
           15.4.1 Installation Manifestdatei 397  
           15.4.2 Integration des Plugins 399  
           15.4.3 Beispiele für Plugins 400  
        15.5 Besondere Typen von Erweiterungen 402  
           15.5.1 Brücken zu anderen Lösungen (z. B. Galeriesystem) 402  
           15.5.2 Komplette Erweiterungen der Systemfunktionalität 403  
     16 Die Datenbank von Joomla! 404  
        16.1 Datenbankserverunterstützung 405  
           16.1.1 Nutzung von MySQL vs. MySQLi 405  
           16.1.2 Unterstützung weiterer Datenbanken 405  
        16.2 Joomla! Entity Relationship Modell 405  
           16.2.1 Joomla! Core-System-Tabellen 407  
           16.2.2 Core- und Framework-Tabellen 408  
           16.2.3 CMS-Erweiterungen 411  
        16.3 Joomla!-Datenbank-Abstraktionsschicht 413  
           16.3.1 Grundaufbau der Datenbankschicht 414  
           16.3.2 Grundlegende Datenbankzugriffe 415  
           16.3.3 Integration von Datenbanktabellen 421  
           16.3.4 Verbindung zwischen Datenbank und der Anwendung 424  
     17 Zusätzliche Managementpakete 428  
        17.1 Benutzersteuerung und Autorisierung 428  
           17.1.1 Authentifizierung eines Benutzers 430  
           17.1.2 Prüfung der Benutzerrechte 432  
        17.2 Installation von Erweiterungen 436  
        17.3 Zusätzliche Funktionen 437  
        17.4 Konfiguration des Systems 438  
     18 Sichere Webentwicklung 440  
        18.1 Grundthematik von Angriffen 441  
           18.1.1 Code Injections 442  
           18.1.2 SQL Injections 446  
           18.1.3 Cross-Site-Scripting (XSS)-Angriffe 448  
        18.2 Spezielle Techniken innerhalb des Frameworks 449  
        18.3 Serverkonfiguration und Sicherheit 450  
           18.3.1 Serverauswahl und -setup 450  
           18.3.2 Konfiguration von Joomla! 453  
           18.3.3 Sicherheit bei der Nutzung von Erweiterung 455  
  Teil IV Projektorganisation und Fertigstellung 456  
     19 Entwicklungsmethoden 458  
        19.1 Planen und Ziele setzen 458  
           19.1.1 Einfaches Planen 459  
           19.1.2 Einhalten von Zielen 460  
           19.1.3 Ziele selbst überprüfen 460  
        19.2 Extreme oder Agile Programming 460  
           19.2.1 Produktiver Nutzen 461  
           19.2.2 Geplante Iterationen 462  
           19.2.3 Test-getriebene Entwicklung 463  
        19.3 Entwicklungsmethoden des Joomla! Core Teams 464  
           19.3.1 Entwicklungszyklus von Joomla! 464  
           19.3.2 Kommunikation innerhalb und mit dem Core Team 465  
           19.3.3 Qualität und Sicherheit 466  
           19.3.4 Entwicklung neben dem Beruf 467  
           19.3.5 Entscheidungsprozesse 467  
           19.3.6 Bei Joomla! mitmachen 468  
     20 Joomla! Forge als Entwicklungsplattform 470  
        20.1 Umgang mit Feedback 471  
        20.2 Projektverwaltung in JoomlaCode 471  
           20.2.1 Einrichten eines Projektes 472  
           20.2.2 Einladen von neuen Entwicklern 473  
           20.2.3 Berechtigungen innerhalb des Projektes 474  
        20.3 Projektarbeit mit Forge 477  
           20.3.1 Aktuelle Nachrichten 477  
           20.3.2 Verwalten der Tracker 478  
           20.3.3 Dokumentenverwaltung 482  
           20.3.4 Quellcodeverwaltung (SVN) 483  
           20.3.5 Verwalten der Diskussionsforen 485  
           20.3.6 File Release System 487  
           20.3.7 Dokumentationsplattform (Wiki) 489  
     21 Testen 492  
        21.1 Grundansätze für das Testen 492  
           21.1.1 Testdokumentation 492  
           21.1.2 Unit Tests 493  
           21.1.3 GUI-Validierung und -Tests 494  
           21.1.4 Automatische Tests 494  
        21.2 Unit Tests innerhalb von Joomla! 495  
           21.2.1 Das Test-Framework 496  
           21.2.2 Aufbau einer Testumgebung 498  
           21.2.3 Integration erster Tests 499  
           21.2.4 Aufruf der Tests von der Kommandozeile 504  
     22 Fertigstellung 506  
        22.1 Release-Planung 507  
           22.1.1 Ein fertiges Release 508  
        22.2 Dokumentation 510  
           22.2.1 Allgemeine Dokumentation 510  
           22.2.2 Technische Dokumentation 511  
           22.2.3 API-Dokumentation mit phpDocumentor/docBuilder 512  
        22.3 Übersetzungen 520  
           22.3.1 Umgang mit anderen Sprachen 520  
           22.3.2 Allgemeine Struktur der Sprachdateien 523  
           22.3.3 Einbindung von Textausgaben in den Quellcode 524  
           22.3.4 Organisation der Übersetzer 525  
        22.4 Zusammenstellung eines Joomla!-Paketes 525  
           22.4.1 Aufbau eines Joomla!-Paketes 525  
           22.4.2 Verzeichnis- und Dateistruktur 526  
           22.4.3 Nutzung der Versionskontrolle in Verbindung mit den Paketen 527  
     23 Lizenzen und Vermarktung 528  
        23.1 Grundverständnis zu Rechten und Lizenzen 528  
           23.1.1 Grundeigenschaften von Open-Source-Lizenzen 529  
           23.1.2 Überblick weiterer Eigenschaften von OS-Lizenzen 529  
        23.2 Open-Source-Lizenzen und ihre Bedeutung 530  
           23.2.1 Nutzung von Open Source im Unternehmen 531  
        23.3 Mischung zwischen kommerziellen und freien Lizenzen 531  
           23.3.1 Lite- und Pro-Versionen unter Open Source 532  
        23.4 Anerkennungen und Arbeit verschiedener Entwickler 532  
           23.4.1 Copyright- und Lizenzvereinbarungen 533  
        23.5 Kommerzielle Erweiterungen und ihre Bedeutung 534  
           23.5.1 Lizenzabgrenzung für kommerzielle Erweiterungen 535  
  Stichwortverzeichnis 538  


nach oben


  Mehr zum Inhalt
Kapitelübersicht
Kurzinformation
Inhaltsverzeichnis
Leseprobe
Blick ins Buch
Fragen zu eBooks?

  Medientyp
  eBooks
  eJournal
  alle

  Navigation
Belletristik / Romane
Computer
Geschichte
Kultur
Medizin / Gesundheit
Philosophie / Religion
Politik
Psychologie / Pädagogik
Ratgeber
Recht
Reise / Hobbys
Technik / Wissen
Wirtschaft

  Info
Hier gelangen Sie wieder zum Online-Auftritt Ihrer Bibliothek
© 2008-2024 ciando GmbH | Impressum | Kontakt | F.A.Q. | Datenschutz