PloneFormGen:
	 Past, Present & Future


            Steve McMahon
<past>
Infrae ! Download ! Formulator




Formulator
             Formulator
             Formulator is an extensible framework t...
Formulator
Formulator Overrides
Formulator
Rendering
PloneFormMailer
A Formulator Wrapper for Plone



Jens Klein
Reinout van Rees
PloneFormMailer
               A Formulator Wrapper for Plone



               Jens Klein
               Reinout van Rees...
PloneFormMailer
               A Formulator Wrapper for Plone



               Jens Klein
               Reinout van Rees...
PloneFormMailer
                 A Formulator Wrapper for Plone



                 Jens Klein
                 Reinout va...
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:
  Ma...
PloneFormGen Concept

 Archetypes already contains
 a form generator / validator.
 Multiple Kinds of actions
 needed:
   M...
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 c...
PloneFormGen
                  Architecture: Fields




Fields types are all individual content types.

Each field object c...
PloneFormGen
                  Architecture: Fields




Fields types are all individual content types.

Each field object c...
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!...
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 adapter...
</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...
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 -->
PloneFormGen: Past, Present, Future
PloneFormGen: Past, Present, Future
Upcoming SlideShare
Loading in...5
×

PloneFormGen: Past, Present, Future

1,220

Published on

Presented at Plone Conference, October 12, 2008

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,220
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

PloneFormGen: Past, Present, Future

  1. 1. PloneFormGen: Past, Present & Future Steve McMahon
  2. 2. <past>
  3. 3. Infrae ! Download ! Formulator 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
  4. 4. Formulator
  5. 5. Formulator Overrides
  6. 6. Formulator Rendering
  7. 7. PloneFormMailer A Formulator Wrapper for Plone Jens Klein Reinout van Rees
  8. 8. PloneFormMailer A Formulator Wrapper for Plone Jens Klein Reinout van Rees CMFFormulator Rendering & Validation
  9. 9. PloneFormMailer A Formulator Wrapper for Plone Jens Klein Reinout van Rees CMFFormulator Rendering & Validation Sample Form Content
  10. 10. PloneFormMailer A Formulator Wrapper for Plone Jens Klein Reinout van Rees CMFFormulator Rendering & Validation Sample Form Content Excellent Mail Functionality Built-In
  11. 11. PloneFormGen Concept
  12. 12. PloneFormGen Concept Archetypes already contains a form generator / validator.
  13. 13. PloneFormGen Concept Archetypes already contains a form generator / validator. Multiple Kinds of actions needed: Mailing Saving Scripting
  14. 14. PloneFormGen Concept Archetypes already contains a form generator / validator. Multiple Kinds of actions needed: Mailing Saving Scripting Simple — better easy than complete.
  15. 15. PloneFormGen Architecture: Fields
  16. 16. PloneFormGen Architecture: Fields Fields types are all individual content types.
  17. 17. PloneFormGen Architecture: Fields Fields types are all individual content types. Each field object contains an embedded Archetypes field.
  18. 18. 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.
  19. 19. 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.
  20. 20. PloneFormGen Architecture: Actions
  21. 21. PloneFormGen Architecture: Actions Action adapters are also content types.
  22. 22. PloneFormGen Architecture: Actions Action adapters are also content types. They are not Z3 adapters!
  23. 23. PloneFormGen Architecture: Actions Action adapters are also content types. They are not Z3 adapters! Each has an OnSuccess method.
  24. 24. PloneFormGen Architecture: Actions Action adapters are also content types. They are not Z3 adapters! Each has an OnSuccess method. Actions are executed in order.
  25. 25. 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.
  26. 26. </past> <present>
  27. 27. PloneFormGen Extensions
  28. 28. PloneFormGen Extensions SalesForce adapter
  29. 29. PloneFormGen Extensions SalesForce adapter CAPTCHAs
  30. 30. PloneFormGen Extensions SalesForce adapter CAPTCHAs GetPaid
  31. 31. Simple PFG Tricks
  32. 32. Simple PFG Tricks Ad-hoc validators / defaults.
  33. 33. Simple PFG Tricks Ad-hoc validators / defaults. Multiple controlled actions
  34. 34. Simple PFG Tricks Ad-hoc validators / defaults. Multiple controlled actions Chained forms
  35. 35. Simple PFG Tricks Ad-hoc validators / defaults. Multiple controlled actions Chained forms Turning fields on/off
  36. 36. Simple PFG Tricks Ad-hoc validators / defaults. Multiple controlled actions Chained forms Turning fields on/off SQL CRU(D)
  37. 37. Amazing PFG Tricks
  38. 38. Amazing PFG Tricks JavaScript/CSS Injection
  39. 39. Amazing PFG Tricks JavaScript/CSS Injection Highly customized thanks pages
  40. 40. Amazing PFG Tricks JavaScript/CSS Injection Highly customized thanks pages Posting to outside
  41. 41. Amazing PFG Tricks JavaScript/CSS Injection Highly customized thanks pages Posting to outside Creating content
  42. 42. PFG Gotchas:
  43. 43. PFG Gotchas: Incredibly inefficient due to Plone 2.1 architecture
  44. 44. PFG Gotchas: Incredibly inefficient due to Plone 2.1 architecture Not interactive enough
  45. 45. </present> <future>
  46. 46. Zope 3 Events
  47. 47. Zope 3 Schema
  48. 48. z3c.form
  49. 49. KSS: inline validation form editing
  50. 50. Smooth Migration Stay Simple
  51. 51. Dexterity
  52. 52. <!-- /future -->
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×