Magento Developers Toolbox v2.0

  • Sharebar

Let’s expand our magento developers toolbox

Part one of the series can be found here.

I was supposed to be in hiatus… but I was reminded by my 4 month old daughter that I am awake 24/7 so it’d make sense to use that time wisely.
I was also reminded that I promised a Magento developer toolbox v2.0 and going into hiatus didn’t play too well with it – sorry guys.
Besides turning off my brain has never been easy.

Now that we put all that beauty aside, let’s talk about the magento developers toolbox and what I think you should be using now, this time around you should know I am not being too impartial and I am going to list some extensions from my coworkers.

Let’s get to business now:

Useful Tools

PHP console

This is where the impartial game begins… Thomas put together this tutorial, check it out is worth your time. Get rid of that test.php file in your root folder and cut that ACL rule in your varnish configuration file.

Minigrid

Here is where the impartial game ends – the minigrid is an extension developed by Brys Sepulveda the third musketeer in Blue Acorn’s System’s architects. So what is this minigrid thingy and why is the second useful tool? Well thanks to it now you can define grids in the system config in Magento’s admin. Creating a grid in Magento is very simple but sometimes it is too much for simple solutions like adding remarketing scripts, blocked ips and so forth. Now I am not sure if I can share the extension but if I can… you will be the first to know.

N98 Magerun

For a bash addict like me this is a must and no just your regular must have application, this is a must have or die.
Why is that? The n98 magerun cli tools provides some handy tools to work with Magento from command line. Read: it provides the most awesome commands to work with magento. From clearing cache to dumping the database with simple commands. I mean it is just insanely useful. It goes in the same class as MageTool / ZendTool

This is all thanks to Christian Münch

Magicento

Do you use PHPStorm? Yes?! Well have you installed this plugin already? No… then you are missing out! Any newbie or expierenced developer will benefit from the magic of this plugin.

The only problem is that I am still stuck with netbeans, you must understand me and netbeans go long ways since 5.5 and still rocking!

Zend Framework

Nothing to say here other than get your zen rolling

Debugging tools

Firegento

The only problem with firegento is that its documentation is in German (c’mon guys either teach me german and translate it to English – I prefer the former btw)

But here is something I can tell you it about it:

This is a heck of diagnostic module for Magento because it offers a quick, simple and accessible overview of possible sources of errors. Stop, swallow that! Yea. The team at FireGento is trying hard to be like Nostradamus.

Some of the features that it includes:

  • A list of all installed modules and representation of their dependencies in the Magento backend
  • Detecting Conflicts Rewrite (multiple overwrite the same classes)
  • Edition of the logs in the Magento backend
  • Interfaces to the FirePHP Firefox Addons and FireLogger for more flexible development of modules

Wee Developer Toolbar

This tool is very similar to commercebug… I used it a few times and it was really good.

My main problem was that it was very invasive but Fabian Ikono says I should go back to it and who am I to say no.

Shell Folder

Magento’s own shell folder in the root deserves to be mentioned… from compiling your code, indexing your store to getting some stats out of your logs.

If you index your magento store through the web interface well you are not doing it the best possible way.

This is the example output if run without options:

ssh code        Usage:  php -f indexer.php -- [options]
  --status <indexer>            Show Indexer(s) Status
  --mode <indexer>              Show Indexer(s) Index Mode
  --mode-realtime <indexer>     Set index mode type "Update on Save"
  --mode-manual <indexer>       Set index mode type "Manual Update"
  --reindex <indexer>           Reindex Data
  info                          Show allowed indexers
  reindexall                    Reindex Data by all indexers
  help                          This help
  <indexer>     Comma separated indexer codes or value "all" for all indexers

Yup, couldn’t leave this post without showing off Bash and some code icon razz Magento Developers Toolbox v2.0

Testing

MageSpeedTest.com

It’s entirely possible that your Magento store is slow… with this tool you can find out. I mean you know I love siege (which I am about to replace) but unless you are doing a distributed testing you will never know what is going. Ashley Schroder makes it possible for you to know in a very awesome way.

Performance

Magento Class Path Cache

This is a great module to improve your magento performance… the idea is to reduce the amount of times a file gets included by caching it the first time. This is a must have!

Magentify

The cool kids of ruby have all sorts of tools, no wonder they love it so much, one of the tools they have I really like is capistrano and I wish there was something like that existed for Magento… guess what? Sometimes your wishes can become true, thanks to Alistair Stead we now have it.

So why is this soo coool? This is Magento deployments made easy especially if you use git, best part yet, it doesn’t matter where your repository lives it just works awesomely well.

BehatMage

