Showing posts with label MySQL. Show all posts
Showing posts with label MySQL. Show all posts

Sunday, October 25, 2009

Joomla! 1.5: A User's Guide plus Fundamentals of Joomla! Video

Author: Barrie M. North
Format: Paperback, 480 pages plus DVD edition
Publisher: Prentice Hall PTR; 2nd edition (June 1, 2009)
ISBN-10: 0137012314
ISBN-13: 978-0137012312

Update: I just got a heads up from Heather Fox at Prentice saying that Fundamentals of Joomla Video Training & Users Guide Package (which includes the subsequently mentioned book and DVD training video) is still available exclusively at Barnes and Noble. After January 1, 2010, the bundle will become generally available. Please disregard any contrary bits of information in the original review. Thanks.

I think this bundle (the book and DVD) was a limited offer and unfortunately, it's taken me just a bit too long get to my review to take advantage of the package. Nevertheless, the products are still available individually, and are both written and presented by Barrie North. But let's back up a bit.

According to joomla.org, "Joomla is an award-winning content management system (CMS), which enables you to build Web sites and powerful online applications. Many aspects, including its ease-of-use and extensibility, have made Joomla the most popular Web site software available. Best of all, Joomla is an open source solution that is freely available to everyone." Between those two links, if you didn't have an idea of what Joomla was before, you do now.

Like a number of other Joomla books on the market, Prentice Hall's offering is tailored for the novice, but promises enough sophistication to take the reader up to at least a "quasi-professional" level. The Preface of the book states in part, that the reader isn't assumed to have any programming or even CSS experience. It's "easy to read" and "low on technical jargon", telling me that North wrote the book for the non-web designing business professional who wants to take advantage of CMS in general and Joomla in specific, to further their business purposes and goals.

That said, the book does teach the technical aspects of how to create a Joomla site from scratch but you start out at ground zero by being introduced to the concepts of web pages, CSS, and Joomla itself. Depending on your level of experience, the first chapter may be something you want to bypass, or at least just skim through. If you have web experience but no Joomla experience, Chapter 2 will tell you where to go to find and download Joomla, then how to install it. You are wisely directed to the XAMPP site to take care of the Apache, MySQL, and PHP side of things, but other options are also presented. Of course, you are also provided with links to acquire the required Joomla installation software.

While I don't consider the Chapter 2 instructions to be outside of a reasonably intelligent person's ability to comprehend, if you really are a completely non-technical person, you might want to take some time to read through the chapter and make sure you have all the steps down, before going through the installation process for both XAMPP and Joomla. This should save you a bit of time and frustration. However, for those with "power user" and up skill sets relative to web design or development, this shouldn't be too much of a chore.

Beyond this point, the book is fairly linear as far as assisting the reader in building the various skills required to create and manage a Joomla site, from basic administration, to organizing content, to creating menus, and so forth. Chapter 10 pulls together all that you should have learned in the prior chapters by letting you build a trial site. In this case, it's a school site, complete with content for students, parents, teachers, other staff, and so on. I suppose this would be the cherry on the cake if you're a school administrator in need of a website, but if you're not, the practice you gain can be applied to just about any organization with a bit of tweaking. If you really need another example, Chapter 11 teaches you how to build a restaurant site. The appendixes offer additional resources, including where to get help, case studies of actual commercial sites powered by Joomla, and more.

The Fundamentals of Joomla! video training DVD and 128 page study guide is based on North's Joomla! 1.5: A User's Guide so, if you have the book, you have all the content the DVD and accompanying booklet contains, just in a different form. On the one hand, this can seem redundant, but if you learn best by accessing more than one learning mode (text and video, for example) using them together will be especially handy. This method could be used either by the individual, or in a school classroom or business training venue. The video content itself might seem a little "light", especially if you have no familiarity with Joomla at all, but coupled with the 480 page primary text, it is a golden learning opportunity.

Share/Bookmark

Sunday, October 4, 2009

Sams Teach Yourself PHP and MySQL: Video Learning Starter Kit

Author: Sams Publishing
Format: Paperback: 80 pages/ DVD
Publisher: Sams; 1st Paperback/DVD edition (March 6, 2009)
ISBN-10: 067233027X
ISBN-13: 978-0672330278

