Mastering Joomla! 1.5 Extension and Framework Development

James Kennard

There is a newer version of this book available - Mastering Joomla! 1.5 Extension and Framework Development Second Edition
eBook: $26.99
Formats: PDF, PacktLib, ePub and Mobi formats
$14.84 save 45%!
Print book: $49.99
$44.99 save 10%!
Print + eBook bundle: $76.98
Includes free access to the book on PacktLib
$49.04 save 36%!
Free Shipping! UK, US, Europe and selected countries in Asia.
This book can also be purchased from:
Overview
Table of Contents
The Author
Reviews
Downloads

 

  • In-depth guide to programming Joomla!
  • Design and build secure and robust components, modules and plugins
  • Includes a comprehensive reference to the major areas of the Joomla! framework

 

Book Details

Language : English
Paperback : 488 pages [ 235mm x 191mm ]
Release Date : November 2007
ISBN : 1847192823
ISBN 13 : 978-1-847192-82-0
Author(s) : James Kennard
Topics and Technologies : All Books, Joomla!, Open Source, Web Development

Back to BOOK PAGE

Table of Contents

Preface
Chapter 1: Introduction to Joomla!
Chapter 2: Getting Started
Chapter 3: The Database
Chapter 4: Component Design
Chapter 5: Module Design
Chapter 6: Plugin Design
Chapter 7: Extension Design
Chapter 8: Rendering Output
Chapter 9: Customizing the Page
Chapter 10: APIs and Web Services
Chapter 11: Error Handling and Security
Chapter 12: Utilities and Useful Classes
Appendix
Index
  • Chapter 1: Introduction to Joomla!
    • Overview
    • History
    • Requirements
    • Extension Types and Their Uses
      • Components
      • Modules
      • Plugins
      • Languages
      • Templates
      • Tools
    • Extension Manager
    • JED and JoomlaCode.org
    • Development Tools
      • J!Code
      • J!Dump
    • Summary
  • Chapter 2: Getting Started
    • The Application and Document
    • Request to Response
      • The Process
    • URI Structure
    • Directory Structure
    • Libraries
    • A Quick Lesson in Classes
      • Inheriting from JObject
    • Working with the Request
    • The Factory
    • The Session
    • Predefined Constants
    • Multilingual Support
      • UTF-8 String Handling
    • Coding Standards
      • phpDocumentor
    • Summary
  • Chapter 3: The Database
    • The Core Database
    • Extending the Database
      • Table Prefix
      • Schema Conventions
        • Common Fields
        • Schema Example
      • Dealing with Multilingual Requirements
    • Querying the Database
      • Writing Queries
      • Getting Results
        • loadResult( ) : string
        • loadResultArray( numinarray : int=0 ) : array
        • loadAssoc( ) : array
        • loadAssocList( key : string='' ) : array
        • loadObject( ) : stdClass
        • loadObjectList( key : string='' ) : array
        • loadRow( ) : array
        • loadRowList( key : int ) : array
      • Using ADOdb
    • JTable
      • CRUD
      • Manipulating Common Fields
        • Publishing
        • Hits
        • Checking Out
        • Ordering
        • Parameter Fields
        • Date Fields
    • Summary
  • Chapter 4: Component Design
    • Setting up a Sandbox
    • The Structure
    • The MVC
      • Building a Model
      • Building a View
      • Building a Controller
      • Building an MVC Component
    • Rendering Other Document Types
      • Feed
      • PDF
      • Raw
    • Dealing with Component Configuration
    • Elements and Parameters
      • Extending JElement
      • Using Custom JElement Classes
    • Help Files
    • Routing
    • Packaging
      • XML Manifest File
      • SQL Install and Uninstall Files and Queries
      • Install and Uninstall Files
    • Summary
  • Chapter 5: Module Design
    • Setting Up a Sandbox
    • First Steps
      • Standalone Modules
      • Modules and Components Working Together
      • Frontend and Backend Module Display Positions
    • Module Settings (Parameters)
    • Helpers
    • Layouts (Templates)
      • Media
    • Translating
    • Packaging
      • XML Manifest File
    • Summary
  • Chapter 6: Plugin Design
    • Setting Up a Sandbox
    • Events
    • Listeners
      • Registering Listeners
      • Handling Events
    • Plugin Groups
      • Authentication
      • Content
      • Editors
      • Editors-xtd
      • Search
      • System
      • User
      • XML-RPC
    • Loading Plugins
    • Using Plugins as Libraries (in Lieu of Library Extensions)
    • Translating Plugins
    • Dealing with Plugin Settings (Parameters)
    • Packaging
      • XML Manifest File
      • File Naming Conflicts
    • Summary
  • Chapter 7: Extension Design
    • Supporting Classes
    • Helpers
    • Using and Building getInstance() Methods
    • Using the Registry
      • Saving and Loading Registry Values
  • The User
    • User Parameters
  • The Session
  • The Browser
  • Assets
  • Summary
  • Chapter 8: Rendering Output
    • The joomla.html Library
      • Behavior
      • Email
      • Grid
      • Image
      • List
      • Menu
      • Select
    • Building Component HTML Layouts (Templates)
      • Iterative Templates
    • Component Backend
      • Admin Form
      • Toolbar
      • Sub-Menu
    • Itemized Data
      • Pagination
      • Ordering
      • Filtering and Searching
    • Summary
  • Chapter 9: Customizing the Page
    • Application Message Queue
    • Redirects
      • Component XML Metadata Files and Menu Parameters
    • Using Menu Item Parameters
    • Modifying the Document
      • Page Title
      • Pathway/Breadcrumb
      • JavaScript
      • CSS
      • Metadata
      • Custom Header Tags
    • Translating
      • Translating Text
      • Defining Translations
      • Debugging Translations
    • Using JavaScript Effects
      • JPane
      • Tooltips
      • Fx.Slide
    • Summary
  • Chapter 10: APIs and Web Services
    • XML
      • Parsing
      • Editing
      • Saving
    • AJAX
      • Response
      • Request
    • LDAP
    • Email
    • File Transfer Protocol
    • Web Services
    • Building a Web Service (XML-RPC Plugin)
    • Summary
  • Chapter 11: Error Handling and Security
    • Errors, Warnings, and Notices
      • Return Values
      • Customizing Error Handling
    • Dealing with CGI Request Data
      • Preprocessing CGI Data
      • Escaping and Encoding Data
        • Escaping and Quoting Database Data
        • Encode XHTML Data
      • Regular Expressions
        • Patterns
        • Matching
        • Replacing
    • Access Control
      • Menu Item Access Control
      • Extension Access Control
    • Attacks
      • How to Avoid Common Attacks
        • Using the Session Token
        • Code Injection
        • XSS (Cross Site Scripting)
        • File System Snooping
      • Dealing with Attacks
        • Log Out and Block
        • Attack Logging
        • Notify the Site Administrator
    • Summary
  • Appendix
    • Classes
      • JObject
        • Properties
        • Constructors
        • Methods
      • JUser
        • Properties
        • Constructors
        • Methods
      • JModel
        • Properties
        • Constructors
        • Methods
      • JView
        • Properties
        • Constructors
        • Methods
      • JController
        • Properties
        • Constructors
        • Methods
      • JTable
        • Properties
        • Constructors
        • Methods
      • JError
        • Methods
      • JDocument
        • Properties
        • Constructors
        • Methods
      • JApplication
        • Properties
        • Constructors
        • Methods
      • JURI
        • Properties
        • Constructors
        • Methods
      • JLanguage
        • Properties
        • Constructors
        • Methods
      • JLanguageHelper
        • Methods
      • JText
        • Methods
      • JElement
        • Properties
        • Constructors
        • Methods
      • JParameter
        • Properties
        • Constructors
        • Methods
      • JCache
        • Properties
        • Constructors
        • Methods
      • JMail
        • Constructors
        • Methods
      • JMailHelper
        • Methods
      • JFactory
        • Methods
      • JRegistry
        • Properties
        • Constructors
        • Methods
      • JSession
        • Properties
        • Constructors
        • Methods
      • JRoute
        • Methods
      • JMenu
        • Properties
        • Constructors
        • Methods
      • JPathway
        • Properties
        • Methods
      • JDatabase
        • Properties
        • Constructors
        • Methods
    • Parameters (Core JElements)
    • Configuration
