Forgot your password?
typodupeerror
Book Reviews

+ - Joomla! 1.5 Multimedia? Surely not possible ...

Submitted by Sparky Anduril
Sparky Anduril (1728072) writes "In this book author Allan Walker writes to inform Joomla! web site administrators and developers how to enrich their web sites with the inclusion of multimedia. And be in no doubt, this book is not for novices. A decent understanding of Joomla! will be required for you to benefit from this book. But all-in-all, whether you are an experienced Joomla! administrator but fear to go where multimedia gremlins tread or someone with knowledge of video and audio but having little idea how to integrate that into your Joomla! website, this book will give you a solid understanding and ability to enable you to embed multimedia in your web site using a range of techniques and Joomla! extensions.

I do have one major gripe about this book, however: the author over-utilizes the word utilize, when English has a perfectly utilizable word which actually means what he wants to say, vis. "use" and I wish technical writers would keep it simple and utilize the simple word rather than the fancy word which they mistakenly think makes them sound more intelligent! So, moan over, let's plunge into the contents of the book...

Chapter 1 provides an overview of multimedia (what is it?) and Joomla! (why that's needed when the book is aimed at Joomla! admins I don't know!) and then talks about where multimedia may be included in your site. The chapter is a bit repetitive and hence could have been shorter, but provides a useful foundation for what comes next. It also includes a timely reminder about web site accessibility...

Chapter 2 talks about how to manage media on the site — using the Joomla! Media Manager, an ftp programme or a Joomla! extension. A bit basic, but in case you're a site admin with little experience in this area it's fairly essential stuff.

Chapter 3 was the biggest surprise of the book, but nonetheless a useful addition. It talks about text. "Text?" I hear you say. "What place does 'text' have in a book about multimedia (apart from as the medium by which information is transmitted to my brain)?" And in fact the first part of the chapter does seem like the author is riding his hobby horse to let us know what he thinks about fonts and CSS and so forth which, while relevant to any web site, are not really relevant to multimedia. But the chapter does include information about available text and typography extensions for Joomla! which will be news to many and may just solve your typographical problem.

And if you buy this book and read up to chapter 3 and complain it's a bit basic and tedious, well, keep on reading. In Chapter 4 we start the real stuff. In fact chapters 4 to 7 are where this book comes into its own. Chapters 4 to 6 cover (in turn) image content, audio and video. Chapter 7 covers collaborating with external sources.

Chapters 4 to 6 have similar structures, each of them dealing with a different class of media. A very useful section of each chapter deals with formats (image, audio and video respectively). Then the author deals with how to include the media in the web site, using in-built features (for images), custom HTML modules and third-party extensions. The section on third party extensions in each chapter quickly presents a number of options, without giving a great deal of detail about how to use each one. And that may be frustrating but is fair enough when in fact there are a whole load of extensions the user can choose from. What this approach leads to is an appreciation of the possibilities, a list of extensions to try out for starters, and hopefully an increasing confidence in the reader that they can try things out for themselves and find something suitable for their needs. The Image chapter covers for example image galleries and slideshows; the Audio chapter includes audio players and audio streaming, podcasts and RSS feeds; the Video chapter includes Video podcasting, players and streaming.

Chapter 7 is all about the "social web": so mostly it's about including media from external sites such as YouTube, Internet radio, social bookmarking and so on. This chapter is primarily a catalogue of useful Joomla! extensions you can use to provide a variety of media from a variety of sources.

Chapter 8 is about Joomla! templates and multimedia. The chapter partly seems to serve as an advocate for commercial templates, but does have some interestng content about templates and extensions to provide mobile device access to your web site.

In Chapter 9 the author pulls all this together as he develops a multimedia website using some of the techniques in the book. At the start of the chapter, he describes how to set up a local development server so you can develop and/or enhance a site without breaking the live site. For admins who have been given a fully working site, this is essential information. For many of us, that is how we started and hence we already know how to do local development. The part missing from this section is how to install Joomla! on the local server (he starts to tell it but it really needs a couple more steps to be described — although that information is readily available at www.joomla.org of course). Also, this of all sections suffers from the fact that the author is a Mac-user — I am not trying to start a Mac-Windows war, but the fact of the matter is that the vast majority of users will be Windows users, so he should have provided more information on setting up a WAMP server or XAMPP on Windows.

