CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Mon, 25 Aug 2025 02:05:23 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090428001955
location: https://web.archive.org/web/20090428001955/https://github.com/zapnap/database_form/tree
server-timing: captures_list;dur=0.744660, exclusion.robots;dur=0.031288, exclusion.robots.policy;dur=0.017703, esindex;dur=0.012558, cdx.remote;dur=5.724171, LoadShardBlock;dur=85.216274, PetaboxLoader3.datanode;dur=50.700622
x-app-server: wwwb-app202
x-ts: 302
x-tr: 122
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
set-cookie: wb-p-SERVER=wwwb-app202; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Mon, 25 Aug 2025 02:05:24 GMT
content-type: text/html; charset=utf-8
content-length: 116
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Tue, 28 Apr 2009 00:19:54 GMT
x-archive-orig-connection: close
x-archive-orig-set-cookie: _github_ses=BAh7ByIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7ADoOcmV0dXJuX3RvIjQvcmFkaWFudC9yYWRpYW50L3dpa2lzL2NyZWF0aW5nLWV4dGVuc2lvbnMvZWRpdA%3D%3D--91d02800022c44abc6da0fbd1badca5ec7be5fa6; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20090428001955/https://github.com/zapnap/database_form/tree/master
x-archive-orig-x-runtime: 45ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 116
cache-control: max-age=1800
memento-datetime: Tue, 28 Apr 2009 00:19:55 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Fri, 19 Sep 2008 22:54:16 GMT", ; rel="prev memento"; datetime="Fri, 19 Sep 2008 22:54:16 GMT", ; rel="memento"; datetime="Tue, 28 Apr 2009 00:19:55 GMT", ; rel="next memento"; datetime="Mon, 18 May 2009 01:26:32 GMT", ; rel="last memento"; datetime="Mon, 18 May 2009 01:26:32 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_9_20090427215512_crawl103-c/52_9_20090428001709_crawl101.arc.gz
server-timing: captures_list;dur=0.514752, exclusion.robots;dur=0.022187, exclusion.robots.policy;dur=0.013608, esindex;dur=0.009181, cdx.remote;dur=16.304723, LoadShardBlock;dur=155.967492, PetaboxLoader3.datanode;dur=109.655269, PetaboxLoader3.resolve;dur=222.384815, load_resource;dur=213.420318
x-app-server: wwwb-app202
x-ts: 301
x-tr: 410
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Mon, 25 Aug 2025 02:05:24 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.31
x-archive-orig-date: Tue, 28 Apr 2009 00:19:55 GMT
x-archive-orig-connection: close
x-archive-orig-set-cookie: _github_ses=BAh7BzoOcmV0dXJuX3RvIjQvcmFkaWFudC9yYWRpYW50L3dpa2lzL2NyZWF0aW5nLWV4dGVuc2lvbnMvZWRpdCIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7AA%3D%3D--79e49a6b06569fb14f52d49bdcc429ce882fffb5; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 567ms
x-archive-orig-etag: "d612ecfe0d7d8a83a65c20c5b10f06bb"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 25007
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Tue, 28 Apr 2009 00:19:55 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Thu, 17 Apr 2008 21:29:02 GMT", ; rel="prev memento"; datetime="Sun, 26 Apr 2009 19:08:19 GMT", ; rel="memento"; datetime="Tue, 28 Apr 2009 00:19:55 GMT", ; rel="next memento"; datetime="Mon, 18 May 2009 01:26:32 GMT", ; rel="last memento"; datetime="Fri, 04 Sep 2009 11:45:26 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_9_20090427215512_crawl103-c/52_9_20090428001709_crawl101.arc.gz
server-timing: captures_list;dur=0.588738, exclusion.robots;dur=0.022421, exclusion.robots.policy;dur=0.013482, esindex;dur=0.009350, cdx.remote;dur=9.286523, LoadShardBlock;dur=128.239767, PetaboxLoader3.datanode;dur=80.766531, load_resource;dur=23.081325
x-app-server: wwwb-app202
x-ts: 200
x-tr: 221
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
zapnap's database_form at master - GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Description: | Database Form Page Extension for Radiant CMS |
Clone URL: |
git://github.com/zapnap/database_form.git
Give this clone URL to anyone.
git clone git://github.com/zapnap/database_form.git
|
commit a180488845c04bad48f567eb4e3434298dc42b98
tree 182c1cd98b5c86a543fcb52177bc7c0a9e0b11e2
parent 63484c094a1e6132f82a3cf1ce0b5b4460c7b91d
tree 182c1cd98b5c86a543fcb52177bc7c0a9e0b11e2
parent 63484c094a1e6132f82a3cf1ce0b5b4460c7b91d
name | age | message | |
---|---|---|---|
![]() |
LICENSE | Wed Mar 05 13:56:41 -0800 2008 | added missing LICENSE (MIT FTW) [zapnap] |
![]() |
README | Tue Mar 04 10:16:20 -0800 2008 | update README [zapnap] |
![]() |
Rakefile | Tue Mar 04 07:28:46 -0800 2008 | initial commit 0.2 [zapnap] |
![]() |
app/ | Fri Jan 09 11:07:21 -0800 2009 | redirect status param required in radiant 0.6.9 [zapnap] |
![]() |
database_form_extension.rb | Fri Jan 09 11:08:28 -0800 2009 | update version and repo location [zapnap] |
![]() |
db/ | Tue Mar 04 07:28:46 -0800 2008 | initial commit 0.2 [zapnap] |
![]() |
lib/ | Tue Mar 04 07:28:46 -0800 2008 | initial commit 0.2 [zapnap] |
![]() |
public/ | Tue Mar 04 07:28:46 -0800 2008 | initial commit 0.2 [zapnap] |
![]() |
test/ | Tue Mar 04 07:28:46 -0800 2008 | initial commit 0.2 [zapnap] |
= Database Form Extension for Radiant The Database Form extension enables Radiant users to build form pages that will save visitor responses to a database table. Those responses can then be exported for consumption in some other application (CRM, etc). Install the extension, run the rake radiant:extensions:database_form:migrate task, and the rake radiant:extensions:database_form:update task. These tasks will add the necessary database table to your Radiant installation and copy over the JavaScript that's required for client-side validation. Once you've done this, log into the Radiant admin and set the page type of the page where you'll build the form to DatabaseFormPage. Then create your form using tags. Here's an example of usage: <r:database:form name="requestinfo" redirect_to="/contact/thank-you"> Name:<br/> <r:database:text name="name"/><br/> Email:<br/> <r:database:text name="email"/><br/> Primary Interest:<br/> <r:database:select name="primary_interest"> <r:database:option name="work"/> <r:database:option name="fun!"/> </r:database:select><br/> <r:database:submit value="Submit"/> <r:database:reset value="Reset"/> </r:database:form> As shown above, you can use the redirect_to attribute to specify where the visitor should be redirected to after submitting the form. The entire inventory of tags includes: <r:database:form name="" redirect_to="" validate="">...</r:database:form> <r:database:text name="" validate=""/> <r:database:password name="" validate=""/> <r:database:checkbox name="" validate=""/> <r:database:hidden name="" validate=""/> <r:database:textarea name="" validate=""/> <r:database:radio name="" validate=""/> <r:database:radiogroup name="" validate="">...</r:database:radiogroup> <r:database:select name="" validate="">...</r:database:select> <r:database:option name=""/> <r:database:us_states/> <r:database:ca_provinces/> <r:database:countries/> <r:database:submit/> <r:database:reset/> Note that most tags support client-side validation. Thanks to Andrew Tetlaw for his spiffy Prototype-based validation JavaScript. If you wish to include validation in your form, you must set the validate attribute in the form tag. You can then choose from a variety of validation routines for the form elements, including: required, validate-number, validate-digits, validate-alpha, validate-alphanum, validate-date, validate-email, validate-url, validate-currency-dollar, validate-selection, and validate-one-required. You'll also need to include prototype in your layout, of course (IMPORTANT; without it validation won't work). <r:database:form name="contact" validate="true"> <r:database:text name="name" validate="required"/> <r:database:text name="email" validate="required validate-email"/> </r:database:form> If you care to, you can style these validations using CSS: input.validation-failed, textarea.validation-failed { border: 1px solid #900; color: #900; } .validation-advice { margin: 5px 0; padding: 5px; background-color: #900; color: #FFF; font-weight: bold; } The Database Forms extension also adds a tab to Radiant's admin interface which can be used to export user form data. You can select by form name (the name you assigned to a form in its tag) and date ranges. XML is the only supported export format at this time. Maybe we'll sexy this up some day and make listings browsable through the admin but the most common use case is probably exporting data, and that's what we needed at the time, so it is what it is. If you'd like to extend it, we definitely welcome submissions. This extension is based on the Mailer extension by Matt McCray and (originally) Sean Cribbs. It was inspired by a post on SuperGloo's blog https://code.supergloo.com/2007/12/12/radiant-cms-database-form-extension but should be a bit more flexible than what was described there, allowing you to add arbitrary forms at will without adding database tables (model attributes for the FormResponse model are serialized and stored in a content text area). Developed by Nick Plante for Ubikorp Internet Services. Tested on Radiant 0.6.4. https://github.com/zapnap/database_form https://blog.zerosum.org https://www.ubikorp.com
This feature is coming soon. Sit tight!