Back to BOOK PAGE

James Kennard

James Kennard is a computer programmer. He has worked with various PHP and MySQL applications, since 2002. He quickly discovered Mambo/Joomla! because of its flexible extension manager. James currently maintains one open-source Joomla! component, which has been translated into over fifteen languages. Moreover, he has plans to build two more open-source components. Examples of his work can be found on his personal website www.webamoeba.co.uk.

Sorry, we don't have any reviews for this title yet.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Find your book in our support section to find errata and to download code samples.

What you will learn from this book

 

  • Joomla!'s directory and URI structure along with a brief overview of its libraries
  • Joomla's common classes, variables and constants crucial for creating Joomla! extensions
  • Extending the database, following conventions for database schema, and common fields
  • Storing common types of data in standard fields and dealing with multilingual requirements.
  • Getting data from the Joomla! database
  • Using the JTable class to display and edit tables of cells
  • Designing components using the MVC design pattern
  • Configuring the component and its various elements and parameters.
  • Packaging components with the required install and uninstall files
  • Getting modules and components to work together
  • Writing, loading, and translating plugins
  • Working with Joomla!'s registry
  • Working with the User, Session, and Browser classes
  • Render output and maintain consistency throughout the application
  • Controlling paging of lists
  • Using JavaScript effects from the mootools librarys included with Joomla!
  • Creating and using Web Services in Joomla!
  • Handling errors, warnings and notices
  • Building secure Joomla! extensions
  • Working with dates, arrays, tree structures and other Joomla! utility classes
  • An in-depth reference guide to the most significant parts of the Joomla! framework

 