The code used in the book is also available as a zip file download, in case you're too lazy to type it out again and want to use it exactly as-is from the book, or perhaps more reasonably you want to try out the code or CSS he has suggested and then tweak it to your own need!!!

The book retails at 27.99 in paper form (with 10% off available at present) or for 18.99 in e-book format (also currently 10% off from the publisher's web site). https://www.packtpub.com/joomla-1-5-multimedia/book

Would I recommend this book? It depends on whether you want a fast start to solve your media problems. If you have little awareness of how to start, this will help you out. Or if you don't want to spend hours trying out extension after extension this will probably save you a lot of time. If, however, you are really familiar with multimedia and Joomla! and are happy to play with extensions until you find the one you need, then you could save yourself some money and go play.

I have personally found the book to be informative and in some areas opened my eyes to what can already be achieved quite easily using Joomla! 1.5. Hence I'll give this book 8/10."
PHP

+ - Joomla! 1.5 Development Cookbook

Submitted by Sparky Anduril
Sparky Anduril (1728072) writes "In Joomla! 1.5 Development Cookbook James Kennard has written an accessible and easy to read book to help anyone who is writing (or plans to write) extensions for the popular open source content management system, Joomla! (specifically for version 1.5). It is available as a paper back or PDF eBook.

This is not an introduction to writing extensions for Joomla! For example, it does not describe the architecture of extensions, nor does it suggest how you should go about designing or developing extensions. The book does not claim to do this and you will need to look elsewhere if you need introductory material on that subject.

What this book does provide however is a number of "recipes" that developers can use to solve common problems when developing extensions for Joomla! As such it is a very useful resource that can be used in two ways: the inexperienced developer will want to read through the entire book chapter by chapter, to understand the issues they will need to consider. The more experienced developer will want to use this book as a reference book, dipping in when they encounter a particular problem or face a particular task.

The first thing to say is that (perhaps unusually for a software developer) James can write! His English is clear and I cannot imagine anyone having any complaints about his grammar. This means that despite being a technical reference the book is a pleasure to read.

Each recipe is laid out in the same format (as you would expect from any good cookbook!) The title of the recipe is followed by an explanation of the problem or task. "Getting ready" lays out what you must do before getting to the body of the recipe. "How to do it..." is laid out as a set of code statements with a brief explanation. "How it works..." provides more explanation on why to do what the recipe says, often accompanied by example data. "There's more..." lays out additional things to consider, perhaps more you can do with the recipe or alternative ways of achieving the same end. Where they are alternatives, James is generally very careful to explain the pros and cons of each approach. "See also" provides a cross-reference to related recipes in the book.

The first chapter is an essential introduction to getting involved in the Joomla! open source community through JoomlaCode.org. James explains how to create a new project and manage that project. The chapter concludes by explaining the use of TortoiseSVN for managing the source code of your project. I found that the explanation of the top-level folder structure and the use of branches within SVN was particularly illuminating.

The next two chapters provide further general background: chapter two provides recipes to ensure your extensions remain secure and chapter three describes how to work with the database. While James does not explain the underlying security issues (e.g. he does not describe what SQL injection is and why it may comprise security), the recipes provided (that address keeping your SQL safe, ensuring filenames and folders are safe and that you ensure that request data does not pose a threat) are easy to follow and I was able to work out why they should be used. The chapter on Working with the Database explains how to construct and execute SQL queries and the use of the Joomla!-specific JTable object. While I am familiar with working with SQL, this chapter was an eye-opener to me as it shows very clearly how working with the database under the Joomla! framework is different from conventional approaches, and how the JTable object makes it very easy to manipulate the database.

The remaining chapters of the book each focus in on a particular area. James covers the following topics: "The Session and the User", "Multilingual Recipes", "Interaction and Styling", "Customizing the Document", "Customizing the Backend", "Keeping it Extensible and Modular", "JObjects and Arrays", "Error Handling and Reporting", "Files and Folders".

The range of topics covered is such that it will ensure you at least think about some issues that otherwise may never have crossed your mind. For example, you may not have considered it necessary to make your extension available in other languages, but in the chapter on "Multilingual Recipes" James shows that it is incredibly easy to make your extension language-aware, so even if you're not going to provide a Slovakian or Sanskrit translation you can at least ensure that your extension will support those languages (should someone out there want to do the translation work for you — which is often what happens with Joomla! extensions).

A brief summary of the content of each chapter, with a few highlights picked out, follows:

"The Session and the User": recipes cover how to use session data and how to find out information about the current user (whether guest or logged in), restricting user access based on privilege and using a user's parameters.

"Multilingual Recipes": how to ensure your extensions can support other languages, and also how to provide a translation (if you're gifted that way!)

"Interaction and Styling": applying CSS, Javascript, Ajax and MooTools to enhance your extension. This does not cover what CSS is and how to style a page, but rather how to ensure you plug CSS into your pages correctly using Joomla!

"Customizing the Document": ways of modifying the response by working with the Joomla! JDocument object. The most interesting recipes cover how to create PDF and RSS or Atom feeds from your component. This chapter is a little hard to get into as so little context is provided, but it is assumed that the reader will already have that context from a fuller knowledge of how Joomla! extensions are designed and developed.

"Customizing the Backend": provides a useful set of recipes so you can customize the backend (or administration element) of your component. James covers useful items such as disabling the menu bar (needed if the user is currently editing the configuration, so they cannot for example logout when half-way through an operation), creating a filter header (like the article filtering by section/category in the in-built content component) and how to enable tabular data to be ordered (by licking on the table header).

"Keeping it Extensible and Modular": looks at how to use Component Based Development the make it easier to develop and ensure extensions are more flexible. One very useful recipe shows you how to write a search plugin for your component; a further set of recipes describe how to manage component parameters (enabling your users to configure the behaviour of your component through the backend).

"JObjects and Arrays": "Error Handling and Reporting": "Files and Folders": The final three chapters cover some fundamental concepts and provide recipes that explain how to manipulate data, manage errors and deal with files and folders.

I personally have extensive experience of building web sites using Joomla! but have no experience in developing extensions. However as a software professional I have several years experience of software development, and will find this book very useful as I start to become more involved in developing extensions for Joomla!"
PHP

+ - Book Review: Joomla! 1.5 Development Cookbook

Submitted by Sparky Anduril
Sparky Anduril (1728072) writes "Slashdot Submission — Book Review
Subjects: Joomla! open source CMS, PHP, MySQL, development

------------------------------------

Joomla! 1.5 Development Cookbook
Author: James Kennard
Publisher: Packt Publishing
ISBN: 978-1-847198-14-3
Published: 2009



In Joomla! 1.5 Development Cookbook James Kennard has written an accessible and easy to read book to help anyone who is writing (or plans to write) extensions for the popular open source content management system, Joomla! (specifically for version 1.5).

This is not an introduction to writing extensions for Joomla! For example, it does not describe the architecture of extensions, nor does it suggest how you should go about designing or developing extensions. The book does not claim to do this and you will need to look elsewhere if you need introductory material on that subject.

What this book does provide however is a number of "recipes" that developers can use to solve common problems when developing extensions for Joomla! As such it is a very useful resource that can be used in two ways: the inexperienced developer will want to read through the entire book chapter by chapter, to understand the issues they will need to consider. The more experienced developer will want to use this book as a reference book, dipping in when they encounter a particular problem or face a particular task.

The first thing to say is that (perhaps unusually for a software developer) James can write! His English is clear and I cannot imagine anyone having any complaints about his grammar. This means that despite being a technical reference the book is a pleasure to read.

Each recipe is laid out in the same format (as you would expect from any good cookbook!) The title of the recipe is followed by an explanation of the problem or task. "Getting ready" lays out what you must do before getting to the body of the recipe. "How to do it..." is laid out as a set of code statements with a brief explanation. "How it works..." provides more explanation on why to do what the recipe says, often accompanied by example data. "There's more..." lays out additional things to consider, perhaps more you can do with the recipe or alternative ways of achieving the same end. Where they are alternatives, James is generally very careful to explain the pros and cons of each approach. "See also" provides a cross-reference to related recipes in the book.

The first chapter is an essential introduction to getting involved in the Joomla! open source community through JoomlaCode.org. James explains how to create a new project and manage that project. The chapter concludes by explaining the use of TortoiseSVN for managing the source code of your project. I found that the explanation of the top-level folder structure and the use of branches within SVN was particularly illuminating.

The next two chapters provide further general background: chapter two provides recipes to ensure your extensions remain secure and chapter three describes how to work with the database. While James does not explain the underlying security issues (e.g. he does not describe what SQL injection is and why it may comprise security), the recipes provided (that address keeping your SQL safe, ensuring filenames and folders are safe and that you ensure that request data does not pose a threat) are easy to follow and I was able to work out why they should be used. The chapter on Working with the Database explains how to construct and execute SQL queries and the use of the Joomla!-specific JTable object. While I am familiar with working with SQL, this chapter was an eye-opener to me as it shows very clearly how working with the database under the Joomla! framework is different from conventional approaches, and how the JTable object makes it very easy to manipulate the database.

The remaining chapters of the book each focus in on a particular area. James covers the following topics: "The Session and the User", "Multilingual Recipes", "Interaction and Styling", "Customizing the Document", "Customizing the Backend", "Keeping it Extensible and Modular", "JObjects and Arrays", "Error Handling and Reporting", "Files and Folders".

The range of topics covered is such that it will ensure you at least think about some issues that otherwise may never have crossed your mind. For example, you may not have considered it necessary to make your extension available in other languages, but in the chapter on "Multilingual Recipes" James shows that it is incredibly easy to make your extension language-aware, so even if you're not going to provide a Slovakian or Sanskrit translation you can at least ensure that your extension will support those languages (should someone out there want to do the translation work for you — which is often what happens with Joomla! extensions).

A brief summary of the content of each chapter, with a few highlights picked out, follows:

"The Session and the User": recipes cover how to use session data and how to find out information about the current user (whether guest or logged in), restricting user access based on privilege and using a user's parameters.

"Multilingual Recipes": how to ensure your extensions can support other languages, and also how to provide a translation (if you're gifted that way!)

"Interaction and Styling": applying CSS, Javascript, Ajax and MooTools to enhance your extension. This does not cover what CSS is and how to style a page, but rather how to ensure you plug CSS into your pages correctly using Joomla!

"Customizing the Document": ways of modifying the response by working with the Joomla! JDocument object. The most interesting recipes cover how to create PDF and RSS or Atom feeds from your component. This chapter is a little hard to get into as so little context is provided, but it is assumed that the reader will already have that context from a fuller knowledge of how Joomla! extensions are designed and developed.

"Customizing the Backend": provides a useful set of recipes so you can customize the backend (or administration element) of your component. James covers useful items such as disabling the menu bar (needed if the user is currently editing the configuration, so they cannot for example logout when half-way through an operation), creating a filter header (like the article filtering by section/category in the in-built content component) and how to enable tabular data to be ordered (by licking on the table header).

"Keeping it Extensible and Modular": looks at how to use Component Based Development the make it easier to develop and ensure extensions are more flexible. One very useful recipe shows you how to write a search plugin for your component; a further set of recipes describe how to manage component parameters (enabling your users to configure the behaviour of your component through the backend).

"JObjects and Arrays": "Error Handling and Reporting": "Files and Folders": The final three chapters cover some fundamental concepts and provide recipes that explain how to manipulate data, manage errors and deal with files and folders.

I personally have extensive experience of building web sites using Joomla! but have no experience in developing extensions. However as a software professional I have several years experience of software development, and will find this book very useful as I start to become more involved in developing extensions for Joomla!

Reviewed by: Jonathan West (jonathan.west@btinternet.com)
[EDITORS, PLEASE NOTE — Please do not print my email address.]
[DISCLOSURE: The author has recently started working at my employer's company, although I have no personal association with him.]"

Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it. -- Perlis's Programming Proverb #58, SIGPLAN Notices, Sept. 1982

Working...