Google Forms are a great, free way to collect information from anyone, stored directly into a Google Spreadsheet, and then have Google notify you each time a form is submitted (optionally). The downside is that you can only use one of their pre-packaged themes. You can’t have your company logo and corporate “look”.
Pooey to Google, we say. So we wrote custom_google_forms.
Want to truly customized Google Forms? Fork this repository, customize the CSS, DOM and images, and deploy to Heroku. You can then host/customize any number of Google Forms.
It’s fully a dynamic, thin layer on top of Google Forms. If you change your Google Form, your custom form application automatically changes.
How to use Google Forms?
Perhaps read this docco? Essentially if you can access Google Spreadsheets, you can create a Google Form (which automatically creates and updates a Google Spreadsheet based on the fields and form submissions).
Fork and Customize
It’s really simple to play with and customize Google Forms. Clone the GitHub project and fire up the Rails server:
gem install github cd ~/Sites gh clone mocra/custom-google-forms yourdomain-google-forms cd yourdomain-google-forms script/server
Go to http://localhost:3000/google_forms/new and add a Google Form:
The “Slug” is the URL path people will follow. That is, a slug “railsdev” maps to http://forms.mocra.com/railsdev.
The “Form Key” field takes either the Form URL or just the formkey parameter (e.g. dFo0LXQyYmlEV2dXcVJ6WjRweW9vRnc6MA) from when you view the live form.
Press “Create” and follow the slug url to view your Google Form through your own customized style.
Well, initially you’ll see the Mocra style. Let’s fix that.
First, fork the github repository so that you can push your style changes to your own repo.
gh fork mate public/stylesheets/style.css
Now, edit public/stylesheets/style.css to your tastes.
Please don’t reuse our style. Aside from you looking a bit silly having the :mocra logo at the top, it would be weird if your forms looked like our forms. I guess you might as well have used the default Google Form themes?
Let’s not get fancy, let’s just deploy your fork to Heroku. It’s free. It’s simple. You’ll be done in two minutes.
To get your copy of the application deployed to heroku:
gem install heroku heroku create yourdomain-google-forms git push heroku master heroku rake db:migrate
Two optional environment variables:
heroku config:add GOOGLE_ANALYTICS='YOURCODE'
If specified, Google Analytics will be included on all pages (including the custom Google Forms page).
heroku config:add EXPECTED_DOMAIN='some.yourdomain.com'
If specified, ‘yourdomain-google-forms.heroku.com/someform’ automatically redirects to ‘some.domain.com/someform’.
For example, for http://forms.mocra.com we used:
heroku config:add GOOGLE_ANALYTICS='UA-5370510-4' heroku config:add EXPECTED_DOMAIN='forms.mocra.com'
Once deployed, go to the /google_forms/new URL and add your first form. Once it is validated and added, you can start using it using the links shown.
Yay for free, customized Google Forms! Yay for free Heroku hosting!
Bonus: you can configure your Google Forms/Spreadsheet to notify you when new forms are submitted. That’s handy.
Thanks to Odin Dutton, our resident designer at Mocra, who did a great job applying our new theme to the Google Forms DOM structure. It’s wonderful having him on the team!
- Closing in on The Dream: “one-click-to-deploy Rails apps” Got a simple app you want to build? Allocate...