Archive for the ‘CRELoaded’ Category

Multi-store mod for creloaded

There have been recently many requests on adapting the multi store contribution to the latest Creloaded version. As the Creloaded and OSCommerce structure are quite different, it’s somehow tricky to do this. There are even some existing files templates in the template folder that the default Osc MS2.2 does not have. But basically, you need to compare first files in multi-store_v2.0\catalog folder with Creloaded and insert the instances of (M-S_,M-S_multi-stores, M-S_pricing, M-S-fixes). We recommend using Beyond Compare to do this.

If you successfully installed it, then you should have something like this:

1. Create a store:

Create a store 1 Create a store 2

You must enter Information of store, which you want to create. Then, you click “Save” button to create the store or click Cancel button to delete Information, which you have inputted.

2. Categories/products to store:


Categories/products to store

3. Create Administrators:


Create Administrators

We have also made many changes to improve the current multi store mod. If you want to implement this on your store, please contact us for more information.

Top firefox plugins for Web Developers

Rascator, SmartOSC’s CTO, has shared some top firefox plugins extremely useful for website development.

Firstly, install MR Tech Disable XPI Install Delay to remove Counter every time installing Extension ( it often take us from 3 to 5 seconds to complete this).

Then, please install next extension. However, it is not necessary to install all extensions to avoid making computer overloaded. It is because there are some extensions with the same option, so you only need to install one. Web Developer extension itself offers many tools for HTML, FORM, and CSS…, so you should install this and further if it is necessary. Moreover, if you need one more extension, please search it in the page: https://addons.mozilla.org/firefox/extensions/, use the key word SVN.

In addition, it would be great to install some following extensions to enhance the ability of Firefox:

Simple steps to set Master / Slave replication in MySQL Database

Why i have to do master-slave replication using MySQL?

1. One of the biggest advantages to have master-slave set up in MySQL is to be able to use master for all of the inserts, update and delete queries and slave for select queries. This will most probably speed up your application without having to diving into optimizing all the queries or buying more hardware.

2. Do backups from slave: One of the advantages people overlook is that you can use MySQL slave to do backups from. That way site is not affected at all when doing backups.

Goal: Master DB – Use db only for insert,delete and updated queries
Slave DB – Use db only for select queries

There are several Master-Slave replication available in MySQL. Below is the one of the best Master-Slave replication.

Note:

1. Below configuration is only for a single database replication.
2. Do the step 1 and step 2 in your master server and step 3 and step 4 slave servers.
3. Before doing all steps, you must create database and repective tables in your master and slave server.

Step 1: (Activate binary(bin) log in MySQL)

vi /etc/my.cnf
===============
log-bin = mysql-bin
binlog-do-db = databasename // give your database name
server-id = 1 // unique id depend upon your servers

Step 2: (Creating a new user in Master)

In mysql… login as root user.

CREATE USER username;
GRANT replication SLAVE on *.* TO ‘username’@'%’ IDENTIFIED BY ‘password’;

Step 3:

vi /etc/my.cnf
==============

server-id = 2
master-host = master ip address
master-user = username
master-password = password
master-connect-retry = 60
replicate-do-db = databasename

Step 4:

In mysql console…

show slave status;
start slave;

Hope this will help you!!!

Ecommerce Integration – Virtual Logistics and SmartOSC Partner

SmartOSC Corp. and Virtual Logistics Inc. today announced the formation of a partnership to combine web store development expertise and back-end integration expertise for customers around the world. Using SmartOSC’s, Magento based SAAS ecommerce platform and Virtual Logistics’ SAAS Integration as a service platform, customers can now take advantage of a complete and fully integrated solution that connects their ecommerce business to their internal applications as well as their 3PL and fulfillment facilities.

The ecommerce solution can be fully customized to the online merchants requirements and allows them to take advantage of all Magento’s features. By extension with the integration as a service solution, the customer also gets away from expensive custom program development often required to connect the web store to back-office operations.

