• MerchantOS - Point of Sale Software
  • Blog / Help / Login
  • Get Started
  • Retail. Easy.
  • Pricing
  • Customers
  • Take a Tour

Blog

Category: Developers

Using ActiveMQ for Web Services Integration

Posted on February 23, 2011 at 9:02 pm by Nathan Horter

If you’ve been reading our Blog over the last few months you’ve read about the integrations we’ve been creating with other web based applications like Freshbooks and MailChimp. These integrations allow our customers to use high quality web based applications with their data from MerchantOS and allow us to focus on making our application better.

Getting two completely different applications to talk to each other is no easy task. And we want MerchantOS to talk to more than just one other application. We needed a way to make creating new integrations easy and scalable.

We solved this problem using an idea called a Message Bus. In software design a message bus is a common connection among many programs we can send messages over. We’ve implemented our Message Bus using Apache ActiveMQ. Using this Message Bus layout we can create topics, send messages to those topics and have all (or some) of our integrations read those messages.

This means that you can, for example, create a customer in MerchantOS and have that customer’s information automatically exported into FreshBooks and MailChimp. And since we track where we have sent that customer’s information we can update it when you change it in MerchantOS in the future. This type of integration saves you time since all of your data is updated at once. But this is only a simple example, what about a something more complex?

We have an integration with Shopify that goes a step farther than just being able to export data from MerchantOS. With our Shopify integration orders that are placed in your Shopify shop will automatically be imported into MerchantOS. This automatically creates a new invoice and transaction.

This is a powerful feature by itself, but it’s power is multiplied when you have an integration with FreshBooks and MailChimp. With all three of those integrations turned on in MerchantOS:

  • MerchantOS receives an order from your Shopify account and creates an invoice in MerchantOS.
  • MerchantOS then exports that invoice to FreshBooks so you can email it to the customer .
  • MerchantOS also exports the customer’s information to MailChimp so you can send that customer emails about specials or other notifications later.

All automatically.

We’re going to be adding more integrations soon, so let us know what you would like to see us integrate with next!

2 Comments
Tweet

Challenges For Our iPad Point of Sale Dream

Posted on October 11, 2010 at 6:39 pm by Ivan Stanojevic

I’ve spent a couple weeks tinkering with the iPad and the end result has been frustration.

What is possible right now

If you’re willing to use the onscreen keyboard to search for items or if you can use our categorical menu (check out the video), you’re going to be able to have a device you can sell product with while roaming the shop with your customers. If you need bar code scanner compatibility, the iPad isn’t quite there yet. You can also plug in either a USB barcode scanner or USB credit card reader via the camera connector kit but you will lose onscreen keyboard functionality while that device is plugged in. This really hinders the efficiency of using the iPad for now.

Here’s a list of issues I couldn’t work around

  • If card reader or scanner are plugged in, no onscreen keyboard pops up.
  • Can’t charge iPad while any other USB device is plugged in. I tried using this iPad mount kitmade by ram-mounts. This mount system is hands down awesome! It uses a ball connector allowing you to swivel the iPad around however you want and there are many mounting options. Sturdiness was certainly good enough to use in a retail environment for the mount setup I used.

    There is some hope

    iOS 4.2 appears to be adding in some powerful features including the ability to print to a remote printer. It is possible though not likely this update might allow USB devices to function better.

    And even more hope…

    Mobile device support is becoming more of a priority as we develop our system. We plan to experiment with more tablet style devices and, over a long period of time, officially support mobile devices by creating browser based pages designed for those devices.

18 Comments
Tweet

Echoes from the Developer’s Cave

Posted on October 8, 2010 at 3:59 pm by Murdoc

Roughly one week ago the company held an hour long office meeting in the cave. This dimly lit corner office is where our programmers Justin, Luke, and Nate make primitive dry-erase drawings that regular people can’t understand and where they feel comfortable speaking in a manner I’m not sure is actually derived from the English language. Sincerest apologies to those of you who got shafted waiting for Bryn and I to get back to you the afternoon we had this meeting.

During this discussion our company made several important decisions. The most memorable argument being that iPads are really awesome despite the fact that they’re an Apple product. As per Ivan:

iPads are the most perfectly designed tablet PC, engineered by the brightest minds of our galaxy. More on this later.

The other important decisions pertain to what the developers are going to continue to pursue. Justin follows Marketplace on public radio and other sources to catch up on the economy. He’s become the office Alan Greenspan. One of the things he brought up was how much businesses are still hurting in this economy. He followed up with the drastic pricing incentives stores are doing just to get people in the door and pointed out that this may be affecting your businesses.

No one is immune to this penny-pinching plague.

When faced with a choice between upgrading MerchantOS  with new integrations & fancy features to entice new customers or resolving the limits MerchantOS currently has, we’re going to stand behind the folks who have come this far with us. It’s our current customer base that has helped MerchantOS grow to this level of magnitude. With 716 customers and more sign-ups every day, it looks like we’ve got this Point of Sales thing down.

With that said, the developers are going to work on revamping both the price structure as well as the discounts to meet your needs. With your feedback and our programming talent we’ll help you get through these tough times.

We want to thank you all for the feedback you’ve given us. We’ve implemented a new system to communicate with the developers what changes/fixes need to be prioritized. So keep reminding us which issues matter the most, it always helps to email specifics to support@merchantos.com.