Frankly, I'd prefer to work with a book or in a classroom setting. I can read faster than a person can speak in a video. OK, that contradicts my preference for the classroom, but in a class context, I can also directly interact with the instructor and the students. I can't exactly do that using a video. I know I keep telling everyone that I'm a visual learner, so you'd think that a DVD would be just about perfect, but I've always found them something of a problem. This isn't to say that video learning is bad in general or that this product is bad in particular. I'm just expressing my personal opinion before I move on.

I was initially excited to discover that I could use the DVD on any Windows, Mac, or Linux computer with a DVD drive. I've had problems with previous video tutorials that included movie files only readable on Windows. The Quick Start Guide reassured me that I wouldn't have a problem using Linux. Then, as I was about to rip open the packaging around the disc itself, I saw a piece of contradictory information. Specifically, the text on the packaging read, All the contents of the PHP and MySQL Video Learning Starter Kit are accessible on any DVD-equipped Windows or Mac OS X computer (emphasis mine). What?

It gets worse (from my point of view, at least). There are instructions on how to install PHP, Apache, and MySQL on both Windows and Mac but not on Linux. This seems rather mysterious considering we're talking about technologies that just thrive on Linux. Of course, if I have the need to install Apache/MySQL/PHP on Linux, I can just use XAMPP, but that's besides the point. I suppose Sams is playing to the majority desktop market, but that doesn't speak to those of us who spend the vast majority of our time using Linux for work and play. In fact, the vast majority of web developers and database people I work with in my "day job" use Linux on the desktop. Oh well. I still need to evaluate and review the content. Firing up one Windows XP computer.

I slipped the disc in my Windows PC and Adobe Flash Player 9 fired up flawlessly. The TOC is divided into Parts I through IV and each part contains various chapters or lessons. Part I for instance, contains the introductory lessons you'd expect, such as Getting to know PHP, Variables, Flow Control, and so on. Each lesson is divided into Lesson, Lab, and Quiz. I chose Flow Control to start with, just to get an idea of how things were presented.

The lesson on Flow Control honed in on conditional statements and loops. I'd recommend taking notes during the video lesson. I need to take notes, even when I read a book, because it's one of the ways I learn and remember the content, besides actually practicing the relevant tasks. The woman's voice reciting the lesson reminded me somewhat of those instructions airline attendants give when telling you, before your flight takes off, what to do in case the aircraft explodes or sinks into a lake. Actually, I felt fortunate that the visual content didn't include the author's appearance, which most of the time, is totally irrelevant. What I did see was pretty much a PowerPoint presentation.

Lesson 3 was fairly short, maybe five minutes or so long. This is another reason to take notes, since the content goes by very fast. To advance to the lab section, you are required to click the available link. This is also a slide show of sorts, but you click through manually, and there's no accompanying voice. Notes come in handy again since, unless you have a perfect memory, you'll need to refer to something as you're solving each problem. Once you complete each lab, you are able to click to see the output. At the end of a lab session, you can either click the link to repeat, or advance to the Quiz. In the quiz, you select an answer, but can't advance until you get the correct one. The quiz wasn't particularly extensive, which is good if you want to focus on material rather than tests, and bad if you need or want to test your memory of concepts and details.

The general formatting of the disc is good; that is, it's logical. I can see this content being used in the classroom to augment a standard curriculum, but I can't imagine learning these technologies using the DVD and Quick Start Guide (90 page mini-book) alone. I guess I'm old fashioned (which you must have guessed by now) in that I need to have access to more detailed content and/or something or someone I can query about what I'm trying to learn. That said, I can see the video answering questions I sometimes have about ambiguous content I've found in books. Having the same content presented in two different ways can fill occasional gaps. That means I'd need to have the full text book to accompany this DVD.

The content is appropriate for beginning students with little to no prior programming and database experience. For me at least, I'd need to have a platform running actual PHP and MySQL to practice on. Getting my hands dirty is the only way I'm able to learn this sort of material. I recommend setting up your system so you can do a little more than the labs suggest, but remember, the instructions for how to do that only cover Windows and Mac computers.

