I am building my web applications with CGI, CGI::Application, CGI::Application::Session, CGI::Application::ValidateRM, HTML::Template, Data::Page, Mysql modules and I have a couple of questions reagading design and choice of modules:

1) Is it possible to change the name of CGISESSID variable when using the CGI::Application::Session or do I have to use CGI::Session to be able to change that? If my users don't accept cookies I need to add the sessionID to the querystring and I don't want to use the variablename: CGISESSID In the CGI::Session module I can easily change the name of the CGISESSID variable by:

CGI::Session->name("sid");
but I can't figure out how to do this with the CGI::Application::Session module. CGI::Application::Session is using the CGI::Session module so there should be a way of calling the name() sub routine, but how?

2) Are there any major drawbacks in using CGI::Application::Session instead of CGI::Session?

3) In my old shopping site scripts I always used a Shopping Cart DB table to keep info on my customers temporary shopping carts. However with sessions this approach feels unneccesary when I can store all shopping cart info. in a session variable instead. What is the most common way of doing this, how is the biggest shopping sites (amazon etc.) doing this? Pros and Cons?

4) Any information on what to do to make parts of my sites secure (https)? No clue about this! Where should I start, this might not even be a programming questions. I probably need some kind of certificate but do I have to buy a commericial one?

5) I am currently using the Mysql module because...well I don't really know why. Is there a reason to switch to the DBI module?

6) Is there any other modules that I should pay attention to when building my framework, such as: using the Template Toolkit (Apache::Template) instead of HTML::Template? any other tips?


In reply to Code Design Issues by boboson

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.