The following module was proposed for inclusion in the Module List:

  modid:       CGI::Path
  DSLIP:       bdpOp
  description: aids in traversing one or more paths
  userid:      EARL (Earl Cahill)
  chapterid:   15 (World_Wide_Web_HTML_HTTP_CGI)
  communities:

  similar:
    CGI::Application

  rationale:

    This module came from rewriting the signup process at my work.

    We needed to be able to jump in at various parts of the path, go
    forwards and backwards, be able to change information along the way,
    remember everything that users entered, do sometimes complex
    validation, do third party api validation along the way, work in
    secure, keep track of entered information for later page prints,
    etc. Also had to be able to potentially override how each step might
    act.

    CGI::Path was written to achieve these goals. By default CGI::Path
    uses Apache::Session for handling session, XML::Simple for
    validation references, Embperl::Form::Validate for client and server
    side validation using the xml references, Template Template for
    displaying results. However each of the above is (hopefully) modular
    enough to change. Like, using your own conf format instead of xml,
    or your own validation system, or Embperl for templating.

    The user defines a sequence of steps for their path, .htm files
    (template toolkit'able files), and .val files which explain the
    validation needed for each step.

    CGI::Path contains a series of hooks, and using cans, tests to see
    if the user has written their own methods for their hooks. Such a
    system means the user only write what he really needs to have
    different. I have found that many paths can rely on the default
    methods to gather the data, then a simple method to do something
    with the data at the end of the path. A simple path where the user
    enter information for an email, confirms the email and then sends
    the email, can be handled with just a couple of subs written, along
    with the htm and val files.

    We have been using this system on our live system for several
    months. We have received millions of hits and processed hundreds of
    thousands signups. Using the system I have been able to rather
    easily maintain a rather complex signup process. Once the series of
    hooks is understood, it is an easy thing to determine where a new
    thing would go, add the sub in the appropriate place and have it
    just start working.

  enteredby:   EARL (Earl Cahill)
  enteredon:   Mon Oct 20 23:15:18 2003 GMT

The resulting entry would be:

CGI::
::Path            bdpOp aids in traversing one or more paths         EARL


Thanks for registering,
-- 
The PAUSE

PS: The following links are only valid for module list maintainers:

Registration form with editing capabilities:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=fb400000_4682f125ea12be95&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=fb400000_4682f125ea12be95&SUBMIT_pause99_add_mod_insertit=1

Reply via email to