Advanced Joomla! Dan Rahmel. Apress*

Similar documents
Full Stack Web Developer

COPYRIGHTED MATERIAL. Acknowledgments...v Introduction... xxi

Full Stack Web Developer

Static Webpage Development

Using Joomla O'REILLY. foreword by Louis Landry. Ron Severdia and Kenneth Crowder. Taipei Tokyo. Cambridge. Beijing. Farnham Kbln Sebastopol

Contents. xvii xix xxiil. xxvii

PHP & PHP++ Curriculum

"Charting the Course... SharePoint 2007 Hands-On Labs Course Summary

Modules, Details & Fees. Total Modules- 25 (highest in Industry) Duration- 2-5Months Full Course Fees- 30, (Pay in two Installments *2)

Techno Expert Solutions An institute for specialized studies! 0.20 hrs hrs. 2 hrs

2 Webpage Markup with HTML HTML5 Page Structure Creating a Webpage HTML5 Elements and Entities

All India Council For Research & Training

IN PRACTICE. Daniele Bochicchio Stefano Mostarda Marco De Sanctis. Includes 106 practical techniques MANNING

Get in Touch Module 1 - Core PHP XHTML

Pro JavaScript. Development. Coding, Capabilities, and Tooling. Den Odell. Apress"

Helpline No WhatsApp No.:

"Charting the Course... WebSphere Portal 8 Development using Rational Application Developer 8.5. Course Summary

Contents. Acknowledgments

Mastering phpmyadmiri 3.4 for

DevShala Technologies A-51, Sector 64 Noida, Uttar Pradesh PIN Contact us

CHAPTER 1: A REFRESHER ON WEB BROWSERS 3

The 4D Web Companion. David Adams

Flask Web Development Course Catalog

The Definitive Guide to. NetBeans Platform 7. Heiko Bock. Apress*

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS. INTRODUCTION TO INTERNET SOFTWARE DEVELOPMENT CSIT 2230 (formerly CSIT 2645)

Introduction to PHP. Handling Html Form With Php. Decisions and loop. Function. String. Array

How to Guide. Create a Data Set. Version: Release 3.0

Web development using PHP & MySQL with HTML5, CSS, JavaScript

A Web-Based Introduction

I, J, K. Eclipse, 156

Selenium Testing Course Content

Selenium. Duration: 50 hrs. Introduction to Automation. o Automating web application. o Automation challenges. o Automation life cycle

Pro ASP.NET MVC 2 Framework

Detects Potential Problems. Customizable Data Columns. Support for International Characters

Jim Jackson II Ian Gilman

Fundamentals of Web Development. Web Development. Fundamentals of. Global edition. Global edition. Randy Connolly Ricardo Hoar

Oracle APEX 18.1 New Features

PHP / MYSQL DURATION: 2 MONTHS

Unit 4 The Web. Computer Concepts Unit Contents. 4 Web Overview. 4 Section A: Web Basics. 4 Evolution

Foundation XML and E4X for Flash and Flex

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Joomla

Django with Python Course Catalog

PHP: Software Training Employability Programme

AIM. 10 September

CHAPTER 1: GETTING STARTED WITH ASP.NET 4 1

CONTENTS IN DETAIL INTRODUCTION 1 THE FAQS OF LIFE THE SCRIPTS EVERY PHP PROGRAMMER WANTS (OR NEEDS) TO KNOW 1 2 CONFIGURING PHP 19

An Introduction to JavaScript & Bootstrap Basic concept used in responsive website development Form Validation Creating templates

PHP WITH ANGULAR CURRICULUM. What you will Be Able to Achieve During This Course

Course Curriculum Accord info Matrix Pvt.Ltd Page 1 of 7

Foundations of Python

Florian Müller Jay Brown Jeff Potts. FOREWORDS BY Richard J. Howarth John Newton MANNING.

Create-A-Page Design Documentation

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

Real Life Web Development. Joseph Paul Cohen

Contents. Contents... XI

foreword xvii preface xix acknowledgments xxi about this book xxiv about the title xxviii about the cover illustration

"Charting the Course... Intermediate PHP & MySQL Course Summary

