Das PostNuke Kompendium - Internet-, Intranet- und Extranet-Portale erstellen und verwalten
von: Markus Gossmer, Michael Schumacher, Andreas Schauperl, Michael Nagy
Springer-Verlag, 2005
ISBN: 9783540274957
Sprache: Deutsch
360 Seiten, Download: 1940 KB
Format: PDF, auch als Online-Lesen
Mehr zum Inhalt
Das PostNuke Kompendium - Internet-, Intranet- und Extranet-Portale erstellen und verwalten
Vorwort | 6 | ||
Inhaltsverzeichnis | 9 | ||
1 Was ist PostNuke? | 13 | ||
1.1 Was ist ein CMS? | 13 | ||
1.2 Beispielhaftes Anforderungsprofil | 14 | ||
1.3 Die PostNuke-Historie | 14 | ||
1.4 Leistungsfähigkeit des PostNuke-CMS | 15 | ||
1.5 Produktdetails und Voraussetzungen | 17 | ||
1.6 Unternehmenskriterien | 18 | ||
1.6.1 Bedienung | 18 | ||
1.6.2 Funktionalität | 19 | ||
1.6.3 Benutzerverwaltung | 19 | ||
1.6.4 Technische Leistungsfähigkeit | 19 | ||
1.6.5 Erweiterbarkeit | 20 | ||
1.6.6 Investitionssicherheit | 20 | ||
1.7 Zusammenfassung | 20 | ||
1.8 Ausblick | 20 | ||
2 Installation einer Webserver- Umgebung | 21 | ||
2.1 Aufsetzen einer Server-Umgebung mit XAMPP ( Windows) | 21 | ||
2.1.1 XAMPP-Varianten | 22 | ||
2.1.2 Installation von XAMPP Lite unter Windows | 22 | ||
2.1.3 Start, Test und Stopp der XAMPP-Umgebung unter Windows | 23 | ||
2.2 Zusammenfassung | 23 | ||
2.3 Ausblick | 24 | ||
3 Die PostNuke-Installation | 25 | ||
3.1 Download von PostNuke | 25 | ||
3.2 Installation mit install.php | 25 | ||
3.3 Alternative: manuelle Installation | 28 | ||
3.4 Installation absichern | 28 | ||
3.5 Die config.php | 29 | ||
3.6 Deutsches Sprachpaket installieren | 30 | ||
3.7 Grundkonfiguration | 31 | ||
3.7.1 Allgemeine Einstellungen | 31 | ||
3.7.2 Benutzer-Einstellungen | 34 | ||
3.8 Zusammenfassung | 35 | ||
3.9 Ausblick | 35 | ||
4 Umgang mit PostNuke | 37 | ||
4.1 Die Startseite und ihre Funktionen | 37 | ||
4.1.1 Linke Spalte | 38 | ||
4.1.2 Mittlere Spalte / Content-Fenster | 38 | ||
4.1.3 Rechte Spalte | 38 | ||
4.2 Anmelden am System (Login) | 39 | ||
4.3 Benutzerspezifische Konfiguration | 39 | ||
4.4 Benutzer-Verwaltung | 40 | ||
4.4.1 Benutzer anlegen | 40 | ||
4.4.2 Kennwort vom System zurücksetzen lassen/neues Kennwort anfordern | 41 | ||
4.4.3 Passwort eines Benutzers zurücksetzen | 41 | ||
4.4.4 Dynamische Benutzerdaten | 42 | ||
4.5 Gruppen | 42 | ||
4.6 Blöcke und Module | 43 | ||
4.6.1 Grundlagen | 43 | ||
4.6.2 Modul installieren | 45 | ||
4.6.3 Modul administrieren | 46 | ||
4.6.4 Aufruf von Modulen | 46 | ||
4.6.5 Modul deinstallieren | 48 | ||
4.6.6 Blöcke administrieren | 48 | ||
4.6.7 Block hinzufügen | 49 | ||
4.6.8 Hauptmenü-Block dynamisieren | 50 | ||
4.7 WYSIWYG HTML-Editor „Type Tool“ | 50 | ||
4.8 Content-Pflege: Den ersten Artikel erstellen | 51 | ||
4.8.1 Als Administrator | 51 | ||
4.8.2 Als Benutzer | 54 | ||
4.8.3 Freigabe von Artikeln | 54 | ||
4.9 Einrichtung einer echten Autoren-Gruppe | 55 | ||
4.10 Topics | 57 | ||
4.11 Kategorien | 58 | ||
4.12 Wiki | 59 | ||
4.12.1 Aktivierung von Wiki | 59 | ||
4.12.2 Grundlegende Formatierungen (Wiki-Syntax) | 59 | ||
4.13 Hooks | 60 | ||
4.14 Zusammenfassung | 62 | ||
4.15 Ausblick | 62 | ||
5 Sicherheit | 63 | ||
5.1 PHP | 63 | ||
5.2 Apache | 65 | ||
5.3 SSL | 66 | ||
5.4 Berechtigungen und Zugriffsrechte in PostNuke | 67 | ||
5.4.1 Grundlagen | 68 | ||
5.4.2 Benutzer vs. Gruppen | 69 | ||
5.4.3 Zugriffsarten/Stufen | 69 | ||
5.4.4 Abarbeitungsreihenfolge | 70 | ||
5.4.5 Anwendung | 71 | ||
5.4.6 Die Auswertung des Regelsatzes | 72 | ||
5.5 Allgemeine PostNuke Sicherheitstipps | 73 | ||
5.6 Zusammenfassung | 74 | ||
5.7 Ausblick | 74 | ||
6 Blöcke | 75 | ||
6.1 Admin Messages/Show Admin Messages | 76 | ||
6.2 Core/Button Link Block | 76 | ||
6.3 Core/Categories Menu | 77 | ||
6.4 Core/Custom Banner Display | 77 | ||
6.5 Core/Display Poll | 77 | ||
6.6 Core/Ephemerids | 78 | ||
6.7 Core/FXP Currency Exchange | 78 | ||
6.8 Core/Generic Menu | 78 | ||
6.9 Core/HTML | 79 | ||
6.10 Core/Languages | 81 | ||
6.11 Core/Latest Web Links | 82 | ||
6.12 Core/Online | 82 | ||
6.13 Core/Past Articles | 82 | ||
6.14 Core/PHP Script | 83 | ||
6.15 Core/Plain Text | 83 | ||
6.16 Core/RSS Newsfeed | 84 | ||
6.17 Core/RSS Extra | 85 | ||
6.18 Core/Search Box | 85 | ||
6.19 Core/Simple File Include | 85 | ||
6.20 Core/Story Related Links | 86 | ||
6.21 Core/Story Titles | 86 | ||
6.22 Core/Today’s Big Story | 87 | ||
6.23 Core/Topics Menu | 87 | ||
6.24 Core/User’s Login | 87 | ||
6.25 Core/User’s Custom Box | 88 | ||
6.26 pnRender/custom pnRender block | 88 | ||
6.27 Quotes/Random Quote | 89 | ||
6.28 Xanthia/Logo Block for Xanthia Themes | 89 | ||
6.29 Xanthia/Display module output in a block | 89 | ||
6.30 Sie brauchen mehr Blöcke? | 90 | ||
6.31 Zusammenfassung | 90 | ||
6.32 Ausblick | 90 | ||
7 Module | 91 | ||
7.1 AddStory | 93 | ||
7.2 Admin | 94 | ||
7.3 Admin Messages | 95 | ||
7.4 AutoLinks | 97 | ||
7.5 AvantGo | 98 | ||
7.6 Banners | 99 | ||
7.7 Blocks | 102 | ||
7.8 Censor | 103 | ||
7.9 Comments | 104 | ||
7.10 Credits | 105 | ||
7.11 Downloads | 107 | ||
7.12 Ephemeriden | 108 | ||
7.13 FAQ | 109 | ||
7.14 Groups | 111 | ||
7.15 Languages | 112 | ||
7.16 Legal Documents | 114 | ||
7.17 LostPassword | 115 | ||
7.18 Mailer | 116 | ||
7.19 MailUsers | 116 | ||
7.20 Members List | 117 | ||
7.21 Messages | 118 | ||
7.22 Modules | 119 | ||
7.23 Multisites | 120 | ||
7.24 News | 121 | ||
7.25 NewUser | 121 | ||
7.26 Past_Nuke | 122 | ||
7.27 Permissions | 123 | ||
7.28 pnRender | 124 | ||
7.29 Polls | 125 | ||
7.30 Quotes | 126 | ||
7.31 Ratings | 127 | ||
7.32 Recommend Us | 128 | ||
7.33 Referers | 128 | ||
7.34 Reviews | 129 | ||
7.35 Search | 130 | ||
7.36 Sections | 131 | ||
7.37 Settings | 132 | ||
7.38 Stats | 132 | ||
7.39 Submit News | 133 | ||
7.40 Template | 134 | ||
7.41 Topics | 135 | ||
7.42 Top List | 135 | ||
7.43 typetool | 136 | ||
7.44 Users | 137 | ||
7.45 Web Links | 138 | ||
7.46 Wiki | 139 | ||
7.47 Xanthia | 139 | ||
7.48 Xmlrpc | 141 | ||
7.49 Your_Account | 143 | ||
7.50 Sie brauchen mehr Module? | 144 | ||
7.51 Zusammenfassung | 144 | ||
7.52 Ausblick | 145 | ||
8 Xanthia-Themes | 147 | ||
8.1 Einführung | 147 | ||
8.2 Themes administrieren | 150 | ||
8.2.1 Themes hinzufügen | 150 | ||
8.2.2 Einfache Theme-Anpassungen vornehmen | 151 | ||
8.2.3 Theme-Eigenschaften editieren | 151 | ||
8.2.4 Templates ändern und neu laden | 152 | ||
8.2.5 Config-Cache aufbauen | 152 | ||
8.3 Xanthia konfigurieren | 153 | ||
8.3.1 Short URLs | 154 | ||
8.4 Theme erstellen | 156 | ||
8.4.1 Die Dateien eines Themes | 156 | ||
8.4.2 Eigenes Theme als Beispiel | 159 | ||
8.4.3 Im Beispiel verwendete Variablen | 166 | ||
8.4.4 Valider HTML-Code | 167 | ||
8.5 pnRender | 167 | ||
8.6 Zusammenfassung | 167 | ||
8.7 Ausblick | 168 | ||
9 Die PostNuke- Verzeichnisstruktur | 169 | ||
9.1 Das PostNuke-Verzeichnis | 169 | ||
9.2 Beispiel: language, modules und themes | 172 | ||
9.2.1 Verzeichnis language/eng | 172 | ||
9.2.2 Verzeichnis modules/Template | 172 | ||
9.2.3 Verzeichnis themes/ExtraLite | 173 | ||
9.2.4 Verzeichnis themes/Postnuke | 174 | ||
9.3 Zusammenfassung | 174 | ||
9.4 Ausblick | 174 | ||
10 Datenbank-Tabellen einer PostNuke- Installation | 175 | ||
11 Multisites | 179 | ||
11.1 Einrichtung des Webservers | 180 | ||
11.2 Einrichtung unterschiedlicher Themes | 182 | ||
11.3 Einrichtung unterschiedlichen Contents | 184 | ||
11.4 Zusammenfassung | 186 | ||
11.5 Ausblick | 187 | ||
12 Troubleshooting, Backup und Recovery | 189 | ||
12.1 Das PostNuke Swiss Army Knife (PSAK) | 189 | ||
12.2 Backup | 190 | ||
12.2.1 Dateien sichern | 190 | ||
12.2.2 Datenbank sichern | 191 | ||
12.3 Recovery | 192 | ||
12.4 Zusammenfassung | 192 | ||
12.5 Ausblick | 192 | ||
13 pnmini | 193 | ||
13.1 Vorbereitung | 193 | ||
13.2 Notwendige Module | 194 | ||
13.3 Verzeichnisse löschen | 194 | ||
13.4 Notwendige Blöcke | 195 | ||
13.5 Blöcke löschen | 195 | ||
13.6 Dateien löschen | 196 | ||
13.7 Notwendige Datenbank-Tabellen | 197 | ||
13.8 Ergebnis | 198 | ||
13.9 Zusammenfassung | 198 | ||
13.10 Ausblick | 198 | ||
14 Performance & Tuning | 199 | ||
14.1 Tools zur Performance-Messung | 199 | ||
14.2 Anzahl Seitenabrufe in Abhängigkeit von Bandbreite | 200 | ||
14.3 Hardware | 202 | ||
14.4 Software | 203 | ||
14.4.1 PHP | 203 | ||
14.4.2 Encoder | 203 | ||
14.4.3 HTTP-Kompression | 203 | ||
14.4.4 CGI | 204 | ||
14.4.5 Betriebssystem | 204 | ||
14.4.6 Datenbank | 204 | ||
14.5 PostNuke-Bordmittel nutzen | 206 | ||
14.6 Zusammenfassung | 206 | ||
14.7 Ausblick | 206 | ||
15 Das PostNuke-CVS | 207 | ||
15.1 CVS-Module | 207 | ||
15.2 Die Zugangsdaten | 208 | ||
15.2.1 CVS über HTTP | 208 | ||
15.2.2 CVS auf der Kommandozeile | 208 | ||
15.2.3 Zugriff mit TortoiseCVS | 208 | ||
15.3 Das Bauen einer lauffähigen PostNuke- Umgebung aus dem CVS | 209 | ||
15.4 Zusammenfassung | 212 | ||
15.5 Ausblick | 212 | ||
16 Sprachpakete und Sprachentabelle | 213 | ||
16.1 Sprachpakete beziehen | 213 | ||
16.2 Sprachen, ihre Kürzel und Fundort | 214 | ||
17 Tipps & Tricks zu PostNuke | 217 | ||
17.1 Allgemein | 217 | ||
17.2 Benutzer / Sessions | 219 | ||
17.3 Blöcke und Module | 221 | ||
17.4 Themes | 222 | ||
17.5 Ausblick | 224 | ||
18 Die PostNuke- Programmierung | 225 | ||
18.1 Programmierung von autarken Blöcken | 225 | ||
18.2 Sicherheit oder: die 12 goldenen Regeln der Modulentwicklung | 229 | ||
18.3 Grundlagen zur Modulentwicklung | 230 | ||
18.3.1 Absicherung von Formularen | 230 | ||
18.3.2 Modul- vs. Session-Variablen | 231 | ||
18.3.3 Exception-Handling | 231 | ||
18.3.4 PHP-Dateien und Smarty-Templates | 231 | ||
18.3.5 JavaScript-Routinen valide einbinden | 232 | ||
18.3.6 Hooks | 233 | ||
18.3.7 Debugging von PostNuke-Modulen | 235 | ||
18.3.8 Template/Example-Modul als Einstieg | 235 | ||
18.4 Entwicklung des Moduls „Rooms“ | 236 | ||
18.4.1 Vorgehensweise | 236 | ||
18.4.2 Anforderungsdefinition | 236 | ||
18.4.3 Rechte | 237 | ||
18.4.4 Datenbank-Struktur | 237 | ||
18.4.5 Name des Moduls, Verzeichnisse anlegen | 238 | ||
18.4.6 pnversion.php | 238 | ||
18.4.7 consts.rooms.php | 240 | ||
18.4.8 pntables.php | 241 | ||
18.4.9 pninit.php | 242 | ||
18.4.10 Erster Installations-Test | 243 | ||
18.4.11 Entwurf der Admin-Oberfläche | 243 | ||
18.4.12 Smarty-Plugin | 247 | ||
18.4.13 Programmierung der pnadmin.php | 248 | ||
18.4.14 Programmierung der pnadminapi.php | 251 | ||
18.4.15 Entwurf der Benutzeroberfläche | 253 | ||
18.4.16 Programmierung der pnuser.php | 256 | ||
18.4.17 Programmierung der pnuserapi.php | 257 | ||
18.4.18 Programmierung des Modul-Blocks | 262 | ||
18.4.19 Search-Plugin | 264 | ||
18.4.20 Sprachpakete | 267 | ||
18.4.21 Modul-Icon | 268 | ||
18.4.22 Persönliche Benutzer-Shortcuts | 268 | ||
18.4.23 Tuning & Code Review | 268 | ||
18.4.24 Vollständiger Modul-Test | 269 | ||
18.5 Zusammenfassung | 269 | ||
18.6 Ausblick | 270 | ||
19 Smarty | 271 | ||
19.1 Kommentare | 271 | ||
19.2 section, sectionelse | 272 | ||
19.3 foreach, foreachelse | 272 | ||
19.4 if, elseif, else | 272 | ||
19.5 Funktionen | 273 | ||
19.6 Variablen | 273 | ||
19.7 $ smarty | 274 | ||
19.8 Templates durch Plugins erweitern | 275 | ||
19.9 Ausblick | 276 | ||
20 Die PostNuke-API | 277 | ||
20.1 pnNameDerRoutine [NameDerAPI] | 277 | ||
20.2 Fehlerkonstanten in PostNuke | 278 | ||
20.3 accesslevelname [pnSecurity] | 279 | ||
20.4 accesslevelnames [pnSecurity] | 279 | ||
20.5 addinstanceschemainfo [pnSecurity] | 280 | ||
20.6 authorised [pnSecurity] | 281 | ||
20.7 blocks [pnBlocks] | 281 | ||
20.8 getinstanceschemainfo [pnSecurity] | 282 | ||
20.9 getmodulesinstanceschemainfo [ pnSecurity] | 283 | ||
20.10 pnADODBInit [pnAPI] | 283 | ||
20.11 pnAssert [pnAPI] | 284 | ||
20.12 pnBannerDisplay [pnBanners] | 285 | ||
20.13 pnBlockGetInfo [pnBlocks] | 286 | ||
20.14 pnBlockGetInfoByTitle [pnBlocks] | 287 | ||
20.15 pnBlockLoad [pnBlocks] | 288 | ||
20.16 pnBlockLoadAll [pnBlocks] | 288 | ||
20.17 pnBlockShow [pnBlocks] | 289 | ||
20.18 pnBlockVarsFromContent [pnBlocks] | 290 | ||
20.19 pnBlockVarsToContent [pnBlocks] | 291 | ||
20.20 pnConfigDelVar [pnAPI] | 292 | ||
20.21 pnConfigGetVar [pnAPI] | 292 | ||
20.22 pnConfigInit [pnAPI] | 294 | ||
20.23 pnConfigSetVar [pnAPI] | 294 | ||
20.24 pnDBGetConn [pnAPI] | 295 | ||
20.25 pnDBGetTables [pnAPI] | 296 | ||
20.26 pnDBInit [pnAPI] | 297 | ||
20.27 pnDBSetTables [pnAPI] | 298 | ||
20.28 pnGetBaseURI [pnAPI] | 298 | ||
20.29 pnGetBaseURL [pnAPI] | 299 | ||
20.30 pnGetCurrentURI [pnAPI] | 300 | ||
20.31 pnGetStatusMsg [pnAPI] | 300 | ||
20.32 pnInit [pnAPI] | 301 | ||
20.33 pnLocalReferer [pnAPI] | 301 | ||
20.34 pnMail [pnAPI] | 302 | ||
20.35 pnModAPIFunc [pnMod] | 303 | ||
20.36 pnModAPILoad [pnMod] | 304 | ||
20.37 pnModAvailable [pnMod] | 305 | ||
20.38 pnModCallHooks [pnMod] | 305 | ||
20.39 pnModDBInfoLoad [pnMod] | 307 | ||
20.40 pnModDelVar [pnMod] | 307 | ||
20.41 pnModFunc [pnMod] | 308 | ||
20.42 pnModGetAdminMods [pnMod] | 309 | ||
20.43 pnModGetAllMods [pnMod] | 310 | ||
20.44 pnModGetIDFromName [pnMod] | 311 | ||
20.45 pnModGetInfo [pnMod] | 312 | ||
20.46 pnModGetName [pnMod] | 313 | ||
20.47 pnModGetUserMods [pnMod] | 313 | ||
20.48 pnModGetVar [pnMod] | 314 | ||
20.49 pnModIsHooked [ pnMod] | 315 | ||
20.50 pnModLoad [pnMod] | 315 | ||
20.51 pnModRegisterHook [pnMod] | 316 | ||
20.52 pnModSetVar [pnMod] | 317 | ||
20.53 pnModUnRegisterHook [pnMod] | 318 | ||
20.54 pnModURL [pnMod] | 319 | ||
20.55 pnModVarExists [pnMod] | 320 | ||
20.56 pnRedirect [pnAPI] | 320 | ||
20.57 pnSecAddSchema [pnSecurity] | 321 | ||
20.58 pnSecAuthAction [pnSecurity] | 322 | ||
20.59 pnSecConfirmAuthKey [pnSecurity] | 323 | ||
20.60 pnSecGenAuthKey [pnSecurity] | 324 | ||
20.61 pnSecGetAuthInfo [pnSecurity] | 324 | ||
20.62 pnServerGetVar [pnAPI] | 326 | ||
20.63 pnSessionDelVar [pnSession] | 326 | ||
20.64 pnSessionGetVar [pnSession] | 327 | ||
20.65 pnSessionInit [pnSession] | 328 | ||
20.66 pnSessionSetup [pnSession] | 328 | ||
20.67 pnSessionSetVar [pnSession] | 329 | ||
20.68 pnStripslashes [pnAPI] | 329 | ||
20.69 pnThemeGetVar [pnAPI] | 330 | ||
20.70 pnThemeLoad [pnAPI] | 330 | ||
20.71 pnUserDelVar [pnUser] | 331 | ||
20.72 pnUserGetAll [pnUser] | 331 | ||
20.73 pnUserGetIDFromName [pnUser] | 332 | ||
20.74 pnUserGetLang [pnUser] | 333 | ||
20.75 pnUserGetTheme [pnUser] | 333 | ||
20.76 pnUserGetVar [pnUser] | 334 | ||
20.77 pnUserGetVars [pnUser] | 335 | ||
20.78 pnUserLoggedIn [pnUser] | 337 | ||
20.79 pnUserLogIn [pnUser] | 338 | ||
20.80 pnUserLogOut [pnUser] | 339 | ||
20.81 pnUserSetVar [pnUser] | 339 | ||
20.82 pnVarCensor [pnAPI] | 340 | ||
20.83 pnVarCleanFromInput [pnAPI] | 341 | ||
20.84 pnVarPrepForDisplay [pnAPI] | 342 | ||
20.85 pnVarPrepForOS [pnAPI] | 342 | ||
20.86 pnVarPrepForStore [pnAPI] | 343 | ||
20.87 pnVarPrepHTMLDisplay [pnAPI] | 344 | ||
20.88 pnVarValidate [pnAPI] | 345 | ||
21 PostNuke 0.760 | 347 | ||
22 Begriffe | 349 | ||
22.1 ADODB | 349 | ||
22.2 API (Application Programming Interface) | 349 | ||
22.3 Artikel | 350 | ||
22.4 BaseURI | 350 | ||
22.5 BaseURL | 350 | ||
22.6 BBCode (Bulletin Board Code) | 350 | ||
22.7 Benutzer | 351 | ||
22.8 Berechtigungen | 351 | ||
22.9 Besucher | 351 | ||
22.10 Block | 351 | ||
22.11 Blog | 352 | ||
22.12 Category | 352 | ||
22.13 CMS(Content Management System) | 352 | ||
22.14 Content | 353 | ||
22.15 Core | 353 | ||
22.16 Document Root | 353 | ||
22.17 Ephemerid | 353 | ||
22.18 Extranet | 353 | ||
22.19 Fork | 354 | ||
22.20 Gruppe | 354 | ||
22.21 Hack | 354 | ||
22.22 Hooks | 354 | ||
22.23 Intranet | 354 | ||
22.24 LAMPP | 355 | ||
22.25 Modul | 355 | ||
22.26 Multisites | 355 | ||
22.27 Permissions | 355 | ||
22.28 Portal | 355 | ||
22.29 PostNuke | 356 | ||
22.30 PostNuke-API | 356 | ||
22.31 Rechte | 356 | ||
22.32 RSS (RDF Site Summary) | 356 | ||
22.33 Section | 356 | ||
22.34 SSL | 357 | ||
22.35 Template | 357 | ||
22.36 Theme | 357 | ||
22.37 Topics | 358 | ||
22.38 URI | 358 | ||
22.39 URL | 358 | ||
22.40 WAMPP | 358 | ||
22.41 Workflow | 358 | ||
22.42 Wiki | 359 | ||
22.43 WYSIWYG (What You See Is What You Get) | 359 | ||
22.44 XAMPP | 359 | ||
22.45 Xanthia | 359 | ||
22.46 XMLRPC | 359 | ||
22.47 XTE (Xanthia Templating Engine) | 360 | ||
22.48 Zugriffsrechte | 360 | ||
23 Links | 361 | ||
23.1 Zu PostNuke | 361 | ||
23.2 Weitere Module | 362 | ||
Index | 363 |