A long while ago I worked with UMW History professor Allyson Poska to migrate the Society of the Study of Early Modern Women‘s (SSEMW) website to WordPress. It was fairly straight forward given it was a small academic organization without too many pages or gimmicks. I can’t fully remember now, but I think it was in straight-up HTML, so there was a little work cleaning up links and formatting before copying them into pages, but nothing crazy. The other thing they asked about was a simple directory of members so they could keep track of who registered when, paid their dues, emails, etc. At the time Martha and Tim had been playing extensively with plugins like Gravity Forms, Views, Types, etc. for project sites, and I knew they had built similar functionality.
So, as is often the case, I went to the proverbial well. Tim showed me how to work through setting up custom posts types using the Types plugin. You can see the posts for the Membership directory below.
Then I used the Views plugin to display the fields in a directory layout. Views is powerful, but not all that intuitive and I tended to lose my way. It becomes very Drupally very fast, but the final product worked.
These custom post types contained data people manually entered to manage the membership details, and the directory was a bonus. [I believe we figure out how to do a bulk import of content into the custom post types.] This was not linked to member registration nor membership dues, although we’ll get there. We didn’t use Gravity Forms at all for the directory, but as an excuse to play with them, I built a simple post submission form that anyone in the community could use to add news, calls for papers, fellowships, etc. Dead simple.
I did this almost four years ago now, and really hadn’t thought about it again until this Spring. The officers at SSEMW reach out to me once in a blue moon for something, but it has been basically zero overhead and I was pleasantly surprised to see they’ve been regularly posting—that’s always a good sign. And Allyson Poska has long since moved on as an officer, so it was cool to see it transitioned fairly smoothly.
Anyway, long story short, last year Jodi Campbell reached out to me about a similar site for the academic organization she is web master for, namely the Association for Spanish and Portuguese Historical Studies (ASPHS). I was game for a discussion, but time and work got in the way for both of us so we didn’t reconnect on this project until this February. Before we talked I had to jar my memory of what I did with SSEMW. When I talked with Jodi she was interested in a directory like SSEMW, as well as an announcement/post form. Simple enough, or so I thought. But that changed once we started talking about providing a form the association’s members would use to register new members, renew existing membership, and edit their directory information. Also, they wanted more seamless integration with Paypal. So, in other words, a website that manages most of the membership details, provides a venue for sharing news and announcements, and has a membership directory to connect folks. All makes sense, a manageable hub for your academic organization that stops short of trying to reproduce the creepy treehouse that is Facebook. I agreed to give it a shot, and spent the last few months (in between travel and procrastination) working on it.
To be fair, I had the site migrated and up and running on WordPress in less than a week. It was thinking through the member registration and directory that took a bit more time. The form would be used by members to sign-up, re-new, and update their profile, so a custom post type like the one we used at SSEMW would not work. Looking at Gravity Forms more closely I realized they had at least two pieces of the puzzle worked out: PayPal integration and user registration.* The combination of these two plugins/addons through Gravity Forms solved the new member registration and payment issue. I was very happy with the results, but I ‘m still struggling with enabling simple renewals of membership through PayPal. I’ll be working on that solution over the coming month.
The other issue was getting the data members using the form visualized as part of a member directory. I explored this free plugin for creating a directory using Gravity Forms, but it was limited in it’s visual range and having users edit their entries was not working. The latter fail was a deal breaker, because giving user’s the ability to edit their own data is something we needed. Another issue was I needed to import the data of about 500 existing users and the Gravity Forms Mass Importer plugin was not working, and it hasn’t been updated for a year which is not a good sign.
So, I had already bought one plugin suite for $199, which to be fair can be used on a host of other sites should we need it. While looking for alternatives for the directory and import issues, I discovered the Gravity Views plugin. Despite the bizarre video of the guy (plugin author?) in the purple shirt, it promised to solve my directory and import issues. The plugin integrates with Gravity Forms and allows you to create a sophisticated set of views with the data. What’s more, the plugin suite provides an importer, which was a must because I had no intentions of manually entering hundreds of records. That said, the price was steep, $249 for a yearly license, annually renewable at 40% the sticker price. Ouch! I got sticker shock and searched for other alternatives and toyed with manual entry and making the existing directory plugin work, but that was short lived. I had to get something up and running and I was wasting time pretending I was going to will my way to a working alternative. I bit the bullet on Gravity Views earlier this week—after finally returning to the project after a month of travel—and I am pretty happy with the result. Below is a look at the multiple entry directory list (notice the “View Details” and “Edit Entry” buttons):
Click on the View Details for any entry you get a single entry directory view like this:
And finally, the ability for individual users and admins to edit their profile info.
Gravity Views made creating these various views as a directory seamless, and they even built an opt-in field for the Gravity Form so folks can decide if they want their info in the directory at sign-up. I could easily show Jodi Campbell how to use Gravity View in a few minutes and feel confident she could manage all of this going forward, that would not be the case with Toolset’s Views and Types. Simplicity is a big factor for me because it’s scalable, not to mention desirable, for me not to manage the details of a site like this. The other piece Gravity Views promised was a clean import of data, and having tested that over the last couple of days I am also happy with the results. I had to clean up the data I got from ASPHS, but after importing scores of test accounts I’m sure it will work for almost 500 records. I did get a PHP offset error which I copied below, and I am still chasing that one down, but the data imported cleanly, and I am not seeing any adverse effects besides some ugly errors during import.
Notice: Undefined offset: 1 in /home/asphsnet/public_html/wp-content/plugins/gravityforms/common.php on line 2886
Notice: ob_end_flush(): failed to delete and flush buffer. No buffer to delete or flush in /home/asphsnet/public_html/wp-content/plugins/gravityview-importer/class-gravityview-entry-importer.php on line 331
Being all but done with this project is a big relief. I dragged it out a bit while struggling with the best way forward, but in the end I think you can create a pretty dynamic, impressive site for your small academic organization at a fairly modest price. If you take into account hosting and the yearly price of the plugins, you could set something like this up for your org for less than $500 a year. And much, much cheaper if you don’t need the premium plugins, but I would be surprised if you could get custom code half as cheap to do any of this without writing it yourself—something I have no pretensions of doing.
We’ll be testing the setup out with some select users at ASPHS over the next few days, and then rolling it out to all users over the coming month. One issue I do have with Gravity Views is I’m having problems enabling users to change their password within the edit entry view. Right now I’m working around this by having all imported users prompted to change or accept their given password at sign-up, but I do need a long-term solution for seamless password changes within the directory/profile edit page for users. Regardless this has been a kind of fun side project, if for nothing else to figure how to take the SSEMW site to the next level. Also, I know some that may read this will have much more experience with Gravity Forms and possible ideas for work arounds or a better approach—consider me all ears.
*The developer license is $199/year, and given Tim and I both had projects that would use it we splurged. I don’t necessarily love buy premium plugins, but at the same time I learned for this project it is far, far cheaper than me actually trying to learn how to code 🙂