forrest-svn mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From thors...@apache.org
Subject svn commit: r372780 - in /forrest/site/docs_0_80: dispatcher.html dispatcher.pdf
Date Fri, 27 Jan 2006 08:20:14 GMT
Author: thorsten
Date: Fri Jan 27 00:20:04 2006
New Revision: 372780

URL: http://svn.apache.org/viewcvs?rev=372780&view=rev
Log:
Forgot to add the dispatcher pages, sorry.

Added:
    forrest/site/docs_0_80/dispatcher.html   (with props)
    forrest/site/docs_0_80/dispatcher.pdf

Added: forrest/site/docs_0_80/dispatcher.html
URL: http://svn.apache.org/viewcvs/forrest/site/docs_0_80/dispatcher.html?rev=372780&view=auto
==============================================================================
--- forrest/site/docs_0_80/dispatcher.html (added)
+++ forrest/site/docs_0_80/dispatcher.html Fri Jan 27 00:20:04 2006
@@ -0,0 +1,481 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta content="Apache Forrest" name="Generator">
+<meta name="Forrest-version" content="0.8-dev">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Dispatcher (Draft - feature planned for 0.8) (v0.8-dev)</title>
+<link type="text/css" href="../skin/basic.css" rel="stylesheet">
+<link media="screen" type="text/css" href="../skin/screen.css" rel="stylesheet">
+<link media="print" type="text/css" href="../skin/print.css" rel="stylesheet">
+<link type="text/css" href="../skin/profile.css" rel="stylesheet">
+<script src="../skin/getBlank.js" language="javascript" type="text/javascript"></script><script
src="../skin/getMenu.js" language="javascript" type="text/javascript"></script><script
src="../skin/fontsize.js" language="javascript" type="text/javascript"></script>
+<link rel="shortcut icon" href="../favicon.ico">
+</head>
+<body onload="init()">
+<script type="text/javascript">ndeSetTextSize();</script>
+<div id="top">
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+<a href="http://www.apache.org/">apache</a> &gt; <a href="http://forrest.apache.org/">forrest</a><script
src="../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
+</div>
+<!--+
+    |header
+    +-->
+<div class="header">
+<!--+
+    |start group logo
+    +-->
+<div class="grouplogo">
+<a href="http://www.apache.org/"><img class="logoImage" alt="Apache" src="../images/apache-forrest.png"
title="The Apache Software Foundation"></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogo">
+<a href="http://forrest.apache.org/"><img class="logoImage" alt="Forrest" src="../images/project-logo.gif"
title="Apache Forrest"></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<input value="forrest.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank
(this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search
the site with google">&nbsp; 
+                    <input name="Search" value="Search" type="submit">
+</form>
+</div>
+<!--+
+    |end search
+    +-->
+<!--+
+    |start Tabs
+    +-->
+<ul id="tabs">
+<li>
+<a class="base-not-selected" href="../index.html">Welcome</a>
+</li>
+<li>
+<a class="base-not-selected" href="../contrib.html">Project</a>
+</li>
+<li>
+<a class="base-not-selected" href="../versions/index.html">Versioned Docs</a>
+</li>
+<li>
+<a class="base-not-selected" href="../pluginDocs/index.html">Plugins</a>
+</li>
+<li>
+<a class="base-not-selected" href="../tools/index.html">Tools</a>
+</li>
+</ul>
+<!--+
+    |end Tabs
+    +-->
+</div>
+</div>
+<div id="main">
+<div id="publishedStrip">
+<!--+
+    |start Subtabs
+    +-->
+<div id="level2tabs"></div>
+<!--+
+    |end Endtabs
+    +-->
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<!--+
+    |breadtrail
+    +-->
+<div class="breadtrail">
+             
+             &nbsp;
+           </div>
+<!--+
+    |start Menu, mainarea
+    +-->
+<!--+
+    |start Menu
+    +-->
+<div id="menu">
+<div onclick="SwitchMenu('menu_selected_1.1', '../skin/')" id="menu_selected_1.1Title"
class="menutitle" style="background-image: url('../skin/images/chapter_open.gif');">0.80-dev</div>
+<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a href="../docs_0_80/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/faq.html">FAQs</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/changes.html">Changes</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/todo.html">Todo</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/your-project.html">Using Forrest</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/locationmap.html">Locationmap</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/validation.html">XML Validation</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/linking.html">Menus and Linking</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/searching.html">Searching</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/skins.html">Default Skins</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/skin-package.html">Skin Packages</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Dispatcher development</div>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/forrest-contract.html">Our Contract</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/compliance.html">Standards Compliance</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.15', '../skin/')" id="menu_1.1.15Title" class="menutitle">How-To</div>
+<div id="menu_1.1.15" class="menuitemgroup">
+<div class="menuitem">
+<a href="../docs_0_80/howto/index.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/howto-howto.html">Write a How-to</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/howto-dev.html">Be a developer</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/howto-asf-mirror.html">Download mirror</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/howto-pdf-tab.html">Create tab PDF</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/howto-editcss.html">Edit CSS (WYSIWYG)</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/howto-corner-images.html">CSS corner SVG</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/howto-forrest-from-maven.html">Maven Integration</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/howto-buildPlugin.html">Build a Plugin</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/howto-custom-html-source.html">Custom html source</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.15.11', '../skin/')" id="menu_1.1.15.11Title" class="menutitle">Multipage
HowTo</div>
+<div id="menu_1.1.15.11" class="menuitemgroup">
+<div class="menuitem">
+<a href="../docs_0_80/howto/multi/howto-multi.html">Introduction</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/multi/step1.html">Step 1</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/multi/step2.html">Step 2</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/multi/step3.html">Step 3</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.15.12', '../skin/')" id="menu_1.1.15.12Title" class="menutitle">Dispatcher</div>
+<div id="menu_1.1.15.12" class="menuitemgroup">
+<div class="menuitem">
+<a href="../docs_0_80/howto/howto-structurer-install.html">Install</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/howto-structurer-dsl.html">Structurer</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/howto-dispatcher-quickstart.html">Quickstart</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/howto-structurer-contracts.html">Contracts</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.16', '../skin/')" id="menu_1.1.16Title" class="menutitle">Advanced
Topics</div>
+<div id="menu_1.1.16" class="menuitemgroup">
+<div class="menuitem">
+<a href="../docs_0_80/build.html">Building Forrest</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/catalog.html">Using DTD Catalogs</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/sitemap-ref.html">Sitemap Reference</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/project-sitemap.html">Project sitemap</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/cap.html">Sourcetype Action</a>
+</div>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/upgrading_08.html">Upgrading to 0.8</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.18', '../skin/')" id="menu_1.1.18Title" class="menutitle">Reference
docs</div>
+<div id="menu_1.1.18" class="menuitemgroup">
+<div onclick="SwitchMenu('menu_1.1.18.1', '../skin/')" id="menu_1.1.18.1Title" class="menutitle">DTD
documentation</div>
+<div id="menu_1.1.18.1" class="menuitemgroup">
+<div class="menuitem">
+<a href="../dtdx/dtd-docs.html">Overview</a>
+</div>
+<div class="menuitem">
+<a href="../dtdx/document-v20.dtdx.html">document-v20</a>
+</div>
+<div class="menuitem">
+<a href="../dtdx/howto-v20.dtdx.html">howto-v20</a>
+</div>
+<div class="menuitem">
+<a href="../dtdx/faq-v20.dtdx.html">faq-v20</a>
+</div>
+<div class="menuitem">
+<a href="../dtdx/document-v13.dtdx.html">document-v13</a>
+</div>
+<div class="menuitem">
+<a href="../dtdx/howto-v13.dtdx.html">howto-v13</a>
+</div>
+<div class="menuitem">
+<a href="../dtdx/faq-v13.dtdx.html">faq-v13</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.18.2', '../skin/')" id="menu_1.1.18.2Title" class="menutitle">Doc
samples</div>
+<div id="menu_1.1.18.2" class="menuitemgroup">
+<div class="menuitem">
+<a href="../dtdx/document-v13.html">document-v13</a>
+</div>
+<div class="menuitem">
+<a href="../dtdx/document-v20.html">document-v20</a>
+</div>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_1.1.19', '../skin/')" id="menu_1.1.19Title" class="menutitle">Older
Docs</div>
+<div id="menu_1.1.19" class="menuitemgroup">
+<div class="menuitem">
+<a href="../docs_0_80/primer.html">Forrest Primer</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/libre-intro.html">Libre</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/dreams.html">Dream list</a>
+</div>
+<div class="menuitem">
+<a href="../docs_0_80/howto/cvs-ssh/howto-cvs-ssh.html">CVS over SSH</a>
+</div>
+</div>
+</div>
+<div id="credit">
+<hr>
+        This is documentation for development version v0.8
+       (<a href="http://forrest.apache.org/versions/">More</a>)</div>
+<div id="roundbottom">
+<img style="display: none" class="corner" height="15" width="15" alt="" src="../skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
+<!--+
+  |alternative credits
+  +-->
+<div id="credit2"></div>
+</div>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="dispatcher.pdf"><img alt="PDF -icon" src="../skin/images/pdfdoc.gif"
class="skin"><br>
+        PDF</a>
+</div>
+<div class="trail">Font size: 
+	          &nbsp;<input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset');
return false;" type="button">      
+	          &nbsp;<input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr');
return false;" type="button">
+	          &nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr');
return false;" type="button">
+</div>
+<h1>Dispatcher (Draft - feature planned for 0.8)</h1>
+<div id="motd-area">
+        This is documentation for development version v0.8
+       (<a href="http://forrest.apache.org/versions/">More</a>)</div>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#introduction">Introduction</a>
+</li>
+<li>
+<a href="#background">Background</a>
+<ul class="minitoc">
+<li>
+<a href="#nc-definition">Definition of naming conventions</a>
+</li>
+<li>
+<a href="#leather">leather-dev</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#dispatcher">Dispatcher - advanced separation of concerns</a>
+<ul class="minitoc">
+<li>
+<a href="#contracts">Contracts - grouped functionality</a>
+</li>
+</ul>
+</li>
+<li>
+<a href="#info">Further information</a>
+</li>
+</ul>
+</div>
+    
+<div class="warning">
+<div class="label">Warning</div>
+<div class="content"> The "dispatcher" is new functionality which is still in 
+      development phase. That is why it is in the "whiteboard" section of the 
+      Forrest distribution. We are working at the moment on its release out of 
+      the whiteboard into the official core plugins </div>
+</div>
+    
+<a name="N10010"></a><a name="introduction"></a>
+<h2 class="underlined_10">Introduction</h2>
+<div class="section">
+<p> As stated in the <a href="../docs_0_80/skins.html">Skin 
+        documentation </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 still decided to create a new skin because the 
+        default skin did not offer the features that they wanted or they "just" 
+        needed extra content in some pages. We introduced skinconf.xml where 
+        the user could configure some features of skins but it was up to the 
+        skin to support it and did not solve the problem to add page specific 
+        extra content. That led us to develop a new concept of creating skins 
+        (we called the result "themes") which would be more easily extensible 
+        by a user. </p>
+</div>
+    
+<a name="N1001E"></a><a name="background"></a>
+<h2 class="underlined_10">Background</h2>
+<div class="section">
+<p> The problem with the forrest skins so far has been that even if 
+        "only" the design changed (html-skeleton), we still had to write a 
+        completely new skin and implement all functionality. Another problem 
+        was that the functionality was not easily extensible by a user. We 
+        decided to support a standard regarding naming conventions for css 
+        elements. This standard has been developed on the <a href="http://www.oscom.org/events/oscom4/proposals/skins">
OSCOM 
+        website</a>, where you can find some more background information.</p>
+<a name="N1002B"></a><a name="nc-definition"></a>
+<h3 class="underlined_5">Definition of naming conventions</h3>
+<p> "A naming convention is an attempt to systematize names in a field 
+          so they unambiguously convey similar information in a similar 
+          manner." <a href="http://en.wikipedia.org/wiki/Naming_conventions">wikipedia</a>

+          
+</p>
+<a name="N10039"></a><a name="leather"></a>
+<h3 class="underlined_5">leather-dev</h3>
+<p> That led to the development of the "leather-dev" skin which 
+          established a semantic container approach for div elements. 
+          Leather-dev evolved from the "pelt" skin and almost used the same 
+          functionality (contracts). We had started to encapsulate functional 
+          code into templates, but there have been still in 4 xsl files and without 
+          any documentation what they are doing and how to use them. The 
+          problems with leather-dev was pointed out in the mail "<a href="http://marc.theaimsgroup.com/?l=forrest-dev&m=111049344517653">status
on leather-dev?</a>". The main proplem was to limit users to 
+          only one html-skeleton was way too limiting regarding design. Since 
+          we had now grouped functionality in named container we were ready to 
+          start the dispatcher (aka forrest:views).</p>
+</div>
+    
+<a name="N10048"></a><a name="dispatcher"></a>
+<h2 class="underlined_10">Dispatcher - advanced separation of concerns</h2>
+<div class="section">
+<p> The aim of the "dispatcher" concept is to provide a flexible 
+        framework for creating site and page specific layout in different 
+        formats from different content through an advanced seperation of 
+        concerns.</p>
+<p>The dispatcher is a filter that limits the data-model to a minimum by 
+        only requesting what the strucuter (e.g. common.fv) need. This leads to 
+        a different URL handling focus - away from document centric. A document 
+        can (but do not have to) be behind a certain URL. Like said a 
+        structurer can request any given data as input not only a document and 
+        the forrest core contracts (like navigation). It may be the main 
+        enhancement in comparison to skins that this concept let you easily 
+        extend the default data models provided by forrest.</p>
+<p>Since the dispatcher has implemented a fallback concept it makes 
+        maintenance of custom themes which are based on forrest core ones very 
+        easy and less time consuming. The principal is to override or extend 
+        only certain parts (contracts) of the core. This is based on the 
+        observation that normally only a small percentage of core skin 
+        contracts have been changed. At the same time the new plugin system 
+        emerged. Plugins are a way of extending Forrest to satisfy 
+        site-specific needs. This includes to provide plugin specific 
+        contracts.</p>
+<a name="N10057"></a><a name="contracts"></a>
+<h3 class="underlined_5">Contracts - grouped functionality</h3>
+<p>The result of the leather-dev development were grouped functionality 
+          in named container. We gave those code snippets names (based on their 
+          functionality) and called them contracts. This naming enabled us to 
+          keep the contract separate from the position code itself. Further 
+          since major parts of the code of skins never have been documentended 
+          we started to add for each contract a description and an explanation 
+          how to use this contract. The skinconf.xml gave an excellent 
+          source for this documentation effort, since it described most 
+          features of the pelt skin.</p>
+<p>Contracts are standalone, self explaining, configurable 
+            pieces of xsl templates created out of pure maintaining reasons.</p>
+</div>
+    
+<a name="N10065"></a><a name="info"></a>
+<h2 class="underlined_10">Further information</h2>
+<div class="section">
+<p> Apache Forrest 1.0 Specification (Draft, not yet published): 
+        <span class="codefrag">site-author/content/xdocs/TR/2005/WD-forrest10.html</span>

+</p>
+<p> See the various How-to documents about the dispatcher, starting with 
+        <a href="../docs_0_80/howto/howto-structurer-install.html">installing the 
+        dispatcher</a>. </p>
+</div>
+  
+</div>
+<!--+
+    |end content
+    +-->
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+<!--+
+    |start bottomstrip
+    +-->
+<div class="lastmodified">
+<script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+</div>
+<div class="copyright">
+        Copyright &copy;
+         2002-2005 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
+</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Propchange: forrest/site/docs_0_80/dispatcher.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/site/docs_0_80/dispatcher.pdf
URL: http://svn.apache.org/viewcvs/forrest/site/docs_0_80/dispatcher.pdf?rev=372780&view=auto
==============================================================================
--- forrest/site/docs_0_80/dispatcher.pdf (added)
+++ forrest/site/docs_0_80/dispatcher.pdf Fri Jan 27 00:20:04 2006
@@ -0,0 +1,423 @@
+%PDF-1.3
+%ª«¬­
+4 0 obj
+<< /Type /Info
+/Producer (FOP 0.20.5) >>
+endobj
+5 0 obj
+<< /Length 693 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gb!#Zc]ah@'YaHGE&<>H5X7Ij9f(8T3q_(r5SXs1"tc![p:i9E-K''Zl_Q\jK>>.oGjk6N5;kt&DO1>i+Tb(Q+nmE1":c"JaM&KF%XCf7RNsT-(_e@e/`&BQ02-YUH3MkFc)asYO1/<B`ZM;\ZBi@t[Ia]P/!Q2s+OL@i&BsjK(&/8rcdo]Bi(*7-\AWXsH(%M](#h_F?GKeSEEE$[fdS/2)/^3-^h@W5=`P9,K*Wig73'I6\U;R"QN*b>m](>BRSL!#GVd!na$P>U(I:_1?pH]qXtc%B(khH!;>r]Am]<G#6\(9b2$?f<7>*3)2[&&34NJ,Q:GoSdDH&Esi&NhJEGF!37aI!hVj/@\#W-c"Qr?Z)?oCL>d<LK[O(c`o>+>As:95sk\Ka^+"DG(p,FH^rEfDGl4X4S0o27UIn[2_]l691f<Pn!2OM0$#ht40q.Ad$)>T'T]dTg4>q?iT@ad&:6#@!Y)-s^\="rp]9q@K.mXN'f\g;Z7f'qH<c=mE.^(2tR.^)GE'>RBM9B5M6KBpA"C-ZL4K`OU\!Lr77WqDHP*f7n,ACsE(+3CKB@LC"&dJi``@D;:XIDQ)4u:K#>e0a"0jAgt"-G0JlGG4Z<V3?3[F@S[j746mDs:,.5t*.p!+I4r`^s0\oPD\3I'44gN&J75,%[XL"n0Ec__8:?U8oH=&4A*NPa~>
+endstream
+endobj
+6 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 595 842 ]
+/Resources 3 0 R
+/Contents 5 0 R
+/Annots 7 0 R
+>>
+endobj
+7 0 obj
+[
+8 0 R
+10 0 R
+12 0 R
+14 0 R
+16 0 R
+18 0 R
+20 0 R
+]
+endobj
+8 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 68.692 653.209 136.02 641.209 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 9 0 R
+/H /I
+>>
+endobj
+10 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 68.692 635.009 135.348 623.009 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 11 0 R
+/H /I
+>>
+endobj
+12 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 74.692 616.809 252.516 604.809 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 13 0 R
+/H /I
+>>
+endobj
+14 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 74.692 598.609 144.168 586.609 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 15 0 R
+/H /I
+>>
+endobj
+16 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 68.692 580.409 294.948 568.409 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 17 0 R
+/H /I
+>>
+endobj
+18 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 74.692 562.209 249.84 550.209 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 19 0 R
+/H /I
+>>
+endobj
+20 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 68.692 544.009 171.684 532.009 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 21 0 R
+/H /I
+>>
+endobj
+22 0 obj
+<< /Length 3465 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gatm>=d.XL&UrVE_3u`g<L2Wmpa%6>QHL_TS629O6T,Gl&i2qAQ[.q2o'=c_g!'P0B4]12O*CZgrm:W:!IfF/qsj4EO#tMn/GN_rs,?)Rcl9auADDm1)8qOIHBIH=Y2KPMBa(*u?s@5R)\"b"GQ5>QW1-O<g,:NCoPerO3t?C#1N_G]Li#q'?6/7ASf.C@eWK;bKa)3u)39P7gGm&W3SZM.GqCh2>iW(Crr)8/es)mkIWo`.a*@O:\1#".`h%%&bO;[Bi\neq&no,.!>SssE5KG79mb=.n]#RX_=6$,ZaA1@oq&ksj;ZL&T7ueCa0ABMH9j[QpR(Jtd++J%^Y>TZX]_!$]\0E27D&Q2jJV\1d$I<OWflJ<40Q+hR7K++n?s!UNZOJO^Jk-Ko;XEffr[4!N4%GGY9,ROWFnD+8-5K1$*Vqm`BiXHmjltb8F_uVlE*"FK4b%ZWbH_49h)Y3gQ'Nd`Z#KW)R8bm`(7/jd:B=E(T49Y#5^kc4,jY;7Bsa^M[lH-n=0T^kfpiR6,s]a$tr^V?EXhDOU-\b4/oGnFl"3/fhRV<0(7%;5JlRg"+3CFREc55NA17?m$]EkV`e5>+'t![3sIA4SC$ldfD"4C9VIo1Op^=d6edR[f^Rm.U=75t0GTPbo[>Q"*0H8d?jSY\qP<MW2>"[\XGP:f&9hP':TrD(<nd,>a8p]/@($&ah%8]hos0-c/@eM`HE^.QfW_[C7*D,@hN.T]3#S>YBslDa6op.=9T-jhr%-"Fjk>M6"cKPlG0?]OAl?['(P$>0P:d1o6]jiPQ1WM2(pYsAWfHC?Z_Kh)'ppE+_BI+j57dae+u8M-F]5u0'GCKt&JldqApXOe/NC0iijN[H>dIkU#(*[Kr(GWqX`T6'apP+FEh;h9q<a5MC>K5&->5f:<@;VI*?fa/d03?pb8Ykk8U1C,Uh]C^L4bC-2)_.'M2Gf4cAYBmN1G"8'@pZ.,s.Xf"7,R'%\q&geNaC
 FarAU$#>h(3nD7(0i+3mt=\0I,C34C^rnFp<DS(noojeP)J1O5TAq6$O<lAtaX5$%c6C,iU][[-R0p+U76,ElU+3ZAAg@#\c0=i0cQ@]3:T;VIi4G[L.#?1FNTpF!*6GSXF1VtJj`p@]P`L4l*Tssl%D6QDKC-VL$[]f"sd4E4.Up](Eg+%U"!=>R.cZu3jS>@[j<&A4sh?\tS9m5Sfp<'=t*GL_R**Yn9iQ<UkeGD>5KnS'HZtLQkP*Bglq!$T@l("t?Vqd"JJiOE8fYQ$g\%APbP'P0&=p\%;XUKWPp:Mcp+Z=+,s$V;_Hbdg*^lG/:B-g0uK?Vr22Lh[&r)#'OD;%LG4<L&mQR;J:;`<NiTr.A;Pd:+.7)q8qCrTLp>LMY<5)`B>;&?rd&m_Bfrkg6P+33UJ6emr8ZIj4n1.1CE@.C`<5\@[0b5Ap$#aY$^*7;PIA*&iNC+JpcW8M;>T&+$aO[$5!:hFfLq/lWQKES.R)Q#<f$.5Y?BHhOr'fE)/Ypg>>VYitu:WT6:?t*4X;VNDmr;[P"aWR=r+cOuEn'VWs[32SS=u2Z[oq-G@<Q)S>2dO?<%>BFaXh=oeB?HIgNt"=j25/H]($$:#(bAeKJ^cpB]Hq:>'0bi!9B$(k6#;7bi_!.^+;rX0emL9V^-0h4@DoG8!pe&h^9.TCAp)ZCq:EsMs8)JZjk>Lk-(*e!([QkhCbl5glH797b+qZ:[L>SCSbTo>8Dp6;>3A>XA&=q]i48,m>XhqC&==JOhFE4]*_!:j3sCNnf[SDRK;5IU*M*?oL>a*lEDPU"%Y=t7fBK;ZI)C3o6!X/#B8qnbl+[j+4imJ04@BsG\&D6(L?\)5"D%8c(3L5_\-g2shfZTI.3.<MEskcP_u@]uC0]4>ACse):/$B2!M\6gk1`6h;=uMQk<Xm0RP*D%/7SmY'ns_KbXY_-Wg"<PTnY1NlZY9$K**n)E79Llg]j/R_mNajO1aT"f2:*[0@K
 M=Sd!KB?jcA=r]]?Fmd>Y\:EG0&bT(YEE;Bg4mVhA&Xp=+Ua)CJRf*.6)^TJsJ3\Z'AcKV16da?X#b'pq1q6WMni=7h=TJhdXaBR=](N"og_'TEt#/6N;e*iYPE=L3.aHN!o]Q%d+%42c[cqhX(eY)pM2M3k'Q6e,Gp<Zcm%[!4CSJDQq9<u4/2Z5%0\_",RTBW<dE$.@!1BL>SJdkAap?>nI[ZNZjG,XYIk/,;pePL[W#1tC<hDX.qh":MqA*"+N$G*%NdEr5i1#,^#g")G;+]!_cjI>[ucBf=0mipqsB"qk>7a=+eHZ@O'?&`4K<?oc7[%c_@Gic"fWV9lV1b;2sH<FL]<#Z9-Tjrg53k<BV852s6i3YMsCYEt(gkc>jqci%f'TI)4;VD6%'o&g)*S4H^Hu48!k=++JPE`ep?+,_<+<*_LX0UP8l"19i2"n(J]'-L07659]]ris#=\(.crb6d=;a>pW6b=;mT[,AmD4uGZV#'E<BZs67-X`2cnXB;H/WLf*LV2mBBL1lgI_8-`4G@UPi%*$#\20kAk/>PI[&n.t>SQl&fXO5OHkte=jeReL-0?OWi7,>]O5gBl.]^/r(k%fRdm!Xe$TJ_!0q1(kV.]I%%Dbc*r@B$GXS8=CZ"KTIO0,n[?3EKPiUjOTVITMm4#Jm$>dZ"]HU&_sI:4Eb\_o>\R(gc`g<\#&Y3?oVKVrbSOkT:W*Fmo1e_(N[n;aM9HJ="LqJ2=RcMYrMU3Q-Jre:'d%Lj8Sr7HT<#[6r-k>0iqji*XCb'!%n2PV.RbJTF3S[CaB(%N'#V"8(VM#1X,T2gi[30!5ZnFU4F'm[c;q(7>:C=Mu%1JjNnb$dkQ:K"fb*f#pD8<P64[,P(f`uYRYB61K*TN)=rMP<USmKok&MJr834YR2INf.uko2a<fIA^j)gTD&>[kuREGr.7i78]?4i<>haaeN!U^D!>VWppXDePuP@gFkNaP\El,4@#?ok/DF4,1
 sm\VrSb1"BURRE/S"SMZYudN/M-dCq*9J#"as*UiT;3OflR"mR`t4Oo?IeK]#QpEXfenf:h2lP^c"u.nc@nLWbZHUWLN[T5#iFgPT(d4UQ6-,OHRI6(2(:7Z;eF5cgM^gJ("ef2'!Ak?pqkM`3@<i0EXt*!bmT`UD.66]n^$"4p<H#-HNbq3^<']Z_Ys(#"]bjREn!6q^8XE.1-7o!To0fL[`J)C1.)"mK2@%srDk?[QiK)ShU$3(=%U*!L3raopT/N5u'>6>&]?-9#@H`aRfHh>*aQLQ:/:+BR%T''*Aib;Nm'hlGtb:btX,7%"SH,g3*+V?OB`S;okgj-/q<mB'!p*LL7T__7+lPe-g'qBTKPdCD1?FP]g./qRd9&/h8^1+RJ?!0.hKZLMdX_:6a0^8fM=3+aBfd9ssjOKMZFAN::j5C^@(`PM*(6d66krOFt2Vl@EbhYAFX*n^&^kVR*lS;\8:!%keE:rU'U0k(@[ru:"O=T~>
+endstream
+endobj
+23 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 595 842 ]
+/Resources 3 0 R
+/Contents 22 0 R
+/Annots 24 0 R
+>>
+endobj
+24 0 obj
+[
+25 0 R
+26 0 R
+27 0 R
+28 0 R
+]
+endobj
+25 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 134.02 655.799 230.356 643.799 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (../docs_0_80/skins.html)
+/S /URI >>
+/H /I
+>>
+endobj
+26 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 56.692 460.465 139.024 448.465 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://www.oscom.org/events/oscom4/proposals/skins)
+/S /URI >>
+/H /I
+>>
+endobj
+27 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 256.576 390.512 303.904 378.512 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://en.wikipedia.org/wiki/Naming_conventions)
+/S /URI >>
+/H /I
+>>
+endobj
+28 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 244.0 280.959 356.536 268.959 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (http://marc.theaimsgroup.com/?l=forrest-dev&m=111049344517653)
+/S /URI >>
+/H /I
+>>
+endobj
+29 0 obj
+<< /Length 1961 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gatm<968iG&AII3n/0J>&76R!hNFa2Vl)B&9Fc1U&.(t1q'lA:f"^\E,qL=YnY,"58;)f<m^M)&]B&/2lF5U7hj*@Ei;`,#7O1TR-`.3D@Glf17,024ep^!nV1Bl$ZX<[AqRg$L*i\2q`-$8!arPZ;nE2g<KeO]W(d#@Pq<LDuAA"-;@"u7sj$P>c;j$TDYO!q=Heo%EV'6Gqhp1YN42ZM<P1f>';5[[f<(D%m's_C#4`[7JNXU21<,K`-?7Y@J6[l8Fgp?WAYG;UIf.(;4IBV92Qh[idb;D'qCiX'fPH(SjkH!IT@aL]:i]65oYt0qs@t>-B1Pql@l8r*f1jEY3A+*2uTT!h:d1r_0#pkpORjon*^a6UmW"2;"m;Rqd!Vn6L<['r:[0F/H*XUa5=qSq[7EH=T4(6*8+U82o-&Nu06:%'%6VJoh^iLTL&hI&Rq-c:A#3C/!NEC0Wq"l"E1(6'fai0+9_RtMp/CofZJ>a8gN6Hn%QBGWF8bNo2$='B'(@5F=Y!F''Je>WsL5YJQ)9OtRrQ+7+cOac^PQ_H:0Xj`Q))p.EN++6J"85MsUuIXCPM"KU"iVl`cb9jc:gccS+lPDeb;+#])keDHdc51E@a[oj]ZcKm=X_"M/Ph;;89)R1PBPs9C"[(Q;HT+u>7dK4/[fk"hYD.criFqFa4Tp6Yt<`>p(QF`3gpP7LYVq&SjR;locT^+`RU/rFkTn&.gpKf%N_(-9Dla$'#u;l+,:OoBa>*,,7]b4a7!B+e^[0N\;BX*ci[,M>\]dk#PXl3*a"4L?1SgC(YG(-,9V_7!^XCq/Q9f"I`WI4Mfm$8W"8G40:TCgFGQY2F8'=/C*k+L5riOhl9S%Q5^E9YNu18mM.:W8*1Ptha$pu!MA9LL7GDiVMr"b-YMU,H6<HRml>Eu<'SI&;m$mW&hj8*h*$!+L1%:QnGRb]?KtVJ(B;sK!c<G)]);RT7ETh(0TmLg"1NOZbBL#m_:1M.
 J.*9XPL&0F.AW0^=*60Q&:P4,0Bs)Y2?Gn8_Tq3Ti9R$"*^'A)rJb$h1B5^%<PBOhP=<$kq):M?3is#fd3`q-[#)CA>T$m%JK,OrMF"3'u"Q/,\X"F+"#mmaSH>Q;Uhb4Euk.L&+-]J=f=Z\]\S(i8!iLZRP<bQ;/(bdc,"+O$*e.EH=flR::`IQ8+Akp_ffHL_iUpZEL?qc!UdLm)X,P$2Oh5\<Y3!W%B"Fl?=H>LGBh.'u@KV;_N'lTf!)05tcYKg5Vj#N,*$5(/`GqWnDRZBoJoA\,R?<3/K"]'!O]LnD^(m;\5_Y9o/YV=S7ZS\Me'=N414fs"I,LYd8DK\^jF+Z25KSp9qN'61rd:b%X9:(Msn#'^7TDrOf#XP#i1d^RNk(TF$#U/lb4d<[)63r2q$)`#4[3.+NZ$177GbQj_VGZ_M)kK9A&M1u!;E)\8Ke&\BI9FW9c^l5-\`P6D]'<3LVe-cL=U2'7CjKZD;Vo&Q;9R5Pqo3hc](tl-4[#?^/ifq<<2Kca=L^VRl$t.!HPAFo;)GeHrna0s=9N8R_:?"RG\q`(nBn12TaVF'$[":_k/*AC",D9MM^/!*iX!QhJP/9AOGNTB!LY.0)U]W#gNfKGgUB"_cHan[&?E41[PLV2Wl>?kUk3k]%jXA`m`$&^0(e"BmN!WK$XaSs+A$s]aZ1W[;2:qPLNa_ST$ndoIIlCkR,",WW=*rrmtg):;9+8q=:HDkYLTe1o`hO\^&uN^:aK<^5%B)TrJU24/<3:78,cKkN4$'52>'4EXe.H8Yo2d&)UgI[h@J0c4V6!<Zia_^=p4r_iR'-I7F8A/"R>7Kdo5;9kmbW)^u3$Hl>JJ,"pc?t*H_LT)Y@9%la[>T`]^]%Y4:;4gP[Hi`t=X)+I54aoG-SU^[B'6023\>GbOeU]RFU9Fe0NK\FS9od+E\2->;0/*bN&%*0BBQpMY\=G7l^/rrJ'124X~>
+endstream
+endobj
+30 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 595 842 ]
+/Resources 3 0 R
+/Contents 29 0 R
+/Annots 31 0 R
+>>
+endobj
+31 0 obj
+[
+32 0 R
+]
+endobj
+32 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 393.652 412.256 508.312 400.256 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (../docs_0_80/howto/howto-structurer-install.html)
+/S /URI >>
+/H /I
+>>
+endobj
+34 0 obj
+<<
+ /Title (\376\377\0\61\0\40\0\111\0\156\0\164\0\162\0\157\0\144\0\165\0\143\0\164\0\151\0\157\0\156)
+ /Parent 33 0 R
+ /Next 35 0 R
+ /A 9 0 R
+>> endobj
+35 0 obj
+<<
+ /Title (\376\377\0\62\0\40\0\102\0\141\0\143\0\153\0\147\0\162\0\157\0\165\0\156\0\144)
+ /Parent 33 0 R
+ /First 36 0 R
+ /Last 37 0 R
+ /Prev 34 0 R
+ /Next 38 0 R
+ /Count -2
+ /A 11 0 R
+>> endobj
+36 0 obj
+<<
+ /Title (\376\377\0\62\0\56\0\61\0\40\0\104\0\145\0\146\0\151\0\156\0\151\0\164\0\151\0\157\0\156\0\40\0\157\0\146\0\40\0\156\0\141\0\155\0\151\0\156\0\147\0\40\0\143\0\157\0\156\0\166\0\145\0\156\0\164\0\151\0\157\0\156\0\163)
+ /Parent 35 0 R
+ /Next 37 0 R
+ /A 13 0 R
+>> endobj
+37 0 obj
+<<
+ /Title (\376\377\0\62\0\56\0\62\0\40\0\154\0\145\0\141\0\164\0\150\0\145\0\162\0\55\0\144\0\145\0\166)
+ /Parent 35 0 R
+ /Prev 36 0 R
+ /A 15 0 R
+>> endobj
+38 0 obj
+<<
+ /Title (\376\377\0\63\0\40\0\104\0\151\0\163\0\160\0\141\0\164\0\143\0\150\0\145\0\162\0\40\0\55\0\40\0\141\0\144\0\166\0\141\0\156\0\143\0\145\0\144\0\40\0\163\0\145\0\160\0\141\0\162\0\141\0\164\0\151\0\157\0\156\0\40\0\157\0\146\0\40\0\143\0\157\0\156\0\143\0\145\0\162\0\156\0\163)
+ /Parent 33 0 R
+ /First 39 0 R
+ /Last 39 0 R
+ /Prev 35 0 R
+ /Next 40 0 R
+ /Count -1
+ /A 17 0 R
+>> endobj
+39 0 obj
+<<
+ /Title (\376\377\0\63\0\56\0\61\0\40\0\103\0\157\0\156\0\164\0\162\0\141\0\143\0\164\0\163\0\40\0\55\0\40\0\147\0\162\0\157\0\165\0\160\0\145\0\144\0\40\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\141\0\154\0\151\0\164\0\171)
+ /Parent 38 0 R
+ /A 19 0 R
+>> endobj
+40 0 obj
+<<
+ /Title (\376\377\0\64\0\40\0\106\0\165\0\162\0\164\0\150\0\145\0\162\0\40\0\151\0\156\0\146\0\157\0\162\0\155\0\141\0\164\0\151\0\157\0\156)
+ /Parent 33 0 R
+ /Prev 38 0 R
+ /A 21 0 R
+>> endobj
+41 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F3
+/BaseFont /Helvetica-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+42 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F5
+/BaseFont /Times-Roman
+/Encoding /WinAnsiEncoding >>
+endobj
+43 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F1
+/BaseFont /Helvetica
+/Encoding /WinAnsiEncoding >>
+endobj
+44 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F9
+/BaseFont /Courier
+/Encoding /WinAnsiEncoding >>
+endobj
+45 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F2
+/BaseFont /Helvetica-Oblique
+/Encoding /WinAnsiEncoding >>
+endobj
+46 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F7
+/BaseFont /Times-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+1 0 obj
+<< /Type /Pages
+/Count 3
+/Kids [6 0 R 23 0 R 30 0 R ] >>
+endobj
+2 0 obj
+<< /Type /Catalog
+/Pages 1 0 R
+ /Outlines 33 0 R
+ /PageMode /UseOutlines
+ >>
+endobj
+3 0 obj
+<< 
+/Font << /F3 41 0 R /F5 42 0 R /F1 43 0 R /F9 44 0 R /F2 45 0 R /F7 46 0 R >>

+/ProcSet [ /PDF /ImageC /Text ] >> 
+endobj
+9 0 obj
+<<
+/S /GoTo
+/D [23 0 R /XYZ 51.692 696.133 null]
+>>
+endobj
+11 0 obj
+<<
+/S /GoTo
+/D [23 0 R /XYZ 51.692 553.599 null]
+>>
+endobj
+13 0 obj
+<<
+/S /GoTo
+/D [23 0 R /XYZ 51.692 437.465 null]
+>>
+endobj
+15 0 obj
+<<
+/S /GoTo
+/D [23 0 R /XYZ 51.692 367.512 null]
+>>
+endobj
+17 0 obj
+<<
+/S /GoTo
+/D [23 0 R /XYZ 51.692 231.559 null]
+>>
+endobj
+19 0 obj
+<<
+/S /GoTo
+/D [30 0 R /XYZ 51.692 644.143 null]
+>>
+endobj
+21 0 obj
+<<
+/S /GoTo
+/D [30 0 R /XYZ 51.692 486.99 null]
+>>
+endobj
+33 0 obj
+<<
+ /First 34 0 R
+ /Last 40 0 R
+>> endobj
+xref
+0 47
+0000000000 65535 f 
+0000011312 00000 n 
+0000011384 00000 n 
+0000011476 00000 n 
+0000000015 00000 n 
+0000000071 00000 n 
+0000000855 00000 n 
+0000000975 00000 n 
+0000001042 00000 n 
+0000011610 00000 n 
+0000001177 00000 n 
+0000011677 00000 n 
+0000001315 00000 n 
+0000011745 00000 n 
+0000001453 00000 n 
+0000011813 00000 n 
+0000001591 00000 n 
+0000011881 00000 n 
+0000001729 00000 n 
+0000011949 00000 n 
+0000001866 00000 n 
+0000012017 00000 n 
+0000002004 00000 n 
+0000005562 00000 n 
+0000005685 00000 n 
+0000005733 00000 n 
+0000005909 00000 n 
+0000006112 00000 n 
+0000006313 00000 n 
+0000006526 00000 n 
+0000008580 00000 n 
+0000008703 00000 n 
+0000008730 00000 n 
+0000012084 00000 n 
+0000008932 00000 n 
+0000009095 00000 n 
+0000009301 00000 n 
+0000009592 00000 n 
+0000009759 00000 n 
+0000010163 00000 n 
+0000010445 00000 n 
+0000010650 00000 n 
+0000010763 00000 n 
+0000010873 00000 n 
+0000010981 00000 n 
+0000011087 00000 n 
+0000011203 00000 n 
+trailer
+<<
+/Size 47
+/Root 2 0 R
+/Info 4 0 R
+>>
+startxref
+12135
+%%EOF



Mime
View raw message