Hello All,
First post here, I'm beginning to embark on my own web app and from all my reading it seems C:A will fit the bill quite nicely. I've read through most of the examples on the homepage and various other section but I'm still not full understanding properly how to structure my run modes and what should be done in them. I'm hoping the people here can make sure I'm on the right path from the start. Using a reasonable approach to MVC. My example project would be accessed via web and a cli (web most important for now though) I'll go through my thoughts on the user management piece to start out with. Web Site Sections Login / User Management / Site Management / Assets Management Runmodes / Packages Base - Runmode - Separate instance script / MyApp::Base package which handles login/logout/DB setup/sessions etc - Login_form - Generates login page - Login_Process - Validates user and moves them to the BaseDefault runmode. - BaseDefault- Runmode- Generates page with default options (user/site/asset management) User Management - MyApp::UserManager Package / All these use the base package to determine authentication and dbh handles. / Separate instance script - UserDefault - Runmode - Calls "view" sub to generate a page with options (display/new/edit/delete) - DisplayUser - Runmode - Would call additional "model" subs to actually do the data retrieval and then determine which type of "view" and call a sub to generate that view type? - NewUser_form - Runmode - Calls a "view" sub to generate a display form - NewUser_process - Runmode - Calls a "model" sub to check form data if it constrains to business logic, and sub to update db. - EditUser_page1_form - Runmode (similar to newuser_form with additional db pulls) - EditUser_page1_process - Runmode (similar to newuser_process) Sends user to EditUser_page2_form - EditUser_page2_form - Runmode (similar to newuser_form with additional db pulls) - EditUser_page2_process - Runmode (similar to newuser_process) - DeleteUser - Runmode - Calls "model" subs to delete from db. Is it correct to assume that each function user/site/asset management will be their own instance script with its own set of runmodes? In one faq page it says to stay around the 4-12 runmodes for a project am I creating too many? How would you deal with multiple pages to edit? For cli versions of my script would I just create separate instance scripts with some new variable eg $CLI = YES;? I have more questions but hopefully this is a good start. Thanks John ##### CGI::Application community mailing list ################ ## ## ## To unsubscribe, or change your message delivery options, ## ## visit: http://www.erlbaum.net/mailman/listinfo/cgiapp ## ## ## ## Web archive: http://www.erlbaum.net/pipermail/cgiapp/ ## ## Wiki: http://cgiapp.erlbaum.net/ ## ## ## ################################################################