Full version is >>> HERE <<<

HTML5 in Action ROB CROWTHER JOE LENNON ASH BLUE GREG WANISH MANNING SHELTER ISLAND

"Charting the Course... MOC A: Developing with the SharePoint Framework. Course Summary

Beginning ASP.NET. 4.5 in C# Matthew MacDonald

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University

Introduction: Manual Testing :

Web Premium- Advanced UI Development Course. Duration: 08 Months. [Classroom and Online] ISO 9001:2015 CERTIFIED

Full Stack Web Developer Nanodegree Syllabus

Software. Full Stack Web Development Intensive, Fall Lecture Topics. Class Sessions. Grading

"Charting the Course... MOC /2: Planning, Administering & Advanced Technologies of SharePoint Course Summary

Blog site (cont.) theme, 202 view creations, 205 Browser tools, 196 Buytaert, Dries, 185

Diploma in Web Development Part I

Content Management Systems. Week 14 LBSC 671 Creating Information Infrastructures

Create Web Charts. With jqplot. Apress. Fabio Nelli

Web 2.0, AJAX and RIAs

Basics of Web. First published on 3 July 2012 This is the 7 h Revised edition

COPYRIGHTED MATERIAL

Enterprise Content Management Systems on the example of Alfresco

Creating Web Mapping Applications. Nikki Golding

BrownNow A Current Events Application for Brown University. Craig Hawkins Advisor: Stan Zdonik Masters Project Report, Brown University 2017

CS50 Quiz Review. November 13, 2017

AD406: What s New in Digital Experience Development with IBM Web Experience Factory

Checklist for Testing of Web Application

"Charting the Course to Your Success!" MOC Microsoft SharePoint 2010 Site Collection and Site Administration Course Summary

Basics of Web Technologies

PHP. MIT 6.470, IAP 2010 Yafim Landa

1 CUSTOM TAG FUNDAMENTALS PREFACE... xiii. ACKNOWLEDGMENTS... xix. Using Custom Tags The JSP File 5. Defining Custom Tags The TLD 6

Ampliación de Bases de Datos

[PACKT] open source^ Kohana 3.0. Beginner's Guide. Develop professional web applications with Kohana. Jason D. Straughan

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

Executive Summary. Performance Report for: The web should be fast. Top 1 Priority Issues. How does this affect me?

Integrity attacks (from data to code): Malicious File upload, code execution, SQL Injection

<Insert Picture Here>

Practical Node.js. Building Real-World Scalable Web Apps. Apress* Azat Mardan

Mobile Site Development

Table of Contents. Chapter 2: Building Your First Application 49. Chapter 1: Deploying web2py 7

Installing and Administering a Satellite Environment

Manual for CKForms component Release 1.3.1

Selenium Online Training Brochure

PHP and MySQL Programming

(System) Integrity attacks System Abuse, Malicious File upload, SQL Injection

DOT NET Syllabus (6 Months)

AURA ACADEMY Training With Expertised Faculty Call us on for Free Demo

Transcription:

Advanced Joomla! Dan Rahmel Apress*

Contents About the Author About the Technical Reviewer Acknowledgments Introduction xvii...xix xxi xxiii Chapter 1: Streamlining the Authoring Process 1 Setting the Editor Style Sheets 2 Setting Up an Article "Staging" Category 5 Anatomy of the Article Display Process 7 Configuring Article Display 7 Article Settings 8 Global Settings 9 Menu Settings 11 Title of the Home Page 13 Article Voting 14 Summary of Article Presentation 15 URLs and Their Challenges 16 Puzzling Out a URL 16 Examining the SEFURL 18 Configuring the Search Results Page 19 Conclusion 23 Chapter 2: Customizing Joomla with Widgets 25 Creating a Custom HTML Module 26 Adding Custom Widgets to Your Site 27 vii