The Web Store Solution: Magento is the leading ecommerce platform for online business. With +100,000 active web stores, Magento has become the favorite frontend of international merchants looking to take their businesses to the next level. The demand for backend integration with 3rd parties is continuously increasing and that’s where the Integration as a service solution fits.

“In working with Virtual Logistics, we have experienced an excellent partnership. By joining forces, we have been able to provide a complete solution to our customers while optimizing the flexibility of technology and competitiveness in pricing. With the robustness of the integration system, a reliable solution can be delivered to our customers within a very quick turnaround time”, said Viet Le Hong, CEO of SmartOSC.

The Integration as a Service Solution: Using world class integration technology the SAAS based platform is flexible and configurable to allow for multiple integrations in a cost effective and timely manner. The solution supports EDI, XML, spreadsheet, and csv file formats. Current back office integrations include many 3PL and fulfillment houses as well accounting, ERP packages and shipping systems.

“We at Virtual Logistics are really excited about forming a partnership with SmartOSC. We have worked with SmartOSC for the past three years and they bring solid expertise in ecommerce to the table. Working with them rounds out our ability to offer a complete solution to customers who want web store and ecommerce integration”, said Robin H. Smith, General Manager, Sales and Marketing at VL.

About Virtual Logistics Inc.:

Virtual Logistics Inc. is a supply chain data integration company based in Ontario, Canada. VL has established itself as a key player in the small to medium size business B2B, EDI, XML, Web Store Integration, solution marketplace. VL offers both a SAAS and on premise solutions to its customers. www.virtuallogistics.ca

About SmartOSC Corp.:

SmartOSC is a leading E-commerce services provider based in Hanoi, Vietnam, with over 300 customers in Europe, North America and Asia. SmartOSC provides full packages from consultancy, web design to IT development and e-marketing services. SmartOSC is dedicated to delivering quality and driving growth for online business. As a Magento Certified Solution Partner, SmartOSC offers world-class e-commerce services to its customers in the quickest and most affordable way. www.smartosc.com

Execute php codes in your WordPress Page without Plug-ins!

Below are the simple steps to create a WordPress Page with capability to execute php code without any wordpress plug-ins!

Step1 :  Goto your theme directory and create a page  template as follows in the screen shot!

Step 2:  Save this file in your current theme directory.

Step 3:  Go to WordPress Admin panel -> dashboard -> Pages -> Add New

Step 4:  Choose the template that you have created and publish!

Step 5: You can see the published page in your site!

 

SmartOSC proudly announces the X-POS release – a new POS solution for Magento

The X-POS – online point-of-sale system exclusively for Magento is finally released. This solution promises to be an efficient tool for business owners who operate parallel the online and physical shops. Stock synchronization and real-time inventory update issue are now resolved at ease.

X-POS - POS for Magento The X-POS – online point-of-sale system exclusively for Magento is finally released. This solution promises to be an efficient tool for business owners who operate parallel the online and physical shops. Stock synchronization and real-time inventory update issue are now resolved at ease.

Main features:

- Smart order creation with product barcode scanning or search by name/product ID

- Quick edit tools for Editing/Saving/Cancelling order

- Complete set of sales and promotion logic with various rules in Magento admin

- Deep customer insight thank to the database collected in physical shop

- Rich variety of secured payment method

- Instant inventory update after the customer purchase

- Real-time synchronization of the online and offline stock

Let’s discover this amazing solution >>>

As an Magento E-commerce Solution Partner, SmartOSC Corp. is all about the clients’ vision. Offering IT Development, SEO & SEM, Email Marketing and E-design with multiple flexible packages, SmartOSC engages to provide the most complete E-commerce answers to any online business’ questions. Its unique approach and methodology help the company to propose customized yet high-end solutions to each customer. To learn more about SmartOSC Corp. Magento division, please visit http://saas.smartosc.com

