Search This Blog

Tuesday, May 29, 2012

Magento Project Scope Definition


Missing some details during complex Magento projects analyzes and estimation may cost developers too much money and headache. While a client is trying to provide all details about his future eCommerce website, there are a lot of hidden issues that may be missed and underestimated. Client just don’t think about these details at the beginning, but still will expect that this stuff will be provided by default because it’s “obvious”, but developer forgot to include these features to the scope during analyses. Usually, it leads to the situation when the project is out of time and budget and nobody is happy.
Here is a list of such hidden issues that worth to be taken into account in advance to avoid problems during project acceptance.
Product catalog creation. Obviously, a client already has a product catalog that are going to be sold. Is he willing to set up it himself in Magento or does he expect development company to do it? If the second, what way the data will be provided? You should consider time that you’ll need for implementation of import procedure. Sometimes it may be not so easy and requires preliminary efforts for making right data format for import.
Stores/Languages/Currencies. If a store is going to be branded for a few national markets, you probably should take care to make it available in several languages and configure various currencies. While it’s not to difficult to set up localization settings in Magento, working with translations will cost you additional time and efforts. Perfect markup made for English store will most probably require additional customization, when you will work on another language. It will take different space to place the text for the the same phrase in English, Russian and Chinese or Arabic. There are similar issues with currencies’ signs as well.
Payment and Shipping methods. First of all, you should check extensions for shipping and payment methods, that client would like to have, are available on Magento connect. It’s absolutely different tasks: to create extension yourself and to use something that has already done and available. If you are lucky and extensions are available on Magento Connect, check their cost and include to the budget if they are commercial. You should also care about their reviews: if they are bad and lots of people experienced problems — most probably you’ll have troubles as well. If there are no extensions on Magento connect you should check that the payment gateway or shipping company really provide API required for the implementation of your task.
Performance requirements. It’s reasonable to ask your client about his expectation regarding performance of eCommerce before the start of the project. You should check, if the hosting plan that client has chosen really may afford it. It’s great to get from the client at least estimated numbers for the following values:
— How many unique visitors per day does he expect?
— How many items should his catalog have?
— How many simultaneous users does he expect?
You should have solid idea how you are going to reach these numbers and to allocate reasonable time for server’s set up and performance optimization stuff.
SEO related stuff. We are talking about basic technical optimization here, but not about content optimization and keywords. Magento is one of the most search engine friendly eCommerce platforms out of the box, but there are known issues. Client who knows at least basics of SEO may be shocked by some default Magento URLs (for example, try to switch from one language to another) and most probably they will not be happy with it and will consider it as a developers’ issue. To avoid this situation discuss with client his expectation regarding technical aspects of SEO in advance and think how much time will it take you to make it work this way.
Integration with 3rd party services and systems. Client will want to integrate his new Magento store with some software that he has: ERP, CRM, Accounting, etc. It’s better to take care about this in advance and ask him before project is started. You should be sure that it’s at least possible, and client’s software has an API that may be called from Magento store in order to get some data. The integration is always not a simple project, and you should inform client about it to form right expectations.
Blog. Yes it’s simple, but it also takes time to be done. So, ask your client if he is willing to get blog and what features does he need. There is a great free extension on Magento Connect: Blog Community Edition. It’s really simple to be installed and customized. Although if client needs to have more features — you should propose hims something like WordPress and reserve more time for it’s integration with Magento store.
Orders management. It’s very valuable for every store. Magento has clear and simple orders management flow although often store has it’s own flow that may be different. Client cares about his business but not about how it’s done in Magento… So, it’s reasonable to talk with client before the project has started and to show him how the orders are been processed in Magento. If it doesn’t meet his flow you will be able to estimate how much time/efforts customization will take.
Version for mobile devices. I don’t think it’s something that may be really missed but anyway it’s better to ask client not only about browsers that should new store should be compliant with, but also about the mobile devices in which the store should work and look good. While it’s not hard to make a theme for iPhone or iPad, to make website be accessible from mobile phones is not a simple task, although doable. Visit for example http://www.sannas.jp made by us from your mobile phone to see an example.
“Small” stuff. Do not forget about “tiny” things otherwise it may cost you strong headache. Take care about messages look and behaviour (validation, success messages, error messages, etc.). Pay attention to design of email templates and pdf documents templates (invoices, etc.) — clients are often not happy with its default look.
That’s it what I have so far. This post is targeted mostly to project managers who creates specification and requirements for Magento project. There are useful articles for developers with the same idea as well. The most useful on my oppinion is 37 Point Magento Pre-Launch Checklist.
Hope this article will help you to get rid of some mistakes in projects estimates. If you have more items to add to this list — please let me know and I’ll update this article. Thanks.