If you explore the disc, you'll find the eBook Teach Yourself PHP in 10 minutes by Chris Newman in PDF format. The book was published in 2005, but is still relevant to PHP 5.0. The eBook also includes some MySQL content, so it'll take you further than the flash material and the mini-book.

For the programming and database beginner, who may eventually want to get into putting together at least some basic web applications, this product should fit the bill. If you get to the point where you've become familiar with, if not mastered the content, I'm sure you'll want to pursue more advanced resources.

Share/Bookmark

Wednesday, September 9, 2009

Learning PHP, MySQL, and JavaScript: A Step-by-Step Guide to Creating Dynamic Websites

Author: Robin Nixon
Format: Paperback, 526 pages
Publisher: O'Reilly Media, Inc.; 1st edition (July 22, 2009)
ISBN-10: 0596157134
ISBN-13: 978-0596157135

Unless you've been hiding in a cave for the past ten years or so, you know that it takes more than a bit of HTML slight-of-hand to make a modern, dynamic website. The (so-called) Web 2.0 is constructed of a mix of technologies, creatively applied to allow the interactivity we have become accustomed to when surfing the web. Just looking at the front and back covers of Robin Nixon's book, he (and O'Reilly) promises to teach the reader all of the technologies (though I see no mention of CSS) required to bring your Web 2.0 creation to life, and send it out on the Internet. The best bit of news is that, according to the back cover blurb, "No previous programming experience is required." Really? We'll see.

Frankly, programming isn't all that easy. If you've never programmed before, you learn your first programming language and all of the principles of programming in general, all at the same time. This can be an enormous chore, compared to knowing basic programming skills and adding another language to your bag of tricks. Certainly learning PHP, JavaScript, and MySQL seems a daunting task for the coding newbie. There are entire books written on each of these technologies, just for the beginner. It seems that Nixon has quite a job cut out for him.

I checked, and the Preface does say in the Audience section, that this book is suitable, not only for webmasters and graphic designers, but also for high school and college students, graduates, and the "self-taught" (the latter would be me, so I guess this is a good fit). The next section does announce the Assumptions This Book Makes, so it's not all gravy. HTML is the only concrete assumption (and again, I'm surprised no mention of CSS is included, since it is largely required for web page formatting). While prior exposure to PHP, MySQL, and JavaScript isn't required per se, such exposure will allow the reader to progress through the book at a faster pace. That makes sense, but I'll hold the author and publisher accountable to their stated intent, that I (or anyone) won't need such exposure to benefit from this book.

One thing I liked (and I'm still not out of the Preface), is that the book references other books the reader should move on to, once they've completed Nixon's work. Dynamic HTML: The Definitive Reference (also by O'Reilly) is included which is another surprise, since the reader is assumed to at least be familiar with basic HTML, if not a "master" in this area. The other books are all O'Reilly publications (what else?), targeting PHP, MySQL, and JavaScript. No surprises here.

The first chapter is all high level concept regarding the nature of HTTP, and the various technologies headlining the book. Apache in specific, and open source in general also are included. Nixon seems to be setting the stage here for further learning to take place. The chapter is short, and ends modestly with a few simple questions for chapter review. The answers to these, and all the questions posed in subsequent chapters, can be found in Appendix A. This is a "good/bad" thing. It's good in that, if the reader gets stuck, he or she can pop back to the appendix, or just check to see if the answers they gave are correct. It's a "bad" thing in that, sometimes people get stuck quickly and, rather than trying to figure out the solution, will cut to the chase and head for the answer section. Generating effort to find an answer is how most people, especially me, learn. That said, it's better to provide confirmation, rather than have the student never know for sure.

