Advanced Joomla!.Pdf

Total Page:16

File Type:pdf, Size:1020Kb

Advanced Joomla!.Pdf www.it-ebooks.info For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. www.it-ebooks.info Contents at a Glance About the Author �������������������������������������������������������������������������������������������������������������� xvii About the Technical Reviewer ������������������������������������������������������������������������������������������� xix Acknowledgments ������������������������������������������������������������������������������������������������������������� xxi Introduction ��������������������������������������������������������������������������������������������������������������������� xxiii ■ Chapter 1: Streamlining the Authoring Process ����������������������������������������������������������������1 ■ Chapter 2: Customizing Joomla with Widgets�����������������������������������������������������������������25 ■ Chapter 3: Constructing a Dynamic Template �����������������������������������������������������������������45 ■ Chapter 4: Using Template Overrides ������������������������������������������������������������������������������97 ■ Chapter 5: Using JavaScript and Ajax to Dynamically Load Page Elements �����������������111 ■ Chapter 6: Joomla and Web Services ����������������������������������������������������������������������������131 ■ Chapter 7: Joomla Security Administration ������������������������������������������������������������������159 ■ Chapter 8: Joomla Database Administration and Configuration �����������������������������������185 ■ Chapter 9: Testing a Site with ApacheBench, JMeter, and Selenium ����������������������������211 ■ Chapter 10: Using Development Tools ���������������������������������������������������������������������������249 ■ Chapter 11: Creating Joomla Menus, Articles, and Categories with PHP ����������������������273 ■ Chapter 12: Creating Core Extensions ���������������������������������������������������������������������������293 ■ Chapter 13: Connecting Joomla and Facebook �������������������������������������������������������������337 ■ Chapter 14: Development and Deployment �������������������������������������������������������������������355 Index ���������������������������������������������������������������������������������������������������������������������������������377 v www.it-ebooks.info Introduction If you’ve opened this book, I imagine you already appreciate how easy Joomla! makes it for you to run your web site or blog. Like me, you may be astonished that the excellent Joomla! developers have created such a solid, professional content management system and then made it free for all the world to use. Similar to its open-source cousin WordPress, Joomla! has grown from being used on a few hundred rudimentary web sites to literally having millions of advanced site deployments. Joomla! has evolved to become such a comprehensive system that you can literally do anything on a Joomla! site that is possible on an expensive, custom web site. And most of the time, there is a free extension available that augments the Joomla! core to do exactly what you want—with your only investment being the time it takes to install and configure. If you’ve read my other book, Beginning Joomla!, you have already seen the possibilities available to you if you go beyond the basic features of Joomla!. This book will take you up to the next levels. Whether you’ve created a small Joomla! site that you want to polish into a gem or you run a huge site that is straining to make that next growth step, this book will show you how to push Joomla! to its limits and beyond. I have written the book so you can add tremendous capabilities to your Joomla! site whether you have any development training or not. It will cover everything from advanced server deployment to using sophisticated extensions to creating world-class templates. If you have a development background, the information and source code presented here will provide you with an advanced understanding of how the Joomla! system operates from a foundation level all the way up to using some of its cooler bells and whistles. If you’ve never written a line of code, as long as you can use a text editor as simple as Notepad, you can take advantage of most of the technology presented in this book. I included all the source code in the text of the book because I find my learning experience frustrated if I have to leave the text to go look for some repository to examine the actual code. I like the code to be right where I can see it in context. That said, I wouldn’t want you to have to tediously enter the numerous lines of source to get the various projects working. All the source code is available on the Apress web site and I have also created a project on Github at https://github.com/drahmel/Advanced-Joomla. I would love for you to fork the code and make enhancements. Joomla! has flourished because of the number of people that have made significant contributions to the project from code to templates to tutorials. The real strength of Joomla! is the community. I hope you’ll be one of us! xxiii www.it-ebooks.info CHAPTER 1 Streamlining the Authoring Process If you have been using Joomla to create and manage a web site, you’ve probably been amazed by the power and flexibility that it gives you. You’ve created an attractive and robust web site in the time it would have taken you to manually create a simple page. Now you’re ready to turbo-charge your site with advanced configuration and custom extensions. You want to add new content quickly and skirt some of the potholes on the road to Joomla mastery. For this expertise, you’ve come to the right place. The new features available in the Joomla line have made it possible to run a professional, high-traffic web site without forcing you to learn to program. You get literally tens of thousands of man-hours of development—all for free download. Even better, Joomla was written by programmers who have a keen understanding of the best ways to allow developers to extend the existing system without compromising the fundamentals and the security of the core framework. So you can do as much or as little customization to your site as you want. This may be preaching to the choir, but here are some of the awesome Joomla features that we will build upon in this book: • Templating system that is both robust and easy to use: The template system is in some sense the core of Joomla in that the wide variety of fantastic templates (both free and commercial) have allowed any web master to simply install Joomla and add a template to make a completely professional and elegant site. The templating system has been augmented in many ways to allow a Joomla site to have all of the variety and flexibility of a custom developed site (more of this will be covered in Chapter 3). • Content management: Joomla has some superior ways of managing content, including the ability to move hundreds of articles at a time or set the URL for one specific article. You can share content editing responsibilities by setting up an authorization system. Joomla also includes the more basic capabilities such as rich text editing, metadata entry, pagination, and more (advanced content administration will be covered in Chapter 8). • Extension system that allows all manner of customization: Joomla has one of the most robust and well-developed extension systems allowing modules, components, and plug-ins to extend the functionality of the web site. You may already know how to create your own simple extensions, but in this book, I’ll take you to the next level where you can create almost any functionality that you might need to add to your site (and for the non-programmer, you'll learn how to use third-party widgets in the next chapter). • Complete GUI Administrator interface: The Administrator interface is attractive and powerful. With each new Joomla version comes many refinements and revisions, and the management user interface has become consistent among the various Managers (Extension Manager, Content Manager, and so forth). 1 www.it-ebooks.info CHAPTER 1 ■ STREAMLINING THE AUTHORING PROCESS • Search Engine Optimization (SEO) features: The developers of Joomla have spent a great deal of effort to “bake-in” job SEO features so a Joomla web master receives optimizations that companies usually have to pay an expert to detail for them. Most of the common problems that plague custom-built sites are never an issue for sites built on Joomla. Joomla makes sure every page has a title, that the URLs are search-engine friendly (if the option is switched on), includes 301 redirect support to manage page rank, and a slew of other features (you’ll learn how to configure these features in Chapter 7). Although Joomla is a fantastic product, there is rarely any formal training to configure and use Joomla. That means that some of the most powerful features go unused or are used improperly. For many Joomla content creators, sometimes creating and adjusting the presentation of that content can be a challenging process. In this chapter, I’ll help you resolve some of these common problems and make the life of a Joomla site administrator much easier and more satisfying. More productivity with the system will increase both the quality and quantity of the site content because time won’t be consumed dealing with these obstacles. Once you gain a fundamental understanding of the basic technology underlying the Joomla system—knowledge
Recommended publications
  • Joomla Vs Drupal - Website Content Management Systems]
    [JOOMLA VS DRUPAL - WEBSITE CONTENT MANAGEMENT SYSTEMS] Joomla or Drupal? CMS’s are generally used to manage and control a large, dynamic collection of Web material (HTML documents and their associated images). And yes, they can take the web maintenance person out of the picture, as clients can update their own content, as and when required There are numerous Web CMS (Content Management Systems), and each one can ether fall into Open Source or proprietary. The ones that tend to stand out from the crowd, or should I say those that are more commonly used by small website design agencies are Word Press, Joomla and Drupal. So which one do you choose as a customer, or do you leave this to your web developer? Generally speaking, Joomla has a cleaner and smoother user interface; on the other hand Drupal is more flexible. Drupal and Joomla developers could argue all day,, so I’m going to go in as a bipartisan developer. • For starters both are easy to install and deploy, and many hosting companies have a one click install for these. • Both have plenty of modules and extensions you can use. • Joomla has a lighter learning curve than Drupal. • Joomla support SSL logins and SSL pages. Drupal not known to support it. • Server resources utilization is more compared to drupal © 2009 www.visualwebz.com Seattle Web Development Company [JOOMLA VS DRUPAL - WEBSITE CONTENT MANAGEMENT SYSTEMS] Summary of Joomla & Drupal Features • Limited technical knowledge need to get started. • Short learning curve • Cannot integrate other scripts etc. to your site • Generally you cannot create high-end sites, without additional investment of time.
    [Show full text]
  • The Joomla Brochure
    Joomla! The Flexible Platform Empowering Website Creators What is Joomla? Joomla! is an award-winning content management system (CMS) used to build beautiful web sites and powerful online applications. A global volunteer community of developers has been building and improving Joomla! since the first version was released in 2005. This immense effort has made Joomla! easy to use, stable and very secure. Joomla! is search engine and mobile friendly, multilingual, flexible and extensible. Offering unlimited design possibilities alongside industry leading security, Joomla! also has thousands of third party extensions and templates allowing further customization to meet specific needs. Best of all, Joomla! is an open source solution that is freely available to everyone. You can download Joomla! at downloads.joomla.org. A flexible system, easy to extend and customize Joomla! has thousands of verified third party extensions and high quality templates available, many of which are free. The layout and overrides system and built in extendable functions make it easy to create customized solutions. A wealth of free documentation and video training make learning Joomla! a breeze. Free forever open source software Joomla! is created, maintained and supported by a unique Volunteer Community who believe that it should be freely available to everyone, always. Joomla! is also surrounded by an extensive ecosystem of extension developers, designers and integrators. Search Engine Optimized out of the box Define your own MetaData and enjoy built in MicroData Support. Use the menu based work- flow to build your perfect URL structure. Super light core page weights and fast load times work alongside advanced caching capabilities to keep the engines happy and visitors engaged.
    [Show full text]
  • Desarrollo De Una Aplicación Web De Gestión Colaborativa Para Un Club De Triatlón
    Escola Tècnica Superior d’Enginyeria Informàtica Universitat Politècnica de València Desarrollo de una aplicación web de gestión colaborativa para un club de triatlón Trabajo Fin de Grado Grado en Ingeniería Informática Autor: Jose Enrique Pérez Rubio Tutor/a: Manuela Albert Albiol Victoria Torres Bosch 2016 - 2017 Desarrollo de una aplicación web de gestión colaborativa para un club de triatlón 2 Resumen Se ha desarrollado una intranet para sustituir el actual método de contacto y navegación de los usuarios el cual es un foro. La nueva aplicación cuenta con más funcionalidades que no estaban disponibles anteriormente. La página web está desarrollada en web2py, un framework de Python. Como patrón de diseño para la implementación se utilizará el conocido Modelo Vista Controlador (MVC), arquitectura estándar hoy en día el cual separa los datos y la lógica de las vistas del usuario. Este diseño facilita el desarrollo y mantenimiento de las aplicaciones. Palabras clave: triatlón, intranet, web2py, framework, Python. MCV Abstract This Intranet has been developed to replace the current users contact and navigation method, nowadays it is a forum. The new application has more functionality than previously available. This web page is developed in Python web2py’s framework. As design for the implementation we'll be using the Model View Controller (MVC), standard architecture because it separates the data and the logic from user's view. This design improves the development and maintenance of applications. Keywords: triathlon, intranet, web2py, framework, Python, MVC 3 Desarrollo de una aplicación web de gestión colaborativa para un club de triatlón Agradecimientos Antes de nada, me gustaría dar las gracias a: Mis padres, por alentarme a continuar mi educación y han trabajado siempre muy duro para poder brindarme la oportunidad que ellos nunca tuvieron para poder continuar mis estudios.
    [Show full text]
  • A Survey on Content Management System, Software's and Tools
    ISSN (Online) 2393-8021 IARJSET ISSN (Print) 2394-1588 International Advanced Research Journal in Science, Engineering and Technology ISO 3297:2007 Certified Vol. 4, Issue 11, November 2017 A Survey on Content Management System, Software's and Tools Madhura K Assistant Professor, Computer Science Department, Presidency University, Bangalore1 Abstract: This paper contains a survey of content management system, content management process, architecture and working. Also contains different types of tools and software. Content Management (CM) is the process for collection, delivery, retrieval, governance and overall management of information in any format. The term is typically used in reference to administration of the digital content lifecycle, from creation to permanent storage or deletion. The content involved may be images, video, audio and multimedia as well as text. A Content Management System (CMS) is a computer application that supports the creation and modification of digital content. It is typically used to support multiple users working in a collaborative environment. A Content Management System (CMS) is a tool for creating and managing digital content such as documents, text, web pages, videos and images.A content management system (CMS) is a software application or set of related programs that are used to create and manage digital content. CMSes are typically used for Enterprise Content Management (ECM) and Web Content Management (WCM). An ECM facilitates collaboration in the workplace by integrating document management, digital asset management and records retention functionalities, and providing end users with role-based access to the organization's digital assets. A WCM facilitates collaborative authoring for websites. ECM software often includes a WCM publishing functionality, but ECM webpages typically remain behind the organization's firewall.
    [Show full text]
  • A Method for a Small Web Site to Add Some Video Sharing Features
    LiU-ITN-TEK-A--08/013--SE A method for a small web site to add some video sharing features Juan Lucas Madurga Martín-Serrano 2008-01-31 Department of Science and Technology Institutionen för teknik och naturvetenskap Linköping University Linköpings Universitet SE-601 74 Norrköping, Sweden 601 74 Norrköping LiU-ITN-TEK-A--08/013--SE A method for a small web site to add some video sharing features Examensarbete utfört i datavetenskap vid Tekniska Högskolan vid Linköpings unversitet Juan Lucas Madurga Martín-Serrano Examinator Bengt Lennartsson Norrköping 2008-01-31 Upphovsrätt Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare – under en längre tid från publiceringsdatum under förutsättning att inga extra- ordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/ Copyright The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances.
    [Show full text]
  • Wordpress Vs. Joomla Which Is the Right Cms for You?
    WORDPRESS VS. JOOMLA WHICH IS THE RIGHT CMS FOR YOU? BY NICK SCHÄFERHOFF WHITE PAPER WHITE PAPER WordPress Vs. Joomla – Which is The Right CMS For You? The emergence of open-source content management systems has done Joomla - The Basics tremendous things to level the playing field online. Thanks to free software solutions, today literally anyone can start their own website, blog, business, and career on the internet. Of all available platforms, there is no debate that WordPress has done by far the best. Thefastest growing CMS for six consecutive years, the platform of choice for half of all CMS-based websites and powering more than a quarter of the entire internet -- the numbers speak for themselves. Yet, there are other solutions for building websites that are looking to Like WordPress, Joomla is an open-source content management knock WordPress off of its throne, one of which we recently highlighted system based mainly on PHP with an SQL database holding the in a white paper on the differences between Drupal and WordPress. This whole thing together. It derives its name from the Swahili word time we want to have a look at another CMS contender: Joomla. Jumla, which means all together or as a whole, which I quite like. Overall, Joomla is the second most popular content management To better understand the system used on internet. differences between the two The platform was established in 2005 as a fork from another CMS called Mambo and has overall been downloaded 68 million times, platforms, in this white paper I according to their website.
    [Show full text]
  • Open Source Content Management Software's Joomla and Drupal
    Open Source Content Management Software’s Joomla and Drupal: A Comparative Study Subhankar Ray Chowdhury Abstract: Content management is an effective tool for creating, collecting, organising and retrieving electronic document as well as web resources. Content management system can provide us various types’ web-based information service. At present open source is a popular choice in the field of Library and Information science. This paper covers two open source content management software i.e. Joomla and Drupal with their technical requirements, features, functions, service, importance etc. This paper will also give a complete overview about content management system with its advantage and need in organisation and dissemination of information in the library. Key Words: Content Management Software’s, Joomla, Drupal, comparative study Introduction: In today’s world library users are became more web savvy for the availability of internet. For that user expectations have also changed from traditional document to web based or e-documents. Now user’s wants training videos, presentations, white paper, scholarly article and much more. Blogs, wikis, social networking sites, twitter, RSS and other tools included as web 2.0 technologies have transformed the way content is created, developed, managed and shared. In recent time information in any form is typically referred to as content or digital content. Content management system is an effective tool for content or resource sharing. Libraries have also adopted these new technologies to provide services among all user groups. With the help of these content management systems libraries can collaboratively produce, share and disseminate information to the users. Along with that libraries can also create and develop a web site for their own.
    [Show full text]
  • Magento Vs Drupal Vs Joomla Vs Wordpress: a Comparison Here, We Are Going to Compare 4 Major Content Management Systems Available in the Market for Free
    Magento vs Drupal vs Joomla vs WordPress: A Comparison Here, we are going to compare 4 major content Management Systems available in the market for free. Now, since we are in the market ourselves and our team is also one that has a lot of experience in many different technologies, we think that the key point is that there is no one CMS that is better than another. It just depends on your situation and what is that you are trying to do with your website. And if you are looking for a Content Management System (CMS) to build your website, it’s highly possible that you have come across WordPress, Joomla, Drupal and Magento along with a few others during your due diligence. These are the four main software programs used to create websites and all have their pros and cons. But again, it all comes down to what your goals are and what kind of features you are trying to implement in your website. In this post, we’ll compare the programs to give you a stronger idea. What is a CMS? CMS is just an acronym for Content Management System. A Content Management System is a program that helps you manage a lot of content. For an instance, if you want to create a blog or just a website to showcase your products or services, you could use a CMS without having any extensive knowledge about coding and still be able to give the general public a user friendly and an easy-to-use website. Magento, Drupal, Joomla and WordPress are a clean fit to these needs.
    [Show full text]
  • Adopting Web Framework in Web-Application Development
    ADOPTING WEB FRAMEWORK IN WEB-APPLICATION DEVELOPMENT Case: Kehittäjän tieto- ja menetelmäpankki Lahti University of Applied Sciences LAHTI UNIVERSITY OF APPLIED SCIENCES Degree Programme in Business Information Technology Bachelor’s Thesis Spring 2012 Nguyen Minh Thanh Lahti University of Applied Sciences Degree Programme in Business Information Technology NGUYEN, MINH THANH: Adopting web framework in web application development Case: Kehittäjän tieto - ja menetelmäpankki Bachelor’s Thesis of Degree Programme in Business Information Technology, 40 pages, 3 pages of appendices Spring 2012 ABSTRACT Since the web found its true form, it is no longer static web pages without any user’s interaction. During the last few years, web applications have matured to the point that they can compete with full-fledged desktop applications. The support technologies have been growing significantly with the likes of Google web toolkit, web application frameworks, and CMS. This thesis is based on the real application of Tykes, which has been coded by hand in PHP for a few years. The approach is set to improved Tykes’s features and performance. As the result, it shows the benefits of implementing web frameworks in real life works. The action research method is used to answer the research questions in this study, in inductive approach. The researcher’s experience is compared to other relevant published sources. Example source codes are extracted from Tykes. The research results show an expected range. It confirms the positive effects of implementing web framework in web application development. Features which have been tested in Tykes are presented and compared to their originals. Some example source codes are extracted from the application to prove the results.
    [Show full text]
  • An Evaluation of Content Management Systems and the Effect They Are Having on How Websites Are Coded
    An evaluation of Content Management Systems and the effect they are having on how websites are coded Daniel Rhys Hardy April 2011 Abstract This report analyzes five popular Php Content management systems with the aim of discovering which is the most efficient in terms of creating and maintaining websites and their content. Content management systems are gaining an ever increasing role regarding website creation, and so discovering the most efficient system is a very important task to undertake. The systems analyzed are WordPress, Drupal, Joomla, CMSmadesimple and Silverstripe. Each system is tested in twelve key areas, considered to be of high importance in the web development field. These areas include; installation, graphical user interface, mobile friendliness, accessibility, search engine optimization, security, customization, system extensions, amount of programming knowledge required, performance and speed, W3C guideline compliance, and Support. The data obtained was gained from archives, articles, books, published reports and the author’s own extensive research, making use of readily available online validators and checkers. This report attempts to challenge the idea that the most popular content management systems are the most efficient, and indeed succeeds in proving this point. By combining results from the twelve criteria areas, it was possible to prove that the least popular system, Silverstripe, was actually the most efficient system. This point was slightly contradicted by the performance of the most popular system though, Wordpress, finishing narrowly second in front of CMSMadeSimple. with the second and third most popular systems, Drupal and Joomla, finishing fourth and fifth respectively. About The Author Having recently graduated with first class honors in Web Computing from the University of Wolverhampton, Daniel considers himself well educated in the web development field.
    [Show full text]
  • Web Design and Implementation
    Web design and implementation Web design • It’s another type of publishing – Your web site is you shop window –people will judge your company on it – Web publishing is no different from other types of publishing – Spelling, grammar, point size, broken links, incorrect captions – Social networking sites make this available to all • Get the domain name right – Inventive: business.com vs PlentyOfFish (dating site) • Design is important – But functionality more so – Integrate good design with backend databases • http://www.webpagesthatsuck.com – http://www.dokimos.org/ajff/ 2/14 Web design mistakes • Ego: Believing people care about you and your website – Why are they looking at your site? – What are they trying to do? – Do you help then achieve THEIR goals? • Can't figure out what your website is about in less than four seconds – http://www.genicap.com/Site/ • Contrast Contrast Contrast • Mystery Meat – Navigation you have to roll over – Zero intelligible content – http://www.osbrinkagency.com/ • Too much stuff – http://www.arngren.net/ 3/14 More Common mistakes • Huge images Useless Title Zero intelligible content • Distracting colour schemes Refuses to work with IE • Flashing gifs, scrolling text Only works with IE • Music Requires Flash • Unclear navigation Assumes screen size • Unreadable Assumes font size • Cluttered Contains errors www.webpagesthatsuck.com 4/14 Navigation • Navigation is important – Make the navigation clear – Three clicks maximum to get anywhere – Hard when Sainsbury’s have 25,000 line items – Consistent position/action
    [Show full text]
  • Introduction to Web Content Management Systems Site Development - DGMD E-25
    Introduction to Web Content Management Systems Site Development - DGMD E-25 Week 2: Installing and Configuring Joomla Professor Jen Kramer Agenda . CMS terminology, including how it all works together (powerpoint) . Installing Joomla on SiteGround . Tour of Joomla and getting content into the system . JCE (the Joomla Content Editor), images, video . Backups!!!! Agenda CMS: Content Management System . A web content management system[5] (web CMS) is a bundled or stand- alone application to create, manage, store and deploy content on Web pages. Web content includes text and embedded graphics, photos, video, audio, and code (e.g., for applications) that displays content or interacts with the user. A web CMS may catalog and index content, select or assemble content at runtime, or deliver content to specific visitors in a requested way, such as other languages. Web CMSs usually allow client control over HTML-based content, files, documents, and web hosting plans based on the system depth and the niche it serves. http://en.wikipedia.org/wiki/Content_management_system#Web_content_management_system Static HTML vs. CMS . Static HTML: a series of individual documents HTML, CSS, JavaScript files all linked together Want a nav change? Change every page on the site. CMS: Look Ma, no pages! Every “page” generated on the fly, at the server request. Pulls together content, theme, navigation, and additional functionality. Can happen for every request for that “page” or can cache the results for improved performance. Make one nav change, all “pages” updated immediately Creating static HTML vs CMS sites . Static HTML: editor Your editor constructs and helps to link to each page .
    [Show full text]