Special Offers

PacktLib gives you access to this and 600+ other titles with an annual or monthly subscription.

Annual subscription:

$220.00 per annum

Monthly subscription:

$21.99 per month

Discount Offer

+ Buy this book with Learning Joomla! 1.5 Extension Development and get 25% discount on both

 

In Detail

Special eBook Discount Offer

+

Buy 'Mastering Joomla! 1.5 Extension and Framework Development' with 'Joomla! 1.5 Top Extensions Cookbook' and get 50% off both the eBooks. Just add both the eBooks to your shopping cart and enter 'd5mjdeeb' in the 'Enter Promotion Code' field. Click 'Add Promoitonal Code'  and the discount will be applied.

Joomla! is the world's hottest open-source content management system, and the winner of the 2006 Open Source CMS Prize. Out of the box, Joomla! does a great job of managing the content needed to make your website sing. But for many people, the true power of Joomla! lies in its application framework that makes it possible for thousands of developers around the world to create powerful add-ons and extensions. Many companies or organizations have requirements that go beyond what is available in the basic Joomla! package or in a freely available extension. Thankfully, Joomla! offers a powerful application framework that makes it easy for developers to create sophisticated add-ons that extend the power of Joomla! into virtually unlimited directions.

If you use PHP programming to extend or customize Joomla!, this book is essential reading. If you feel that you've mastered the basics of creating Joomla! extensions, then this book will take you to the next level. Packed with expert advice on all aspects of development with Joomla!, you will learn about best-practice design and coding for Joomla! components, modules, plugins and other extensions.

You will also learn about customizing the page output, using JavaScript effects, making use of Web Services from within Joomla! and ensuring that your code is secure and error-free.

A unique and comprehensive reference to the main areas of interest within the Joomla! framework is also included in the book.


Packed with expert advice on all aspects of programming with Joomla!, this book is an invaluable reference guide you will turn to again and again in your Joomla! development tasks.

Approach

Packed with expert advice and tips, this book is an invaluable reference guide that you will turn to again and again as you work with Joomla!

Who this book is for

PHP developers who want to understand how Joomla! works with a view to advanced customization or extension development, and want to learn how to work with the Joomla! framework.

Are there no books available that are right for you at the moment? How about signing up to our newsletter to keep up to date?
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Sort A-Z