Print This Post This page as PDF Email This Post Mgento Module - Footer More Links extension

June 13th, 2009

By Trupti,

Magento team at OffshoreSoftwareDevelopmentIndia.com has developed an Magento module for Footer Links.

This Footer links module for Magento contains the following items,

(1) All the categories in the tree structure with Category images.

(2) Top 12 searched performed on Magento Store,

(3) All static links in structured way, as defined in Admin section.

By Default this More links section remains hide in the footer. Once user click on more links it will display all the above links in the footer sections.

All the category links contains subcategories, clicling on + sign it will show all subcategories under the root Category.

Click on image to see Full image.

Footer Link Module - More Links When All links are Hide

More links are by default hidden. Once user click on more links, it will display all links as per the following image.

Displayed More Footer Links - Magento Module

Print This Post This page as PDF Email This Post Trick to speed up Eclipse

June 13th, 2009

By Paryank,

Trick to speed up Eclipse

Eclipse is one of the largest application in size which used for PHP development. Because of its large size and running through JVM (Java Virtual Machine), this application is very much slow in execution. Here are few configurations to be made to speed up Eclipse execution.

A file eclipse.ini is found under the directory from where eclipse is running. The following changes should be made in this file:

1. Find the lines containing -Xms40m and -Xmx256m and replace them with -Xms128m and -Xmx384m respectively.
2. Add the following lines at the end of the file

-vm
C:\Program Files\Java\jre1.6.0_11\bin\client\jvm.dll
-Xss2m
-XX:PermSize=128m
-XX:MaxPermSize=128m
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:CompileThreshold=5
-Dcom.sun.management.jmxremote

NOTE: The path C:\Program Files\Java\jre1.6.0_11\bin\client\jvm.dll may differ according to JRE installation on your computer. Please find the correct path of jvm.dll file and put it accordingly.

Eclipse PDT 2.0 which is based on Eclipse 3.4 which is comparatively faster than Eclipse 3.3 or older.

Zend Studio which is also Eclipse PDT based IDE and provides similar functionality as Eclipse PDT.

But the latest version of Zend Studio (Version 6.1.2) which is still based Eclipse (Version 3.3). So it is recommended to use Eclipse PDT instead of Zend Studio for better performance until next version of Zend Studio is not released.

Print This Post This page as PDF Email This Post Magento Extension - Google XML sitemap Split Module

June 13th, 2009

By Paryank,

Magento team at OffshoreSoftwareDevelopmentIndia.com has developed an Magento module for Google XML sitemap spilt.

Default module of Magento creates only one XML Sitemap file. Google does not accept the file more than 10 MB or 50000 links. So If there large Magento shop with products more than 50000, It requires to spilt the sitemap after every 50000 links or size more than 10 MB.

The Magento extension Google XML Sitemap Split Module developed by OffshoreSoftwareDevelopmentIndia.Com fulfills this requirement.

In the configuration Admin can specify both, the size of the XML file and Links in XML file to be splitted. Whatever the confitions fulfills first, this module will create new sitemap XML file. It will repeat this process till all the links processed.

Admin will be able to see all the generated XML files in the TXT file in the XML SiteMap module.

Everytime when Admin click on Generate the XML file, It will delete all previous XML files and recreates all new files.

Please refere the following screens to understand Module functionality perfectly well.

SiteMap Configuration:

System - Configuration - Google Sitemap

Click on image to view complete image.

Magento Extension - Google Sitemap Split Module Configuration

Adding Sitemap:

Catalog - Google Sitemap

Click on image to view complete image.

Adding New Google Sitemap

Generate Google SitemMap:

Catalog - Google Sitemap

Click on image to view complete image.

Magento generate Google split XML Sitemap

Click on Generate Link to generate the Google XML siteamap.

Once XML sitemaps generate, Click on index.txt file to list all generated XML files.

Print This Post This page as PDF Email This Post Working with Selenium-Grid and run PHP Tests

June 1st, 2009

By Vaishal,

Working with Selenium-Grid

1. Download selenium Grid from
http://seleniumhq.org/download/
And extract files any location. Mostly in C:\selenium

2. Install latest jre from

http://java.sun.com/

3. Download ant from

http://ant.apache.org/
Extract files in C:\Ant.

- Set environment variable ANT_HOME as
- Go to the properties menu of MyComputer
- Go to the advance menu and click on ‘Environment Variable’
- Click on new and Enter value ‘ANT_HOME’ variable with your folder value where you have installed Ant.
- Now set the path variable as
Edit value and add location of your ant\bin folder

4. Now go to the selenium-grid folder from command prompt and launch-hub as follow:

ant launch-hub

Hub will start on port no 4444 as follow:

5. Now start remote server from new terminal from same selenium-grid folder as follow

ant launch-remote-control

It will start as follow:

6. Now in browser go to the hub location by

http://localhost:4444/console

It will look like

7. To start more remote server enter
ant -Dport=5556 launch-remote-control
ant -Dport=5557 launch-remote-control
ant -Dport=5558 launch-remote-control

8. Now the hub on browser will show as

Available Remote Controls
Host Port Environment
localhost 5555 *firefox
localhost 5556 *firefox
localhost 5557 *firefox
localhost 5558 *firefox

Note: The total run time is directly proportional to the number of available remote controls. So don?t start more controls if not necessary.

9. Run the hub

This setup illustrates that you can run the hub and the remote controls on arbitrary machines. When you do so though, you need to provide a lot more information when launching a remote control. You need to launch it with:
ant -Dport=<port> -Dhost=<hostname> -DhubURL=<hub url> launch-remote-control
Where:

port Port that the remote control will be listening at. Must be unique on the machine the remote control runs on. hostname Hostname or IP address of the machine the remote control runs on. Must be visible from the Hub machine. Note: this information could be inferred as it is always referring to the machine the remote control runs on. It might not be required in future versions of the Selenium Grid. hub url Which hub the remote control should register/unregister to. If the hub is running on hostname my.hub.com, this URL will be http://my.hub.com:4444

10. Now to run a test open new cmd prompt and go the test folder.
phpunit Example

11. This will start the test.

Print This Post This page as PDF Email This Post Working with Selenium-IDE & Running PHP Unit tests

June 1st, 2009

By Vaishal,

Working with Selenium-IDE | Running Functional Tests | Runnig PHP Unit Tests

Selenium IDE is an integrated development environment for Selenium tests. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests. Selenium IDE includes the entire Selenium Core, allowing you to easily and quickly record and play back tests in the actual environment that they will run.

Selenium IDE is not only recording tool: it is a complete IDE. You can choose to use its recording capability, or you may edit your scripts by hand. With auto-complete support and the ability to move commands around quickly, Selenium IDE is the ideal environment for creating Selenium tests no matter what style of tests you prefer.

1. Download selenium IDE from
http://selenium-ide.openqa.org/download.jsp

This will directly add IDE as fire-fox add-ons.
https://addons.mozilla.org/en-US/firefox/addon/2079
2. Start Firefox and then Start Selenium IDE: Tools->Selenium IDE.

You will see the following window.

3. Enter base url or open the site on which you want to perform functional testing.
IDE will directly open in play mode with the entry of base url as below. Here we want to perform testing on http://www.offshoresoftwaredevelopmentindia.com/

4. After starting the IDE now simply browse the site. It  makes entry in the table as below

Now the entire test is like

Now stop recording by pressing red button.

In html format it looks like

We can export this file in any format we want as

In PHP format it looks as

5. Now to run the recorded test open new browser and press the green - play button

6. The test will run as follow

7. If there will be any error then that test will be highlighted by red line as

8. If you are on a slow internet connection than it may help to slow the test speed.

9. You can save the test case in php as follow..

Required changes in the exported PHP file is as follow

