You are previewing PostNuke Content Management.
O'Reilly logo
PostNuke Content Management

Book Description

PostNuke Content Management is a practical, application-oriented guide to building content-driven websites and portals with the PostNuke package. Website developers will find that this guide will help you get your website up and running quickly. You'll learn how to install and setup PostNuke and use it to build fully-customizeable content-focused websites. Each section will take you to a new level of site development and will teach you tips, tricks and hacks to customize the function and interface exactly for your specific needs. Author Kevin Hatch maintains a popular PHP and PostNuke online tutorial and is an experienced PostNuke user, so you are sure to get thorough PostNuke information through this book.

Table of Contents

  1. Copyright
    1. Dedication
  2. About the Author
  3. Acknowledgments
    1. We Want to Hear from You!
    2. Reader Services
  4. Introduction
    1. Why You Should Read this Book
    2. What you can Achieve Using this Book
    3. PostNuke and Content Management Systems
      1. Why PostNuke is the Right Choice
      2. History and Development Forks
    4. How this Book is Organized
  5. I. Exploring PostNuke
    1. 1. Preinstallation Requirements
      1. Hardware Requirements
        1. CPU and Memory
        2. Drive Space
        3. Network Connections
      2. The Choice of OS
        1. Crash Course in Linux
        2. Crash Course in Windows XP
      3. Software Requirements
        1. Databases
        2. PHP
        3. Web Servers
        4. Combined Server Packages
      4. Helpful Optional Software
        1. FTP Applications
        2. Editors
        3. Compression Tools
        4. Mail Servers
        5. Administration Tools
      5. Troubleshooting
        1. Common Linux Issues
        2. Common Windows XP Issues
        3. Other General Troubleshooting
      6. Next
    2. 2. Install PostNuke
      1. New Installation
        1. Database Preparation
        2. Database Creation
        3. Database User Creation
        4. The PostNuke Distribution
        5. PostNuke File Placement
        6. PostNuke Config Permissions
        7. Automated PostNuke Install
        8. Manual PostNuke Install
        9. Language Packs
      2. Upgrade Installation
        1. Back Up Everything
        2. PostNuke Distribution Update
      3. Troubleshooting
        1. The Directory Name is Invalid
        2. All I See is PHP Code
        3. I Installed PostNuke to the Wrong Place
        4. The Install Says my Config Files are not World-Writable
        5. The Install has Problems Creating/Populating the Database
        6. I Know I’ve Created My User Perfectly, but the Account Does not Work
        7. My Install Worked but now I Can’t Log In
        8. Getting More Help
      4. Next
    3. 3. PostNuke Essentials
      1. PostNuke Terminology
        1. Modules and Blocks
        2. International Spellings
        3. Themes
        4. Stories, Articles, and News
        5. Topics, Categories, and Sections
        6. Hacks
      2. Working with the Administration System
        1. System Modules
        2. Utility Modules
        3. Content Modules
        4. Role of the Site Administrator
      3. Site Settings
        1. General Site Info
        2. Footer Messages
        3. Backend Configuration
        4. Security Options
        5. Run on Intranet
        6. HTML Options
      4. Troubleshooting
        1. No Authorization as Administrator
        2. Locked Out Without Intranet Mode
        3. Bad Default User Account Group
      5. Next
    4. 4. Modules and Blocks
      1. How Modules Work
        1. Configuring Modules
      2. Core Modules Overview
        1. Add Story
        2. Admin
        3. Admin Messages
        4. Autolinks
        5. AvantGo
        6. Banners
        7. Blocks
        8. Censor
        9. Comments
        10. Credits
        11. Downloads
        12. Ephemerids
        13. FAQ
        14. Groups
        15. Languages
        16. Legal
        17. Lost Password
        18. Mailer
        19. Mail Users
        20. Members List
        21. Messages
        22. Modules
        23. Multisites
        24. News
        25. New User
        26. Past Nuke
        27. Permissions
        28. pnRender
        29. Polls
        30. Quotes
        31. Ratings
        32. Recommend Us
        33. Referers
        34. Reviews
        35. Search
        36. Sections
        37. Settings
        38. Stats
        39. Submit News
        40. Template
        41. Top Lists
        42. Topics
        43. TypeTool
        44. Users
        45. Web Links
        46. Wiki
        47. Xanthia
        48. XML-RPC
        49. Your Account
      3. How Blocks Work
        1. Managing Blocks
        2. Creating New Blocks
      4. Troubleshooting
      5. Next
  6. II. Basic PostNuke
    1. 5. Article Modules
      1. Topics
      2. News Articles
        1. Category
        2. Publish on Homepage
        3. Allow Comments
        4. Content Format Type
        5. Notes
        6. Program This Story
      3. Sections
      4. Admin Messages
      5. Troubleshooting
        1. Missing Topic Icons
        2. Missing Article Image
        3. Missing New Submission Email
      6. Next
    2. 6. User Interaction Modules
      1. Polls
        1. Advanced Polls
        2. pnESP
      2. Downloads
        1. UpDownload
      3. Web Links
      4. Reviews
      5. Comments
      6. Troubleshooting
        1. Advanced Poll Does Not Allow Votes
        2. Surveys Disappearing in pnESP
        3. Fatal Error with UpDownload
      7. Next
    3. 7. Community Building Modules
      1. Calendars
        1. PostCalendar
        2. pnConcert/pnEvent
      2. Forums
        1. PNphpBB2
        2. XForum
      3. Newsletters
        1. pnTresMailer
      4. Troubleshooting
        1. PostCalendar “Compile dir not Writable!”
        2. PostCalendar Changes Showing Late
        3. pnEvent Block “Warning: Missing Argument”
      5. Next
    4. 8. Online Gaming Modules
      1. Multiplayer Gaming
        1. pnClansite
        2. pn-teamspeak
        3. LTG GameQuery
      2. Website Games
        1. pnFlashGames
        2. vQuiz
      3. Troubleshooting
        1. pnClansite Doesn’t Register as a Module
        2. pnClansite Error: Unable to Load Required Module!
        3. Black pnClansite Pages, Unreadable Pages
        4. pn-teamspeak Error: Could Not Connect to Server
      4. Next
    5. 9. Users and Permissions
      1. Basic User Administration
        1. User Register Configuration
        2. User Configuration
        3. Dynamic User Data
        4. Register Users
      2. Groups
        1. Creating Groups
        2. Managing Groups
      3. Permissions
        1. Default Settings
        2. Components and Instances
        3. Setting Permissions By Group and User
      4. Troubleshooting
      5. Next
    6. 10. Themes
      1. Xanthia Templating Environment
        1. How Templates Work
        2. How Zones Work
        3. How Themes Work
      2. Theme Management
        1. Configuring Xanthia
        2. Theme Actions
        3. Changing Themes
        4. Obtaining Themes
      3. Customizing Themes
        1. Crash Course in XHTML
          1. Formatting Requirements
          2. Required Elements
          3. Deprecated Elements
          4. Deprecated Attributes
          5. Cascading Style Sheets
        2. Editing Themes
          1. Dynamic Stylesheets
          2. Editing Templates
      4. Troubleshooting
        1. .htaccess File Not in Your Web Root
        2. Server Fails URL Rewrite Check
        3. Blank Edit Theme Screen
        4. Dynamic Stylesheets Don’t Apply
        5. Fatal Error in Zone
        6. Recovering from Theme Failure
      5. Next
    7. 11. Case Study: Online Club
      1. About the Site
      2. Applying What You’ve Learned
        1. Website Install and Preparation
        2. Third-Party Module Installs and Setup
          1. Advanced Polls
          2. pnFlashGames
          3. PNphpBB2
          4. PostCalendar
        3. Core Module Setup
          1. Topics
          2. Web Links
          3. Permissions
          4. Site Settings
        4. Interface
      3. Seeing Results
      4. Next
  7. III. Custom PostNuke
    1. 12. Enhanced Article Modules
      1. Content Express
      2. PagEd
      3. PageSetter
      4. Troubleshooting
        1. Content Express Form Generates Microsoft Office Pop-Up
        2. Content Express Manage XML Shows _CE_USER_XSLTNOTSUPPORTED
        3. PagEd Cannot Find the PHP GD Image Extension
        4. Imported News Topic Has Broken Image
        5. Unknown Window Data in PageSetter
        6. No Template Found in PageSetter
      5. Next
    2. 13. Money-Making Modules
      1. Advertising
        1. Banners
        2. Recommend Us
      2. Site Donations
        1. pncPayPal Contribute
        2. Donations Block
        3. HTML Block
      3. Buy and Sell
        1. cmsMerchant
        2. PayPalCart
      4. Troubleshooting
        1. Banner Is Added to Theme But Does Not Display
        2. Security Alert from the Donations Block
        3. File Has Been Encoded with the ionCube PHP Encoder
        4. Access Denied to cmsMerchant
      5. Next
    3. 14. Support and Statistics Modules
      1. FAQ
      2. Live User Tracking
        1. Online Block
        2. pnBloodhound
      3. PostNuke Statistics
        1. Core Stats
        2. Statistics
      4. Troubleshooting
        1. Inconsistent pnBloodhound Data
        2. ”undefined constant” in Statistics Parameter Configuration
        3. Statistics Collect Stats Check Box Doesn’t Remain Checked
      5. Next
    4. 15. Customized Themes
      1. Theme Design
        1. Crash Course in Design
          1. Design to Fit Your Content
          2. Select Appropriate and Effective Colors
          3. Websites Are Not Meant to Be Printed
          4. Design to Screen Resolutions
          5. Selecting the Right Typeface: Serif Versus Sans Serif
          6. When to Break the Rules
        2. Make Your Design Work
          1. Navigation Must Be Clear, Consistent, and Redundant
          2. Break Out of the Box
          3. Place Content to Lead the Reader’s Eye
          4. Design for Speed
          5. Test in Multiple Browsers
      2. Jump-Starting Your Theme
      3. AutoTheme
        1. AT-Lite
          1. AutoTheme Extras
          2. AutoTheme Commands
          3. Manage AutoThemes
          4. Edit Templates
        2. AutoTheme Full
      4. Troubleshooting
        1. Error: xxxxxxxxx _NOTWRITABLE
        2. Border Appears Around All Images
        3. Administration Interface Is Distorted
      5. Next
    5. 16. Customizing Access
      1. Specialized Groups
        1. Determining Access
        2. Setting Permissions
      2. Access and Themes
        1. Coding with Permissions
        2. Dynamic Theme Elements
      3. Troubleshooting
        1. Trouble with Resource Identification
        2. Fatal Error: Cannot Redeclare... In Permissions Pop-Up
      4. Next
    6. 17. Case Study: Information Resource Site
      1. About the Site
      2. Applying What You’ve Learned
        1. Website Install and Preparation
        2. Core Module Setup
          1. Site Settings
          2. User Administration
          3. Admin Messages
          4. Banners
          5. Web Links
          6. FAQ
          7. Recommend Us
        3. Third-Party Module Installs and Setup
          1. Pagesetter
          2. pncPayPal Contribute
          3. Statistics
        4. Groups and Permissions
        5. Interface
      3. Seeing Results
      4. Next
    7. 18. Static XHTML and PostNuke
      1. Wrappers
        1. PostWrap
          1. General
          2. URL Security
          3. PostWrap URLs Block
        2. NukeWrapper
          1. NukeWraper URLs
          2. NukeWraper File Locations
          3. Other NukeWrapper Options
      2. XHTML Blocks
      3. Static PostNuke
      4. Troubleshooting
      5. Next
    8. 19. Dynamic PHP and PostNuke
      1. Combining XHTML and PHP
      2. Crash Course in PHP
        1. PHP Syntax
          1. All PHP Is Contained Within Markers That Bracket the Code
          2. Every PHP Statement Must End with a Semicolon
          3. PHP Ignores Whitespace and Line Breaks
          4. Line Indents Are Four Spaces
          5. PHP Is Case Sensitive, Sort Of
        2. Variables, Data Types, and Operators
          1. Variable Identifiers Must Begin with a Letter or Underscore
          2. Variable Names Are Always Preceded by $
          3. Variables Are Created When They Are Assigned a Value
          4. PHP Supports Standard Data Types
          5. PHP Supports Common Operators
        3. Writing Output
          1. Single Variables Can Be Echoed with Shorthand
          2. Single and Double Quote Differences
          3. Use Double Quotes to Output Strings
          4. Use Single Quotes to Output Strings
        4. Control Structures
        5. Commenting in PHP
          1. There Are Different Kinds of Comments
          2. Use Comments with PostNuke Code
      3. PHP in Themes
        1. Create New Theme Variables
        2. Generate XHTML Dynamically
        3. Generate CSS Dynamically
      4. Troubleshooting
      5. Next
    9. 20. Hacking PostNuke
      1. Rules to Follow
        1. Have a Plan
        2. Maintain Original Source
        3. Change as Little as Possible
        4. Test as You Go
        5. Document Changes
          1. Inline Comments
          2. Offline Documentation
          3. Public Release
        6. Use Existing Functions
        7. Beware of Global Changes
        8. Follow PHP Coding Standards
        9. Follow Local Coding Style
        10. Don’t Hack in Production
      2. Tools of Escape
        1. PostNuke Swiss Army Knife
        2. Broken Module/Theme Recovery
        3. PostNuke Install Archive
      3. Hacking Basics
        1. Directory Structure
          1. Root Folders
        2. Code Hunting
      4. Troubleshooting
      5. Next
    10. 21. General PostNuke Hacks
      1. Website Settings
        1. Change Title Display in Browser
        2. Append Dynamic Keywords to Static
        3. Create Description Metatag
        4. Fix Copyright Metatag Date
        5. Create Favicon Metatag
        6. Display Indigenous Language Names
        7. Add and Remove Tags from Allowed List
          1. Change References to Allowed Tags
      2. Block Hacks
        1. Apply Styles to Blocks
        2. Page/Module-Specific Blocks
      3. Troubleshooting
        1. Table 'xxxxx.nuke_module_vars' Doesn’t Exist
        2. Site Favicon Does Not Appear
      4. Next
  8. IV. Advanced PostNuke
    1. 22. News and Article Hacks
      1. News Article Display
        1. Theme-Based Topic Graphics
          1. Active Topics Page
          2. News Article Pages
          3. Submit News Preview
          4. Add Story Preview
          5. Topics Administration Menu
          6. Advanced Theme-Based Articles
        2. Article Title and Links
          1. Custom Article Title Style
          2. Separate Styles for Article Styles in News and Blocks
        3. Forcing Story Count on Homepage
          1. Removing User Choice
          2. Setting the Story Count
      2. News Article Submissions
        1. Changing Default “Articles” to “No Category”
        2. Removing Article Categories
        3. Adding Names to Anonymous Comments
      3. Troubleshooting
        1. Topic Icons Not Displaying
      4. Next
    2. 23. User System Hacks
      1. User Registration Hacks
        1. Requiring Optional Registration Fields
        2. Prompting Users to Remember Their Password
        3. Formatting the New User Email
      2. User System Hacks
        1. Requiring Fields in User Management
        2. Disabling/Enabling User Logins
          1. Creating Login Toggle
          2. Toggle Check at Login
      3. X-User
        1. Settings
        2. Messages Customization
        3. Approval
        4. User Blocks
        5. Incoming Users Hack
      4. Troubleshooting
      5. Next
    3. 24. Login System Hacks
      1. Login Block
        1. Customizing Labels
        2. Adding Text
        3. Adding Style
        4. Customizing Page Labels
        5. Customizing the Help Page
        6. Customizing the Help Email
      2. Login Process
        1. Changing Login/Logout Colors
        2. Changing Login/Logout Text
        3. Forcing Redirect Page After Login
        4. Adding Ads and Logos
        5. Adding a Timer Bar
      3. Troubleshooting
        1. Linefeed Characters Not Rendered
      4. Next
    4. 25. Multisites
      1. Multisites Basics
        1. Documenting Domains
        2. Documenting Tables
      2. Splitting One Site into Many
        1. Web Server Configuration
        2. PostNuke Install
        3. Creating Shared File Directories
        4. Setting Up whoisit.inc.php
        5. Duplicating config.php
        6. Duplicating Tables
        7. Duplicating Folders and Module Files
        8. Duplicating pntables.php
        9. Fixing config.php
      3. Combining Multiple Sites into One
        1. Web Server Configuration
        2. PostNuke Install
        3. Documenting Table Changes
        4. Editing pntables.php
        5. Removing Unneeded Tables
      4. Troubleshooting
        1. Wrong Parameters Folder Being Accessed
        2. Unable to Load Database Driver
        3. Shared User Logs into Blank Page
      5. Next
    5. 26. Case Study: Business Intranet
      1. About the Site
      2. Applying What You’ve Learned
        1. Website Install and Preparation
        2. Module Setup and Hacks
        3. Groups and Permissions
        4. Interface
      3. Seeing Results
      4. Final Words
  9. V. Appendixes
    1. A. Speed Up PostNuke
      1. Improvement Basics
      2. Light Speed PHP
      3. Accelerate Apache
      4. Additional Alacrity
      5. Troubleshooting
    2. B. PostNuke Modules List
    3. C. Glossary of Terms
    4. D. Web Resources
    5. E. PostNuke API