To set up a website, you need a server. In this case, the server needs to be capable of providing basic web services, database services, and PHP. Enter LAMP (or WAMP if you're a Windows person). Setting up a basic LAMP (Linux, Apache, MySQL, PHP) or XAMPP server is ridiculously easy, as the apachefriends.org site illustrates. The book uses other resources, such as easyphp.org, if you need to set up WAMP on Windows. MAMP is also available for Mac OS X people, so no one is left out of the loop based on OS of choice. So far, there's a significant amount of hand holding going on. What happens when the reader has to get their hands dirty with an actual programming language, such as PHP?

Hello world. Yes, this time-honored method of beginning to teach a programming language is introduced on page 34. The book's companion website hosts all the sample code used in the book. Just go to lpmj.net and then click on "Examples" to download the zip file. The site's table of contents also lets you select a chapter and section, to view sample code, if you don't want to refer to the downloaded files. Nixon faces the challenge of teaching both basic programming skills and PHP reasonably well. A programmer at my "day job" recently created the analogy of an array being like a series of shoe boxes. Page 40 compares arrays to a series of matchboxes, which is more or less the same thing. I mention this to draw out the teaching style used here. Learning a language is one thing, but you won't learn it well unless you understand why things work as they do. Besides, the goal isn't just to learn programming, but to learn it in the service of creating a "dynamic website".

There are five chapters that immerse the reader in PHP, before switching gears and moving to MySQL. Again, LAMP/WAMP/MAMP/XAMPP provides a handy "safety net" for the reader in managing everything and keeping it all in one container, but there's still a lot to learn. The last PHP chapter is a nice set up for the introductory MySQL chapter. Just when you think you're making some progress with PHP, you're sent back to "kindergarten" and the basics of relational databases (and as an aside, if the idea of databases is just too intimidating for you, check out The Manga Guide to Databases, which I also reviewed).

The next MySQL chapter puts what you've learned about PHP together with MySQL, so don't think you can forget chapters 3 through 7 at this point. It's not a straight shot from MySQL to JavaScript, which actually makes sense. Topics such as creating forms. and PHP templates are launched at you before you even breathe the word "JavaScript". After successfully (hopefully) tackling PHP, JavaScript becomes the second programming language the reader learns. PHP is a server-side language, and JavaScript works on the client-side, but the basic principles learned in the first, will handily serve the reader in learning the second. Variables and Arrays are still Variables and Arrays conceptually. The difference then becomes one of how each is expressed and managed in different languages.

JavaScript and PHP collide in Chapter 17 and Ajax enters one chapter later. Chapter 20 declares, "Bringing It All Together", but while reading this review may not have taken you much time, getting to this point in Nixon's book could take weeks or even months. This all depends on your dedication, available time, and how quickly you've managed to learn everything in the previous chapters. There will probably be some readers who become discouraged long before this point in the book, which is why regular use and persistence is required here.

Assuming you make it all the way through, and actually learn everything that's being taught, you'll be able to put together a relatively modest, interactive website, just using this book. No, you're not an expert, but you should be feeling a sense of accomplishment by now. The "Robin's Nest" website example used looks pretty vanilla flavored. I guess you'll still need to go out and pick up CSS to add some spice.

In addition to the end of chapter questions being answered in Appendix A, Appendix B lists various online resources to consult, but that's all...it's just a set of lists of URL, but fun to explore. Appendix C and D cover MySQL FULLTEXT Stopwords and MySQL Functions respectively. My guess is that, you'll probably have started consulting external resources on dynamic website construction long before you finished this book which again, makes sense, though the book is quite self contained.

O'Reilly books tend to cater to readers who are already at least somewhat experienced, so it was nice to read and review a book that truly caters to the beginner. I would have preferred more end-of-chapter material, to test the reader's newly acquired skill sets, and I definitely would have included CSS as an assumed technology. It's not necessary for Nixon to teach CSS in any form, but style sheets are just too tightly integrated into, not only web site formatting, but in many cases, functionality, to just be ignored. That said, Learning PHP, MySQL, and JavaScript is a worthy effort on both Nixon's and O'Reilly's part, to introduce the programming and database neophyte into the world of dynamic website design.

Share/Bookmark

Monday, April 6, 2009

Review: Head First PHP & MySQL

Authors: Lynn Beighley and Michael Morrison Format: Paperback, 812 pages Publisher: O'Reilly Media, Inc. (December 30, 2008) ISBN-10: 0596006306 ISBN-13: 978-0596006303 The good news is all you need to use this book is some prior experience building static web pages using HTML/XHTML...sort of. That's what the Who is this book for? section says. However, the Who should probably back away from this book part says that anyone who isn't familiar with basic programming concepts like variables and loops should steer clear. On the other hand, the same section declares that those basic concepts can be learned from this book. OK, just a tad confused here. Actually, the one piece that would bind all this together would be the mention of JavaScript (and there's a Head First book for that, too). Not sure why JavaScript wasn't mentioned, but it would have been a good bridge linking the rank web design beginner to this book, since JavaScript also makes static HTML pages dynamic. Also, folks familiar with JavaScript would certainly be familiar with basic programming concepts. Be that as it may, let's move on. This book contains certain predictable bits that you'd expect in any Head First book. It's loaded with diagrams, graphics, and "retro" photos from what looks like old 1950s sitcoms. It's written for someone who forgot to take his or her Ritalin today and is in desperate need of said medication. The book teaches technology using scenarios that at least the book series and O'Reilly considers interesting if not important to the late high school and early college reader. Of course, there's a bit more to learning and using PHP and MySQL then learning to write code in a text editor. Will this book successfully teach the beginning web designer how to use server-side scripting and relational databases? The Read Me section in the front matter didn't look like the usual Head First boilerplate and it is necessary to read, because it holds the keys to using this book. The authors stress that repetition is absolutely necessary, so don't skip around the book. If you know enough PHP and MySQL to do that, you probably don't need Beighley and Morrison's tome anyway. You start learning the easy parts first, then move on to the more complex (nothing revolutionary there), but keep in mind, this book isn't one stop shopping. There's just too much going on with these technologies to teach you everything. The book is here just to teach you enough to get you going. You will absolutely, positively need a web server that supports PHP and MySQL. Before you do anything, blast to the back of the book and see the Appendix section for how to install all that on your local machine. Seems like you'll need just a bit more knowledge (or at least a lot of confidence) than just playing around with HTML tags for this one. Actually, the very beginning of the book doesn't really require that you have your web server set up, since you need to learn the basics of PHP first, but it couldn't hurt. At least once you get to the point where you'll need a web server, you won't have to halt the learning process and install everything. Personally, I'd just set up LAMP on a Debian box and call it good, but the instructions for installing PHP and MySQL on your local computer provided by the authors covers Windows 2000, Windows XP, Vista, and Windows Server 2003/2008. If you're a Mac user, OS X 10.3x or newer is supported. What? No Linux? These *are* open source technologies, folks and it's not like O'Reilly is a "Microsoft-only" publisher. OK, so they're playing the odds, figuring that most people run Windows and a significant minority run Mac, but I was still disappointed that they didn't give Linux a nod. Actually, do yourself a favor and just install XAMPP which does run on Linux (tested on SuSE, RedHat, Mandrake and Debian) and, if you really must use Windows, XAMPP for Windows is just as easy. You'll be able to do perform all the book's exercises fine and you don't have to break your brain pan setting up your web server in the process. JMHO. Once you get past the server set up, you can concentrate on learning the actual coding involved. True to the other books in this series, Head First PHP & MySQL teaches by taking the reader through actually building working features using the technologies involved. In this case, you'll actually learn how to build apps that let visitors to your site fill out forms (though I thought doggie alien abductions was an "interesting" first topic, compared to the expected gaming and rock concert examples) and other client-server interactive tasks. The book is so big (812 pages), not just because it contains a great deal of useful information, but because it presents that information in a bunch of different ways, which is typical for the series. As far as PHP and MySQL is concerned, for the newbie, repetition is absolutely required to "get it". It's one thing to kloogie together code so that it sort of works and quite another to be competent by the last page of the book. Is the book juvenile? Is the series juvenile? Well...yes, but that's the point. If you're a very "serious" person or being highly distractable has never been your problem, there are other books out there for you. Try Web Database Applications with PHP & MySQL or better yet, for beginners, take a look at Learning PHP 5 and Learning MySQL. They're both great books and very good teaching resources. If however, you've looked at those books and felt the grim spectre of boredom settling down on your shoulder, ready to paralyze your will to live, then perhaps Beighley and Morrison's Head First PHP & MySQL is the book for you. It's got what it takes to teach the topic and in a way that will keep you engaged. Make it so.