Monthly Archives: December 2013

  • We like to share fun facts from time to time - today we want to demystify some facts about salad.

    The following data was found on the Massive Health website, a company that set out to track what we eat and with it how we think about health. You may have heard about Eatery, the app that lets you take pictures to track and measure your eating habits (

    Two interesting fun facts about salad are that not every salad is made equal. Here is an obvious range from Potato Salad to Greek Salad.

    salads Not All Salads Are Healthy

    Checking my favorite salad place, Chop't, some of their salads approach over 550 calories, which puts them in the range of of a big mac.

    And more surprisingly the same caesar salad, depending  on the restaurant, may not be the same. This line up put's the heaviest ceasar salad at almost two big macs.

    salads How Healthy Are Restaurants?

    The second fact may not be as surprising is you ever had the pleasure eating at the Cheesecake Factory; and rolling home on your belly afterwards.

    Please share your thoughts and feedback with us by leaving a comment below.

  • holidays Magento eCommerce Fun Mockup

    A find from our Magento archive. The Magento team must had fun with playing around with it's name on a new kind of brew.

    Happy holidays and all the best for 2014 from all of us here at Hara Partners!



  • Magento Connect has not only been revamped it's design with the overall Magento  website, but at long last, improved it's poor search algorithm.

    Only weeks ago any search on Magneto connect resulted at best in vaguely related search results, most of them heavily diluted with popular themes as the algorithm seemed to be solely based on the popularity of the Magento Connect entry.

    For Example, the search for "live chat" resulted in about 50% related hits on the first page, while Magento themes and order extensions that metion the word "live chat" in their description, but have nothing to do with live chat technology would appear even in the first result spot.


    Magento Connect Magento Connects Old Sorting Algorithm


    It's refreshing to see the recent updates to the search algorithm. It's sawfe to say that they have been overdue after 5 years!

    Magento Connect Magento Connect New Search Algorithm

    Let us know what you think of the recent changes. Have you been able to find more relevant results or had you already given up on Magento Connect? Please leave a comment and share your feedback with us.




  • We wanted to share this video by Clay Shirky who uses the software version control system git. Shirky talks about how tools promote arguments between humans, which leads to more chaos as well as constructive collaboration. What started with the printing pres and the scientific journal has now become real-time reporting and discourse on Twitter.

    No matter what structure you prefer; weather it's the decentralized collaboration through git, or a more centralized revision control with SVN, Mercurial or the software of your choice, if you're not programming by yourself, and even then, you may want to setup a version control system for your e-commerce store.

    If you have more than one person working on your code base, you should install a software version control system. We're happy to answer any questions if you leave a comment below, or feel free to contact us in any other way.

  • Hara Partners added reviews powered by our partner Yotpo. Learn more about Yotpo and how you could take advantage of reviews on our patner page:

    Hara Partners reviews Yotpo powers Hara Partners Reviews

    We don't sell many products on the Hara Partners website, but we are big believers of "eating your own dog food", or putting our money where our mouth is. We have added Yotpo's reviews to our website and have been very happy with the ease of implementing the tool with Magento. Yotpo provides superb customer service and support and the best thing is that you can start absolutely free.

    Post a comment below and let us know about your experience with Yotpo or reviews in general.

  • We wanted to provide a brief overview about proper Magento administrator user rights management, in particular in light of the recent vulnerability warning Magento issued for its Magento Enterprise edition. (See our previous post about about a Magento Enterprise Security Vulnerability).

    We want to share some guidelines to follow and hear from you what you found to work well for you as well as where you had challenges.

    Magento Administrator User Management

    Magento Administrator User Management

    1. Don't use users with generic names such as "Administrator"

    Avoid users such as "admin", "administrator" or "sales" that are easy to guess. Along the same line you should use unique users.

    2. Create a unique user account for each user

    Each user should have a separate login account, you may even want to create multiple administrative accounts, one for administration and one for your day-to-day management role, if this applies. A proper user should be filled in with proper first and last name.

    Proper Magento Administrator User Setup Proper Magento Administrator User Setup

    3. Only keep active users 'active', disable past or inactive administrators

    Continue to manage your administrator users actively and just as you enable and crate new users accounts for each individual new team member or consultant, you should deactivate or delete administrator accounts who are no longer using the login account or are no longer working for you.

    4. Create user roles that fit your actual roles

    Don't give every user Administrator access, i.e. access to everything, to everyone, actually don't give administrator to anyone. Setup admin accounts for the people who need it from time to time, and setup limited accounts that you can use on a day-to-day basis.

    Magento Administrator Roles Magento Administrator Roles

    Please use the comments section below to share your experience with Magento administrator user rights management with us and ask questions.

  • Spotted earlier this year - a window cleaner at the back of our office, cleaning windows from the outside without harness over 100 ft (or 30 meter) above the church roof underneath.

    We contemplated if this was the modern version of walking the plank. Next time someone screws up a job, she will have to clean the windows from the outside.

  • Error in file: “/home/domains/public_html/magento/app/code/core/Mage/Customer/sql/customer_setup/mysql4-upgrade-0.8.4-0.8.5.php” - SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘deb39780_magento.customer_eav_attribute’ doesn’t exist

    #0 /home/domains/public_html/magento/app/code/core/Mage/Core/Model/Resource/Setup.php(645): Mage::exception(’Mage_Core’, ‘Error in file: ...’)
    #1 /home/domains/public_html/magento/app/code/core/Mage/Core/Model/Resource/Setup.php(437): Mage_Core_Model_Resource_Setup->_modifyResourceDb(’upgrade’, ‘0.8.1’, ‘’)
    #2 /home/domains/public_html/magento/app/code/core/Mage/Core/Model/Resource/Setup.php(320): Mage_Core_Model_Resource_Setup->_upgradeResourceDb(’0.8.1’, ‘’)
    #3 /home/domains/public_html/magento/app/code/core/Mage/Core/Model/Resource/Setup.php(235): Mage_Core_Model_Resource_Setup->applyUpdates()
    #4 /home/domains/public_html/magento/app/code/core/Mage/Core/Model/App.php(417): Mage_Core_Model_Resource_Setup::applyAllUpdates()
    #5 /home/domains/public_html/magento/app/code/core/Mage/Core/Model/App.php(343): Mage_Core_Model_App->_initModules()
    #6 /home/domains/public_html/magento/app/Mage.php(683): Mage_Core_Model_App->run(Array)
    #7 /home/domains/public_html/magento/index.php(87): Mage::run(’’, ‘store’)
    #8 {main}

  • Magento announced a patch for a Magento Enterprise Security Vulnerability as many industry blogs published. Magento has informed all it's Magento Enterprise customers about the security hole, but Magento has not posted anything on their blog.

    Magento Enterprise Security Vulnerability Magento Enterprise Security Vulnerability

    Magento has already a security patch reach for its Magento Enterprise Edition clients, which can be access on the account section on the Magento website under Support Patches. This security vulnerability affects all Magento versions prior to the just recently patched version (every version from through

    What does this Magento Enterprise Security Vulnerability mean to you?

    The vulnerability is limited to Magento Enterprise only, and only to users who have administrative privileges. So you can take a deep breath as this Magento Enterprise Security Vulnerability won't expose you to the rest of the world. However, if you have a poor admin user rights management, such as multiple users sharing the same log-in account and you may want to change this. Read more about proper Magento administrator user rights management in this follow up post.

    What Damages could you be exposed to by this Magento Enterprise Security Issue?

    A user with an administrator access to your Magento Enterprise store exploiting this issue could delete files and folders from your Magento installation. Should you drop everything and apply this patch? Not necessarily, many merchants should be in code freeze for the holidays season and you may be fine riding it out until January with your current code base.

    You should tighten your admin access rights management no matter what. If you have past employees who still have access to your Magento admin panel, you should remove them.

    This Enterprise Security Vulnerability does not affect Magento Community Edition

    This vulnerability is limited to the Magento Enterprise edition only and does not affect the Magneto Community Edition. Magento Enterprise provides a great number of additional functionality with considerable more code

    Please contact us for help with applying this Magento Enterprise security patch or help with your other Magento security concerns. An easy way to address all your security and performance concerns is with the proprietary Magento Health Check.

    Please post any questions as comments here and our staff will help you get answers fast. Please keep questions around potential security risks private and use the "get it touch with us" form.

  • I’m getting a T_string error on line 11 on this qty update script, am I missing something?




    /***************** UTILITY FUNCTIONS ********************/
    function _getConnection($type = 'core_read'){
    return Mage::getSingleton('core/resource')->getConnection($type);

    function _getTableName($tableName){
    return Mage::getSingleton('core/resource')->getTableName($tableName);

    function _getAttributeId($attribute_code = 'price'){
    $connection = _getConnection('core_read');
    $sql = "SELECT attribute_id
    FROM " . _getTableName('eav_attribute') . "
    entity_type_id = ?
    AND attribute_code = ?";
    $entity_type_id = _getEntityTypeId();
    return $connection->fetchOne($sql, array($entity_type_id, $attribute_code));

    function _getEntityTypeId($entity_type_code = 'catalog_product'){
    $connection = _getConnection('core_read');
    $sql = "SELECT entity_type_id FROM " . _getTableName('eav_entity_type') . " WHERE entity_type_code = ?";
    return $connection->fetchOne($sql, array($entity_type_code));

    function _checkIfSkuExists($sku){
    $connection = _getConnection('core_read');
    $sql = "SELECT COUNT(*) AS count_no FROM " . _getTableName('catalog_product_entity') . " WHERE sku = ?";
    $count = $connection->fetchOne($sql, array($sku));
    if($count > 0){
    return true;
    return false;

    function _getIdFromSku($sku){
    $connection = _getConnection('core_read');
    $sql = "SELECT entity_id FROM " . _getTableName('catalog_product_entity') . " WHERE sku = ?";
    return $connection->fetchOne($sql, array($sku));

    function _updateStocks($data){
    $connection = _getConnection('core_write');
    $sku = $data[0];
    $newQty = $data[1];
    $productId = _getIdFromSku($sku);
    $attributeId = _getAttributeId();

    $sql = "UPDATE " . _getTableName('cataloginventory_stock_item') . " csi,
    " . _getTableName('cataloginventory_stock_status') . " css
    csi.qty = ?,
    csi.is_in_stock = ?,
    css.qty = ?,
    css.stock_status = ?
    csi.product_id = ?
    AND csi.product_id = css.product_id";
    $isInStock = $newQty > 0 ? 1 : 0;
    $stockStatus = $newQty > 0 ? 1 : 0;
    $connection->query($sql, array($newQty, $isInStock, $newQty, $stockStatus, $productId));
    /***************** UTILITY FUNCTIONS ********************/

    $csv = new Varien_File_Csv();
    $data = $csv->getData('stocks.csv'); //path to csv

    $message = '';
    $count = 1;
    foreach($data as $_data){
    $message .= $count . '> Success:: Qty (' . $_data[1] . ') of Sku (' . $_data[0] . ') has been updated.

    }catch(Exception $e){
    $message .= $count .'> Error:: while Upating Qty (' . $_data[1] . ') of Sku (' . $_data[0] . ') => '.$e->getMessage().'
    $message .= $count .'> Error:: Product with Sku (' . $_data[0] . ') does\'t exist.
    echo $message;

    You should not modify the Mage.php file directly, but make a module to overwrite the function in question.

Items 1 to 10 of 12 total

  1. 1
  2. 2
Back to top