How to create system to manage expired certificates and send notification before cert expire

Hi, I am now to community, so I am not sure if I can ask for that sort of help.
I am using gravity forms for few years now, but recently I got challenging project to do, and I wonder if that can be accomplished with Gravity forms.

I need to build system, to managed a list of client devices that need to be (calibrated and certified) every year, and send notification to clients 2 weeks before their certificate will expire to notify them that calibration is required.

List of basic functions:

  • Create client (associate client with his devices)
  • Create device (with cert renewal date, device serial number)
  • Page with the list of all clients
  • Page with all devices (column with cert expiry date)
  • Email template to notify client regarding device expiration date (dynamic client name, device serial number, expiry date)
  • Email template containing renewal certificate (after device is calibrated, and new cert is issued)

Could that be somehow achieved with Gravity forms and add-ons? I was also thinking of Gravityview (plugin) to display date in tables.
Or is better to look more towards custom PHP solution to create that system. Even if I am only novice to PHP programming.

Thank you in advance for any help and suggestions.

Hi Robo, and welcome to this community,

I am a GF customer too, and a PHP developer.

Maybe someone here will know of some helpful plugin that will do what you need, I am not an expert on all the plugins available.

My experience is in the area of custom development , and I view problems like your’s from the perspective of a dev :slight_smile:

Here is my rough outline for one possible approach :

  • Use the WP member management to track your clients (custom records for device meta data)
  • Add a WP database table for your device list
  • Use the WP member tools to display of all records matching the “role” for assigned to clients
  • Write a PHP function to populate a GF field list to display your devices
  • Same for filling in email template for sending to client (your last two requirements)

Hope this helps, and good luck !

1 Like

Hi,

Thank you for your reply, and suggestion.
It could work, but I would be afraid that by using WP Members I would run into problems later with displaying all devices assassinated with user (when user is clicked).

I think maybe (it will be challenging by I like challenges) I will try to do this is with PHP.
They are PHP form builders online, that are submitting data to DB.

Then:
I might try to create custom DB. With table for clients, and table for devices (with renewal date), and then perform custom loops, to display them on the pages. To be honest I am not to sure how I am going to do this.

Then I was thinking to create cron job on server that will be running every 24h to check renewal date, and if it is current date to change status to “to_update”. Then with another cron job run function to check device table to check if device status is “to_update” and if it is then send email to client associated with that device.

On the admin site:
Create custom PHP forms (hoping for some good PHP form builder) for admin to:

  • form to create new device
  • form to update device
  • form to create client
  • form to update client

Or maybe I should rather thing of doing it all with WP custom post type, rather then custom php? The website will be fully in WP.

I hope that I am not missing anything.
Please advice if you think I am wrong in my thoughts, otherwise just wish me luck :slight_smile:

Once again, thank you for your help.

Thanks for the update Robo, do let us know how your project goes :slight_smile:

IMO the most helpful way to approach a challenging project like your’s, is to identify all the unknown sub-components your designed solution includes, and create a “proof of concept” example of implementing a prototype of that item.

Then, once you believe there are no unknowns left, plan out the integration of your components, and always factor in the “edge cases,” those things that can break your code if not accounted for.

Best of luck mate !
-JAS