Implementing the Google Calendar 28 Adding a Google Map to Your Joomla Site 31 Adding a Google Translate Web Element 33 Adding Chat to Your Site with Chatango 35 Adding the Survey Monkey Widget to Your Site 36 Adding a Related Content Module to Your Site 39 Using the PayPal Storefront 40 Summary 43 Chapter 3: Constructing a Dynamic Template 45 Designing the Template 46 Setting Goals for the Template 47 Page Types Displayed by a Template 48 Drafting the Template with a Spreadsheet 48 Implementing the Template 52 Create the Index and Template Details Files 52 Editing the Template on a Remote Server with jedit 54 Examining the Template Foundation 56 Augmenting the Basic Template 58 Creating the Head Section 58 Create the Body Section 63 Creating a Multi-Column Body 63 Using Template Parameters 68 Selecting Among Multiple CSS Files in a Single Template 72 Optimizing the Dynamic Template for Mobile, Tablet, and Other Viewing Platforms 73 Using Responsive Design for Mobile Browsers 74 General Guidelines for Handheld Templates 75 Refining the Dynamic Template 80 Avoiding Common Template Pitfalls 81 Creating a Shared Template Shell to Share Resources in a Multi-Template Site 82 Adopting Basic Style Sheet Best Practices 83 Using Page Class Suffix for Custom Styles 86 viii

Using CSS Sprites 87 Using Template Testing Tools 91 Conclusion 95 Chapter 4: Using Template Overrides 97 What a Template Override Can Do 97 Including a Custom Module in a Template Package 98 Creating a Custom Login Module 99 Including a Custom Component in a Template Package 103 Modifying the Offline page 105 Adding a Custom 404 Page 109 Conclusion 110 Chapter 5: Using JavaScript and Ajax to Dynamically Load Page Elements 111 How Ajax Changes Web Interaction 111 Dynamic Loading or Lazy Loading of Content 113 Injecting JavaScript Libraries into a Page 115 Implementing Dynamic JavaScript Loading 116 Creating the Article Injector Component 118 Creating the Directory Structure and the Installation file 119 Constructing the Component View 120 Coding the Ajax JavaScript 122 Building the Controller 124 Adding Lazy Loading of Images 127 Ajax Implementation Particulars 128 InnerText and TextContent 128 Compatibility Between JavaScript Libraries 129 Creating the Entries Returned from the Ajax Request 130 Conclusion 130 ix

Chapter 6: Joomla and Web Services 131 Web Services Overview 131 Using a Web Service with an API 132 Some Available Free API Services 135 Using Yahoo Finance with Joomla 136 Creating a Simple File Cache 136 Creating the Yahoo Finance Module 138 Adding Tweets to Your Site 140 Accessing the Twitter API 141 Formatting the Tweets Within a Module 142 Bing News API 147 Adding a Flickr Mashup 152 Conclusion 157 Chapter 7: Joomla Security Administration 159 Implementing Site Security and Server Security 159 Setting up Site Security 160 Creating a Sample Group with the Joomla User Manager 161 Protecting Against Automated Attacks 168 Ensuring Secure Cookie Settings 170 Configuring Server Security 171 Selecting the Type of Security Setup 172 Security Configuration 172 Refining Htaccess for Joomla 173 Blocking Specific IP Addresses 175 Implementing SSL on Your Server 178 Summary 183 Chapter 8: Joomla Database Administration and Configuration 185 SQL (Structured Query Language) Primer 186 Examining Some Simple Query Examples 186 Using More Complex Queries for Reporting 188

Using phpmyadmin (PMA) for Database Administration 189 Setting Up PMA 190 Using PMA to Examine the Joomla Database 192 Using the Query by Example Interface for Reports 194 Setting Up Special PMA Tables 196 Generating a PDF of the Joomla Schema 197 Using PMA to Convert Joomla Tables to InnoDB 200 Scripting the Conversion of Joomla Tables to InnoDB 201 Managing the MySQL Database Server 202 Using PMA to Back Up Your Joomla Database 202 Using PMA to Search the Entire Database for Text 203 Synchronizing Remote Databases 204 Refining the MySQL Server Configuration 207 Tracking Database Changes 208 Conclusion 210 Chapter 9: Testing a Site with ApacheBench, J Meter, and Selenium 211 Testing Overview 212 Functional Testing 212 Integration Testing 212 Regression Testing 213 Unit Testing 213 Performance Testing 213 Understanding Testing Terminology 214 Using ApacheBench for Performance Testing 215 Introducing the Selenium Suite 217 Selenium IDE 218 Selenium Core 219 Selenium Server (Formerly Selenium Remote Control or RC) 220 Selenium Grid 220 xi

