Tag Archives: e-commerce

Magento PHP developer’s guide

It really was a long time since my last review of books about Magento, in the meanwhile some of you may know that I’ve been to a Magento U class in Berlin and I’ve taken 3 of the 4 Magento certifications. I’ve been through some really busy months but now I should be back on track. Continue reading

Instant Magento performance optimization howto

I just finished reading the Instant Magento performance optimization howto¬†ebook by Packt and I’m about to write a quick review.

First of all this book is short (50 pages), quick and easy to read. Don’t misunderstand me, for me this is a big plus: Magento is a big universe and for me it’s better to have more specialized books instead of one big book covering everything (which is actually impossible).

Performance are also a big trouble for everyone who works with Magento so anyway this book is a little investment for a nice and complete (also if not very deep) reading (but also a practical manual) on Magento performance overview.

The book covers all the aspects of the optimizations, from CSS/Javascript compression to logging to compiling etc. It also covers some advanced topics like mysql configurations and clustering but here I would have liked to see more details (on mysql tuning we probably need more than just a my.cnf sample and on clustering we’d need to talk about percona, how to configure mysql clusters with practical configurations or link to video tutorials).

I’d rate this book 7.5/10, as an advanced developer I would have liked more advanced details but probably this should have gone beyond the scope of the book itself so at the end… it’s totally worth its money and most of all it’s a good read for all the kind of Magento workers, from designers to coders to system managers.

“Mastering Magento” first look

I just received the Mastering Magento¬†ebook from Packt a few hours ago, I’m really out of time in these weeks but I wanted to share a couple of thoughts from the first look at this book.

If you’re a Magento developer, than get it, from a really quick view (I’m gonna review it later) I think I’ll buy the printed copy to keep on my desk, as a senior Magento developer I already know most of the things writting in the book but it is really well written, full of useful information and it will become helpful when you’ve to do something quick but you don’t remenber exactly how to do it or a particular meaning of a Magento terminology.

It seems to cover all the main areas and it has a really lifesaver section which is the pre-launch checklist.
Also very useful if you’re teaching a junior developer/designer and you need a deeper introduction to Magento (this book is not for who didn’t see Magento before in his life).

Another thing I think, it could be easily split in 2 version cause the introduction says that the book is intended for developers and store owners but I think that store owners should not be bothered with all the dev stuff, anyway part of the book would be really perfect to be given to store owners saying “hey this is the Magento manual” :-)

“Magento 1.4 Themes Design Cookbook” review

As I wrote a few days ago, I was asked to review the Magento 1.4 Development Cookbook by Packt so I took the right time to read it deeply and with great attention to point out every pro and con of this mid-length book (249 pages).

First of all the book is available at a price of ~40 USD (~31 EUR) if you want the paper book, or ~32 USD (~25 EUR) for the digital copy (in PDF format), the price is right (maybe just a little high) for a highly technical book like this. You’ll also receive a comprehensive archive of all the code that’s used in the book, really useful for a quick cut&paste to try out things!

Now, I’ve to say that Magento 1.6 is near to be released and still we’ve no book about 1.5, and also if 1.4 documentation is still valid I think that it would be the time to update all the books on the new releases.

Chapter 1: I think it’s completely useless unless for the section about the differences between 1.3 and 1.4, in this moment every designer about to design and/or code a Magento themes already know what can be done and surely has seen enough themes in the wild so I think that we don’t need an introduction or a showcase.

Chapter 2: this is one of my preferred chapters, ok it’s not so difficult but it explains all the basic concept and it’s really needed for the first timers. I think this chapter should have been the first one but anyway it’s great.

Chapter 3: probably it could be merged with the 2nd ’cause it keeps talking about the basic things you need to know when you’re about to start working on a Magento themes, useful but anyway I think none needs a “where do I get inspiration for a favicon” section. The “display products on the homepage” section is instead really useful and raises the level of this chapter.

Chapter 4: first real steps into customizing a default Magento theme to fit your design, with some more basic hits (like enabling template path hints and block names hints) and some detailed info about CMS pages (which actually area managed pretty bad in Magento).

Chapter 5: creating a theme from scratch, pretty advanced things are going on here :) and that’s the kind of things I like the most.

