<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>The AppGini Blog</title>
    <link>https://blog.appgini.com/</link>
    <description>Recent content on The AppGini Blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>Copyright © 2002-2024, BigProf Software; all rights reserved.</copyright>
    <lastBuildDate>Wed, 16 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.appgini.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How to Protect Your Public AppGini App from Bots, Brute-Force Logins, and Scrapers with Cloudflare</title>
      <link>https://blog.appgini.com/administration/appgini-cloudflare-bot-protection/</link>
      <pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/appgini-cloudflare-bot-protection/</guid>
      <description>A practical, layered Cloudflare setup for AppGini apps: block vulnerability scanners, stop scrapers, and rate-limit brute-force login attempts, all without touching your PHP code.</description>
    </item>
    <item>
      <title>Build a Free Cloudflare Traffic Alert Worker with a PHP Webhook</title>
      <link>https://blog.appgini.com/administration/cloudflare-worker-traffic-threshold-webhook-alerts/</link>
      <pubDate>Mon, 24 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/cloudflare-worker-traffic-threshold-webhook-alerts/</guid>
      <description>Create a Cloudflare Worker that checks zone traffic every five minutes and sends a signed webhook alert to a PHP endpoint when a request threshold is exceeded.</description>
    </item>
    <item>
      <title>Build Custom Business Apps in Minutes with the AppGini AXP Editor Skill</title>
      <link>https://blog.appgini.com/appgini/build-custom-business-apps-fast-with-appgini-axp-editor-skill/</link>
      <pubDate>Sun, 23 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/build-custom-business-apps-fast-with-appgini-axp-editor-skill/</guid>
      <description>Introducing the AppGini AXP Editor Skill: an agentic skill that helps AI coding agents create AppGini project files for customized multi-user business apps quickly, affordably, and reliably.</description>
    </item>
    <item>
      <title>Create a git today Shortcut to List Today’s Commit Messages in Markdown</title>
      <link>https://blog.appgini.com/administration/git-today-shortcut-list-commits-markdown/</link>
      <pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/git-today-shortcut-list-commits-markdown/</guid>
      <description>When you’re writing daily updates, preparing a changelog, filling out a standup report, or summarizing your work at the end of the day, you often need a quick list of the commits you made today.&#xA;You can get that information from git log, but typing a full date range every time is repetitive and error-prone:&#xA;1 git log --since=&amp;#39;2026-06-21 00:00&amp;#39; --until=&amp;#39;2026-06-22 00:00&amp;#39; --pretty=format:&amp;#39;%s&amp;#39; This works, but it has one obvious problem: you have to update the dates every day.</description>
    </item>
    <item>
      <title>Stop Memorizing MySQL Commands — Create Users Instantly with This CLI Wizard</title>
      <link>https://blog.appgini.com/administration/create-mysql-user-wizard-guide/</link>
      <pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/create-mysql-user-wizard-guide/</guid>
      <description>Learn how to create MySQL users instantly using a CLI wizard, without memorizing commands. Work on Windows, Linux, or macOS with a single script that handles everything for you.</description>
    </item>
    <item>
      <title>How to Add a Logo to the Navbar in AppGini Apps (In Under 2 Minutes)</title>
      <link>https://blog.appgini.com/appgini/add-logo-to-navbar-in-appgini-apps/</link>
      <pubDate>Sat, 04 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/add-logo-to-navbar-in-appgini-apps/</guid>
      <description>If your AppGini app still shows plain text in the navbar, your brand is basically whispering when it could be making an entrance.&#xA;The good news: adding a logo to the AppGini navbar is surprisingly easy. You only need a small snippet in one file, and you are done.&#xA;Why add a logo to your AppGini navbar? Adding a navbar logo helps with:&#xA;Brand recognition for internal teams and clients A cleaner, more professional first impression Visual consistency across your tools It is a small tweak, but it instantly makes your app feel more like a finished product.</description>
    </item>
    <item>
      <title>Change the number of child records displayed in the detail view</title>
      <link>https://blog.appgini.com/appgini/customizing/child-records-per-page/</link>
      <pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/child-records-per-page/</guid>
      <description>Use the child_records_config() hook to control how many child records are shown per page in your AppGini detail view, without touching generated files.</description>
    </item>
    <item>
      <title>How to Add Custom AI Prompts in Firefox (Readability &amp; Fact Check Guides)</title>
      <link>https://blog.appgini.com/administration/firefox-custom-ai-prompts-readability-fact-check/</link>
      <pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/firefox-custom-ai-prompts-readability-fact-check/</guid>
      <description>Learn how to add custom AI prompts in Firefox using about:config. This step-by-step guide shows you how to create powerful Readability and Fact Check commands to clean up pages and verify online claims.</description>
    </item>
    <item>
      <title>How I Ran VBScript on a Headless Ubuntu Server (And Why Your Legacy Code Doesn’t Have to Die)</title>
      <link>https://blog.appgini.com/administration/-run-vbscript-on-headless-ubuntu-with-wine/</link>
      <pubDate>Fri, 06 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/-run-vbscript-on-headless-ubuntu-with-wine/</guid>
      <description>Learn how to run VBScript (.vbs) on a headless Ubuntu server using Wine, create a noiseless wrapper, and make VBScript files directly executable with a shebang. Includes a real-world consulting story about modernizing a legacy VBScript codebase with minimal disruption.</description>
    </item>
    <item>
      <title>How to Add Smart Report Maker Dashboards to AppGini</title>
      <link>https://blog.appgini.com/appgini/customizing/smart-report-maker-dashboards-appgini-northwind-customer-360/</link>
      <pubDate>Sat, 24 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/smart-report-maker-dashboards-appgini-northwind-customer-360/</guid>
      <description>Learn how to integrate Smart Report Maker dashboards into your AppGini apps using a Northwind-style example. Step-by-step guide to connecting SRM, building a Sales Overview dashboard, and embeding it directly inside AppGini with shared login and layout.</description>
    </item>
    <item>
      <title>Sending Emails from Docker Containers using Gmail SMTP</title>
      <link>https://blog.appgini.com/administration/sending-emails-from-docker-using-gmail-smtp/</link>
      <pubDate>Sun, 07 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/sending-emails-from-docker-using-gmail-smtp/</guid>
      <description>A guide on setting up msmtp in Docker containers to send emails via Gmail&amp;rsquo;s SMTP server, including Dockerfile and docker-compose examples.</description>
    </item>
    <item>
      <title>How to Test Your Google Maps API Key (and Troubleshoot Map Issues in AppGini and Beyond)</title>
      <link>https://blog.appgini.com/javascript/google-maps-api-key-tester/</link>
      <pubDate>Sun, 31 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/javascript/google-maps-api-key-tester/</guid>
      <description>How to test your Google Maps API key and troubleshoot map issues.</description>
    </item>
    <item>
      <title>Why Vibe Coding Won’t Kill AppGini (Or: How Not to Lose Your App and Your Mind)</title>
      <link>https://blog.appgini.com/appgini/nocode-stability-why-appgini-outlasts-vibe-coding/</link>
      <pubDate>Tue, 26 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/nocode-stability-why-appgini-outlasts-vibe-coding/</guid>
      <description>Discover why AppGini’s proven no-code/low-code platform still beats the hype of vibe coding. Explore ownership, reproducibility, and how AI can help—without sacrificing control.</description>
    </item>
    <item>
      <title>How to Fix “Permission to Write Files” Errors in Your AppGini Web App (Linux &amp; Windows Guide)</title>
      <link>https://blog.appgini.com/administration/fix-appgini-permission-errors-linux-windows/</link>
      <pubDate>Thu, 21 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/fix-appgini-permission-errors-linux-windows/</guid>
      <description>Struggling with “AppGini doesn’t have permission to write the files” errors? This easy-to-follow guide covers troubleshooting steps for both Linux and Windows servers—including cPanel and Plesk users!</description>
    </item>
    <item>
      <title>Get Better Answers from DataTalk: How to Use Hints Effectively</title>
      <link>https://blog.appgini.com/administration/datatalk-better-answers-with-hints/</link>
      <pubDate>Sun, 03 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/datatalk-better-answers-with-hints/</guid>
      <description>Having trouble getting accurate answers from DataTalk? This guide shows you how to use helpful hints to troubleshoot issues and get the right results, using a real Northwind database example.</description>
    </item>
    <item>
      <title>Advanced Tutorial: Implementing Session Timeout in Your AppGini Application</title>
      <link>https://blog.appgini.com/appgini/session-timeout-tutorial-for-advanced-appgini-users/</link>
      <pubDate>Thu, 17 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/session-timeout-tutorial-for-advanced-appgini-users/</guid>
      <description>This article shows you how to implement session timeout in your AppGini application. It covers both server-side session management and client-side user experience enhancements.</description>
    </item>
    <item>
      <title>Visualize and Analyze: Top Reporting Solutions for AppGini Users</title>
      <link>https://blog.appgini.com/appgini/-top-reporting-solutions-appgini/</link>
      <pubDate>Sun, 29 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/-top-reporting-solutions-appgini/</guid>
      <description>Discover the top reporting tools for AppGini, including Summary Reports plugin, DataTalk plugin, Smart Report Maker, and Redash. Learn how to create dashboards, charts, and reports for your AppGini apps—no coding required!</description>
    </item>
    <item>
      <title>Convert MP4 Videos to Optimized GIFs with One Simple Bash Script</title>
      <link>https://blog.appgini.com/administration/mp4-to-gif-with-ffmpeg-bash-script/</link>
      <pubDate>Wed, 25 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/mp4-to-gif-with-ffmpeg-bash-script/</guid>
      <description>Convert MP4 videos to optimized GIFs easily with a simple Bash script using FFmpeg. Learn how to control frame rate, size, and quality for perfect GIFs—no watermarks or online tools needed.</description>
    </item>
    <item>
      <title>8 Reasons Your Login Form Makes Me Want to Delete Your App</title>
      <link>https://blog.appgini.com/javascript/why-your-login-form-drives-users-away/</link>
      <pubDate>Mon, 26 May 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/javascript/why-your-login-form-drives-users-away/</guid>
      <description>Tired of login forms that feel like an obstacle course? Discover 8 frustrating UX mistakes mobile apps make and why they’re driving users to hit ‘uninstall.’ Fix your app’s login flow before your users (and investors) revolt.</description>
    </item>
    <item>
      <title>New features in AppGini 25.11: An in-depth look</title>
      <link>https://blog.appgini.com/appgini/new-features-in-appgini-25-11-an-in-depth-look/</link>
      <pubDate>Wed, 21 May 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/new-features-in-appgini-25-11-an-in-depth-look/</guid>
      <description>Discover the latest enhancements in AppGini 25.11, focusing on mobile usability, theme customization, and an improved filters interface.</description>
    </item>
    <item>
      <title>How to Upgrade Your AppGini Application to Use MySQL 8.4</title>
      <link>https://blog.appgini.com/administration/upgrade-appgini-to-mysql-8-4/</link>
      <pubDate>Sat, 26 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/upgrade-appgini-to-mysql-8-4/</guid>
      <description>Learn how to upgrade your AppGini app to MySQL 8.4 by updating PHP (at least 7.4, ideally 8.4), installing required extensions (gd, mysqli, imagick, zip), updating MySQL authentication, and testing for compatibility.</description>
    </item>
    <item>
      <title>Empower Your Apps with Smart Report Maker: Dashboards, Reports, and More</title>
      <link>https://blog.appgini.com/php/smart-report-maker-dashboards-charts/</link>
      <pubDate>Mon, 14 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/php/smart-report-maker-dashboards-charts/</guid>
      <description>Discover how to create dynamic dashboards and reports in PHP with Smart Report Maker. And learn how to benefit from the exclusive 40% Off promo for AppGini Users!</description>
    </item>
    <item>
      <title>Automating Backups for AppGini Applications Using Task Scheduler and Mysqldump (Windows)</title>
      <link>https://blog.appgini.com/administration/automating-mysql-backups-windows-appgini-powershell/</link>
      <pubDate>Mon, 31 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/automating-mysql-backups-windows-appgini-powershell/</guid>
      <description>Learn how to automate database backups for your AppGini application on Windows using Task Scheduler and &lt;code&gt;mysqldump&lt;/code&gt;.</description>
    </item>
    <item>
      <title>5 Ways for Small Business Owners to Create a System for Managing Operations</title>
      <link>https://blog.appgini.com/appgini/five-ways-small-businesses-create-operations-management-systems/</link>
      <pubDate>Thu, 20 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/five-ways-small-businesses-create-operations-management-systems/</guid>
      <description>Creating a system for managing business operations can be challenging. We&amp;rsquo;ll explore five ways small business owners can create systems for managing their operations, starting from the harder methods and moving toward simpler, more practical solutions.</description>
    </item>
    <item>
      <title>Automating Backups for AppGini Applications Using Cron and Mysqldump</title>
      <link>https://blog.appgini.com/administration/automating-db-backups-using-cron-mysqldump/</link>
      <pubDate>Thu, 20 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/automating-db-backups-using-cron-mysqldump/</guid>
      <description>Learn how to automatically backup your AppGini application&amp;rsquo;s database using &lt;code&gt;cron&lt;/code&gt; and &lt;code&gt;mysqldump&lt;/code&gt;.</description>
    </item>
    <item>
      <title>How to protect anonymous detail view against automated bot submissions</title>
      <link>https://blog.appgini.com/appgini/how-to-protect-anonymous-detail-view-against-automated-bot-submissions/</link>
      <pubDate>Wed, 04 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/how-to-protect-anonymous-detail-view-against-automated-bot-submissions/</guid>
      <description>Learn how to protect your anonymous detail view against automated bot submissions using Cloudflare.</description>
    </item>
    <item>
      <title>Create a user corresponding to each record in a table</title>
      <link>https://blog.appgini.com/appgini/customizing/automatic-users-from-table/</link>
      <pubDate>Mon, 29 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/automatic-users-from-table/</guid>
      <description>This article shows how to automatically create a user account for each record in a table.</description>
    </item>
    <item>
      <title>AppGini vs. MS Access: Why You Should Make the Switch for Better Business Efficiency</title>
      <link>https://blog.appgini.com/appgini/appgini-vs-access/</link>
      <pubDate>Sun, 07 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/appgini-vs-access/</guid>
      <description>If you&amp;rsquo;re still using Microsoft Access to manage your business operations, it&amp;rsquo;s time to explore a powerful and more flexible alternative: AppGini. With AppGini, you can create web-based applications that are not only multi-user and secure but also accessible from any web browser, both on your intranet and the internet.</description>
    </item>
    <item>
      <title>Automatically create users from records</title>
      <link>https://blog.appgini.com/appgini/customizing/auto-create-users-from-records/</link>
      <pubDate>Sat, 25 May 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/auto-create-users-from-records/</guid>
      <description>Learn how to automatically create user accounts from records in your AppGini application.</description>
    </item>
    <item>
      <title>From Spreadsheet Chaos to Operational Excellence: Discover the Power of AppGini</title>
      <link>https://blog.appgini.com/appgini/from-excel-chaos-to-operational-excellence/</link>
      <pubDate>Tue, 14 May 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/from-excel-chaos-to-operational-excellence/</guid>
      <description>Transitioning from spreadsheets to AppGini can revolutionize your business operations, streamline data management, and enhance productivity. Learn how Debt Counselors Inc. and Rental Management Co. overcame their spreadsheet struggles with AppGini.</description>
    </item>
    <item>
      <title>New version numbering scheme for AppGini to allow more frequent releases</title>
      <link>https://blog.appgini.com/appgini/new-version-numbering-scheme-for-appgini-to-allow-more-frequent-releases/</link>
      <pubDate>Sat, 18 Dec 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/new-version-numbering-scheme-for-appgini-to-allow-more-frequent-releases/</guid>
      <description>Instead of naming the next version of AppGini 6.0, it would be 22.0 as we’ll start using a new version numbering scheme that encourages rapid release cycles.</description>
    </item>
    <item>
      <title>Calculated age field (given date of birth)</title>
      <link>https://blog.appgini.com/appgini/customizing/calculated-age-field/</link>
      <pubDate>Sat, 25 Sep 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/calculated-age-field/</guid>
      <description>Calculate the age of a person based on their date of birth via an SQL query in a calculated field.</description>
    </item>
    <item>
      <title>Display a multiple choice field that includes an &#39;Other&#39; user-provided option</title>
      <link>https://blog.appgini.com/appgini/customizing/multiple-choice-with-other/</link>
      <pubDate>Thu, 29 Jul 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/multiple-choice-with-other/</guid>
      <description>Convert a normal text field to a multiple choice list, with an &amp;lsquo;Other&amp;rsquo; option, where the user can type a different value if he wants.</description>
    </item>
    <item>
      <title>Set date range for a datetime picker</title>
      <link>https://blog.appgini.com/appgini/customizing/set-date-range-for-datetime-picker/</link>
      <pubDate>Mon, 19 Jul 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/set-date-range-for-datetime-picker/</guid>
      <description>Limit the allowed date range for a datetime picker in your AppGini app.</description>
    </item>
    <item>
      <title>Reload detail view after closing child modal</title>
      <link>https://blog.appgini.com/appgini/customizing/reload-dv-after-closing-child-modal/</link>
      <pubDate>Thu, 27 May 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/reload-dv-after-closing-child-modal/</guid>
      <description>Reload the detail view after closing a child modal in your AppGini app.</description>
    </item>
    <item>
      <title>Add a shareable &#39;permalink&#39; to records in detail view</title>
      <link>https://blog.appgini.com/appgini/customizing/add-shareable-link-to-record/</link>
      <pubDate>Wed, 12 May 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/add-shareable-link-to-record/</guid>
      <description>Display a link icon in the detail view of your data records, allowing users to share a direct link to that record.</description>
    </item>
    <item>
      <title>Highlight records that belong to the current user&#39;s group</title>
      <link>https://blog.appgini.com/appgini/customizing/highlight-group-records/</link>
      <pubDate>Sun, 07 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/highlight-group-records/</guid>
      <description>Highlight records that belong to the current user&amp;rsquo;s group in the table view of your AppGini app.</description>
    </item>
    <item>
      <title>Share a record as a WhatsApp message</title>
      <link>https://blog.appgini.com/appgini/customizing/send-whatsapp-message/</link>
      <pubDate>Thu, 04 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/send-whatsapp-message/</guid>
      <description>Add a WhatsApp button to the detail view form of a table in your AppGini app to share the record as a WhatsApp message.</description>
    </item>
    <item>
      <title>Hide the &#39;Add new&#39; (&#43;) button beside a lookup field</title>
      <link>https://blog.appgini.com/appgini/customizing/hide-addnew-parent-from-child-dv/</link>
      <pubDate>Sat, 10 Oct 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/hide-addnew-parent-from-child-dv/</guid>
      <description>Hide the &amp;lsquo;Add new&amp;rsquo; (+) button beside a lookup field in AppGini detail view via a simple JavaScript snippet.</description>
    </item>
    <item>
      <title>Convert &#39;Go to page&#39; dropdown to a textbox</title>
      <link>https://blog.appgini.com/appgini/customizing/convert-goto-page-dropdown-to-textbox/</link>
      <pubDate>Thu, 20 Aug 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/convert-goto-page-dropdown-to-textbox/</guid>
      <description>Replace the &amp;lsquo;Go to page&amp;rsquo; dropdown in AppGini with a textbox for easier navigation in large tables.</description>
    </item>
    <item>
      <title>How many ways can you turn a field into a phone link in AppGini?</title>
      <link>https://blog.appgini.com/appgini/customizing/how-many-ways-can-you-turn-a-field-into-a-phone-link-in-appgini/</link>
      <pubDate>Wed, 19 Aug 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/how-many-ways-can-you-turn-a-field-into-a-phone-link-in-appgini/</guid>
      <description>This post demonstrates several ways to turn a field into a phone link in AppGini, using hooks, PHP, JavaScript, and SQL.</description>
    </item>
    <item>
      <title>Add a note to a specific child tab</title>
      <link>https://blog.appgini.com/appgini/customizing/add-note-to-a-child-tab/</link>
      <pubDate>Sat, 27 Jun 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/add-note-to-a-child-tab/</guid>
      <description>You have a child tab under one of your AppGini app forms. You want to display some note or instructions inside that tab.</description>
    </item>
    <item>
      <title>Hide password reset link from login page</title>
      <link>https://blog.appgini.com/appgini/customizing/hide-password-reset/</link>
      <pubDate>Mon, 22 Jun 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/hide-password-reset/</guid>
      <description>Hide the password reset link from the login page of your AppGini app.</description>
    </item>
    <item>
      <title>Replace &#39;No matches found&#39; with a custom message</title>
      <link>https://blog.appgini.com/appgini/customizing/replace-default-no-matches-found/</link>
      <pubDate>Tue, 02 Jun 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/replace-default-no-matches-found/</guid>
      <description>Replace the default &amp;lsquo;No matches found&amp;rsquo; message with a custom HTML message in your AppGini app using javascript.</description>
    </item>
    <item>
      <title>Select first item in a lookup dropdown by default</title>
      <link>https://blog.appgini.com/appgini/customizing/set-default-lookup-value/</link>
      <pubDate>Sat, 23 May 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/set-default-lookup-value/</guid>
      <description>Set the first item in a lookup dropdown as the default value when adding a new record.</description>
    </item>
    <item>
      <title>Hide specific fields from the detail view print preview</title>
      <link>https://blog.appgini.com/appgini/customizing/hide-fields-dvp/</link>
      <pubDate>Tue, 12 May 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/hide-fields-dvp/</guid>
      <description>Hide specific fields from the detail view print preview via javascript.</description>
    </item>
    <item>
      <title>Highlight rows with due date = today</title>
      <link>https://blog.appgini.com/appgini/customizing/highlight-rows-due-today/</link>
      <pubDate>Wed, 06 May 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/highlight-rows-due-today/</guid>
      <description>Highlight rows in the table view where the due date is today in your AppGini app using JavaScript.</description>
    </item>
    <item>
      <title>Working days between 2 dates</title>
      <link>https://blog.appgini.com/appgini/customizing/working-days-between-2-dates/</link>
      <pubDate>Wed, 06 May 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/working-days-between-2-dates/</guid>
      <description>Calculate the number of working days between 2 dates in your AppGini app.</description>
    </item>
    <item>
      <title>Calculated expiry date field (given production date and validity period)</title>
      <link>https://blog.appgini.com/appgini/customizing/calculated-expiry-date-field/</link>
      <pubDate>Mon, 04 May 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/calculated-expiry-date-field/</guid>
      <description>Calculate the expiry date of an item based on its production date and validity period via an SQL query in a calculated field.</description>
    </item>
    <item>
      <title>Highlight a table row if a checkbox field is unchecked</title>
      <link>https://blog.appgini.com/appgini/customizing/highlight-table-row-if-checkbox-field-is-unchecked/</link>
      <pubDate>Mon, 04 May 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/highlight-table-row-if-checkbox-field-is-unchecked/</guid>
      <description>Highlight a table row in the table view of your AppGini app if a checkbox field is unchecked.</description>
    </item>
    <item>
      <title>Dramatically reduce server load with a single firewall trick</title>
      <link>https://blog.appgini.com/administration/dramatically-reduce-server-load-with-a-single-firewall-trick/</link>
      <pubDate>Mon, 16 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/dramatically-reduce-server-load-with-a-single-firewall-trick/</guid>
      <description>Learn how to dramatically reduce server load by configuring a simple firewall rule to allow SSH access from a single IP address.</description>
    </item>
    <item>
      <title>New features in AppGini 5.80: An in-depth look</title>
      <link>https://blog.appgini.com/appgini/new-features-in-appgini-5-80-an-in-depth-look/</link>
      <pubDate>Fri, 04 Oct 2019 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/new-features-in-appgini-5-80-an-in-depth-look/</guid>
      <description>AppGini 5.80 includes some exciting new features that will add more power to your apps and save you more time. This post takes a thorough look into those new features.</description>
    </item>
    <item>
      <title>Prevent specific groups from directly accessing a table in AppGini</title>
      <link>https://blog.appgini.com/appgini/prevent-specific-groups-from-directly-accessing-a-table-in-appgini/</link>
      <pubDate>Sat, 29 Jun 2019 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/prevent-specific-groups-from-directly-accessing-a-table-in-appgini/</guid>
      <description>In this post, we&amp;rsquo;ll show how to prevent specific user groups from directly accessing a table in AppGini, while still allowing them to access it as a child table.</description>
    </item>
    <item>
      <title>A work-around to implement a multiple-choice lookup field in your AppGini apps</title>
      <link>https://blog.appgini.com/appgini/a-work-around-to-implement-a-multiple-choice-lookup-field-in-your-appgini-apps/</link>
      <pubDate>Mon, 17 Jun 2019 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/a-work-around-to-implement-a-multiple-choice-lookup-field-in-your-appgini-apps/</guid>
      <description>AppGini provides a multiple choice option list field, which is a handy way to allow users of your app to select multiple values from a list. We&amp;rsquo;re going to populate it dynamically from a table, allowing users to add, edit, and delete options without needing to edit the project in AppGini, or upload any files, or manually edit any files.</description>
    </item>
    <item>
      <title>How to handle many-to-many relations in AppGini</title>
      <link>https://blog.appgini.com/appgini/how-to-handle-many-to-many-relations-in-appgini/</link>
      <pubDate>Tue, 21 May 2019 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/how-to-handle-many-to-many-relations-in-appgini/</guid>
      <description>Many-to-many relations (also known as N:M relations) is a way of describing the relationship between two entities/tables where each one could have, or own, or be related to, many items of the other. This article explains how to handle many-to-many relations in AppGini.</description>
    </item>
    <item>
      <title>Using full-text searches in AppGini apps</title>
      <link>https://blog.appgini.com/appgini/using-full-text-searches-with-appgini-apps/</link>
      <pubDate>Sun, 14 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/using-full-text-searches-with-appgini-apps/</guid>
      <description>This article shows you how to implement full-text searches in AppGini apps using hooks.</description>
    </item>
    <item>
      <title>Fixing issues when trying to import CSV data to your AppGini app</title>
      <link>https://blog.appgini.com/appgini/fixing-issues-when-trying-to-import-csv-data-to-your-appgini-app/</link>
      <pubDate>Mon, 08 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/fixing-issues-when-trying-to-import-csv-data-to-your-appgini-app/</guid>
      <description>If you&amp;rsquo;re having issues importing CSV data to your AppGini app, this article shows you how to validate your CSV file using CSVLint and suggests a fix for any issues found.</description>
    </item>
    <item>
      <title>How to hide columns in the table view based on user group in AppGini</title>
      <link>https://blog.appgini.com/appgini/how-to-hide-columns-in-table-view-based-on-user-group/</link>
      <pubDate>Tue, 26 Mar 2019 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/how-to-hide-columns-in-table-view-based-on-user-group/</guid>
      <description>This blog post explains how to hide specific columns in the table view based on the user group in AppGini, which is useful for showing different columns to different user groups.</description>
    </item>
    <item>
      <title>Overwriting AppGini functions: Allowing Admin group members to access the admin area</title>
      <link>https://blog.appgini.com/appgini/customizing/overwriting-appgini-functions-allowing-admin-group-members-to-access-the-admin-area/</link>
      <pubDate>Sun, 10 Mar 2019 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/overwriting-appgini-functions-allowing-admin-group-members-to-access-the-admin-area/</guid>
      <description>Learn how to override AppGini functions to allow Admin group members to access the admin area.</description>
    </item>
    <item>
      <title>Moving an AppGini application to a new server</title>
      <link>https://blog.appgini.com/appgini/moving-an-appgini-application-to-a-new-server/</link>
      <pubDate>Tue, 05 Mar 2019 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/moving-an-appgini-application-to-a-new-server/</guid>
      <description>This is a simple checklist of the steps you should follow to move an AppGini-generated application to a new server.</description>
    </item>
    <item>
      <title>Trying to detect your application URI using DOCUMENT_ROOT? Read this first!</title>
      <link>https://blog.appgini.com/php/trying-to-detect-your-application-uri-using-document_root-read-this-first/</link>
      <pubDate>Sat, 02 Mar 2019 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/php/trying-to-detect-your-application-uri-using-document_root-read-this-first/</guid>
      <description>If you&amp;rsquo;re trying to detect your application URI using DOCUMENT_ROOT, you might be doing it wrong! Read this article to learn why and how to do it right.</description>
    </item>
    <item>
      <title>How to make a checkbox mandatory in AppGini signup form</title>
      <link>https://blog.appgini.com/appgini/make-it-mandatory-for-new-users-to-agree-to-terms-and-conditions-before-signing-up/</link>
      <pubDate>Tue, 15 Jan 2019 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/make-it-mandatory-for-new-users-to-agree-to-terms-and-conditions-before-signing-up/</guid>
      <description>This article shows you how to make a checkbox mandatory in the AppGini signup form. This is useful for GDPR compliance or to enforce terms and conditions.</description>
    </item>
    <item>
      <title>Automatically be notified of any errors on your server</title>
      <link>https://blog.appgini.com/administration/automatically-be-notified-of-any-errors-on-your-server/</link>
      <pubDate>Tue, 08 Jan 2019 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/automatically-be-notified-of-any-errors-on-your-server/</guid>
      <description>Learn how to automatically check your server logs for any errors and get notified by email if any are found.</description>
    </item>
    <item>
      <title>Displaying count of child records on the tab title</title>
      <link>https://blog.appgini.com/appgini/displaying-count-of-child-records-on-the-tab-title/</link>
      <pubDate>Tue, 11 Dec 2018 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/displaying-count-of-child-records-on-the-tab-title/</guid>
      <description>AppGini supports displaying a list of child records in the detail view of the parent record. We&amp;rsquo;ll show you how to display the count of these child records on the tab title via JavaScript.</description>
    </item>
    <item>
      <title>How to find non-active users in AppGini</title>
      <link>https://blog.appgini.com/appgini/retrieve-a-list-of-users-who-havent-made-any-activity-in-the-last-x-months/</link>
      <pubDate>Wed, 22 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/retrieve-a-list-of-users-who-havent-made-any-activity-in-the-last-x-months/</guid>
      <description>This article shows you how to find non-active users in AppGini by running an SQL query in PhpMyAdmin.</description>
    </item>
    <item>
      <title>Hiding the nicedit component from a page</title>
      <link>https://blog.appgini.com/appgini/customizing/hiding-the-nicedit-component-from-a-page/</link>
      <pubDate>Sat, 04 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/hiding-the-nicedit-component-from-a-page/</guid>
      <description>AppGini uses nicedit Javascript component for displaying rich text areas, where users can enter formatted input. You might wish to hide/show the rich editor in an AppGini page, or in one of your custom pages. This can be done using JavaScript code.</description>
    </item>
    <item>
      <title>How to hide a field in child table view</title>
      <link>https://blog.appgini.com/appgini/how-to-hide-a-field-in-child-table-view/</link>
      <pubDate>Thu, 17 May 2018 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/how-to-hide-a-field-in-child-table-view/</guid>
      <description>This article shows you how to hide a field in a child table view in AppGini using CSS.</description>
    </item>
    <item>
      <title>Which files are changed when you add a new table to your AppGini project?</title>
      <link>https://blog.appgini.com/appgini/which-files-are-changed-when-you-add-a-new-table-to-your-appgini-project/</link>
      <pubDate>Mon, 26 Feb 2018 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/which-files-are-changed-when-you-add-a-new-table-to-your-appgini-project/</guid>
      <description>Many users wonder which files should they upload to their web server after adding a new table to AppGini and generating the app. This article lists all files changed when you add a new table to your AppGini project.</description>
    </item>
    <item>
      <title>How to allow numbers only in a field</title>
      <link>https://blog.appgini.com/appgini/customizing/how-to-allow-numbers-only-in-a-field/</link>
      <pubDate>Sat, 10 Feb 2018 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/how-to-allow-numbers-only-in-a-field/</guid>
      <description>If you have a numeric field, maybe a price, a score or some other field that should contain numbers only, you might wish to alert the user that only numbers are allowed before she saves the record. This article shows you how to do it in JavaScript.</description>
    </item>
    <item>
      <title>How to hide the seconds in a time field</title>
      <link>https://blog.appgini.com/appgini/how-to-hide-the-seconds-in-a-time-field/</link>
      <pubDate>Sat, 27 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/how-to-hide-the-seconds-in-a-time-field/</guid>
      <description>If you have a time field in your AppGini application, it displays a time picker in the detail view. This article shows you how to hide the seconds part of the time picker.</description>
    </item>
    <item>
      <title>Auto-save new record without clicking &#39;Save&#39; button</title>
      <link>https://blog.appgini.com/appgini/customizing/auto-save-new-record-without-clicking-save-button/</link>
      <pubDate>Thu, 14 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/auto-save-new-record-without-clicking-save-button/</guid>
      <description>This article shows how to auto-save a new record in AppGini without clicking the &amp;lsquo;Save&amp;rsquo; button. This is useful when you have a barcode scanner and you want to quickly enter lots of records.</description>
    </item>
    <item>
      <title>Programmatically change the value of an image field in the detail view</title>
      <link>https://blog.appgini.com/appgini/customizing/programmatically-change-the-value-of-an-image-field-in-the-detail-view/</link>
      <pubDate>Sun, 10 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/appgini/customizing/programmatically-change-the-value-of-an-image-field-in-the-detail-view/</guid>
      <description>This post explains how to programmatically change the value of an image field in the detail view of an AppGini application.</description>
    </item>
    <item>
      <title>Creating an on/off switch using Bootstrap and jQuery</title>
      <link>https://blog.appgini.com/javascript/creating-an-on-off-switch-using-bootstrap-and-jquery/</link>
      <pubDate>Thu, 06 Nov 2014 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/javascript/creating-an-on-off-switch-using-bootstrap-and-jquery/</guid>
      <description>How to create a cool-looking on/off switch using Bootstrap 3 and jQuery.</description>
    </item>
    <item>
      <title>Prepare a LAMP web development server on Amazon EC2</title>
      <link>https://blog.appgini.com/administration/prepare-a-lamp-web-development-server-on-amazon-ec2/</link>
      <pubDate>Wed, 16 Jul 2014 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/administration/prepare-a-lamp-web-development-server-on-amazon-ec2/</guid>
      <description>A checklist for setting up a LAMP development server on Amazon EC2.</description>
    </item>
    <item>
      <title>How to paginate a database query in PHP the no-frameworks way</title>
      <link>https://blog.appgini.com/php/how-to-paginate-a-database-query-in-php-the-no-frameworks-way/</link>
      <pubDate>Wed, 14 May 2014 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/php/how-to-paginate-a-database-query-in-php-the-no-frameworks-way/</guid>
      <description>This article shows you how to paginate a database query in PHP without using any frameworks.</description>
    </item>
    <item>
      <title>Making sure a PHP script is accessible only through being included</title>
      <link>https://blog.appgini.com/php/making-sure-a-php-script-is-accessible-only-through-being-included/</link>
      <pubDate>Sun, 13 Apr 2014 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/php/making-sure-a-php-script-is-accessible-only-through-being-included/</guid>
      <description>This article shows how to make sure a PHP script is accessible only through being included in other scripts, and not by being accessed directly through its URL.</description>
    </item>
    <item>
      <title>Bootstrap 3 break points</title>
      <link>https://blog.appgini.com/css/bootstrap-3-break-points/</link>
      <pubDate>Sun, 24 Nov 2013 00:00:00 +0000</pubDate>
      <guid>https://blog.appgini.com/css/bootstrap-3-break-points/</guid>
      <description>This article explains the screen widths at which Bootstrap 3 break points exist.</description>
    </item>
  </channel>
</rss>