Another great tool in rubyland is cucumber. PHP has behat but there was not a true integration with Magento… until 2 days ago (this is the power of the Magento Community, in this case just the army of one.

Alistair has brought Behavioral driven development (BDD) to Magento… what are you waiting for!?

Bonus

Lately I have found myself using Zim for note taking a lot and together with dropbox and ubuntuone it has become my shareable knowledge base. Here is why:

Zim is a graphical text editor used to maintain a collection of wiki pages. Each page can contain links to other pages, simple formatting and images. Pages are stored in a folder structure, like in an outliner, and can have attachments. Creating a new page is as easy as linking to a nonexistent page. All data is stored in plain text files with wiki formatting. Various plugins provide additional functionality, like a task list manager, an equation editor, a tray icon, and support for version control.
Zim can be used to:
- Keep an archive of notes
- Take notes during meetings or lectures
- Organize task lists
- Draft blog entries and emails
- Do brainstorming

So what’s next…

The magento developers toolbox series might need to wait a few months before we get a really good toolset so this series is on hold until them. In the mean time in a very bold move I am going to start a Magento extensions certification series, suggestions accepted. The metrics will be Magento’s performance with the extension, how easy it is to install and remove, does it override instead of dispatching events… you know all that fun stuff.

VN:F [1.9.22_1171]
Rating: 9.8/10 (4 votes cast)
VN:F [1.9.22_1171]
Rating: +3 (from 3 votes)
Magento Developers Toolbox v2.0, 9.8 out of 10 based on 4 ratings

Author: Luis Tineo

Husband, Father, performance improvement junkie, biker and video gamer, Linux user and in my day job I'm a Systems Architect at Blue Acorn.

Share This Post On
  • speedupmate

    seems like you have a lot of time in hand writing up all those great blog posts here :) so if you have all that skill and time then to help all n00bs it would be great to put that knowledge to downloadable and preconfigured vagrant box that all n00bs an install and just fire up the commands and improve their work by running a “quality check” against pre-configured environment.

    as i have noticed in StackOverflow and similar forums there are lot of basic questions and those dudes lack the knowledge to setup behat, phpunit, code quality tools like mess detector, grunt and so on. If there would be a environment for them that does all those great things that you blog here it would be a huge value to community and every starter can then just :

    * put my code here
    * run this command line call
    * have my code validated and see how hard that sucks

    if this all would be in form of puppet/chef scripts it would be extendable too and would unify the dev scene around Magento

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
    • Luis Tineo

      Thanks Speedupmate I love the idea, but are you sure you are not mage_devil? He asked me same thing… I don’t think I can really pull it together as that is a really long list of tools and examples. I will try my best to accommodate a few because it may seem that I have all the time in the world but that’s just an illusion.
      However I think a quick short series could definitely be possible with the most basic and really required tools. And can help the community to start the right way.
      I mean let’s learn how to create vagrant boxes, install nginx and configure it and the same for Percona server. And even quick examples of how to fine tune mysql… All through chef of course
      After that we can set up watir and php unit with codesniffer and mess detector.
      As long as it is in my domain of expertise If you can give me a concise list I can put it in the burner ;-)

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      VA:F [1.9.22_1171]
      Rating: 0 (from 0 votes)
    • http://rouven-rieker.com/ therouv

      Hey @speedupmate:disqus, have a look at this Vagrant-powered “ecommerce-dev-environment”: https://github.com/BjoernSchotte/commerce-dev-environment It has most of the PHP-QA-Tools pre-installed..

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      VA:F [1.9.22_1171]
      Rating: 0 (from 0 votes)
      • speedupmate

        thanks for link , i have seen this but what i had in mind would be more concentrated to magento dev although this already has a good startpoint of puppet scripts that can be used on reaching it

        VA:F [1.9.22_1171]
        Rating: 0.0/5 (0 votes cast)
        VA:F [1.9.22_1171]
        Rating: 0 (from 0 votes)
  • http://rouven-rieker.com/ therouv

    Your wish is my command. I’ll provide a documentation for Firegento and will keep you posted when ready.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
    • http://www.kingletas.com Luis Tineo

      Thanks man – really appreciate it. This extension looks really promising – gimme a manual and I will put it in the first 10 “certified” extensions blog post that is coming next.

      VN:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.22_1171]
      Rating: 0 (from 0 votes)
  • http://twitter.com/NettbutikkSimen Simen Thorsrud

    Lots of goodies in here I haven’t tried. Thanks for sharing!

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
    • http://www.kingletas.com Luis Tineo

      Thanks for stopping by :-D – let me know if you know of any tools I should add to the toolbox!

      VN:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.22_1171]
      Rating: 0 (from 0 votes)
  • http://www.mindinventory.com/magento.php magento development

    Magento has some great choices when it comes to client support. With Magento you allow your clients the option to make individual records, monitor their shopping record,

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • http://rouven-rieker.com/ therouv

    @f7593f019b3143670d11c3c209a4d19d:disqus BTW: I’ve recently added an English README to the GitHub repository: https://github.com/firegento/firegento :-)

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • Neil Hoffman

    The best way would be to manage what one needs without altering the core
    code is the best option to do things. Magento has several rules to
    follow. If a developer tries to bypass them, it could save time but may
    result to time-consuming repairing of error after tampering the core
    files and something would go wrong.

    http://jeffreylaughllin.webs.com/

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • http://www.magentodevelopments.com/ magento development company

    With Magento becoming the front-runner in the eCommerce globe, it is becoming more essential for clients to be able to quickly handle their quickly changing Magento shop. Out-of-box Magento has remaining many clients disappointed with time-consuming shop control due to most Magento Shops containing hundreds and hundreds.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • http://www.mindinventory.com/magento.php magento development

    Regardless of the customer credentials, they were all asking about how unique provides execute in Magento eCommerce development, particularly price recommendations.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)