Requirements and Plugin Selection
During the initial requirements gathering stage of the project, our team identified several key requirements for the core site function of allowing users to apply for grants.
- Multi-step forms with flexible fields
- Administrative tools for submission moderation
- Easy to use interface for board members to review and approve submissions
We then set out to investigate which plugins would be best suited for the project. Gravity Forms stood out as one of the best forms plugins for the job, as it is a very capable and robust form builder on its own.
Gravity Forms also has an extensive addon ecosystem which provides many options for extending and altering its base functionality. One such addon is the Gravity View plugin, which helps create customisable, easy to use views of form submission data with options for filtering, approval, and more. These views are placed on the front end of the website, creating a simple interface for non-technical users to review submissions.
Many premium plugins for WordPress require that they be purchased before one can truly go hands on and test its functionality. As such, it is often difficult to ensure that a given plugin will be well suited for a given project. Thankfully the GravityKit website provides a service (via InstaWP) that creates a dedicated test environment with access to a large selection of Gravity Forms related plugins. This was immensely useful in determining which plugins were selected for use.
As always, Advanced Custom Fields was used for its extremely flexible custom field tools to help streamline content creation for posts and pages, as well as custom user data fields and other back-end uses.
When visiting the site, applicants can register as an individual or an organization. Each registration form shares common fields, and have their own unique ones as well. Depending on the type of account viewing an application form, different information will be used to prepopulate a given field.
The “GP Populate Anything” perk from the Gravity Wiz plugin enabled us to select the required data and the fields to populate. Initially our team decided that it was most efficient to pull user information directly from the entry data associated with the current account. However, the Populate Anything plugin requires that data be sourced from a single location. There was no one registration form for all user types, so the required information was divided.
To resolve this, we instead created all necessary fields on the user account itself using Advanced Custom Fields, populating the those fields when the account is created via either registration form. At that point, the registration form entries are no longer necessary, as the user account itself is now where all user information is stored and accessible.
Application Review Pages
Once applications have been gathered, the administrative team required a system for validating applications and another for final council review. The review interface needed to be accessible by the review council on the front end of the site without requiring those individuals to register for an account, which would increase the overall complexity of the review process.
Using [Gravity View], we were able to create an intuitive review page for both site administrators and the review council. With this plugin, we created a streamlined review page listing all applications, as well as selecting which information is presented in the listing and on detail pages for each individual application.
For program administrators validating applications, we enable Gravity View’s “Approve Entries” feature as well as displaying only approved entries in all cases except for administrators. This allows administrators to accept appropriate submissions, which then become visible to the review council when they visit the review page. The ability to use the same view for two distinct use cases made Gravity Views a powerful tool for managing Gravity forms entries.
In order to allow access to these restricted areas without a registered account, review pages were password protected, restricting the content to only those given access. Once the review council has come to a decision, they notify the program administrators via telephone or email, so no further web-based system was required from that point.
Final Thoughts
Gravity Forms, Gravity Kit, and Advanced Custom Field plugins were pivotal in creating a streamlined experience for applicants, review members, and administrators. This synergy of plugins not only expedited the application process but also provided a robust framework for the evaluation of submissions. Consequently, administrators benefited from an intuitive platform for managing the application and review process, culminating in a comprehensive and user-friendly ecosystem.
Links