Author - terabyte

SigFox Magento integration

TeraByte Software Solutions is proud to be amongst the pioneers in developing a custom-made SigFox Magento integration extension.

The extension receives the SigFox data dynamically and presents it for the Magento customers in exportable tables and userfriendly graphs and allows the Magento customer to set up notfications for userdefined limits for the recevied SigFox data values.

The TeraByte Software Solutions SigFox extension UI can be made accessible only for predefined Magento Customer groups within the Magento setup, thus providing accessibility only for paying membership customers.

TeraByte Software Solutions being the author of the module, can provide quick custom-made alterations and fast further development upon request.

About TeraByte Software Solutions:
TeraByte Software Solutions is an offshore Software-center, that supplies services to both small and big companies, whether it being in the web or other business-areas. TeraByte Software Solutions is a competent and quality concious partner, that supplies digital solutions of high quality.

TeraByte Software Solutions

About SigFox:
Sigfox is the world’s leading Internet of things (IoT) connectivity service. With its global LPWA (Low Power Wide Area) network, Sigfox has reinvented connectivity for the IoT. It drastically brings down cost and energy consumption required for securely connecting physical devices to the Cloud.

SigFox

How SMEs can benefit from outsourcing

Outsourcing provides business owners the opportunity to lend their focus to the business functions that bring in the most value, and which is best in line with their skill set. It also provides SME owners with a pool of talent which specialises in a function, as opposed to an individual who may be limited in both time and experience.

Read more: How SMEs can benefit from outsourcing

Change Ajax TabContainer focus to correct TabPanel on Validation fail

If you have controls to validate in different TabPanels in the Ajax TabContainer, you will notice that the TabPanel doesn’t receive focus when they contain a control that didn’t validate.
This little script will give focus to the correct TabPanel upon Validation-fail.
1. Include script in head-tag
2. Add this to the aspx-markup in a script-tag: var tabContainers = [‘<%= tabContainer.ClientID %>’];
3. Add this to the button that validates: .OnClientClick = “checkValidation()”;

var showConsoleLog = 0;
var jQueryIsSet = false;

// Include jQuery if not already included
if (jQueryIsSet != true && (typeof jQuery == ‘undefined’)) {
var headTag = document.getElementsByTagName(“head”)[0];
var jqTag = document.createElement(‘script’);
jqTag.type = ‘text/javascript’;
jqTag.src = ‘/scripts/jquery-2.0.3.min.js’;
headTag.appendChild(jqTag);
jQueryIsSet = true;
if (showConsoleLog == 1) console.log(‘added jQuery 2.0.3’);
}

function checkValidation() {
if (showConsoleLog == 1) console.log(‘checking validaton’);
if (typeof (Page_ClientValidate) == ‘function’) {
Page_ClientValidate();
}

if (!Page_IsValid) {
if (showConsoleLog == 1) console.log(‘Page not valid’);

var firstFailedControlID;
for (var i = 0; i < Page_Validators.length; i++) {
if (!Page_Validators[i].isvalid) {
firstFailedControlID = Page_Validators[i].controltovalidate;
break;
}
}

if (typeof firstFailedControlID == ‘undefined’) {
console.log(‘ERROR: Failed control not found’);
return;
}
else
if (showConsoleLog == 1)
console.log(‘Failed control: ‘ + firstFailedControlID);

if (showConsoleLog == 1) console.log(‘Got tabContainers:’ + tabContainers.length);

loop1:
for (var t = 0; t < tabContainers.length; t++) {
if (showConsoleLog == 1) console.log(‘checking tabContainer:’ + tabContainers[t]);
// get tabContainer
var tabContainer = $find(tabContainers[t]);

// get all of the tabs from the container
var tabs = tabContainer.get_tabs();

// loop through each of the tabs
loop2:
for (var i = 0; i < tabs.length; i++) {
var tab = tabs[i];
if (showConsoleLog == 1) console.log(‘checking tabPanel:’ + tab.get_id());
var el = $(‘#’ + tab.get_id());
var hasNonValidElement = el.has(‘#’ + firstFailedControlID).length;

// if nonvalid element found, set focus and break mainloop or continue if multiple (nested) tabcontainers
if (hasNonValidElement > 0) {
tabContainer.set_activeTab(tab);
if (showConsoleLog == 1) console.log(‘set activeTab: ‘ + tab.get_id());

if (tabContainers.length == 1)
break loop1;
else
break loop2;
}
}
}
}
}