PloneFormGen: Past, Present, Future

Preview:

DESCRIPTION

Presented at Plone Conference, October 12, 2008

Citation preview

PloneFormGen: Past, Present & Future

Steve McMahon

<past>

Formulator

Infrae ! Download ! Formulator

Formulator

Formulator is an extensible framework that eases the creation and validation of web forms.

HISTORY for the latest release.

Important links:

Subscribe to the Formulator mailing list, for general discussions and questions on Formulator usage.

If you're interested in the further development of Formulator, subscribe to the Formulator-dev list

Formulator SourceForge project page

Formulator SVN web

Check out Formulator from SVN like this:

svn co https://infrae.com/svn/Formulator/trunk Formulator

Important hint:

Don't ever use field_<fieldname>; anything prefixed with field_ in REQUEST is a Formulator implementation detail.

Instead, don't forget to validate the form, for instance using validate_all_to_request(). See the Formulator API help

and Howto for more information. Forgetting to validate the form is the most frequently made Formulator mistake that

I've encountered.

Documentation:

Formulator HOWTO

Very nice slides about Formulator by Jens Quade (in German)

A Zopelabs recipe by Scott Burton on using Formulator with Zope Page Templates

Howto on using Formulator with Zope Page Templates by Beno

Some less important links:

Formulator on Freshmeat

Formulator project page on Advogato

older Formulator page on zope.org

License: New BSD

Release version Release date Release files

Formulator 1.11.3 21 may 2007 15:05 Formulator-1.11.3.tgz

Formulator 1.11.2 12 jun 2006 16:35 Formulator-1.11.2.tgz

Formulator 1.11.1 02 feb 2006 18:21 Formulator-1.11.1.tgz

Formulator 1.11 23 jan 2006 15:54 Formulator-1.11.tgz

Formulator 1.10.1 16 dec 2005 16:21 Formulator-1.10.1.tar.gz

Formulator 1.10 09 sep 2005 16:40 Formulator-1.10.tgz

Formulator 1.9.0 25 may 2005 21:05 Formulator-1.9.0.tgz

Formulator 1.8.0 21 jan 2005 15:32 Formulator-1.8.0.tgz

Formulator 1.7.0 08 sep 2004 18:20 Formulator-1.7.0.tgz

Formulator 1.6.2 01 sep 2004 10:47 Formulator-1.6.2.tgz

Public Domain

Formulator

Formulator Overrides

FormulatorRendering

PloneFormMailerA Formulator Wrapper for Plone

Jens KleinReinout van Rees

PloneFormMailerA Formulator Wrapper for Plone

Jens KleinReinout van Rees

CMFFormulator Rendering & Validation

PloneFormMailerA Formulator Wrapper for Plone

Jens KleinReinout van Rees

CMFFormulator Rendering & Validation

Sample Form Content

PloneFormMailerA Formulator Wrapper for Plone

Jens KleinReinout van Rees

CMFFormulator Rendering & Validation

Sample Form Content

Excellent Mail Functionality Built-In

PloneFormGen Concept

PloneFormGen Concept

Archetypes already contains a form generator / validator.

PloneFormGen Concept

Archetypes already contains a form generator / validator.

Multiple Kinds of actions needed:

MailingSavingScripting

PloneFormGen Concept

Archetypes already contains a form generator / validator.

Multiple Kinds of actions needed:

MailingSavingScripting

Simple — better easy than complete.

PloneFormGen Architecture: Fields

PloneFormGen Architecture: Fields

Fields types are all individual content types.

PloneFormGen Architecture: Fields

Fields types are all individual content types.

Each field object contains an embedded Archetypes field.

PloneFormGen Architecture: Fields

Fields types are all individual content types.

Each field object contains an embedded Archetypes field.

Each field object knows how to render and validate itself.

PloneFormGen Architecture: Fields

Fields types are all individual content types.

Each field object contains an embedded Archetypes field.

Each field object knows how to render and validate itself.

The form folder contains the fields; they are rendered in order.

PloneFormGen Architecture: Actions

PloneFormGen Architecture: Actions

Action adapters are also content types.

PloneFormGen Architecture: Actions

Action adapters are also content types.

They are not Z3 adapters!

PloneFormGen Architecture: Actions

Action adapters are also content types.

They are not Z3 adapters!

Each has an OnSuccess method.

PloneFormGen Architecture: Actions

Action adapters are also content types.

They are not Z3 adapters!

Each has an OnSuccess method.

Actions are executed in order.

PloneFormGen Architecture: Actions

Action adapters are also content types.

They are not Z3 adapters!

Each has an OnSuccess method.

Actions are executed in order.

Built-ins include mailer, saver, script.

</past><present>

PloneFormGen Extensions

PloneFormGen Extensions

SalesForce adapter

PloneFormGen Extensions

SalesForce adapter

CAPTCHAs

PloneFormGen Extensions

SalesForce adapter

CAPTCHAs

GetPaid

Simple PFG Tricks

Simple PFG Tricks

Ad-hoc validators / defaults.

Simple PFG Tricks

Ad-hoc validators / defaults.

Multiple controlled actions

Simple PFG Tricks

Ad-hoc validators / defaults.

Multiple controlled actions

Chained forms

Simple PFG Tricks

Ad-hoc validators / defaults.

Multiple controlled actions

Chained forms

Turning fields on/off

Simple PFG Tricks

Ad-hoc validators / defaults.

Multiple controlled actions

Chained forms

Turning fields on/off

SQL CRU(D)

Amazing PFG Tricks

Amazing PFG Tricks

JavaScript/CSS Injection

Amazing PFG Tricks

JavaScript/CSS Injection

Highly customized thanks pages

Amazing PFG Tricks

JavaScript/CSS Injection

Highly customized thanks pages

Posting to outside

Amazing PFG Tricks

JavaScript/CSS Injection

Highly customized thanks pages

Posting to outside

Creating content

PFG Gotchas:

PFG Gotchas:

Incredibly inefficient due to Plone 2.1 architecture

PFG Gotchas:

Incredibly inefficient due to Plone 2.1 architecture

Not interactive enough

</present><future>

Zope 3 Events

Zope 3 Schema

z3c.form

KSS: inline validation form editing

Smooth Migration

Stay Simple

Dexterity

<!-- /future -->