Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

Magento Beginner's Guide 124

Michael J. Ross writes "The shopping cart systems that power online stores have evolved from simple homebrew solutions in the CGI era to far more powerful open source packages, such as osCommerce. But even the later systems are frequently criticized as suffering from poorly-written code and inadequate documentation — as well as for being difficult to install and administer, and nearly impossible to enhance with new functionality and improved site styling, at least without hiring outside help. These problems alone would explain the rapidly growing interest in the latest generation of shopping cart systems, such as Magento, purported to be outpacing all others in adoption. In turn, technical publishers are making available books to help developers and site owners get started with this e-commerce alternative, such as Magento: Beginner's Guide, written by William Rice." Read on for the rest of Michael's review.
Magento: Beginner's Guide
author William Rice
pages 300
publisher Packt Publishing
rating 8/10
reviewer Michael J. Ross
ISBN 978-1847195944
summary A starter guide to this popular e-commerce shopping cart.
This title was published on 15 April 2009 by Packt Publishing, under the ISBN 978-1847195944. The firm makes available a Web page dedicated to the book, where visitors can find information on how to purchase the print or PDF versions of the book (or both as a bundle, at substantial savings). The site also has a link labeled "Code download" (even though there isn't any downloadable code), another link for viewing any errata (of which there is one reported, as of this writing), and a link for downloading a sample chapter (the third one, "Categories and Attributes").

The bulk of the book's 300 pages are organized into eleven chapters, which are intended to take the reader through the basic topics, in the same order they might be encountered by anyone developing a Magento-based store for the first time: an introduction; Magento system requirements and installation; product categories and attributes; tax rules; adding product information; site styling; advanced product functionality; CRM; payment processing; shipping configuration; and order fulfillment. These chapters are followed by an appendix that delineates, as numbered lists, all of the steps covered in greater detail in the chapters. The book concludes with an index whose value is immediately brought into question by the "products" entry, which presumably would be one of the most lengthy sections for an e-commerce book such as this one, yet contains only two entries, and neither one has a page number.

The book's first chapter begins by stating what Magento and the book offer, which were already covered in the preface. The author then introduces the demo store (an online vendor of coffee beans) to be used throughout the book, with screenshots. Readers can skip over this chapter, without missing anything of importance. This chapter, like all that follow, concludes with a summary, which adds no value to the book.

In Chapter 2, the author patiently steps the non-technical user through each phase of installing Magento on a Web server, with an emphasis upon Linux systems, which apparently are far less problematic for Magento than using a Windows-based hosting account (imagine that). PHP novices will likely appreciate the author's tip on how to use phpinfo() to see their server settings, but should be warned to delete that file so hackers cannot also stumble upon that information. Also, there are some technical inaccuracies in the author's discussion of search engine friendly URLs. In step 1 of the installation, he should have explained why he chose the Full Release and not the Downloader. On page 31, he instructs the reader to set some Magento files to permissions of 777, even though the previous page stated that his Web hosts' control panel does not allow that setting. Some readers may be confused by this, and should be advised to use their FTP programs for accomplishing this task, if their control panel has the same limitation. In step 3, the author could have provided some guidance as to what the reader can do if Magento refuses to proceed with the installation and provides no error messages, even though the database information is valid and confirmable by logging in at the command line. Of course, it is difficult to anticipate all the possible problems that a user may encounter. Even the official Magento documentation does not appear to address this particular issue. Lastly, the checklist at the end of the chapter, which specifies four items to confirm prior to installation, obviously should have been presented at the beginning of the chapter.

In the third chapter, the author explores some key concepts needed in working with Magento: products, categories, and attributes. Throughout the book, these three common terms — and later, "shopping cart," "payment gateways," etc. — are presented in title case, as if they were proper names, which they are not. Within the text, this formatting gives them the appearance of menu or page names, which quickly becomes annoying. A glaring example of this is section 16 on page 59. On the same page, the reader will encounter a rather cryptic heading, "Have a go hero." Nonetheless, readers should find the topic coverage to be quite useful, including tips on enabling a product navigation menu, optimizing categories, entering products, creating product images, and setting attributes. The next two chapters explain how to apply taxes to customer purchases, and how to add "simple products" (those without customer-changeable attributes), respectively. At first glance, one might conclude that Chapter 5 should immediately follow Chapter 3 — or be combined into one chapter — since both deal primarily with products. But within Magento, tax rules are a prerequisite for properly creating new products in one's store, so the chosen order makes sense.

The author shifts gears with the sixth chapter, which explores basic styling, i.e., customizing the appearance of a Magento-based storefront. The majority of the changes can be accomplished easily by the reader, because most of them are made within the Magento administrative area, and not through any involved editing of the CSS files of the default theme. Chapter 7 covers the topics of related products, grouped products, and configurable products — and thus clearly should have followed Chapter 5. Regardless, the author's use of illustrative examples, in creating the demo site, is quite helpful for the reader to see how to use each dialog box in the process of creating the various types of products.

The last four chapters of Magento: Beginner's Guide address four essential aspects of building and running an online store, beyond the products themselves: Chapter 8 is fairly brief, but explains how to configure a store's e-mail addresses and contact form (but not how to customize the e-mail templates), as well as the functionality made available by Magento for administering customers once they have become registered users on the store site. The subsequent chapter shows how to set up a Magento site to accept customer payments using PayPal, Authorize.Net, and other electronic payment options. Chapter 10 explains how to configure the various shipping options within Magento, and, like the previous chapter, focuses on trade-offs among the various options rather than the details of how to complete each dialog box. Confusingly, on page 219, the author states that you can charge a handling fee with the flat rate method, but four pages earlier states the exact opposite. The last chapter in the book covers the various phases of order fulfillment, as well as order management.

Despite the value of the book's contents, the material would have benefited from some proper editing, evidenced alone by the many errata: "freelance[r]" (on the "About the reviewer" page), "[and] so" (page 2), "distinguishes" (page 3), "top[-]two" (page 10), "Paypal" (page 11), "Card(saved)" (page 11), "php" (page 13), "reading and article" (page 17), "you web host" (page 27), "/single-origin-coffees" is missing (page 55), "Attribute[']s Model" (page 73), "Add New [Attribute] Set" (page 75), "answer[s]" (page 78), "zip codes" (pages 85-86, and others), "characters;" (should be a comma; page 104), "later [in the] book" (page 131), "discuss about" (page 131), "direct[ion] replacement" (page 133), "graphics;" (should be a comma; page 138), "tab. to" (page 141), "2@ brew..." (page 182), "can sit[e]" (page 190), "such [as] Visa" (page 195), and "Shopping Card" (page 197). Some of these errata are likely not attributable to the author, but instead introduced during the production phase of publication. There are other indicators that quality control was lacking, such as an errant period tacked on to every "Chapter 5" in the page title, on all the pages of that chapter. On a more subjective note, I found Packt Publishing's use of four different font sizes within the table of contents — no doubt intended to make higher level section names stand out — to actually reduce speed of scanning and comprehension, just as it does on Web pages that have half a dozen or more font sizes on a single page. The practice is not limited to this particular title, but appears to be standard in their lineup of books. In addition, the longer subheads are shown in such a thick and compressed font face as to be quite difficult to read, e.g., on page 239.