Thanks to http://oggettoweb.com/blog/magento-project-scope-definition/


37 POINT MAGENTO PRE-LAUNCH CHECKLIST , points before making the site live

37 POINT MAGENTO PRE-LAUNCH CHECKLIST , points before making the site live

Download Magento-Pre-Launch-Checklist 

Taking any website live can be a very stressful time as a developer. Your client is pushing to go live as soon as possible and the pressure can make it easy to forget steps. I’ve compiled some tips and tricks that I have picked up on Meanbee’s projects for moving your Magento store from development to production.

Base URLs
Favicon
HTML Head
Placeholder Images
Contact Information
Transactional Emails
Plain-text Passwords in Emails are Evil
Change Admin Url
Invoice and Packing Slip Design
Tax Settings
Shipping Origin
404 Page
Clear Test Data
Product Inventory
Flush JavaScript to 1 file
Minify the CSS
Flush CSS to 1 file
Maintenance.flag
Error Page Design
Index Management
Caching
System Compilation
Google Analytics
Google Base
Google Sitemap
Newsletter Subscriptions
Shipping Methods
Payment Gateways
SSL Certificate
Module Licenses
PHP Configuration
Turn on the Crons
Log Cleaning
Disable Unnecessary Modules
Database Backup and Restoration Strategy
“The Web should be fast”
Be prepared

Download Magento-Pre-Launch-Checklist 

Thursday, May 24, 2012

Magento Coomunity edition SOLR Integration download free


Magento Coomunity edition SOLR Integration download free

Use Apache Solr Search Engine with Magento CE

http://code.google.com/p/magento-community-edition-solr/

http://code.google.com/p/magento-community-edition-solr/

http://code.google.com/p/magento-community-edition-solr/downloads/list



Magento SOLR integration tutorial help link


http://www.summasolutions.net/blogposts/magento-apache-solr-integration Part I (intro)

http://www.summasolutions.net/blogposts/magento-apache-solr-set Part II (setup)

http://www.summasolutions.net/blogposts/magento-apache-solr-integration-part-iii-indexing-custom-data
Part III (indexing custom data)

http://www.summasolutions.net/blogposts/magento-apache-solr-integration-part-iv-ajax-search-form

Part IV (Ajax Search Form)


Deleting Test Orders magento


■ Note Before you continue with the following script it is important that your Magento database is fully
backed up.


Currently, there is no direct method for deleting orders from within the Magento administration
interface. To delete any test orders, you will need to go to your MySQL client and run the query that is
copied below.
While there are a few Magento extensions that claim to add additional functionality to your store
and allow you to delete orders, in my experience I have found these extensions are unable to do what
they claim or can cause serious damage to your Magento database.
If this procedure is too advanced I would recommend, simply changing the status of any test orders
from pending to canceled. Alternatively, you can do a fresh install of Magento without sample data and
you will not have to remove products customers or orders.


