You are viewing a plain text version of this content. The canonical link for it is here.
Posted to svn@forrest.apache.org by th...@apache.org on 2005/09/25 04:10:51 UTC

svn commit: r291363 - in /forrest/trunk/site-author/content/xdocs: docs_0_80/views-terminology.xml docs_0_80/views.xml site.xml

Author: thorsten
Date: Sat Sep 24 19:10:42 2005
New Revision: 291363

URL: http://svn.apache.org/viewcvs?rev=291363&view=rev
Log:
started to integrate the 'Defining Views Terminology' thread into the documentation

Added:
    forrest/trunk/site-author/content/xdocs/docs_0_80/views-terminology.xml   (with props)
Modified:
    forrest/trunk/site-author/content/xdocs/docs_0_80/views.xml
    forrest/trunk/site-author/content/xdocs/site.xml

Added: forrest/trunk/site-author/content/xdocs/docs_0_80/views-terminology.xml
URL: http://svn.apache.org/viewcvs/forrest/trunk/site-author/content/xdocs/docs_0_80/views-terminology.xml?rev=291363&view=auto
==============================================================================
--- forrest/trunk/site-author/content/xdocs/docs_0_80/views-terminology.xml (added)
+++ forrest/trunk/site-author/content/xdocs/docs_0_80/views-terminology.xml Sat Sep 24 19:10:42 2005
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2005 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" 
+  "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+  <header>
+    <title>Defining Views Terminology (Draft - feature planned for 0.8)</title>
+  </header>
+  <body>
+    <warning>This document is under development</warning>
+    <section id="whatIsfv">
+      <title>What *is* forrest:views (f:v)?</title>
+      <p> forrest:views is the codename for a forrest based implementation of 
+        the Core J2EE Pattern - <a 
+        href="site:v0.80//java-blueprints-pattern">Dispatcher View</a>. The 
+        following explanation is from [1] with their equivalent implementation 
+        in forrest:views. </p>
+    </section>
+    <section id="skinProblems">
+      <title>Problems which we have with old fashion skins (html)</title>
+      <p> The problem is a combination of the problems solved by the Front 
+        Controller and View Helper patterns in the presentation tier. There is 
+        no centralized component for managing access control, content retrieval 
+        or view management, and there is duplicate control code scattered 
+        throughout various views. Additionally, business logic and presentation 
+        formatting logic are intermingled within these views, making the system 
+        less flexible, less reusable, and generally less resilient to change. 
+        </p>
+      <p> In our case an old fashion skin are build by 4 different view helper 
+        (book2menu.xsl, document2html.xsl, site2xhtml.xsl and tab2menu.xsl). In 
+        this different files we have typically non modularized presentation 
+        formatting logic. Which makes it hard to reuse certain components in a 
+        flexible way. Some recent usecases wanted e.g. to generate a certain 
+        menu independent from our site.xml. Till now the menu is produced by 
+        book2menu.xsl, if you want to override it you need to create a new 
+        skin. </p>
+    </section>
+    <section id="Solution">
+      <title>Solution</title>
+      <p>Combine a controller and dispatcher with views and helpers to handle 
+        client requests and prepare a dynamic presentation as the response. 
+        Controllers do not delegate content retrieval to helpers, because these 
+        activities are deferred to the time of view processing. A dispatcher is 
+        responsible for view management and navigation and can be encapsulated 
+        either within a controller, a view, or a separate component. </p>
+      <p> Our basic prototype (codename: forrest:views) is implementing the 
+        following components to achieve above written. </p>
+      <section id="dispatcher">
+        <title>dispatcher - match="prepare.view.**"</title>
+        <p> The dispatcher is ATM within the internal.xmap of the internal.view 
+          plugin (i.v-p). The match="prepare.view.**" is responsible to 
+          dispatch the right view to process for the current request. </p>
+      </section>
+      <section id="view">
+        <title>view - default.fv </title>
+        <p> A view represents and displays information to the client. The 
+          information that is used in a display is retrieved from a model. 
+          Helpers (forrest:contracts, forrest:hooks and forrest:properties) 
+          support views by encapsulating and adapting a model for use in a 
+          display. </p>
+      </section>
+      <section id="helper">
+        <title>helper - forrest:contracts, forrest:hooks and 
+          forrest:properties</title>
+        <p> A helper is responsible for helping a view or controller complete 
+          its processing. Thus, helpers have numerous responsibilities, 
+          including gathering data required by the view (done by 
+          forrest:properties) and storing this intermediate model, in which 
+          case the helper is sometimes referred to as a value bean. 
+          Additionally, helpers may adapt this data model for use by the view 
+          (done by forrest:contracts). Helpers can service requests for data 
+          from the view by simply providing access to the raw data or by 
+          formatting the data as Web content. </p>
+      </section>
+      <section id="businessService">
+        <title>businessService - input plugins </title>
+        <p> The business service is a role that is fulfilled by the service the 
+          client is seeking to access. Typically, the business service is 
+          accessed via a business delegate. The business delegate's role is to 
+          provide control and protection for the business service (see 
+          "Business Delegate" on page 248). </p>
+      </section>
+    </section>
+    <!--
+      Copy n' paste template:
+      
+      <section id="leather">
+        <title>leather-dev</title>
+        <p>
+        </p>
+      </section>
+    -->
+    <section id="info">
+      <title>Further information</title>
+      <p> See the various How-to documents about views, starting with <a 
+        href="site:v0.80//howto/view/install">installing views</a>. </p>
+    </section>
+  </body>
+</document>
\ No newline at end of file