a. Change the class name same as stored file name as default class name will be ?Example?.
b. Enter the web-site name in the
$this->setBrowserUrl(”http://change-this-to-the-site-you-are-testing/“);
Field.
c. Available browser options are
*iexplore
*konqueror
*firefox
*mock
*pifirefox
*piiexplore
*chrome
*safari
*opera
*iehta
*custom
That is write as follow
$this->setBrowser(”*chrome”);
(When we define browser as chrome then no need to get security certificate but in case of firefox or iexplore we need to take certificate. )

10. Downloading and installing Selenium RC
Selenium RC is a Java based command line server that starts browsers and runs commands you pass from your tests.

a. First make sure you have a Java runtime installed on your machine.
Otherwise download it from
http://www.java.com/en/download/manual.jsp
http://java.sun.com/javase/6/docs/technotes/guides/jweb/otherFeatures/jre_install.html
Test the version of JRE by entering command on command line as ?
java -version
b. Download Selenium RC from http://selenium-rc.seleniumhq.org/download.html.
c. After extracting the files from the archive copy the ?selenium-server.jar? file to any directory you feel appropriate.
d. Start the Selenium RC server from the command-line by issuing the following command:
java -jar selenium-server.jar
This will start the server on port 4444.
e. Now the server is ready to accept test commands from your PHP script. Make sure you keep this server running till you finish testing.

11. Changes in selenium-server.jar file requires to run in Firefox is as below:

a. Open selenium-server.jar using winrar
b. locate 2 dirs: customProfileDirCUSTFFCHROME and customProfileDirCUSTFF
c. recursively explore each of those dirs, and when you find a file called install.rdf drag it to some temp location, and edit the following line:
<em:maxVersion>2.0.0.*</em:maxVersion>
change it to:
<em:maxVersion>4.0.0.*</em:maxVersion>
d. drag the install.rdf back into the archive and overwrite the old one.
e. do this for all the install.rdf files in those 2 dirs.

12. Installing PHPUnit
a. An easy way to install PHPUnit is to use the PEAR installer. The PEAR channel (pear.phpunit.de) is used to distribute PHPUnit so make sure that it is registered with your local PEAR environment:
pear channel-discover pear.phpunit.de
After the channel is registered install PHPUnit:
pear install phpunit/PHPUnit
Actual testing

Now that PHPUnit is installed and the Selenium RC server is up and running, it?s time to run our test we saved before in our ?Example.php? file. Type the following on your command-line:
phpunit Example

13. This will start the test. The PHPUnit Selenium driver will execute each test command from your file and send it to the Selenium server, which does the job of launching the appropriate browser, opening web pages, and performing various specified actions; and closing the browser after the test completes.

This will open new browser as

After successful execution the output will be as

Note: All Images will coming soon.

Print This Post This page as PDF Email This Post Unit Testing and Selenium Testing

June 1st, 2009

By Vaishal,

Unit Testing

Unit testing is a software verification and validation method where the programmer gains confidence that individual units of source code are fit for use. A unit is the smallest testable part of an application. In procedural programming a unit may be an individual program, function, procedure, etc., while in object-oriented programming, the smallest unit is a method, which may belong to a base/super class, abstract class or derived/child class.

Ideally, each test case is independent from the others: substitutes like method stubs, mock objects, fakes and test harnesses can be used to assist testing a module in isolation. Unit tests are typically written and run by software developers to ensure that code meets its requirements and behaves as intended. Its implementation can vary from being very manual (pencil and paper) to being formalized as part of build automation.

The goal of unit testing is to isolate each part of the program and show that the individual parts are correct. A unit test provides a strict, written contract that the piece of code must satisfy. As a result, it affords several benefits. Unit tests find problems early in the development cycle.

For the php code we are performing unit testing using PHP Unit.

Selenium Testing

Selenium is a portable software testing framework for web applications. The tests can be written as HTML tables or coded in a number of popular programming languages and can be run directly in most modern web browsers. It is used for functional testing. Selenium can be deployed on Windows, Linux, and Macintosh.

The latest side project is Selenium Grid, which provides a hub allowing the running of multiple Selenium tests concurrently on any number of local or remote systems, thus minimizing test execution time.

Print This Post This page as PDF Email This Post Ingram Micro integration with Magento for Ingram Reseller

May 31st, 2009

By Paryank,

Magento team at OffshoreSoftwareDevelopmentIndia.com has developed an Magento module for Ingram Micro vendor. Ingram Micro creates sales and profitability opportunities for vendors and resellers through unique marketing programs, outsourced logistics services, technical support, financial services and product aggregation and distribution. This Magento Ingram micro extension integrates each Magento products with Ingram SKUs, generates vendor order on Ingram micro when customers purchase products from the based on Magento ecommerce application.

About Ingram Micro:

Ingram Micro Inc. is the world?s largest technology distributor and a leading technology sales, marketing and logistics company. As a vital link in the technology value chain, Ingram Micro creates sales and profitability opportunities for vendors and resellers through unique marketing programs, outsourced logistics services, technical support, financial services and product aggregation and distribution.

The company offers a broad array of solutions and services to approximately 170,000 resellers by distributing and marketing hundreds of thousands of IT products worldwide from nearly 1,400 suppliers.

Ingram Micro offers reseller a broad selection of programs and services — from education, training and business development resources to marketing services and pre- and post-sale technical assistance.
The company provides customizable services for order management and fulfillment, contract manufacturing, contract warehousing, product procurement, product pack out and cartonization.

For more information please visit www.ingrammicro.com

About Magento:

Magento is a new professional open-source eCommerce solution offering unprecedented flexibility and control. You can Control every facet of your store, from merchandising to promotions and more. Due to its rich functionality, Magento is widely used for the ecommerce websites. There is no credit check functionality in Magento ecommence.

About Ingram Micro Reseller Magento module:

Magento team at OffshoreSoftwareDevelopmentIndia.com has developed Magento module for Ingram Micro Reseller.

Any Ingram Reseller can now use Magento to sell all Ingram products and services.

All products of Magento based store can be integrate with SKUs of the Ingram Micro from Admin section.

When user purchases any products from Magento based store, and generates order, the reseller order will be generate on the Ingram micro.

All the shipping information from the Ingram Micro will be available in Magento checkout process.

Customers of Magento based store can view their order and check the current status of order from Ingram Micro.

If you are Ingram Micro reseller and planning to open online store, this extension helps you to use super rich functionality of the Magento and Integration with the Ingram Micro.

If you are Ingram Micro reseller and yet not have any online store or want to upgrade existing store with Magento, please drop an email on info@offshoresoftwaredevelopmentindia.com

Magento Payment Gateway Solutions:

(1) CIB bank, Hungary
(2) TIS
(3) OTP bank Hungary
(4) iVeri
(5) Paymentec
(6) Safepay
(7) DIBS
(8) Secpay
(9) Secpay 3D secure
(10) DirectPay
(11) Cardinal Shared
(12) Cardinal Direct
(13) Cardinal 3D secure
(14) Etilize

Free Magento Themes:

(1) Magento Theme Ocean Blue
(2) Magento Theme Off-white
(3) Magento Theme Furniture
(4) Magento Theme Electronics
(5) Magento Theme Apparel
(6) Magento Theme Black
(7) Magento Theme Flower

For more information please drop an email at

info@ offshoresoftwaredevelopmentindia.com.

Print This Post This page as PDF Email This Post Magento Module - Import Cross Sell Products through CSV files.

May 31st, 2009

By Ashish.

Magento Module - Enhanced Product insertion

Magento team at offshore software development india has developed Enhanced Product insertion module for the Magento.

Import Cross- Sell Prodcuts through CSV files.

This new enhanced module provides Cross- Sell product import through CSV files.

Initial installation of Magento doesn’t provide the product insertion for Configurable products, Group products, Related products, Up-sell products, Cross-sell products and Tier prices.

With this module/extension, user can Import Configurable Products through CSV file.

The Enhance Product Insertion module can achive following functinalities.

1. Magento - Import Configurable Products through CSV files.
2. Magento - Import Grouped Products through CSV files.
3. Magento - Import Tier Prices through CSV files.
4. Magento - Import Related Products through CSV files.
5. Magento - Import Up-sell Products through CSV files.
6. Magento - Import Cross-sell Products through CSV files.

Please email at info@offshoresoftwaredevelopmentindia.com for any further information.

Print This Post This page as PDF Email This Post Magento Module - Import Up Sell Products through CSV files.

May 31st, 2009

By Ashish.

Magento Module - Enhanced Product insertion

Magento team at offshore software development india has developed Enhanced Product insertion module for the Magento.

Import Up- Sell Prodcuts through CSV files.

This new enhanced module provides Up - Sell product import through CSV files.

Initial installation of Magento doesn’t provide the product insertion for Configurable products, Group products, Related products, Up-sell products, Cross-sell products and Tier prices.

With this module/extension, user can Import Configurable Products through CSV file.

The Enhance Product Insertion module can achive following functinalities.

1. Magento - Import Configurable Products through CSV files.
2. Magento - Import Grouped Products through CSV files.
3. Magento - Import Tier Prices through CSV files.
4. Magento - Import Related Products through CSV files.
5. Magento - Import Up-sell Products through CSV files.
6. Magento - Import Cross-sell Products through CSV files.

Please email at info@offshoresoftwaredevelopmentindia.com for any further information.

Print This Post This page as PDF Email This Post Magento Extension - StrikeIron Currency Rates Update

May 30th, 2009

By Paryank,

If Magento store is running with Multiple currencies, It is necessary to update the currency rates time to time, as currency rates change frequently. StrikeIron provides latest currency rates based on International market.

About StrikeIron:

StrikeIron provides an on-demand Web-based infrastructure for delivering business data to any Internet-connected system, including Software as a Service (SaaS) applications, Web sites, mashups, spreadsheets or core enterprise systems.

StrikeIron’s Data Web services Catalog is a sophisticated Software as a Service data distribution engine that greatly reduces the complexity for developers and business users who want to integrate live data from any number of sources.

Please refer following link for the stikeIron currency rates.
http://www.strikeiron.com/productdetail.aspx?p=334

Currency Rates provided for 115 major currencies. You can perform interactive foreign exchange rate calculations, using current currency rates updated every 10 minutes (20 minute delay).

About Magento Extension - StrikeIron Currency Rates Update

If Magento store is running with Multiple currencies, It is necessary to update the currency rates time to time, as currency rates change frequently. StrikeIron provides latest currency rates based on International market.

StrikeIron provides latest currency rates based on International market.

Once the extension is configured, Magento automatically updates the currencies as per the schedule set in the admin configuration. These different currencies will applicable in different stores as per the configuration. These currencies will automatically update  Product prices in front stores.

Admin can enable or disable these modules from admin configuration.

For more details please drop us an email at,

info@offshoresoftwaredevelopmentindia.com