Chapter 6: starts with a useless section about integrating font-face into a Magento theme, actually I don’t understand why this kind of info should be in a Magento book, it should have been in a HTML/CSS one… but finishes with some pretty handy documentation about “navigation” and the “product view” template.

Chapter 7: the part I liked the most about this chapter is about creating a custom block and using it in a layout xml file, other things (adding javascripts or stylesheets) are a little too basic at this point.

Chapter 8: talks about mail templates, pretty basic stuff in the beginning, getting interesting later with variables in emails and a good section about how to integrate external newsletter systems and another one on upgrade-proof email templates.

Chapter 9: integrating social stuff, absolutely basic notions about copying facebook’s html widgets and paste it in your templates…

Chapter 10: print styles, once again I think that this topic should be covered in a HTML/CSS guide.

Conclusions: if you never wrote a Magento theme buy this book, it will help you in a lot of ways. The second time you’ll have to do the same work again… you won’t need it.

“Magento 1.4 Development Cookbook” review

As I wrote a few days ago, I was asked to review the Magento 1.4 Development Cookbook by Packt so I took the right time to read it deeply and with great attention to point out every pro and con of this mid-length book (249 pages).

First of all the book is available at a price of ~40 USD (~31 EUR) if you want the paper book, or ~30 USD (~23 EUR) for the digital copy (in PDF format), the price is right (maybe just a little high) for a highly technical book like this. You’ll also receive a comprehensive archive of all the code that’s used in the book, really useful for a quick cut&paste to try out things!

I’ve to say that I found the first chapter (getting started) not so useful, if I’m a developer and I’m creating a project based on Magento I think I’ve to be able to download and install the software itself, otherwise it should be better if I call another dev with a little more experience… anyway this is just an introduction so don’t worry and keep reading.

Chapter 2 talks about coding some CMS/design functionalities like changing page titles, customizing Magento’s error page, integrating an image rotator and so on. Things are starting to roar in this chapter which will give you some practical examples, definitively useful but please, we would need some more doc about the XML layout files (how they’re used by the system, how they work and what are all their sections).

Chapter 3 is about adding some functionalities like javascript libraries or integrating a WordPress blog. Actually I think this chapter could be a part of the 2nd one, it’s really good for the JS part but it would have needed a lot more details about the WordPress integration, anyway this could be really huge (just think about calling part of the Magento’s theme to render the header and footer of the blog) so this should be considered an overview of a complex task you’ll need to study and experiment on your own.

In the 4th chapter you’ll start looking at store customizations (modify the subscription procedure or creating a featured product shown in home page) and you’ll start to use the great Magento Connect, which is something you absolutely need to know but we can find something not too useful like changing the admin theme plus something that is more admin oriented like creating price rules (which actually is not a developer task IMHO).

Chapter 5 will guide you learning some functional concepts of Magento that you have to know in order to know what you’re doing when developing, like tablerates, adding products to cart with custom querystrings. I din’t like the “add a youtube video to a product” ’cause it’s an admin task or otherwise if should be done differently (adding a custom field to the product data structure and so on).

Chapter from 6 to 12 are for experts and that’s what I like, surely this is the most useful part of the book and that’s why I’m not going to talk about it deeply, things like preventing CSRF attacks, understanding SEO, setting a MySQL master-slave environment, creating a module using the module creator extension and extending it to create a custom shipping method, optimize Magento’s performance and debugging while developign are really great chapters! I din’t like chapter 10 (creating a social widget) too much but it’s a good theory to read anyway.

Conclusions
My personal vote for this book is 7.5/10, it is really good and it deserves to be in your library (especially if you’re not full time dedicated to Magento development), it has practical examples, you’ll get your hands dirty and this is what a developer has to do but this will not be the only book you’ll need about Magento, also because Magento itself is a huge project that’s hard to document in a single book.
I didn’t vote it a 10/10 because I think that some contents could be grouped in different ways (eg: moving things from a chapter to another), because a few things are not too developer-oriented and because it could be longer.

2 Books about Magento, reviews soon

Hello everybody, it’s been a long time since my last post about Magento, many people keep contacting me for some Magento and also if you may know that I don’t like every aspect of this e-commerce platform, it surely deserve some attention (that’s why I’ll restart translating the official Italian Magento Blog for new releases).

A few days ago a great guy working for Packt wrote me about the possibility to review 2 of their huge collection of technical books:

