Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
I have worked extensively with templating systems (mostly in Java Model 2 webapps, I fear) and I believe that what actually matters is separating data production from display logic. This usually means that on one side you decide WHAT has to be shown to the user and on the other side you decide HOW. This does not automagically imply that all logic has to be on the first side; and this is a serious flaw of pure-templating systems. As the templating logic might be weak, you end up doing elaborations in the WHAT part just to fill in HTML controls. This is the wrong way to do it.

My best experiences have been with Model 2's where:

  • All appication flow logic is centrally managed (might be a servlet, or an invonking stub cgi, or what), together with security and sessions and error control.
  • Data elaboration (the WHAT) is modularly loaded by the central manager, so you can plug and play new logic in the system
  • Data presentation logic (the HOW) is altogether independent but heavily programmable; might be a different CGI, or a JSP/ASP page or a Perl module called after the proper elaboration took place; anything that might load an external library for common layout units
  • HTML controls are not embedded in the template as pure text but as function calls. This way is easy to accomodate all the quirks of HTML like SELECTs, radio buttons, disabled fields, hidden fields and all the other pure HTML nuisances. You can also build "custom" controls, like e.g. a Date control made of three combos (day, month, year) that you want to use logically as a single unit.
Hope this helps (though not too much Perl-specific...)

In reply to Re: HTML - seperating design and logic by l3nz
in thread HTML - separating design and logic by muba

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 How to display code and escape characters are good places to start.
Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (5)
As of 2024-04-24 08:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found