Throughout his book, the author's writing style is generally clear and approachable, though occasionally choppy. His background in technical instruction is exemplified by his logical, step-by-step explanations. Some readers may find this style too repetitive, such as the many mini-summaries — labeled "What just happened?" — scattered throughout the book. These are unnecessary, waste space, and could be excised. One instance of pedantry (on page 105) deserves special recognition/ribbing: "Yes and No are self-explanatory."

But all of these aforementioned flaws are relatively minor — particularly to the reader anxious to put up a new online storefront with minimum delay. Magento: Beginner's Guide is a detailed and lucid introduction to an e-commerce system quickly growing in favor.

Michael J. Ross is a freelance Web developer and writer.

You can purchase Magento: Beginner's Guide from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.


This discussion has been archived. No new comments can be posted.

Magento Beginner's Guide

Comments Filter:
  • Re:Magneto (Score:2, Insightful)

    by sajuuk ( 1371145 ) on Wednesday November 25, 2009 @02:33PM (#30229498)
    And here I thought this book was going to tell me how to get awesome powers of electromagnetic manipulation.
  • by uuddlrlrab ( 1617237 ) on Wednesday November 25, 2009 @02:35PM (#30229516)
    This isn't news. This is fucking marketing. As good as this software may or may not be, this is not newsworthy, and is nothing more than shameless promotion of a product.
  • Re:osCommerce (Score:3, Insightful)

    by Fallingcow ( 213461 ) on Wednesday November 25, 2009 @02:37PM (#30229544) Homepage

    osCommerce is a piece of shit.

    It's the code equivalent of Finnegan's Wake, but without any hint of genius at work in its production.

    Broken architecture, ugly-ass code, no templating system to speak of (a side effect of the broken architecture) etc. STAY AWAY.

  • by al0ha ( 1262684 ) on Wednesday November 25, 2009 @02:42PM (#30229604) Journal
    that based on experience, retailers that propose setting up an ecommerce site should forgo all "canned" shopping carts and fork over the minimal money it will cost to have one custom written to fit your business.

    If you are attempting to launch a business without the initial funds to spend around $1000 on a custom shopping cart, with the expectation of spending more money down the road adding custom features tailored to your business if proved successful, then you are not ready to start your business.
  • by Anonymous Coward on Wednesday November 25, 2009 @03:14PM (#30229996)

    $1000 buys you 3 devs for a month in India. I'm not trolling.

  • by QuoteMstr ( 55051 ) <dan.colascione@gmail.com> on Wednesday November 25, 2009 @03:32PM (#30230192)

    You know this. I know this.

    But Joe the Web 2.0 Startup Person (who never actually got a CS degree) doesn't, and when he wants to begin creating his MugshotTome site, thinks "well, my friend mentioned this PHP thing. Maybe he can help me with it." Joe creates MugshotTome, which takes off and becomes one of the larger sites on the Internet. Now they've hired real programmers, but they're still stuck with PHP for all eternity: rewriting the system from scratch would take too long.

    Bob the Web 2.0 Startup Personn wants to create his own site, say, MyCylinder. Like Joe, he's more a businessman who fancies himself a hacker than a trained developer, so he looks around and sees what's popular. "Ah, MugshotTome uses PHP. It must be good. Let me go look for a few tutorials on that." And so MyCylinder and and MugshotTome end up using PHP. Jill, Jane, and Jim all start their Web 2.0 Startup Sites using PHP for the same reason. Bob realizes that PHP is popular enough that he can get "mad hits yo" by writing a PHP tutorial article "how to make mad monies by using PHP for your Web 2.0 Startup Website". This article encourages more people to start using PHP. Then Sergio, who's worked on a few Web 2.0 Startup Sites, has a well-intentioned desire to avoid code duplication, and wants to put some common functionality in a library. So because Sergio has used PHP for his website development, it seems natural for him to write his library in PHP.

    In the final stage of this disease, even Jennifer, an actual trained programmer who knows better, gets told to use PHP when she's hired for yet another Web 2.0 Startup because PHP is now the de-facto standard.

    This is how PHP becomes popular. It's also how Java became popular in enterprisy applications (just imagine a bunch of CTOs all talking to each other). It's how Python became popular in bioinformatics. It's how Lisp became popular in the AI community back in the day. It's how C became popular in systems programming. It's why people are making the mind-bogglingly stupid decision to start using Flash for desktop applications.

    This disease afflicts every field. Differences in hype, hosting, adoption in college classes, and random chance have a far greater impact on which language ends up being dominant than differences in the quality of the languages themselves. In this way, if the best language happens to become dominant, it's really just an accident.

  • I call Bullshit. (Score:4, Insightful)

    by billybob_jcv ( 967047 ) on Wednesday November 25, 2009 @05:31PM (#30231280)

    Anyone who has needed to deal with credit card security concerns and being audited by Visa or one of the big processors for PCI compliance will run to a commercially supported ecommerce product or ASP payment service. The days of custom coded carts for a serious online business is over. It doesn't matter whether the custom coded cart is more or less secure, and it also doesn't matter if 90% of online credit card security concerns are total bullshit propagated by the security consultants - this is about risk mitigation and about business owners having someone they can point to if the PCI audit is required. So, yeah, you can continue to make a few bucks selling custom carts or low-cost carts to micro-businesses, but you won't be making a living off any well-known brands.

The trouble with a lot of self-made men is that they worship their creator.