Canvas, WebGL and HTML5 banners

Thursday 12 January 2017 by Hugo Dvorak

Our clients often asks us what is the difference. So here is a short explanation.

Canvas and WebGL are both part of the HTML5 standard.

WebGL is an API for rendering interactive 3D graphics. It provides a special language (similar to C++) which you use to describe a 3D scene (objects, light sources, camera position, textures, etc.). With that language you can describe things like “a sphere with marble texture in the centre of the scene”, “a red directional light pointing from the corner of the scene to the centre” etc.

Canvas is an HTML tag which appears in the browser as a rectangular area on the page. It’s up to you what you show in the area. There is Canvas 2D API for that. You do things like “draw a 1px blue line from 0,0 to 100,200” or "draw a red circle at position 20,30” or "fill canvas with black colour” or “draw image XYZ at position 10,10” etc. That’s what we use for HTML5 banners.

Eventually you can combine both for 3D graphics. You render the 3D scene defined by WebGL in the context of the Canvas. Canvas behave as any other HTML element. You can define it’s position on the page, dimensions and even make it responsive. Each HTML5 banner, for instance, is a separate Canvas element.

Apache Server Debugging

Sunday 28 December 2014 by Norbert

One of our servers running Debian Wheezy was showing Segmentation fault errors at least few times a day. It was logged in  /var/log/apache2/error.log:

[notice] child pid 10671 exit signal Segmentation fault (11)

We've decided to investigate this further and temporary enable Apache backtrace using instructions in /usr/share/doc/apache2/README.backtrace

This is how we did the setup:

install apache2-dbg php5-dbg libapr1-dbg libaprutil1-dbg gdb
mkdir /var/cache/apache2/debug
chown www-data:www-data /var/cache/apache2/debug
vi /etc/apache2/conf.d/debug
CoreDumpDirectory /var/cache/apache2/debug
ulimit -c unlimited
(check using: ulimit -a)
service apache2 restart

wait for new segfault error:
grep Segmentation /var/log/apache2/error.log

and view using:
gdb apache2 -core /var/cache/apache2/debug/core

It turned out the problem was caused by using Apc user cache. Apc is working fine as Opcache, but it has troubles when using as user cache in it's version on Debian 7 Wheezy.

Universal Analytics

Wednesday 19 November 2014 by Norbert

We are now exploring the new Universal Analytics, which is a replacement for Google Analytics. It all seems to be just another update, but there is much more under the hood. You can now add a custom dimension and it can be anything, for example current weather.

How to add weather to Universal Analytics:

It's a clever mashup of Universal Analytics, and

What's new in Onxshop 1.6

Monday 19 August 2013 by Hugo

As you can see we've made many changes in our GitHub repository

Here is breakdown of major changes since version 1.5:

  • Multi-file drag&drop upload to media library
  • Recursive content duplication
  • Scheduler (publish and un-publish content on specific date)
  • Social login (Facebook, Twitter)
  • Customisable social share component (using API)
  • Enhanced Surveys (image poll, front-end options)
  • Responsive template
  • Store database
  • Recipe database
  • New gallery types
  • Image cropping option
  • Support for roundels in product listing and detail
  • Internal search engine optimization
  • Underlaying libraries update to latest version
  • Many bug fixes and improvements

New Features

Please note not all features are available out of the box. It is possible that enabling some of the features on your website might require configuration or small amount of development (such as creating new Facebook login button, styling issues, etc.) and proper testing.

Media Library Multi-upload

(available out of the box)

The feature enhances back office media library interface to allow bulk image uploading. The user is al- lowed to select multiple files from his hard drive using OS file-open dialogue or just by dragging a list of files from the hard drive and dropping them onto the browser window.

Recursive content duplication

(available out of the box)

When user duplicates any content on the website, all child sub-components of the duplicated content are duplicated too. That allows duplicating whole pages including all page elements with just single click.

New Scheduler

(available out of the box)

We have dramatically improved the scheduler feature. Most of the changes happened under-the-hood to make the feature much more reliable. This allowed us to update back office scheduler interface with more details and clarity. The scheduler is no longer limited to just sending gift vouchers emails, but enables publishing or unpublishing of any content on the website on specific date and time.

Social Login

(requires some customisation before using)

We have implemented a feature that allows users to connect their Onxshop user account with Facebook or Twitter. This allows to personalize the content on the website, e.g. to implement components such as 'Your friends who liked this product'. The login process is also simplified. Users are able to login by just one click if already logged into Facebook or Twitter.

Customisable social share component

(requires some customisation before using)

We have developed generic customisable components that allow easy sharing of any content on the website on Facebook, Twitter or Google Plus.

Enhanced Surveys

(requires some customisation before using)

We have improved surveys to allow image based polls with lot of frond-end appearance configuration options.

Responsive template

(requires customisation before using)

