Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

I'm the OpenInteract author, and there's no apologies necessary. These are all valid and points I wish you would have brought these thoughts up on the mailing list so they'd be in the meme-stream. But here's a few responses. Note that some refer to OI2 which is currently in beta 3 and quite usable.

copying and renaming PM files: Yep, this stinks. This is a great example of unnecessary overengineering -- it was done so that you could run multiple OI installations in the same Apache/mod_perl process. But who does that? OI2 does away with this entirely.

deployment: Not much to do about this. It would be cool to have installation adapters for RPM, Solaris, Debian, etc., and it probably wouldn't even be that difficult for installation. (At least in OI2...) But then you have things like packages installing SQL schemas, data and security and it might get a little tricker, although I'm not familiar with how much you can do with Debian/Solaris packages.

debugging: You're absolutely right about SPOPS being difficult to debug. OI2 uses Log::Log4perl for logging and SPOPS will soon as well. This makes it easy to set debugging levels at a fairly granular level.

security: This is a design disagreement. My feeling is that doing field-based security will lead you down the road of chaos. (I've vacationed there, awful place.) Not only is it difficult to program, but it's very confusing for users to configure. Instead I've found it's best to split these into separate objects that each have different security settings.

You're right that it's mostly a one-man show. I think OI2 is more loosely coupled to allow people to work on different pieces as needed. Plus a lot of the needlessly complex stuff is gone.

It's interesting that you mention Struts because a number of the changes that went into OI2 were inspired by Struts. Since Perl isn't typed like Java there really isn't the need for the Action Form classes Struts uses except maybe for validation and that can be handled in other means. But the handlers that actually execute your application are now object methods, not class methods, and the HTTP request has been broken down into separate request/response objects. (That's more of a servlet thing, but still...)

Hope that's useful. It would be great if you'd take a look at OI2 -- to help, there's a lot more documentation than OI1 :-) -- and contribute some ideas based on your experiences with other frameworks.

Chris
M-x auto-bs-mode


In reply to Re: Re: Web app frameworks - I am totally confused! by lachoy
in thread Web app frameworks - I am totally confused! by jdtoronto

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (2)
As of 2021-06-20 03:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What does the "s" stand for in "perls"? (Whence perls)












    Results (94 votes). Check out past polls.

    Notices?