■ Note Do not run this query if you do not want to delete all orders that are in your store.
SET FOREIGN_KEY_CHECKS=0;
TRUNCATE `sales_order`;
TRUNCATE `sales_order_datetime`;
TRUNCATE `sales_order_decimal`;
TRUNCATE `sales_order_entity`;
TRUNCATE `sales_order_entity_datetime`;
TRUNCATE `sales_order_entity_decimal`;
TRUNCATE `sales_order_entity_int`;
TRUNCATE `sales_order_entity_text`;
TRUNCATE `sales_order_entity_varchar`;
TRUNCATE `sales_order_int`;
TRUNCATE `sales_order_text`;
TRUNCATE `sales_order_varchar`;
TRUNCATE `sales_flat_quote`;
TRUNCATE `sales_flat_quote_address`;
TRUNCATE `sales_flat_quote_address_item`;
TRUNCATE `sales_flat_quote_item`;
TRUNCATE `sales_flat_quote_item_option`;
TRUNCATE `sales_flat_order_item`;
TRUNCATE `sendfriend_log`;
TRUNCATE `tag`;
TRUNCATE `tag_relation`;
TRUNCATE `tag_summary`;
TRUNCATE `wishlist`;
TRUNCATE `log_quote`;
TRUNCATE `report_event`;
ALTER TABLE `sales_order` AUTO_INCREMENT=1;
ALTER TABLE `sales_order_datetime` AUTO_INCREMENT=1;
ALTER TABLE `sales_order_decimal` AUTO_INCREMENT=1;
ALTER TABLE `sales_order_entity` AUTO_INCREMENT=1;
ALTER TABLE `sales_order_entity_datetime` AUTO_INCREMENT=1;
ALTER TABLE `sales_order_entity_decimal` AUTO_INCREMENT=1;
ALTER TABLE `sales_order_entity_int` AUTO_INCREMENT=1;
ALTER TABLE `sales_order_entity_text` AUTO_INCREMENT=1;
ALTER TABLE `sales_order_entity_varchar` AUTO_INCREMENT=1;
ALTER TABLE `sales_order_int` AUTO_INCREMENT=1;
ALTER TABLE `sales_order_text` AUTO_INCREMENT=1;
ALTER TABLE `sales_order_varchar` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_address` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_address_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_item` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_quote_item_option` AUTO_INCREMENT=1;
ALTER TABLE `sales_flat_order_item` AUTO_INCREMENT=1;


ALTER TABLE `sendfriend_log` AUTO_INCREMENT=1;
ALTER TABLE `tag` AUTO_INCREMENT=1;
ALTER TABLE `tag_relation` AUTO_INCREMENT=1;
ALTER TABLE `tag_summary` AUTO_INCREMENT=1;
ALTER TABLE `wishlist` AUTO_INCREMENT=1;
ALTER TABLE `log_quote` AUTO_INCREMENT=1;
ALTER TABLE `report_event` AUTO_INCREMENT=1;
-- reset customers
TRUNCATE `customer_address_entity`;
TRUNCATE `customer_address_entity_datetime`;
TRUNCATE `customer_address_entity_decimal`;
TRUNCATE `customer_address_entity_int`;
TRUNCATE `customer_address_entity_text`;
TRUNCATE `customer_address_entity_varchar`;
TRUNCATE `customer_entity`;
TRUNCATE `customer_entity_datetime`;
TRUNCATE `customer_entity_decimal`;
TRUNCATE `customer_entity_int`;
TRUNCATE `customer_entity_text`;
TRUNCATE `customer_entity_varchar`;
TRUNCATE `log_customer`;
TRUNCATE `log_visitor`;
TRUNCATE `log_visitor_info`;
ALTER TABLE `customer_address_entity` AUTO_INCREMENT=1;
ALTER TABLE `customer_address_entity_datetime` AUTO_INCREMENT=1;
ALTER TABLE `customer_address_entity_decimal` AUTO_INCREMENT=1;
ALTER TABLE `customer_address_entity_int` AUTO_INCREMENT=1;
ALTER TABLE `customer_address_entity_text` AUTO_INCREMENT=1;
ALTER TABLE `customer_address_entity_varchar` AUTO_INCREMENT=1;
ALTER TABLE `customer_entity` AUTO_INCREMENT=1;
ALTER TABLE `customer_entity_datetime` AUTO_INCREMENT=1;
ALTER TABLE `customer_entity_decimal` AUTO_INCREMENT=1;
ALTER TABLE `customer_entity_int` AUTO_INCREMENT=1;
ALTER TABLE `customer_entity_text` AUTO_INCREMENT=1;
ALTER TABLE `customer_entity_varchar` AUTO_INCREMENT=1;
ALTER TABLE `log_customer` AUTO_INCREMENT=1;
ALTER TABLE `log_visitor` AUTO_INCREMENT=1;
ALTER TABLE `log_visitor_info` AUTO_INCREMENT=1;


-- Reset all ID counters
TRUNCATE `eav_entity_store`;
ALTER TABLE `eav_entity_store` AUTO_INCREMENT=1;
SET FOREIGN_KEY_CHECKS=1;






Tuesday, May 22, 2012

Magento Enterprise Edition 1.12 New Features



Magento Enterprise Edition 1.12 New Features

1) Mobile HTML5
Quickly and easily create a storefront optimized for mobile devices so customers can shop even when they’re on the go. This mobile interface uses HTML5 technology and supports iPhone, Android and Mobile Opera browsers. It includes out-of-the-box features such as:
·      Device-specific media capabilities for audio and video
·      User-friendly search and results display
·      Clean display of product detail pages
·      Pinch, multi-touch and scaling images
·      Easy swipe between product images
·      Zoom capabilities
·      Cross-sell and up-sell capabilities
·      Drag-and-drop of products to the shopping cart

2) Visitor Segmentation
Tap into a whole new customer segment – unknown site visitors. Whether they’re new visitors or returning customers who have not logged in, you’ll now be able to identify and target them with special promotions to convert browsers into buyers.  

3) Expanded Rule-based Product Relations

Our rule-based product-relations functionality allows merchants to target specific customer segments with product recommendations. Pinpoint specific customers with up-sells, cross-sells and related products to create a more relevant shopping experience.

4) Auto-generation of Coupon Codes

Generate a set of unique coupon codes for each promotion you run and export the list of codes for offline distribution, email, newsletters and more. Easily manage and monitor coupon usage and generate detailed reports.

5) Multiple Wish Lists

Customers can save products to multiple wish lists and copy or move items from list to list. They can make their wish lists public so they’re searchable by anyone. And merchants can review them to learn about their customers’ wants and needs.  

6) Layered Navigation Pricing Enhancement

We’ve introduced a new set of algorithms for price-layered navigation that provides much greater flexibility. Now you can display a range of prices that is based on having a similar number of products within each range, giving you better control of your customers’ search results, and helping your customers find what they’re looking for faster.

7) Customer Group Pricing

One price doesn’t always fit all. This tool allows you to create different price points for different customer groups, such as wholesalers and retailers. You can determine both base price and tiered price levels.

8) Add to Cart by SKU

Streamline the ordering process, especially for B2B customers, by enabling them to enter a list of SKUs without having to go into product pages. This simplifies large orders, recurring orders and ordering based on offline catalogs.

9) REST APIs Support

The new Magento REST API uses three-legged OAuth 1.0a protocol to allow applications to safely access Magento services. What this means for you? You can manage customers, customer addresses, sales orders, inventories and products using HTTP verbs (GET, POST, PUT, DELETE). Data requests and responses can be in XML or JSON format.
This initial version of the REST API supports the following functions:
·      Create/Retrieve/Update/Delete a simple product
·      Retrieve a list of orders and specific order information
·      Update/Retrieve catalog inventory
·      Create/Retrieve/Update/Delete complete customer information

                        10 )European Union VAT-ID Validation

This feature facilitates the tax collection process for online businesses in the EU and greatly simplifies international B2B transactions by automatically applying the correct tax rules. Taxes can be calculated and charged according to VAT customer groups, based on customer shipping or billing addresses and VAT IDs.  

11) EU Cookie Restriction

Our response to the recent EU Privacy and Electronic Communications Directive? A new cookie notification feature that simplifies the compliance process. Once enabled, a message at the top of the storefront informs site visitors about the cookie policy and prompts them to accept or decline.

12) CMS Page Hierarchy Enhancements

Managing your CMS hierarchy tree just got easier. Now you can add CMS pages to the navigation menu without custom development. You can also create, copy or delete different CMS hierarchy trees for each website and store view individually or en masse..

13) Backup and Rollback

Manage and schedule a variety of backup operations with the option to rollback the changes to reverse any modifications. This feature is particularly useful when testing new modules or customizations, or when upgrading to a new version of Magento. You can review specific customizations and their impact on the new code. (We do not recommend using this feature in your production environment.)
Three types of backup are supported:
·      System Backup
·      Database Backup
·      Database and Media Backup

                        14) Payment Bridge 1.1 Updates

Magento Secure Payment Bridge, our PA-DSS certified payment application, adds multiple new payment methods. In addition to our existing supported gateways – PayPal, Authorize.net and Payflow Pro – we are introducing support for the following new gateways:
·      Psi Gate
·      RBS Worldpay
·      Database and Media Backup
·      Braintree
·      First Data
·      Card Gate Plus
·      DIBS
·      eWay Direct
·      Ogone Directlink
·      Paybox
·      Payone
·      Sage Pay
·      CCAvenue
Supported by services provided by Braintree or Authorize.net, customers can also securely save their credit card information for future transactions in a “My Credit Cards” section in “My Account.” And with support from Kount, you can integrate fraud-screening services with your payment methods (requires separate agreement with Kount).

                        15) CAPTCHA

Now you can enable CAPTCHA functionality on your site to help prevent automated software from attempting fake logins. This auto-generated test ensures that the login is being attempted by a person and can be enabled in both the admin and customer login areas.