Wufoo as CMS
I made a CMS out of Wufoo.
It’s pretty cool actually. I wanted to put together a quick little site for Laravel consultants that would be my go to place to send people when they ask me where they can find Laravel consultants (genius!).
I wanted to spend as little time as possible on this. In reality we’re talking about building a list here. This would only take 1 table in a database, but I don’t want to run another database. We have databases everywhere.
I could have manually built the list, but then I’d have to type all the info in. Plus, I still need a way to get the info in the first place. This is where Wufoo comes in.
You probably already know that Wufoo is a form building tool. It’s pretty good at collecting basic info, but for my purposes what’s even better is it has a decent API. It can handle the things you’d expect like getting a list of your data, but it can also do more advanced stuff such as send you back a filtered list.
So what I did was build my Wufoo form and via Twitter got people submitting their entries. Next, I built out a simple site in Laravel that has exactly 2 application routes. One that queries the Wufoo api, caches the results and lists the entries and a second for me to manually clear the cache when we get new accepted submissions. 5 minutes of work!
They have a pretty good editing interface, so nothing to build there. To mange the listings I made a few hidden fields. One of which shows if I’ve accepted a company for listing and another where I can store any special tags/notes that need to be show. These are used for highlighting companies that have sponsored Laracon’s or use LaraJobs to hire developers.
[This image was lost to time in my blog transition]
I manually edit these fields as needed, hit the route to clear the cached version of the homepage and whamo, the listing is live.
Of course, I could have built all this, but it was fun to do it a different way and it still took less time than building out my own forms with validation, file uploading for the images and all that mess.