Our goal is to display website visitors on the map, similar to the screenshot below.

We will convert their IP address to lat/lng coordinates and display those markers on OpenStreetMap map. To perform the conversion of IP addresses to lat/lng pairs we are going to use the geolocation data from ip2location.com.

We will display users that were active in the last ten minutes. If the user had some activity in the last 60 seconds, their dot will be pulsing.

Continue Reading "Displaying website visitors on the map"

Infinite scroll is a useful technique that allows to load new content automatically, when the user  scrolls down and reaches the end of the page. This is the kind of feature that our customers asked us about for a fairly long time. Turns out, it is not that difficult to implement with the help of some custom coding. Enable ‘AJAX search, pagination, sorting’ option on Pages -> List page settings dialogue. Add the following code to List page: Javascript OnLoad event of the page where…Continue Reading “Infinite scroll”

In a web application, some long running tasks may time out and not finish. To avoid this kind of limitation we will show you how to run such tasks reliably and, at the same time provide progress status to the end user so they know the task is still running. In this article we’ll show you how to achieve this in PHPRunner and ASPRunner.NET.

A common task like this is batch sending email notifications. The key is to initiate a process like this from JavaScript sending the next batch of tasks to the server via AJAX.

Continue Reading "Long running process with notifications"

Dashboards excel at showcasing a multitude of valuable information on a single page. However, there are instances when a basic dashboard layout falls short in accommodating the desired volume of data on a single screen. In this article, we will demonstrate a method for amplifying information presentation through the use of a tabbed component. It’s important to note that this is not a built-in and we will need to write a bit of code.

Here is what we after:

Continue Reading "Tabbed elements in dashboards"

Version PHPRunner 11 preview is here!

Download now

Preview version notes

  • PHPRunner only
  • New projects only. Cannot open projects created in older versions.
  • Business templates are not supported yet
  • No built-in web server – use IIS or XAMPP to run generated projects
  • Supported databases: MySQL, Postgre, SQL Server
  • Time limited. Will not run after February 29, 2024
  • C:\runnerapps\Project1 – default output folder location
  • Comes with a sample Postgre database “sakila at localhost”


  • January-February – Preview version is available
  • End of February – beta version release. Will be able to open existing projects. PHPRunner only. Will support business templates.
  • End of March – final version release. Both PHPRunner and ASPRunner.NET.


  • Much faster UI
  • Much faster work with large ( 1000+ tables ) projects
  • Multi-user work!
  • Revisions and roll-backs
  • Later: Mac/Linux versions
Continue Reading "Version 11"

As many of you know, we recently launched a side project named PicTur. This is a website, built with the help of PHPRunner, that allows users build beautiful travel stories. Instead of letting you pictures collect dust you can create a travel story and share with the world. Take a look open an account and maybe create a story or two.

This website was built with the help of PHPRunner and was heavily customized. We will post series of articles talking about the most interesting parts of this project. Let us start by showing how pages like login, register and remind password were prettified. First, we found a good login template at Carrd, customized it a bit and imported CSS into PHPRunner.

This is the end result:

PicTur..app login page

Continue Reading "Yet another custom login page"

Our website xlinesoft.com was down from May 24, 2019 to May 30, 2019.

First, I noticed that I cannot logon to our online helpdesk. Then the website itself started showing ads that we never had. We assumed that our server was hacked but it turned out it simply points to a different IP address now. Hacker downloaded a static copy of our website, added some ads and tried to make some money via AdSense.

I tried to logon to GoDaddy account and check DNS settings. The login didn’t work and the password reset email never arrived. Our account at GoDaddy was hacked and attackers сhanged domain name ownership data. I was relieved though, dealing with GoDaddy should be easier than negotiating with a hacker, right?

Continue Reading "How I (almost) lost my domain name and how Bitcoin saved the day"