Thanks for all your replies. Here are my reply for all of your answers:

1)
CGI::Application::Session is using CGI::Session, but how do I call functions from CGI::Session? for example the name() function?

I've tried to following code but it gives me an error

use CGI::Application::Session; CGI::Session->name("sid"); # init session object my $session = $self->session; # if user doesn't accept cookies if ($q->cookie('sid') ne $self->session->id()) { # get sessionid for querystring $self->param('start')->param(sid => "&sid=".$self->session->id()); }

the code below works but it does not change the CGISESSID variable name

use CGI::Application::Session; # init session object my $session = $self->session; # if user doesn't accept cookies if ($q->cookie('CGISESSID') ne $self->session->id()) { # get sessionid for querystring $self->param('start')->param(CGISESSID => "&CGISESSID=".$self->sessi +on->id()); }

by the way, maybe anyone have a better way of appending the sessionid to the querystring if the user doesn't accept cookies?

2)
As long as I can call the functions from the original module I can't see any direct drawbacks in using plugins to the original modules. On the contrary, maybe it's better to hide away the basic functionality as much as possible.

3)
My plan before asking this question was to:
Use a database for my product, order and customer data etc. Use sessions to store the productID, name and price (price will be doublechecked towards the products table at checkout)
1) I wanted to use sessions instead of the database to minimize unneccesary database calls, is this really an issue?
2) I don't want a growing shoppingcart table, Tanktalus had a good point considering if this data could be of any intrest?

perrin had some excellent points which are pretty hard to neglect.

4)
As I guessed. Thanks bradcathey

5)
I guess I will get rid of that Mysql module that was introduced to me at my first job. I must have overlooked this sentence at the top of its documentation:
"You are strongly encouraged to implement new code with DBI directly."

6)
Good tips on templating.


In reply to Re: Code Design Issues by boboson
in thread 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.