I hope you enjoyed reading this to some degree. I plan on updating you folks with what I’ve been hearing from the developers from time to time. If you don’t enjoy reading these blogs, then I don’t feel guilty for distracting you from any real work.
Cheers!

-Murdoc

Leave a comment
Tweet

Single Sign-On with OpenID and Google Part 2

Posted on April 15, 2010 at 1:22 pm by Nathan Horter

A Quick Review

Wouldn’t it be nice if we didn’t have to remember so many passwords? With the proliferation of Software as a Service (SaaS) applications on the internet there are more and more things that we need to remember a username and password to access. This is where Single Sign-On (SSO) comes in. Single Sign-On is the idea that you can sign-on with one set of credentials and be signed-on to multiple services all at once.

In Part 1 we covered some of the basics of what Single Sign-On is and how we send end-users off from our site to their Identity Provider to verify their identity.

Getting the Id Back

Once the user has successfully logged in to their Identity Provider and decided to allow our site to know what their identity is, the user will be returned to the call back URL that we specified with the necessary information in browser. We just need to verify it and decide what to do next.

In Part 1 we told the Identity Provider to send the end-user to a script called call_back.php to complete the process of logging in the user. Lets start writing that script:

// See the examples/consumer/common.php file in OpenID Enabled library package.
// This provides some utility functions used below.
require_once 'common.php';
session_start();

// Create a new OpenID consumer to receive our Identity Provider response.
// To create the consumer we need to setup a store for the OpenID information
$store_path = '/tmp/_php_consumer_test';
$store = new Auth_OpenID_FileStore($store_path);
// Once we have a store for the information we need to create a new consumer.
$consumer =& new Auth_OpenID_Consumer($store);
// The GApps_OpenID_Discovery allows the consumer to find openid's for Google Apps.
new GApps_OpenID_Discovery($consumer);

// To complete the discovery process we need to pass the same callback url that we sent to the Identity Provider.
// This ensures that we can check the signature the Identity Provider sent us.
$server_url = 'http://myserver:80';
$response = $consumer->complete($server_url.'/callback.php');

We now have the response from the Identity Provider. With the response we can now check the status of the OpenId discovery and get the returned OpenId.

$openid = '';

switch($response->status)
{
case 'success':
	$openid = $response->endpoint->claimed_id;
	break;
case 'cancel':
case 'failure':
case 'setup_needed':
default:
	// If we got a status we don't understand we should take an appropriate action.
	break;
}

if (!empty($openid))
{
	// We have an openid, we need to check if it's associated with a login in our system.
}
else
{
	// We didn't get an openid, generate an error
}

What you do with the OpenID once you have it is dependent on how you handle logins on your site. You could check to see if the OpenID is already associated with an account on your site and if not then prompt the end-user to create a new account. In our case we only want to associate OpenID’s with existing end-user accounts. We store the OpenID in our database with an association to an existing account. If the OpenID is not associated then we prompt the user to enter their existing credentials (loging them in) so we can associate their OpenID with their account.

Round Up

Implementing Single Sign-On allows your users to access their data using one set of credentials, rather than having to remember a different set of credentials for each site. This means they can remember fewer more secure passwords rather than have to remember more less secure passwords (or use the same password across many sites).

For SaaS applications that target businesses implementing SSO with Google makes it possible for you to get your application listed in the Google Apps Marketplace. This gives your application access to over 2 million businesses that use Google’s enterprise applications.

2 Comments
Tweet

Single Sign-On with OpenID and Google Part 1

Posted on April 6, 2010 at 9:57 am by Nathan Horter

What is this “Single Sign-On”

Wouldn’t it be nice if we didn’t have to remember so many passwords? With the proliferation of Software as a Service (SaaS) applications on the internet there are more and more things that we need to remember a username and password to access. This is where Single Sign-On (SSO) comes in. Single Sign-On is the idea that you can sign-on with one set of credentials and be signed-on to multiple services all at once.

Right now the most popular SSO implementation is OpenID. OpenID is a standard that defines how SSO id’s look and how you find who can verify an SSO id. OpenID’s typically look like a URL:

http://example.com/id/1234

But other services will accept an email address as the OpenID:

1234@example.com

In both cases example.com is the Identity Provider.
(more…)

3 Comments
Tweet
← Older posts
Newer posts →

About MerchantOS

MerchantOS is the premier web-based point of sale and inventory control system. It keeps track of all sales, customers, inventory, purchase orders, work orders, and more.

Archives

Categories

  • Asides
  • Customer Portraits
  • Customer Questions
  • Developers
    • PHP
    • Tools
    • Wordpress
  • Guides & Advice
  • Help
  • Interviews
  • News
    • Events
    • Graphic Design
    • Integrations
    • New Features
    • Team
  • Retail Industry
  • Uncategorized

Point of Sale

  • Tour
  • Pricing
  • Features
  • Customers
  • Get Started

Company

  • About Us
  • Blog
  • Store
  • Contact Us

More

  • Retail. Easy.
  • Add-ons
  • Developers
  • API

Terms & Conditions & Privacy Policy
©2012 MerchantOS, Inc. All Rights Reserved.

Security & Privacy

We're serious about protecting data, security and privacy.

Say Hello

Twitter Facebook Google+

hello@merchantos.com
88 South 3rd Street #271
San Jose, CA 95113
1-866-554-2453 tollfree
1-866-554-2453 fax

Help

Need help, have a question, can't figure something out?

We're here
to help!