Customer Testimonial Extension for Spree Commerce

As a potential customer of an ecommerce store, a big assurance and confidence boost for me is to see testimonials from existing customers.

If you want to add this capability to your Spree store, there is help available. We extracted a customer testimonial or quote management extension from one of our projects recently and open sourced it.

Here is the github link to the SpreeCommerce Customer Testimonial extension

The extension provides the functionality to receive testimonials from customers. It also allows the store owner to submit testimonials on behalf of customers. The store owner also has the capability to moderate testimonials submitted by customers and mark them as published. These published testimonials can then be used at other places on the store.

Read more


Vinsol is a Choice for Transforming The Software of Your Company!

At Vinsol, we consider ourselves pioneers instead of simple coders. This sets us apart from our competitors because it drives how we approach problem solving. With an extensive team of talented Ruby on Rails, iOS and Android developers, Vinsol can provide solutions that range from a few dedicated iOS resources to complete, end-to-end project implementations. We understand that every client is different and so, too, are their needs. This awareness in combination with our methodical approach has allowed us to satisfy clients in North America, Europe, Australia, Africa and Asia for over well over a decade.

We are delighted to announce that for the second year in a row Clutch has recognized us as one of the top developers in India. This year the report 2015 Top Web Developers India, showcases a series of outstanding developers with proven track records of client success. Read more


Compiling native libraries for Android L

Preparing your app for Android L ?

While using native executables in our existing Android apps we observed that those executables were no more working with Android L. We came to know that Android has introduced one more security feature starting from Android L i.e
Executable must be PIE (Position independent executable).

To compile a library adhering to above security feature you just need to follow these steps:

  1. Set following LDFLAGS or linker flags : -pie -fPIE
  2. Add --with-pic option while configuring the library.

Some libraries might use different configure options to compile the code with PIC (Position Independent Code) so to check all available configure options for PIC you can use this command:

./configure -h | grep -i pic

If there is no PIC option in configure script then you can try passing -fPIC option with your CFLAGS.

Now, compile the project (make, make install) and it should generate PIE.

To check if you've successfully generated a Position Independent Executable (PIE)

You can use "hardening-includes" package on Ubuntu or Debian.

Read more


Bubble Validations

We were developing a Content Management System which is composed of different components, with each component having dependency on other components in the hierarchy.

Our CMS has the following structure :

  • Site has_many pages
  • Page has_many sections
  • Section has_many embedded_modules
  • EmbeddedModule has_many elements

Problem Statement

For any component to be publishable, we need to ensure that not only a particular component, but also its descendants(children) should satisfy the criteria of publishability.
In our case a Page could be publishable, if all sections belonging to it were publishable. A section would be publishable if all embedded modules belonging to it were publishable. A EmbeddedModule would be publishable if all elements belonging to it were publishable.

If at any step of the hierarchy the criteria fails, not only that component should be marked as unpublishable but also upchain should be notified of unpublishablity.
If any EmbeddedModule gets unpublished then it must unpublish the upper hierarchy i.e its associated section, page and site.

Our Solution

To achieve this we identified that a shared module would be needed which can handle publishability of a component and should also be able to notify the publishability change to its parent.
Read more


Spree Loyalty Points Extension

Most online stores thrive on customer satisfaction and their loyalty towards their stores. In order to improve the long term relationship with the customers and earn their loyalty, stores come up with different ideas to keep customers engaged. One such idea is to award loyalty points to the customer based on their purchases. These awarded points can be used by customers as a discount in their future purchases.

Understanding the need, we recently published this new extension "Spree Loyalty Points" which adds the loyalty points functionality into the existing e-commerce system. With this extension a new payment method gets quickly added to Spree e-commerce stores. It also automates two features (a) awarding of the loyalty points to the customers on the basis of the configuration done by admin and (b) updating the points based on each transaction done on Spree Commerce platform. It also allow the users to redeem earned loyalty points while placing new orders.Read more