New POS system for Magento – coming soon!

Understanding the need of many entrepreneurs who want to operate both the online and physical shop, SmartOSC has developed an online solution to be deployed in classic store, taking advantage of the rich feature of the most popular E-commerce platform Magento.

POS, as Point-Of-Sale, is a common term for every business. POS terminals, referring to the hardware and software used for the checkouts at the location where a transaction occurs, also mean a robust and expensive system related to the business core, the selling process.

In the Internet era, online business is an indispensable distribution channel that anyone can’t ignore. Physical presence is not enough. What will happen if you operate the online and offline shop at the same time? Manually update the stock each time an order is placing in one of those shops? Spend time to check the availability of each product when a customer comes in? Afraid of selling an out-of-stock item? Tired of apologizing to the customer?

Our X-POS can ease this pain for Magento stores owners and administrators. Easily installed in your Magento system, intuitive interface, able to show on touch screen, X-POS has all the features of a classic POS, but online.

This solution will help you:

  • Save operation time with barcode scan
  • Synchronize the stock in online and physical store in a blink
  • Enhance the customer satisfaction by allowing 0 errors in order processing
  • Take advantage of the most popular ecommerce platform Magento
  • Reduce investment cost by deploying only one system for both online and offline sale
  • Improve the efficiency with a clear global strategy applied to different distribution channels

This amazing solution will be released next week! Stay tuned!

This extension has been developed to provide our SmartOSC’s clients with a smart Point-Of-Sale system, which helps reduce the cost and optimize their return on investment (ROI). Please contact us if you have any questions or requests.

Loaded Commerce 6.5 & CRE Loaded 6.4.2

CRE Loaded is excited to announce the release of not only patch 6.4.2 but a completely new version – Loaded Commerce 6.5! 

Loaded Commerce 6.5

Check out this forum thread to download pre-release versions of CE and comment on the product: http://creloaded.org/forum/82/35970.html  

Cross-domain communications with JSONP using JavaScript and jQuery!

Asynchronous JavaScript and XML (Ajax) is the key technology driving the new generation of Web sites, popularly termed as Web 2.0 sites.Ajax allows for data retrieval in the background without interfering with the display and behavior of the Web application. Data is retrieved using the XMLHttpRequest function, which is an API that lets client-side JavaScript make HTTP connections to remote servers.

This approach, however, does not allow cross-domain communication because of restrictions imposed by the browser. If you try to request data from a different domain, you will get a security error.

The same-origin policy limitations:

The same-origin policy prevents a script loaded from one domain from getting or manipulating properties of a document from another domain. That is, the domain of the requested URL must be the same as the domain of the current Web page.

How to resolve?

Technique 1:

One relatively simple way to overcome this limitation is to have the Web page request data from the Web server it originates from, and to have the Web server behave as a proxy relaying the request to the actual third-party servers. Although widely used, this technique isn’t scalable.

Technique 2:

Another way is to use frame elements to create new areas in the current Web page, and to fetch any third-party content using GET requests. After being fetched, however, the content in the frames would be subject to the same-origin policy limitations.

Technique 3 (Using JSONP):

A more promising way to overcome this limitation is to insert a dynamic script element in the Web page, one whose source is pointing to the service URL in the other domain and gets the data in the script itself. When the script loads, it executes.
It works because the same-origin policy doesn’t prevent dynamic script insertions and treats the scripts as if they were loaded from the domain that provided the Web page. But if this script tries to load a document from yet another domain, it will fail. Fortunately, you can improve this technique by adding JavaScript Object Notation (JSON) to the mix.

JSONP Using Javasript:

Your client-side code:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html lang="en">
<head>
<title>jsonp</title>
</head>
<body>
<span></span>
<script>
//this function is the callback, it needs to be a global variable
function readResponse(response){
document.getElementsByTagName('SPAN')[0].innerHTML = response.time + ' is from  php file';
console.log(response);
}
(function(){
//note the "readResponse" at the end
var src = 'http://www.your-cross-domain.com/index.php?id=18&callback=readResponse',
script = document.createElement('SCRIPT');
script.src = src;
document.body.appendChild(script);
})();

