Tips and tutorials

We'll be posting new tutorials on a weekly basis. So, you might wish to bookmark this page or subscribe to its RSS feed by clicking the icon to the right. Please also have a look on the video tutorials for more tips and guides.

In addition to the pages below, make sure to also check the tips and tricks section of the AppGini forum.

Topic Description
Dynamically disable drop-down fields Some workflow scenarios require that a drop-down field be disabled based on the value of another field. For example, you may want to disable the status field when the is_active field is set to No.
How to run an AppGini app as a Docker container? This GitHub repository is a guide template for running AppGini apps on Docker. It includes a docker-compose.yml file that launches your app in an Apache container running PHP 8. The database is launched in a separate MySQL container. A special LetsEncrypt container is used to automatically obtain and renew SSL certificates for your app.
How to pre-populate a new record with data passed through the url? In some cases, you might have frequent data entries with some common values. This can be made faster and more efficient using specially formatted shortcut links.
How to completely hide the membership system, making every user an admin? This scenario is useful mainly if you are the only user of the generated AppGini app, and don't want to have to sign in every now and then, and want to remove the 'visual clutter' of the admin link, sign out link, .. etc.
Protect your app login page from brute force attacks using reCAPTCHA A very efficient way of preventing malicious bots and automated scripts is to use reCAPTCHA, a tool offered by Google that adds a simple challenge to the page you want to protect. This challenge is trivially easy for humans to solve, but almost impossible for bots. Learn how to protect your app login form with reCAPTCHA.
Step by step: hosting your AppGini application on Bluehost Bluehost is a widely-used website hosting service that offers a friendly interface and good technical support at a reasonable price. Due to its popularity, we've wrote this detailed page describing step-by-step how to publish your AppGini-generated web application there.
Creating an auto-updating balance field In the Online Inventory Management application, the items table has a balance column that keeps track of the current inventory balance for each item. It gets updated automatically whenever a transaction is made. Outgoing transactions decrease the item balance, while incoming transaction increase it. This article explains how this is done.
Adding customized limited-access pages and reports In most applications, you might need to create additional customized pages besides the ones generated by AppGini. For example, you might want to add some reports, charts, switch boards, special forms, .. etc. In this article, we'll explain how you can create an additional page and limit access to it to authenticated users.
Installing AppGini on remotely-hosted Windows VPS If you are a Mac/Linux user and don't want to install Windows or play with Wine/CrossOver, you can use the cheap Windows VPS hosting service offered by Winity to run AppGini and enjoy its full benefits.
Installing a local testing environment (xampp) You can test your AppGini-generated web applications on a local machine before deploying them online. To do so, you need to install a web server, MySQL, and PHP. Of course, installing and configuring all of these programs is a lot of headache. Fortunately, there is an easier way: download and install Xampp, a single download that takes care of all the necessary work in one shot.
Modifying the table view data This is a tutorial on using hooks to modify the formatting of the data displayed in the table view.
Cascading dropdowns (video tutorial) AppGini 4.80 introduced this new feature, where users can filter the contenct of a drop down by selecting a value from another one. For example, selecting "Honda" from "Car makes" would filter "Car models" list to show only Honda models.
Applying a default filter on a table In many scenarios, you may find it useful to apply an initial filter on one or more of your application tables. This is very easy to achieve using the tablename_init hook.
Integrate PayPal links into your AppGini application This tutorial will show you how to place PayPal links into a table view generated by AppGini.
Customizing the data displayed in the table view Sometimes you may need to change the way data in one of your tables is displayed to users. Imagine this scenario: You have a rating field in one of your tables that takes a value between 1 and 5. Instead of displaying the rating, you want to show stars.
Backing up and restoring your MySQL database Here is a quick and easy way to backup and restore your MySQL database from a shell / command-line. It works with any charcater set.
MySQL2AppGini: Work with your existing MySQL database in AppGini If you already have one or more existing MySQL databases, you can easily work with them in AppGini...
Formatting a field as a phone number Q: I need to automatically format data in a field as a phone number like XXX-XX-XXXX. How can I do so?
A: AppGini supports automatic formatting of data by using the Data Format tab. Select any field in AppGini, and go to that tab ...
Which data type to choose for your fields? MySQL offers a lot of data types for fields. Choosing the right one can be tricky. This article sheds some light on how to decide.
Creating a customized search form This tutorial shows you how to create a customized search form that users can use to search a particular table in your AppGini-generated web application.
Creating a web-application from scratch This is a video tutorial that will guide you through using AppGini to create a database web-application from scratch. In just 7 minutes, we'll create a simple contacts database, set it up and see it in action.
Inserting automatic values in fields This tutorial explains how to set a field in AppGini to contain an automatic value. For example, setting a field that automatically records the creation date of a record, or the last modification date.
Displaying 2 tables in one page A handy little hack for displaying two tables side-by-side in the same browser page
Creating image/file upload fields This is a video tutorial that will show you how to create fields to upload images/files in your table.
Powerful CRUD scaffolding for MySQL A description of CRUD scaffolding, and a comparison of AppGini vs. CRUD utilities, highlighting some of the extra features of AppGini.
Sending an email notification when a record is added or modified In some scenarios, you might wish to send an email notification to one or more recipients when a user adds a new record or modifies an existing one.
Working with filters programatically, part 1 In part 1 of this series about programming AppGini filters, we'll learn how filters work, what variables control them in code, and we'll see how to enforce a predefined filter on users when they view a table.
Linking to a specific record Q: Sometime, I want to send someone a link to one of the records in a table. I don't want him to have to view all records first and then select one of them. I just want him to view the record in the detail view once he click the link. How do I compose such link?