This is just so I don't forget to mention it, but at
one point Don was talking about having a built-in
mechanism for handling various mimetype results (csv,
pdf, etc.) via an action extension; I'd like to make
sure that doesn't get lost in the shuffle, either via
an "end of the url" param (foo/csv, foo/view/1/pdf,
etc.)

Dave

--- Ted Husted <[EMAIL PROTECTED]> wrote:

> Following up on suggestions made by Don and Brian,
> I'd like to propose
> that we draft a formal specification describing the
> logic to be used
> by the (deep-breath) "Able/Code
> Behind/Zero-Config/SmartURLs" plugin
> for 2.1. The purpose of the specification would be
> to better define
> what "backward compatibility" means, and also to
> encourage
> implementation of this pattern by other frameworks.
> 
> Following is the beginning of an early draft of a
> proposed
> "view-behind" specification. (In case anyone is
> interested, I'm using
> the JSON-RPC specification format as a model.) If
> there is interest in
> this proposal, I'd suggest we decide whether to
> complete the
> specification as part of our documentation, or at
> some other location.
> Of course, people working with other frameworks
> (<cough>stripes</cough>) would be welcome to join
> in.
> 
> ----
> 
> View-Behind Specification
> Working Draft 17 October 2007
> 
> Previous Versions:
>     None
> Editors:
>     Ted Husted, Husted.com
>     <Others TBD>
> 
> This document is currently a working draft published
> with the intent
> of soliciting community feedback. Please send your
> comments and
> concerns to the public mailing-list <TBD>.
> 
> This specification is designed to provide the
> developer with the
> information needed to implement the technology
> within a web
> development framework for any platform.
> 
> 
> 1. Overview
> 
> "View-behind" is a technology that combines
> intelligent defaults,
> convention over configuration, and annotation, in
> order to streamline
> web application development. Larger applications
> tend to the separate
> the concerns of "business logic" and "display logic"
> into different
> components. View-behind works to assemble these
> concerns back into a
> single request/response transaction, without
> requiring redundant
> metadata descriptions.
> 
> By leveraging intelligent defaults, convention over
> configuration, and
> annotation, page-behind elimates the need for XML
> metadata, helping
> applications become easier to write and review. The
> view-behind naming
> conventions are designed to be "Search Engine
> Optimized", and the
> view-to-code matching conventions observe existing
> class naming
> conventions.
> 
> In a view-behind workflow, the client requests a
> virtual "action" URI,
> which the system maps to an optional code component.
> (In a Java
> implementation, a code component would be a Java
> class.) If there is
> no code component, a default component is utilized.
> The code is
> invoked, and the system selects a view component
> (e.g. JSP) based on a
> heuristic that utilizes the original action name and
> any special
> outcome provided by the code at runtime.
> 
> Optionally, metadata, in the form of annotations or
> XML documents, may
> be used to override the components usually mapped to
> an action URI.
> Common application workflows can be realized without
> resorting to
> metadata.
> 
> Optionally, in a HTTP environment, parameters to the
> action request
> may be presented in a "RESTful" format that utilizes
> slashes rather
> than the usual HTTP "?" and "&" semantics.
> 
> The moniker "view-behind" is suggested since the
> pattern links to
> actions which then automatically select views
> "behind the scenes".
> View-behind differs from Code-Behind
> (http://support.microsoft.com/kb/303247) in that
> links are to virtual
> URIs, rather than physical files, and that a
> different view component
> may be selected depending on the outcome of invoking
> the code at
> runtime.
> 
> 
> 1.1. Goals
> 
> The primary goals of this specification are to
> define the view-behind
> technology  in terms of:
> 
>     * Mapping an action URI to a code component.
>     * Mapping a runtime code outcome to an a view
> component.
>     * Overriding the default component mappings with
> metadata.
>     * Mapping RESTful URIs to conventional
> parameterized URIs.
> 
> 
> 1.2. Non-Goals
> 
> View-behind does not address issues such as
> validation, security,
> session management, or the generation of a response
> to common errors,
> such as "File not found". Developers are expected to
> utilized existing
> features found in the underlying platforms to
> implement such features.
> 
> 
> 1.3. Limitations
> 
> TODO
> 
> 
> 2. Differences From Prior Versions
> 
> None.
> 
> 
> 3. Requirements
> 
> The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL
> NOT, SHOULD,
> SHOULD NOT, RECOMMENDED, MAY and OPTIONAL in this
> document are to be
> interpreted as described in RFC 2119.
> 
> An implementation is not compliant if it fails to
> satisfy one or more
> of the MUST requirements for the patterns it
> implements. An
> implementation that satisfies all of the MUST and
> all of the SHOULD
> requirements for its features is said to be
> unconditionally compliant;
> one that satisfies all of the 'must' requirements
> but not all of the
> SHOULD requirements for its features is said to be
> conditionally
> compliant.
> 
> 
> 4. Terminology
> 
> Below is a summary of some terminology used in this
> documentation that
> can help in disambiguation of commonly applied and
> therefore often
> overloaded terms:
> 
> Action Request/Response
>     A named operation supported by the application
> that expects zero
> or more input parameters and ultimately returns a
> response to the
> client, usually in the form of a HTML page
> 
> Client
>     The agent that initiates the action request and
> receives the action response
> 
> Code Component
>     A software component that executes business
> logic 
=== message truncated ===


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to