Using the Selenium IDE on a Joomla Site 220 Installing Selenium IDE on Firefox 221 Recording Tests 221 Modifying the Script 224 Examining the Script Code 225 Creating and Running a Test Suite 226 Embedding JavaScript for a Dynamic Registration Test 228 Refining the Selenium Tests 231 Other Selenium IDE Options 231 Working Through Selenium's Limitations 232 Selenium Extensions 232 Adding Language Formats 232 Setting up Selenium for Flash Recordings 233 Modifying and Customizing the Selenium IDE 233 Using Selenium Core 233 Using Apache JMeter 234 Creating a Simple Load Test 235 Using the Proxy Server to Capture a Web Session 245 Editing a JMeter test 247 Conclusion 247 Chapter 10: Using Development Tools 249 Using Git for Source Code Control (SCC) 249 Advantages of Source Control 250 Version Control Is Like a Recorder of Deeds 252 Creating a Repository and Committing Files to Git 253 Some Basic SCC Terminology 255 Using Git Gui 256 Using Git to Develop Joomla Extensions 263 xii

Using Eclipse IDE and XDebug for Joomla Development 263 Install XDebug on Your Web Server 266 Configure Eclipse to Communicate with XDebug 268 Eclipse Tips and Tricks 268 Using the NetBeans IDE 269 Using the jedit for Joomla Development 269 Joomla Developer Site Overview 270 Conclusion 271 Chapter 11: Creating Joomla Menus, Articles, and Categories with PHP 273 Creating an Article Through Code 274 Creating the Main Component File 275 Building the Controller 276 Creating a Model for Data Access 280 Creating the view.html.php File 282 Creating the View Template 284 Creating a Menu Through Code 288 Some Examples of Automated Menu Creation 288 Adding the insertmenuo Method to a Controller 289 Creating a Category Through Code 290 Conclusion 291 Chapter 12: Creating Core Extensions 293 Creating the Article Historian component 293 Duplicate the Joomla Article Table 294 Adding the Trigger to Store the Old Revision 295 Creating the Article Historian component 297 Creating the Form Builder 305 Examining the Form Builder architecture 305 Creating the Form Builder administrator component 307 Creating the Form Builder Ajax component 313 Creating the Form Builder plugin 315 xiii

On-the-fly image generation with GD 320 What are the Advantages of Server-Side Chart Generation? 321 Creating a PHP Color Name List 322 Checking for GD 324 Create the cchart class 325 Overall Design of the Class 326 Creating the Color Routines 327 Creating the Text Renderer 328 Creating the Grid Renderer 328 Creating the Bar Gradient 329 Creating the Bar Renderer 330 Creating the Core Chart routine 330 Generating Sample Data 332 Creating the Joomla Component Wrapper 332 Embedding the Image 334 Conclusion 336 Chapter 13: Connecting Joomla and Facebook 337 Create a Facebook Fan Page 337 Create a Facebook App 339 Adding Facebook OG Tags 340 Examining the Basic OG Tags 341 Create an OG Tags Module 342 Using and Customizing the Facebook Like Button 346 Add the Facebook Like Button 346 Creating Multiple Like Buttons on the Same Page 347 Adding Facebook Comments 348 Understanding Facebook Insights 348 Programming to Facebook Topic Pages 350 Facebook Like Button vs. Share Button 353 Conclusion 354 xiv

Chapter 14: Development and Deployment 355 Optimizing the Development Environment 355 Using Apache Virtual Hosts to Host Multiple Sites on One Server 357 Error Display Settings and Overrides 360 Using XHProf for Execution Profiling 361 Profiling a Joomla Page Execution 363 i Optimizing the Production Environment 366 Moving the Joomla Configuration File 366 Analyzing the Server Setup 367 Setting a Server Expire for Images 370 Performing Custom Redirects 371 Setting Up a Memcache Server 371 Using the Joomla Autoloader 373 Conclusion 374 Thank You 375 Index 377