MassMailer template use case

MassMailer template v2 was updated. This is a free upgrade for existing MassMailer template v2 owners. More info.

MassMailer template can be used for more than just sending bulk emails. Lets consider the case where you manage a table with usernames and passwords for your internal company application. For increased security users should change passwords every 60 days. As an administrator you need to perform two standard tasks:

  1. Set reminders to users when their password is about to expire
  2. Mark their account as inactive when password expires

We'll show how this can be done with the help of MassMailer template. In this example we'll be using MySQL and here is how our table with logins and passwords looks. Only users where 'active' field equals 1 are able to logon.

Continue reading MassMailer template use case »

Executing your code after Inline Add or Edit

PHPRunner/ASPRunnerPro/ASPRunner.NET have a couple of handy events that allow you execute your own code after record was added or edited in inline or in popup mode. For instance, you may want to change some fields appearance based on new data modified or redirect user to view page after record was added in popup mode.

1. Change text color and background color after Inline Add/Edit

To do so add the following code to List page: Javascript OnLoad event.

function funcAfter(fieldsData) {
    for (f in fieldsData) {
        var field = fieldsData[f];
        if (field.name == 'status') {
            if (field.value == 'Pending') {
                field.container.closest('td').css('background', 'red');
                field.container.closest('td').css('color', 'white');
            } else if (field.value == 'Active') {
                field.container.closest('td').css('background', 'orange');
                field.container.closest('td').css('color', 'darkblue');
            }
        }
    }
}
this.on('afterInlineEdit', funcAfter);
this.on('afterInlineAdd', funcAfter);

In this event we evaluate the value of 'status' field and then change CSS properties of the cell when this field is located. To save the amount of coding we define the funcAfter function and make it run after both Inline Add and Edit.

This code will work without any changes in PHPRunner, ASPRunnerPro and ASPRunner.NET apps. Here is how it's going to look.

Continue reading Executing your code after Inline Add or Edit »

Speed-up data entry

We continue series of posts that show how to make you PHPRunner/ASPRunnerPro/ASPRunner.NET apps behave in Excel-like way. In this article we'll show how you can speed-up data entry in inline mode eliminating the need to click 'Inline Add' and 'Save' buttons multiple times.


Continue reading Speed-up data entry »

Adding badges to application menu

In this post we'll show how to spice up your application menu drawing attention to new and important items. For this purpose we'll be using so called menu badges.


Continue reading Adding badges to application menu »

Running ASPRunner.NET and PHPRunner apps on Microsoft Azure

In this article we'll show how to deploy PHPRunner or ASPRunner.NET application to Microsoft Azure cloud. I assume you already have an account with Azure, if not, you can create one here.

1. Create new application


Continue reading Running ASPRunner.NET and PHPRunner apps on Microsoft Azure »

Technology choices

Technology choices we make can make or break your web application. Here are a few things I’d like to share based on my experience as a web developer.

1. Programming language

Not all programming languages created equal. This is especially true when we talk about ASP aka “Classic ASP”. Microsoft stopped developing ASP . . . → Read More: Technology choices

Testing web apps in mobile mode

Experienced developers won't find anything in this article they didn't know already. All others will find it quite useful. We'll show a few different ways of how you can quickly test the mobile version of your application.

This article applies to PHPRunner, ASPRunnerPro and ASPRunner.NET with Mobile template option enabled.

1. Using your web browser

All modern browsers have an option to show any page the way it will appear on mobile device. In this article will show you how to do this using Chrome web browser.

1.1 Hit F12 to open Chrome Developers Tools. Click Mobile device icon in Chrome Developer tools.


Continue reading Testing web apps in mobile mode »

Storing field labels and visibility rules in the database

You need to change some field labels in your project but don't want to rebuild and upload the whole project. In this tutorial we'll show how to do that storing field labels in the database and displaying them dynamically. As a bonus we'll also show how hide fields based on visibility rules stored in the database, make fields readonly or required.

First we need to create a table in the database to store all those settings. We would need fields like table name, field name, field label and visibility. Here is the sample table script for MySQL.

CREATE TABLE `settings`(
`id` int NOT NULL AUTO_INCREMENT,
`tablename` varchar(50) NULL,
`field` varchar(50) NULL, `label` varchar(100) NULL,
`visible` tinyint NULL DEFAULT 0,
`readonly` tinyint NULL DEFAULT 0,
`required` tinyint NULL DEFAULT 0,
PRIMARY KEY (`id`))
CHARACTER SET utf8;

Live demo
Continue reading Storing field labels and visibility rules in the database »

In-place editing

Similar to Excel-like grid discussed in previous article this technique helps you to achieve similar goals. Instead of bringing up the whole edit page you can click that single field you need to edit, change its value and see your changes posted to the database automatically.

Live demo
Continue reading In-place editing »

Excel like grid in PHPRunner applications

Some applications may require to provide users with quick editing capabilities. While Inline Edit does just that entering inline edit mode for multiple records can be painful. It would be much easier is some or all fields appear as edit controls when page is loaded.

While PHPRunner/ASPRunner.NET/ASPRunnerPro do not have such functionality built-in it's fairly easy to implement it in your project. In this sample project we'll show how to make fields ProductName, UnitPrice and Discontinued editable automatically. For now we only support text boxes and check boxes. Data is saved automatically once you leave the text box or check off check box. To see that data is actually saved in the database simply reload the page.

You can also see how server-side validation works. Enter Unit Price that is less than $20 and move to the next field to see it in action. Record won't be saved until you enter $20 or more price value.

Live demo
Continue reading Excel like grid in PHPRunner applications »