perlquestion
Ryszard
I've got a bit of a problem with my web application and a CGI::Application framework.
<p>let me explain a little.</p>
<p>I've written a module based on CGI::Application, and every other module i use inherits from it (ie when writing another module i do 'use base CGIA::Replacement'; )</p>
<p>My web app has "registered" users (ie users that will log in via the website, session stored in the database etc etc). Each user belongs to a group, and that group has specific attributes.</p>
<p>My goal is to create (from a dev/admin POV) a "My Website" framework, where i can just program another module, add it to the $path, update a database table and the content/functionality will be automatically added to the greater application.</p>
<p>Now (bear with me a bit while i share some detail), i've got a database table that maps a group with a feature (for example "upload file"), and (for the sake of normalisation) i have a mywebsite_feature table that maps a library to that feature.</p>
<p>From this setup i can dynamically pull in (at run time via require) whatever libraries are associated with the group of the user logged in. With a "special" method in the library, i can return the method(s) i would like the application to access (such as <code>showTemplate()</code>, or <code>storeFile()</code> ) </p>
<p>what i'm having trouble with is the mechanics in accessing the dynamically added runmode.</p>
<p>so, in summary, what i want is a CGI::Application based module that will dynamically use other modules and dynamically add run modes based on the output of a "special" method in the dynamically loaded module.</p>
in closing, i have two remarks:<br>
1) i cant but help think this is quite a messy approach to doing this
<br><br>
and
<br><br>
2) (disclaimer) i've been working at this for hours now, and perhaps cant see the wood for the trees
<p>If anyone has experience in doing this, or suggestions on how it could be done better, i would love to hear it.</p>