I was quite pleased for this proposal and decided it was totally a great idea.

I’m starting reading the books and taking notes, I’ll be honest and I’ll write everything I like or dislike, come back in a few days (better a couple of weeks) to read my reviews.

e-commerce software for growth?

Magento announced today an Enterprise Edition, reading the “compare editions” page I see that all these features will be included only in the Enterprise Edition:

  • Advanced Administrator Roles and Permission Restriction per Site (Website and Store View)
  • Logging of Administrator Actions
  • Gift Certificates/Cards (Physical and Virtual)
  • Customer Store Credits
  • Content Staging and Merging. Support for both on-demand and scheduled merges and rollbacks of content
  • Category View and Purchase permissions per on customer group (limited catalog access)
  • Private (Club) Sales including Events, Invitations and Category access permissions
  • Strong Data Encryption

So I assume that Magento community edition won’t ever have all of them.

Can we still call it a platform for growth? Sure, but not in the free software ecosystem.

Magento, license could be a serious trouble

IMPORTANT UPDATE: The only meaning of this post is to raise a critical point of view about the OSL license (choosen by Magento), absolutely not to discourage someone from using Magento itself, I simply love it.

Magento, the last and most promising open source e-commerce platform beeing developed, is released under the Open Software License 3.0.

The license is really difficult to read if you’re not an English expert, anyway let’s take a look at what GNU says about OSL (bold by me):

The Open Software License is a free software license. It is incompatible with the GNU GPL in several ways.

Recent versions of the Open Software License have a term which requires distributors to try to obtain explicit assent to the license. This means that distributing OSL software on ordinary FTP sites, sending patches to ordinary mailing lists, or storing the software in an ordinary version control system, is arguably a violation of the license and would subject you to possible termination of the license. Thus, the Open Software License makes it very difficult to develop software using the ordinary tools of free software development. For this reason, and because it is incompatible with the GPL, we recommend that no version of the OSL be used for any software.

We urge you not to use the Open Software License for software you write. However, there is no reason to avoid running programs that have been released under this license.

Being incompatible with GPL it’s a big issue, it avoids avery integration between Magento and any GPL software and it’s a big limitation.

A normal day of a free software developer:

I write a patch for Magento. That patch is released under OSL becuase that’s what OSL impose. I send the patch to some public mailing list or post it to a forum because I want to help developers creating a better and bug-free software.

In this situation I’m violating the license and I’m loosing my right to use the software anymore. I think this is a serious trouble that should be avoided and solved.

A note from OSL wikipedia page:

the OSL has never been tested in court and is not widely used

In fact we can see that only 3 project are listed (in that wikipedia’s page) to be using OSL.

Final thoughts:
In a forum post Roy Rubin (CEO of Varien, creators of Magento), says that a big difference from GPL is that OSL defines distribution over a network as a distribution. If this is the most important aspect Varien is taking care of, than I suggest to switch to Affero GPL 3, which is completely compatible with GPL 3 and takes care of the network distribution of a GPL software.

We all know that many people do not pay serious attention to all the license implications, but all the others could stop using Magento because of all the problems above and I don’t think this is a good thing for the project.

UPDATE: AGPL3 would not be suitable for the frontend, the license switch proposal is just a provocation.

Magento and translations, a better approach

Magento the last and most promising open source e-commerce platform beeing developed, but it has some critical points, such as translations.

Magento (which is still in beta) is releasing a bunch of CSV files containing 2 columns, the original string is the first, the translated string is the second. When a new string is added to the english codebase all translation files must be updated and delivered to translators, which have many difficulties merging these new files with the one they were working on.

This approach isn’t effective, brings many efforts and could lead to corruption between translation files.

Ok, critics are over, now let’s be constructive.

When we had to build the new translation system for P4A we did deep researches to find out how many free translation services where out there, result? We found a few but only one was good: Launchpad Rosetta.

Did you know Launchpad Rosetta before? I think you know it. It’s the software being used by Ubuntu and thousands of other FLOSS projects.

Developers create a POT file with the strings to be translated, they upload that to Rosetta and all languages are automatically updated and merged in the codebase, with no effort at all.

Magento guys, I think this is the only way (ok, someone could also build an “ad hoc” translation software but Rosetta is already there…) to fix all the translation issues and to be sure that all translations will be ready before the 1.0 release.