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"/>