</script>
</body>
</html>

Your server-side coding:

<?php
$array = array("time"=>time());
if($_GET['callback']){
header('Content-type: application/json');
echo $_GET['callback']."(".json_encode($array).")";
exit();
}
?>

JSONP using jQuery:

<!DOCTYPE html> <html> <head>   <style>img{ height: 100px; float: left; }</style>   <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body>   <div id="images"> </div> <script> $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?",   {     tags: "cat",     tagmode: "any",     format: "json"   },   function(data) {     $.each(data.items, function(i,item){       $("<img/>").attr("src", item.media.m).appendTo("#images");       if ( i == 3 ) return false;     });   });</script> </body> </html>

Cross-domain communications with JSONP using JavaScript and jQuery!

Asynchronous JavaScript and XML (Ajax) is the key technology driving the new generation of Web sites, popularly termed as Web 2.0 sites.Ajax allows for data retrieval in the background without interfering with the display and behavior of the Web application. Data is retrieved using the XMLHttpRequest function, which is an API that lets client-side JavaScript make HTTP connections to remote servers.

This approach, however, does not allow cross-domain communication because of restrictions imposed by the browser. If you try to request data from a different domain, you will get a security error.

The same-origin policy limitations:

The same-origin policy prevents a script loaded from one domain from getting or manipulating properties of a document from another domain. That is, the domain of the requested URL must be the same as the domain of the current Web page.

How to resolve?

Technique 1:

One relatively simple way to overcome this limitation is to have the Web page request data from the Web server it originates from, and to have the Web server behave as a proxy relaying the request to the actual third-party servers. Although widely used, this technique isn’t scalable.

Technique 2:

Another way is to use frame elements to create new areas in the current Web page, and to fetch any third-party content using GET requests. After being fetched, however, the content in the frames would be subject to the same-origin policy limitations.

Technique 3 (Using JSONP):

A more promising way to overcome this limitation is to insert a dynamic script element in the Web page, one whose source is pointing to the service URL in the other domain and gets the data in the script itself. When the script loads, it executes.
It works because the same-origin policy doesn’t prevent dynamic script insertions and treats the scripts as if they were loaded from the domain that provided the Web page. But if this script tries to load a document from yet another domain, it will fail. Fortunately, you can improve this technique by adding JavaScript Object Notation (JSON) to the mix.

JSONP Using Javasript:

Your client-side code:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">

<html lang="en">
<head>
    <title>jsonp</title>
</head>
<body>
    <span></span>
    <script>
        //this function is the callback, it needs to be a global variable
        function readResponse(response){
            document.getElementsByTagName('SPAN')[0].innerHTML = response.time + ' is from  php file';
            console.log(response);
        }
        (function(){
            //note the "readResponse" at the end
            var src = 'http://www.your-cross-domain.com/index.php?id=18&callback=readResponse',
                script = document.createElement('SCRIPT');
            script.src = src;
            document.body.appendChild(script);
        })();

    </script>
</body>
</html></code>

Your server-side coding:

<?php
$array = array("time"=>time());
if($_GET['callback']){
    header('Content-type: application/json');
    echo $_GET['callback']."(".json_encode($array).")";
    exit();
}
?>

 JSONP using jQuery:

<!DOCTYPE html> <html> <head>   <style>img{ height: 100px; float: left; }</style>   <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body>   <div id="images"> </div> <script> $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?",   {     tags: "cat",     tagmode: "any",     format: "json"   },   function(data) {     $.each(data.items, function(i,item){       $("<img/>").attr("src", item.media.m).appendTo("#images");       if ( i == 3 ) return false;     });   });</script> </body> </html>