Propchange: forrest/trunk/site-author/content/xdocs/docs_0_80/views-terminology.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: forrest/trunk/site-author/content/xdocs/docs_0_80/views.xml
URL: http://svn.apache.org/viewcvs/forrest/trunk/site-author/content/xdocs/docs_0_80/views.xml?rev=291363&r1=291362&r2=291363&view=diff
==============================================================================
--- forrest/trunk/site-author/content/xdocs/docs_0_80/views.xml (original)
+++ forrest/trunk/site-author/content/xdocs/docs_0_80/views.xml Sat Sep 24 19:10:42 2005
@@ -18,10 +18,10 @@
 <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
 <document>
   <header>
-    <title>forrest:views concept (Draft - feature planned for 0.8)</title>
+    <title>forrest:views (Draft - feature planned for 0.8)</title>
   </header>
   <body>
-    <warning>This document is heavily under development</warning>
+    <note>An introduction and background information</note>
     <section id="introduction">
       <title>Introduction</title>
       <p>
@@ -29,11 +29,14 @@
         </a> the aim of the Forrest skins is to provide
         many capabilities so that extra skins are not needed. Experience showed that many Forrest users 
         decided to create a new skin because the default skin did not offer the features that they wanted.
-        That led us to develop a new concept of creating skins that would be more easily extensible by a user.
+        We introduced skinconf.xml where the user could configure some features of skins but it was up 
+        to the skin to support it. That led us to develop a new concept of creating skins that would 
+        be more easily extensible by a user.
       </p>
       <p>
         The aim of the "forrest:views" concept is to provide a flexible framework for creating
-        site and page specific layout in different formats.
+        site and page specific layout in different formats. Further it is a filter that limits the
+        data-model to a minimum by only requesting what the strucuter (e.g. default.fv) need.
       </p>
 
     </section>
@@ -68,6 +71,11 @@
     </section>
     <section id="info">
       <title>Further information</title>
+      <p>
+        <a href="site:v0.80//documentation/views-terminology">
+          Defining Views Terminology (Draft - feature planned for 0.8)
+        </a>.
+      </p>
       <p>
         See the various How-to documents about views, starting with
         <a href="site:v0.80//howto/view/install">installing views</a>.

Modified: forrest/trunk/site-author/content/xdocs/site.xml
URL: http://svn.apache.org/viewcvs/forrest/trunk/site-author/content/xdocs/site.xml?rev=291363&r1=291362&r2=291363&view=diff
==============================================================================
--- forrest/trunk/site-author/content/xdocs/site.xml (original)
+++ forrest/trunk/site-author/content/xdocs/site.xml Sat Sep 24 19:10:42 2005
@@ -105,6 +105,23 @@
          </versions>
       </docs>
     </forrest>
+    
+    <java href="http://java.sun.com/">
+      <j2ee href="j2ee/">
+        <patterns href="patterns/">
+          <dispatcherView href="DispatcherView.html" />
+        </patterns>
+      </j2ee>
+      <java-blueprints-pattern href="http://java.sun.com/blueprints/corej2eepatterns/Patterns/">
+	      <dispatcherView href="DispatcherView.html"/>
+	      <viewHelper href="ViewHelper.html"/>
+	    </java-blueprints-pattern>
+    </java>
+    <corej2eepatterns href="http://corej2eepatterns.com/">
+      <patterns href="Patterns2ndEd/">
+        <dispatcherView href="DispatcherView.htm" />
+      </patterns>
+    </corej2eepatterns>
 
     <xml.apache.org href="http://xml.apache.org/">
       <fop href="fop/"/>
@@ -211,6 +228,7 @@
         <skins label="Default Skins" href="skins.html"/>
         <skin-package label="Skin Packages" href="skin-package.html"/>
         <views label="Views-dev" href="views.html"/>
+        <views-terminology label="Structurer" href="views-terminology.html"/>
 
         <forrest-contract label="Our Contract" href="forrest-contract.html"/>
         <compliance label="Standards Compliance" href="compliance.html"/>