Onxshop front-end website template has been updated to support responsive design on devices with smaller screens such as mobile phones and tables. The new stylesheet makes building a responsive website much easier.

Store database

(available out of the box)

We have implemented back office store management database together with front-end components to represent the database with technologies such as Google Maps, Google Street View and HTML5 in- browser geolocation.

Recipe database

(available out of the box)

We have implemented back office recipe database management interface together with generic front-end components.

New gallery types

(available out of the box)
The gallery component has been updated to support new types of presentation.

Image cropping option

(requires some customisation before using)

Automatic image resizing function has been improved to allow cropping of the images with ability to specify cropping options such as content alignment and orientation.

Support for roundels in product listing and detail

(requires some customisation before using)

Product listing and products detail page may include price roundels.

Internal search engine optimization

It is now possible to customise templates for indexing, which is very useful for pages like product details, where related products are shown underneath the main product.

Underlying Libraries Update

(available out of the box)

We have updated all third-party libraries and dependencies to the latest version.

+ Many bug fixes and improvements


Onxshop 1.5.3

Sunday 8 July 2012 by Norbert

Major changes between Onxshop 1.5.0 and Onxshop 1.5.3

CMS and blog

  • improved bo/posts UI and multiple containers support
  • make pagination working properly on multiple blog setup
  • add support for archive listed by year-month
  • move file list in Basic (first) tab in node edit
  • add UI for node.other_data to node edit
  • use dialog window for add new item to node list
  • change AddThis buttons in article details (node/page/news)
  • new contact form template: booking
  • add layout/tabs


  • allow sorting in backoffice products list
  • add custom payment method - free to edit in CMS
  • add on_delivery and bank_transfer payment methods and more improvements
  • enable autosubmit for PayPal
  • improve product export for
  • add price multiplicator support and improve custom price list
  • refactored product other data display 


  • don't send notification email on every customer data update
  • make email address and username lowercase on registration
  • add group_id to customers export CSV
  • add thank you after newsletter subscribe 


  • improve survey management UI
  • survey system improvements


  • use comma instead of semicolons in CSV exports
  • change AJAX indicator image
  • improvements to file uploads handling
  • performance optimization - read exif only on file detail
  • further translation
  • better wording for empty comments note
  • allow backup download by default (ONXSHOP_ALLOW_BACKUP_DOWNLOAD)


  • Wordpress plugin for our customers who are using Onxshop inside Wordpress
  • make compatible with Heroku hosting for easy Facebook integration
  • new social share component

Onxshop 1.5

Wednesday 8 February 2012 by Norbert

Laposa is delighted to announce its latest Onxshop release, providing major updates to the Onxshop framework. Version 1.5 of this release provides many new features, new backoffice theme "Lion", improved stability and better performance.

To download source code or packages to install, go to the Onxshop download page. The Changelog lists more detail about the changes. Note that this changelog is incomplete. For a complete list of changes please browse the Git logs.

We are proud to highlight, that Onxshop CSS/HTML framework is now so stable, that it was simply extended by built-in four, five and six columns layout. Your old website projects require no reviews of your CSS code before upgrading. However, the changes to database and configuration files require minor upgrading. For instructions follow the upgrade notes.

This release comes with a brand new APT repository for Debian Squeeze and Ubuntu Lucid Lynx. To quickly review of this new version, test drive the Onxshop Cloud (β).

Belfast - London - Paris - Ballyclare - Prague - Holice - New York

Onxshop GitHub Repository

Thursday 14 July 2011 by Norbert

We are happy to announce that Onxshop CMS/eCommerce source code is available on GitHub (Source Code Management repository).

This is a big step for the future of our innovative software development and we hope to improve accessibility of this software to more web designers and developers.

Onxshop GitHub repository

Facebook agile development by Mike Schroepfer

Sunday 21 November 2010 by Norbert Laposa

A perfect example that agile software development is viable development model even in big companies.

“If you’re not embarrassed by your first version, you waited too long to ship it.”

Reid Hoffman

“It is a little bit intimidating, but we don’t do two-year product planning, where we design what the screens are going to look like – because, I think, we don’t know what it’s going to be.”

Mike Schroepfer

Source: Telegraph

Creating Thumbnails Using the CSS Clip Property

Thursday 1 July 2010 by Norbert Laposa

I had an idea of creating a clip image by using CSS, so the CSS clip property looked like the perfect way to achieve that. After some googling I found Joe's article at Joe advocated an entirely functional, but unnecessarily complex solution. 

I came up with a much simpler way. The trick is that you don't need to use the CSS clip property when you want to clip an image. Here is a simple way to clip an image to 300x200px, push 20px top and 30px left:

div.imageWrapper {
width: 300px;
height: 200px;
overflow: hidden;
div.imageWrapper img {
margin-top: -20px;
margin-left: -30px;



58 Howard Street
Belfast BT1 6PJ

Send email

+44 (28) 9032 8988
+353 (48) 9032 8988