You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by ts...@apache.org on 2005/03/07 14:11:00 UTC

svn commit: r156422 - in lenya/site: 1_4/concepts/publication-templating/ 1_4/concepts/publication-templating/index.html 1_4/concepts/publication-templating/index.pdf images/live/usecase-framework-architecture.png

Author: tschlabach
Date: Mon Mar  7 05:10:59 2005
New Revision: 156422

URL: http://svn.apache.org/viewcvs?view=rev&rev=156422
Log:
Checking in Andreas' publication templating document

Added:
    lenya/site/1_4/concepts/publication-templating/
    lenya/site/1_4/concepts/publication-templating/index.html
    lenya/site/1_4/concepts/publication-templating/index.pdf
    lenya/site/images/live/usecase-framework-architecture.png   (with props)

Added: lenya/site/1_4/concepts/publication-templating/index.html
URL: http://svn.apache.org/viewcvs/lenya/site/1_4/concepts/publication-templating/index.html?view=auto&rev=156422
==============================================================================
--- lenya/site/1_4/concepts/publication-templating/index.html (added)
+++ lenya/site/1_4/concepts/publication-templating/index.html Mon Mar  7 05:10:59 2005
@@ -0,0 +1,422 @@
+<!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.6">
+<meta name="Forrest-skin-name" content="pelt">
+<title>Publication Templating</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://lenya.apache.org/">lenya</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://lenya.apache.org"><img class="logoImage" alt="Lenya" src="../../../images/apache-lenya-light.png" title="
+  	Apache Lenya is a Java-based Open-Source Content Management System.
+  	It is based on open standards such as XML and XSLT.
+  	One of its core components is Cocoon from the Apache Software Foundation.
+  "></a>
+</div>
+<!--+
+    |end group logo
+    +-->
+<!--+
+    |start Project Logo
+    +-->
+<div class="projectlogo">
+<a href=""></a>
+</div>
+<!--+
+    |end Project Logo
+    +-->
+<!--+
+    |start Search
+    +-->
+<div class="searchbox">
+<form action="http://www.google.com/search" method="get" class="roundtopsmall">
+<input value="lenya.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with :');" value="Search the site with :" size="25" name="q" id="query" type="text">&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">Project</a>
+</li>
+<li class="current">
+<a class="base-selected" href="../../../1_4/index.html">Version 1.4</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../../1_2_x/index.html">Version 1.2</a>
+</li>
+<li>
+<a class="base-not-selected" href="../../../community/index.html">Community</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" language="JavaScript"><!--
+              document.write("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');">Version 1.4</div>
+<div id="menu_selected_1.1" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../../../1_4/index.html">Index</a>
+</div>
+<div onclick="SwitchMenu('menu_1.1.2', '../../../skin/')" id="menu_1.1.2Title" class="menutitle">Installation</div>
+<div id="menu_1.1.2" class="menuitemgroup">
+<div class="menuitem">
+<a title="" href="../../../1_4/installation/index.html">Download</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../1_4/installation/subversion.html">Subversion Access</a>
+</div>
+<div class="menuitem">
+<a title="" href="../../../1_4/installation/source_version.html">Installation Instructions</a>
+</div>
+</div>
+<div onclick="SwitchMenu('menu_selected_1.1.3', '../../../skin/')" id="menu_selected_1.1.3Title" class="menutitle" style="background-image: url('../../../skin/images/chapter_open.gif');">Concepts</div>
+<div id="menu_selected_1.1.3" class="selectedmenuitemgroup" style="display: block;">
+<div class="menuitem">
+<a title="" href="../../../1_4/concepts/usecase-framework/index.html">Usecase Framework</a>
+</div>
+<div class="menupage">
+<div class="menupagetitle">Publication Templating</div>
+</div>
+</div>
+<div class="menuitem">
+<a title="" href="../../../../apidocs/1.4/index.html">1.4 API (Javadoc)</a>
+</div>
+</div>
+<div id="credit">
+<a href="http://forrest.apache.org/"><img border="0" title="Built with Apache Forrest" alt="Built with Apache Forrest - logo" src="../../../images/built-with-forrest-button.png" style="width: 88px;height: 31px;"></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>
+<!--+
+    |end Menu
+    +-->
+<!--+
+    |start content
+    +-->
+<div id="content">
+<div id="skinconf-txtlink"></div>
+<div title="Portable Document Format" class="pdflink">
+<a class="dida" href="index.pdf"><img alt="PDF -icon" src="../../../skin/images/pdfdoc.gif" class="skin"><br>
+        PDF</a>
+</div>
+<h1>Publication Templating</h1>
+<div id="minitoc-area">
+<ul class="minitoc">
+<li>
+<a href="#What+is+Publication+Templating%3F">What is Publication Templating?</a>
+</li>
+<li>
+<a href="#The+Concept+of+Publication+Templating">The Concept of Publication Templating</a>
+</li>
+<li>
+<a href="#Declaration+of+a+Template">Declaration of a Template</a>
+</li>
+<li>
+<a href="#Usage">Usage</a>
+</li>
+<li>
+<a href="#XSLT+Include+and+Import">XSLT Include and Import</a>
+</li>
+<li>
+<a href="#Sitemaps">Sitemaps</a>
+</li>
+<li>
+<a href="#Usecases">Usecases</a>
+</li>
+</ul>
+</div>
+    
+    
+<a name="N1000D"></a><a name="What+is+Publication+Templating%3F"></a>
+<h2 class="underlined_10">What is Publication Templating?</h2>
+<div class="section">
+<p>
+        Imagine you are a company or organisation with some departments which want to edit
+        their content using a Lenya-based CMS. All departments use similar publications,
+        sharing lots of functionality. The layout is based on a common corporate identity,
+        but some departments want to use their own logo or tweak the navigation menu style.
+      </p>
+<p>
+        If all departments develop their own publications, it will be very hard to keep them
+        consistent, to add changes to all publications or to update them to a newer Lenya version.
+        This can be simplified using publication templates. You define a base (template) publication
+        which all others are derived from.         
+      </p>
+<pre class="code">
+                        +----------------------+
+                        | Template Publication |
+                        +----------------------+
+                                    |
+           +-----------------+------+---------------------+
+           |                 |                            |
+   +--------------+  +--------------+             +--------------+
+   | Department A |  | Department B |     ...     | Department X |
+   +--------------+  +--------------+             +--------------+
+</pre>
+<p>Multiple layers of templates are supported.</p>
+<pre class="code">
+                    +--------------------------------+
+                    | University Website Publication |
+                    +--------------------------------+
+                                    |
+           +-----------------+------+------------------------+
+           |                 |                               |
+   +------------+  +--------------------+             +-------------+
+   | Uni Zurich |  | Harvard University |     ...     | UC Berkeley |
+   +------------+  +--------------------+             +-------------+
+                             |
+              +----------+---+-----------+
+              |          |               |
+        +----------+  +-----+       +---------+
+        | Business |  | Law |  ...  | Medical |
+        +----------+  +-----+       +---------+
+</pre>
+</div>
+    
+    
+<a name="N10025"></a><a name="The+Concept+of+Publication+Templating"></a>
+<h2 class="underlined_10">The Concept of Publication Templating</h2>
+<div class="section">
+<ul>
+        
+<li>There is a publication <em>my-pub</em>.</li>
+        
+<li>It depends on a template which is called <em>template(my-pub)</em>.</li>
+        
+<li>When a file is requested using the templating mechanism (<span class="codefrag">fallback://xslt/page2xhtml.xsl</span>),
+            it is searched in a certain traversing order:
+          <ol>
+            
+<li>
+<span class="codefrag">context://lenya/pubs/my-pub/xslt/page2xhtml.xsl</span>
+</li>
+            
+<li>
+<span class="codefrag">context://lenya/pubs/template(my-pub)/xslt/page2xhtml.xsl</span>
+</li>
+            
+<li>
+<span class="codefrag">context://lenya/pubs/template(template(my-pub))/xslt/page2xhtml.xsl</span>
+</li>
+            
+<li>...</li>
+            
+<li>
+<span class="codefrag">context://xslt/page2xhtml.xsl</span>
+</li>
+          
+</ol>
+        
+</li>
+      
+</ul>
+<p>
+        Note that, in contrast to the fallback mechanism in Lenya 1.2, the prefix <span class="codefrag">lenya</span> is not used,
+        but the path is resolved relatively to the <span class="codefrag">context://</span> root. 
+      </p>
+</div>
+    
+    
+<a name="N10060"></a><a name="Declaration+of+a+Template"></a>
+<h2 class="underlined_10">Declaration of a Template</h2>
+<div class="section">
+<p>The template of a publication is declared in <span class="codefrag">my-pub/config/publication.xconf</span>:</p>
+<pre class="code">&lt;publication&gt;
+  ...
+  &lt;templates&gt;
+    &lt;template id="my-template"/&gt;
+  &lt;/templates&gt;
+  ...
+&lt;/publication&gt;</pre>
+</div>
+    
+    
+<a name="N10071"></a><a name="Usage"></a>
+<h2 class="underlined_10">Usage</h2>
+<div class="section">
+<p>To invoke publication templating, it is necessary to use the <span class="codefrag">fallback://</span>
+      protocol for all relevant files. For an XSLT stylesheet, the according pipeline looks as follows:</p>
+<pre class="code">&lt;map:transform src="fallback://xslt/doctypes/doctype2xhtml.xsl"&gt;</pre>
+</div>
+    
+    
+<a name="N10082"></a><a name="XSLT+Include+and+Import"></a>
+<h2 class="underlined_10">XSLT Include and Import</h2>
+<div class="section">
+<p>
+        To leverage the publication templating concept, it is necessary to apply it to included
+        or imported stylesheets as well. Fortunately, we can make use of the <span class="codefrag">fallback://</span>
+        protocol in XSLT stylesheets. At the moment, this only works with Xalan which means you
+        have to use this one as the default transformer.
+      </p>
+<pre class="code">&lt;xsl:include href="fallback://header.xsl"/&gt;</pre>
+<p>
+        To simplify overriding of XSLT stylesheets, it would be useful to import the template
+        stylesheet. For this purpose, an additional template source factory could be used, which
+        skips the current publication when resolving the file:
+      </p>
+<pre class="code">&lt;xsl:import href="template://template/xslt/common/header.xsl"/&gt;</pre>
+</div>
+    
+    
+<a name="N1009A"></a><a name="Sitemaps"></a>
+<h2 class="underlined_10">Sitemaps</h2>
+<div class="section">
+<p>
+        If a sitemap is loaded from a template publication, it is very important that the sitemap
+        is completely fallback-enabled. Otherwise, the source resolver will resolve sources relatively
+        to the template sitemap instead of using the overridden ones.
+      </p>
+<p>
+        In <span class="codefrag">lenya/global-sitemap.xmap</span>, all publication sitemaps are mounted
+        using the fallback module, for instance
+      </p>
+<pre class="code">&lt;!-- Enter the actual publication --&gt;
+&lt;map:match pattern="*/**"&gt;
+  &lt;map:mount uri-prefix="{1}" src="{fallback:sitemap.xmap}"/&gt;
+&lt;/map:match&gt;</pre>
+</div>
+    
+    
+<a name="N100AE"></a><a name="Usecases"></a>
+<h2 class="underlined_10">Usecases</h2>
+<div class="section">
+<p>
+        The <a href="../usecase-framework/index.html">usecase framework</a>
+        supports publication templating by default.
+      </p>
+<p>
+        If you can't (or don't want to) use the usecase framework, you have to implement
+        your own usecase sitemap. The traversing order for usecase sitemaps is
+      </p>
+<ol>
+        
+<li>
+<span class="codefrag">context://lenya/pubs/my-pub/usecase.xmap</span>
+</li>
+        
+<li>
+<span class="codefrag">context://lenya/pubs/template(my-pub)/usecase.xmap</span>
+</li>
+        
+<li>
+<span class="codefrag">context://lenya/pubs/template(template(my-pub))/usecase.xmap</span>
+</li>
+        
+<li>...</li>
+        
+<li>
+<span class="codefrag">context://lenya/usecase.xmap</span>
+</li>
+      
+</ol>
+<p>
+        This behaviour is achieved by the usecase fallback module which is called in <span class="codefrag">global-sitemap.xmap</span>:
+      </p>
+<pre class="code">&lt;map:match type="usecase" pattern="*"&gt;
+  &lt;map:mount src="{usecase-fallback:{1}}" uri-prefix=""/&gt;
+&lt;/map:match&gt;</pre>
+<p>
+        The decision which <span class="codefrag">usecase.xmap</span> to choose is based on the usecase configuration
+        in <span class="codefrag">publication.xconf</span>. To declare a usecase to be implemented by a publication,
+        add the corresponding entry:
+      </p>
+<pre class="code">&lt;publication&gt;
+  ...
+  &lt;usecases&gt;
+    &lt;usecase name="create"/&gt;
+  &lt;/usecases&gt;
+  ...
+&lt;/publication&gt;</pre>
+</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 The Apache Software Foundation.</div>
+<div id="logos"></div>
+<div id="feedback">
+    Send feedback about the website to:
+  <a id="feedbackto" href="mailto:dev@lenya.apache.org?subject=Feedback%C2%A0for%C2%A01_4/concepts/publication-templating/index.html">dev@lenya.apache.org</a>
+</div>
+<!--+
+    |end bottomstrip
+    +-->
+</div>
+</body>
+</html>

Added: lenya/site/1_4/concepts/publication-templating/index.pdf
URL: http://svn.apache.org/viewcvs/lenya/site/1_4/concepts/publication-templating/index.pdf?view=auto&rev=156422
==============================================================================
--- lenya/site/1_4/concepts/publication-templating/index.pdf (added)
+++ lenya/site/1_4/concepts/publication-templating/index.pdf Mon Mar  7 05:10:59 2005
@@ -0,0 +1,371 @@
+%PDF-1.3
+%ª«¬­
+4 0 obj
+<< /Type /Info
+/Producer (FOP 0.20.5) >>
+endobj
+5 0 obj
+<< /Length 631 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gb!<M9omaW&;KZL'gALM2>0"i]dL`NX9@M_W`L=J*5&9*7S8l+\01c6c3Lbd]>?]8=%Y9ogZcrBM*3dIH$..=A=+LI9uug(,R!KIMMV/>X.'_90Ztb?#P9VHFF:146JJfF=6L!EFFmJ[6X.+3HFH5uOo""K$:JO1TrU9hR'M*[V=\8/"t+eCPVu`q?So/J[I$cX325K53u=.Q#7P6SE^rJO4;@rY'7\\Nli4-SrV]lNe"fe/okI/G`Ch+%:rtC17ZLB&;Bm1!$j*0Q!jUGalZLt3Kk]qt$Q,SI(l0e(b-"6Vf`gHH'U[)u=H$K5IVXg5G@s$)@/:`fZPZ4d%i6pd;piE-k]2OA9I#Ii$cMeQhCY9eC^c4`ZZ9WsU9%TCjE(/[asmsP?%5hfOP\SXFkd,'XKFLudmMl3G2ZhapN&<Ck,g41NkoFjc_KP&n[c*iT\FqS4T7')<+J=<#q:'^s4u9qPZ/d>mnKL&o=pK8?<$AmnmcKbL:eADJtm^h5qm9-)73+%-T=E9"=KuJ9+VsO3[W-+PmAf#1U#Q1rS<aN^%M?P"*!NW+9\k&Ka/(;FO3e&RoU?!]l(:PQgTHn]B346`kqrb5H?8PMuiR%D0j\01`Pe&rr`"k$P!~>
+endstream
+endobj
+6 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/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 [ 12.0 631.666 178.328 619.666 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 9 0 R
+/H /I
+>>
+endobj
+10 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 12.0 613.466 210.656 601.466 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 11 0 R
+/H /I
+>>
+endobj
+12 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 12.0 595.266 145.628 583.266 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 13 0 R
+/H /I
+>>
+endobj
+14 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 12.0 577.066 49.988 565.066 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 15 0 R
+/H /I
+>>
+endobj
+16 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 12.0 558.866 144.98 546.866 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 17 0 R
+/H /I
+>>
+endobj
+18 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 12.0 540.666 64.004 528.666 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 19 0 R
+/H /I
+>>
+endobj
+20 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 12.0 522.466 63.98 510.466 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A 21 0 R
+/H /I
+>>
+endobj
+22 0 obj
+<< /Length 2286 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gau0E>Ar7S'RnB30_X!=%4tK-Xk5Zkl+2"NLCJCR?*X^TVJRK^Ue5YI"9%aOZt/]'U9(0F=s/qUT%h;,j2oj<D#,KG:emP&CjG/:<bHO6^jl+c9*+\kFoBEu1\p>S-0LIbk,J#dT@TabDfMbKJ)/s.nQ]%5QKlGWguJdCV5s(2-\"p(5D)pR6<PlT9CsHqn=UQlFsC%-.Q*]D[ad%*5[T1nS7e<rUjKe:(&3&#d^\YB[u7;pIOh`6ik1A`.&r8#.qI^Y*R>>::8A/T.au^a&`YN[)&HE([$$es>67,lUYa+70.q03.2R=#qY^ZI^hH%N3eT@%^.OP#;mmu-[Z!.b,*7\m50`XYg:%iOTk]a!T%R"+0=U1NOc(Kfp;hkuCEthNE3o]WeM.u7RsF9<r+V`;Guf_.$&KI+3@KIF\5blm!;Z_9)?:l>%"kHr@,!^>CmSW+<eq/GCpfJdc=!AR;K3e^3j&n&Tbo5ZI3PdW_EAMQ_[N*%)"j5L]U)3U5L-D4pVAShMm:?-ADY!N:_\Q&/aOnC8SP320g_t#9,2$amDNIb\B`\M?-.+pVp_m^Us"SO!/[fu3)/`Zq8.)H;fP/[3c_cpLu0@-(l4G"gk[^*8op-KTn^)'PB[u*5jK\jgm6Qm3j6^>M>RH'l%N@\)&t*+in=SbNS4GQdgETF+46mJOUXP#!87Lj?rW/?/E2"mpThjua,p+*G4taU+VCV/JC8[iqXLZ<PS2mJiO>gsQVg<O8KfIjB>:!CWNmF:W+-T&b#P#*,#18S'\/+7lbA>f1(@g9M=3<d?U/2[_<"\^'se6+MdPgE"&=I3C$ID;.nZFtaOTPm>PuAKc\"nPaSWjL2'TA=#^M>*KE--sCYU4idV$$G<4&eu>gKRsKq`HE=[!#JcmO_gjq/[-&*\5+:%d3jj)A027]<I`.bCYl#pJMLKZEO/gu;]FFFLt$It0E+q=,kJ1[4dR;T3ojFpLPGiteE763AB;DKG"F._0e'=S%?3:kpq$!YUFr2EOa88/_g$'@'PJJ=$Zq+oX3U&)"YMla9OZ()EJ]osGbM@Ws*_LNT`ZT6#*9Yf8n_OCMW8rt_js:DI6S.3Lb7eJu6UZ_i6d5-6cr4klD/\-)82aT?FAqW6%?;-0mK3T)8^gt1B.$"nK^-MVhFZA:("A0UamM85+D;m[m'rt;V&<?aBo8/)L-;g?q,pk2fpm%WN/?2c]9\.@nY<XVabfJ2:h$p:/lQ=/r%TN6:JPHHr(;sk=Fm<cp>C:n([Nk31kZ*WnuO5E:o*j28ZOURk,XdJEA,6%>fikY[koIfc1N3es;)nHYgBB`[`kb<S`rlC1p<Ie7'%?"IXO,e1sR!58[*F_8GGXk.e93b_@IuV$DUIf=4qgImob?XOL6bm;`$.PkpngSQ!DGlTOUP"@j:GOtQLjS4^(**N_$Y?ob[FfpSYB3i\Dpln28Wp#)Hk7bs?/h;F[?lLM13H/*[#(d]g^-[bUS'oq#bD0f*tWbZrb3tOa=Q@^^k3!iGq7jf3d_Go-3+d$Gs)1)f@[T$QcY_0Xko0D)!JS6BWAe"j1#iq],/r\6^^p&>c]2t=BCuF_#"EP%XhiRgWfQ0jWBsu8l<gaf^dZ_Y@!cdkN[XRQUN2S8QCR6Q,MTk"l/iY=F"nA"@ld_S,ge+]A!jK]S?j09%8QB$GKV;CS,tuI'kFTcuI=M<PdFlWq6DTX42`3hF<MeXqokXU/kX;Y>ioCg?Z6u/V0fm@fOeh(ha0F7SPYHCQk?eW7$G*aErBXbV>3pZ`;ZFBr9h;jhS+J8.<Q64dd'>n'30b.eN<5ep/F*n\ZfSTSn?DPA+Q*o,gB>"_`6N3'F(*0drBHmMOQYXJc=1:*Ie30a9jr<2oLr-@<p<8mMPR+R?j-N(&e.]?Md;L>,(NY/mo+N-&*bq':P1f1+t$ak(R)Ln`?OiJ%[[]cJMkG%"4PmG_`DU*N5T=U05W0l'g)G>#el,u]dL[-<<[9c=5gQgngJ7$7e_G/?l>o"uTj@!A[m-V"G>5e%aS-O=TX3$0"\*2jiDH#n5f,"5l40(?)JrJ`1@2Hu?6g&dDTfo]W',O'5Yb)^q*G^ak;^*^dVn%JfBNuu*(^2.4fIFu=FT1sp!&K:5/B;])I6>O>B@sUC=h793MC*3X`4U'd7#[kDOo)dGLJ2Yd9\jr`]P-m9(F`-,]8B:l#Ttbn?7mY$af`(j43m77d]NSC*d1,[q@d?#?&q5)HYVd'j.Mm1(rZPKH]4O0*YIqucl(W>m6rji&l^*5*-$koS/FJLCej",?eu&~>
+endstream
+endobj
+23 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 22 0 R
+>>
+endobj
+24 0 obj
+<< /Length 2615 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+GatU5l]9dY'*%C76JX;]">MK*miYi-4Z#Tc!gbf/+MdAmcq<q6La9!bZsKNks*g^JV4gT)?5s#_7#CNn4FT(Rs1$ta[,:el0hLS2Q>\mF:Hua\C%uiOIm&_,h^o:o)]4/EO.5#c5OLJB:SD4)]Cq#>$)Ekq_EZ6-G5J^>I*:1*`dcimgsmr/Z`%KdpMZ&k)Z*lSH`9R<\)0gaR;M3\!'+I9\WtELQGudmnj;p%II[ijl#jgq?JlIJom048=Dt1n^45bC.XGPKZ.gca-h_?h$rZhIU.pPYrf'WfUsJ[R3-&1b]gn;EHEO..K#Ogk,&p*E875@>C%ZJo41rq0_LXit:inoi=nW]Oh`gCM.jqbgT*-sm;Xg-q4I`,g\<n&IG?P9<Z0/&N-Tn1BX,tRj.C@/s?bcNIf6H,(YMPpD<M+iqOg4c]bS2;>39DCcHR$S,--O^<D9=j<L?os]pgdOI:Xt4dOk%,6*(kguPF3!qGh+6sEZQ0O0cYf8@igmWC(V0qQo#%*4L7t]'(Po@o%6U#e[pLTosnUuI%W.53mS(Z]=XL4TS_dX?DpNZ7[L/_ME#AaCsF4j?h9G=qF\?/5sQE84Ie&9(JJr8VKL[ZoU4RT]SK]ns8Vm/Q">-iF/bEemqdUBJ-.duCkBDs0tIp*-^J=)G]S;":h_r2P.E(B/@4qp9T&1eF!m#&'IcSh&%A9fja4q@JZ?e.YX.)q"EW!agdj*H?"5`+SNkU3d?=*k'e0Jscgq3bp;@,0pJY6;FlrGV9N(Pe;23>B3i;EZ8S=-he+1_PBlT*'R6H^EpoWi)oWb,13amfBafn>^E%jRq!A)iF^cV1RJE8gU1!K_\4p'Gc84T$ai9D`C6,BTHM\8jdKr3]#f+>j.LhUW9UOqRLdKB%c#7(p@$L]sg(Lq1\/P`t#;!L6E3HSpi]dM80#dn!%?&h[@V)"u=6eR9Y<t+?K`o:RF>#;5qh4c/d>O7<S<D@]_@^J<eEQp4%`iB;80GLK8;12*\V7;L(+W,)'Zrhf=1:.[qin:ZtBSC*R<SUQLh);(r=3%sFM=2iI07C!V]JM?r]R9']Fj0HI(CPM]YL/C!'AEqAR2u^#0.HCN>4\oZOlNlEhk9Qo-n?L3;B799^!(_se@C4i\X(EM?m1Tf:m`DaET-:9X7VAD0j72QeJ!J`bD`ht'?>?Y8m>=aNu:T4V:U8ncB5"$(W[8f<(T>TKio2aZ-#m,T2N'Em_7!b<-UpfjZG&>A&,VZ0GcVrWZ!'W&!BYpS5oa--9)a63)s.W;2`dUhMS_\K#6=*W<=(hcI)&/j,['G*=b>@\l1.L\J8ir@@4u6f7H[RVUA![Pd[;8P\+gX<\gm5H.$4_Cm6rZF\5WOlk\)k/=SVB+Ap;l+Zs[n/][L>jU;^kn[n13_Q0<e?t*=5-Q*[r"e)T5$u=C8_oqFj5.7r(mEd(7#gbDl7s.lM,d4-N_8ZB/]A:)CGM:0r%Qr`IKh(HaM+8f=D$bHV^>.WEAc7&O<h5HR)B02,7t4<jX!eBNY3SYf]2@U(k\RjHZ#$>9o9DB?(.T+OL<_[\+%j*@UDa<l0&r"bN=A:akJ?;2:tV;U37ZO^q'%WK9+p,A).352(eDW01%jN.$RDq?F^1"gPEA5^XUC[UR-i3/$c4iEkqWLClUZks4btM!D9kDEX5#1-hS9s?4M2hJ2]Qg!;X`$X@5"DsOWWF("DGrdgf.@*68s0R,'4lPE?-[KJ\"3Ue6uo`JFW"KW5^tK;e<h2O!h=pEdXJ%>9WX8GPY:b#Lg=mctRcKBfg=#.nq![,)uDt=HP0+EdG&n.[g@RU5.G1F4/D]VDKY:$*LTA^+MuGY"klG[Bs(/Ta,WaJ6HKcV?Om25jB,+JCp2,>/@q]6!RF%r4Ia`ATXpUDF"F:L,>k2]rhEQpJt:UrPHIA?C?SXY>PUEc]m_If@>H>cAh*o.eZKbm/F/.][gA+*'2VdPaBi.o-/DDFEa\DQ._FT;\Z,#K52!oY7oDR+gkD6_FFe:ROW$,5=b5uA^@l5_16Y3)A[Xe`Hb8D\q(]V:"O\WgS`s57m6&$g-F6u_:17V2[tDHm2CNGL>Obj:YNP3pRUCmVnJ)'^Dj83g68N3d<@cT!"H'l/9a:+Il#Y6g#kU6KY&A^+6gBYbI<>m3\+Ks4rQ$)-Y@n@QDjl(Bf-jf]*MR34EQHhi2A2F9FM:i7!h[elVi2l*65CK2BW!\6H-&u!Eje@T,KG"%9C@cqH2bQSuO7)0ZZo1FY1+-]U^joKp+#NaL_3/dbg'Z!_FE7S.Q\PhtE!4IgJm^;uQ2---:b4@kM.7/pX-sjFK")^+#$ngB62hC$Yj?cs+p8I,fu;#rKC=WjrG?*m06;nd!9c:Q%Uc0FYt7pj&(3j$X^sC<^os)-fF>G(1;9#3G>0K0*4%8F.dXQXobRV*]5C/o'5M"I"-)a@uJ0.b+TP%u=d#"6F1'F7t5=5Z-^'a,Quk5=Q7B*?8])lF(Rl8@RgkYn^#_pcSJ)e;LW;Z@g&'d%J,5U7&j*6":!&r1:qnH$L1ie$5J]4[@aWXe8;5/c9V9ToM\1%jdHD[/RoQokCp+khgah'MnRQ7qDSc7).q"W6gu59KZ+[;dd!4!G0!E=9~>
+endstream
+endobj
+25 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 24 0 R
+/Annots 26 0 R
+>>
+endobj
+26 0 obj
+[
+27 0 R
+]
+endobj
+27 0 obj
+<< /Type /Annot
+/Subtype /Link
+/Rect [ 21.66 337.664 113.952 325.664 ]
+/C [ 0 0 0 ]
+/Border [ 0 0 0 ]
+/A << /URI (../usecase-framework/index.html)
+/S /URI >>
+/H /I
+>>
+endobj
+29 0 obj
+<<
+ /Title (\376\377\0\61\0\40\0\127\0\150\0\141\0\164\0\40\0\151\0\163\0\40\0\120\0\165\0\142\0\154\0\151\0\143\0\141\0\164\0\151\0\157\0\156\0\40\0\124\0\145\0\155\0\160\0\154\0\141\0\164\0\151\0\156\0\147\0\77)
+ /Parent 28 0 R
+ /Next 30 0 R
+ /A 9 0 R
+>> endobj
+30 0 obj
+<<
+ /Title (\376\377\0\62\0\40\0\124\0\150\0\145\0\40\0\103\0\157\0\156\0\143\0\145\0\160\0\164\0\40\0\157\0\146\0\40\0\120\0\165\0\142\0\154\0\151\0\143\0\141\0\164\0\151\0\157\0\156\0\40\0\124\0\145\0\155\0\160\0\154\0\141\0\164\0\151\0\156\0\147)
+ /Parent 28 0 R
+ /Prev 29 0 R
+ /Next 31 0 R
+ /A 11 0 R
+>> endobj
+31 0 obj
+<<
+ /Title (\376\377\0\63\0\40\0\104\0\145\0\143\0\154\0\141\0\162\0\141\0\164\0\151\0\157\0\156\0\40\0\157\0\146\0\40\0\141\0\40\0\124\0\145\0\155\0\160\0\154\0\141\0\164\0\145)
+ /Parent 28 0 R
+ /Prev 30 0 R
+ /Next 32 0 R
+ /A 13 0 R
+>> endobj
+32 0 obj
+<<
+ /Title (\376\377\0\64\0\40\0\125\0\163\0\141\0\147\0\145)
+ /Parent 28 0 R
+ /Prev 31 0 R
+ /Next 33 0 R
+ /A 15 0 R
+>> endobj
+33 0 obj
+<<
+ /Title (\376\377\0\65\0\40\0\130\0\123\0\114\0\124\0\40\0\111\0\156\0\143\0\154\0\165\0\144\0\145\0\40\0\141\0\156\0\144\0\40\0\111\0\155\0\160\0\157\0\162\0\164)
+ /Parent 28 0 R
+ /Prev 32 0 R
+ /Next 34 0 R
+ /A 17 0 R
+>> endobj
+34 0 obj
+<<
+ /Title (\376\377\0\66\0\40\0\123\0\151\0\164\0\145\0\155\0\141\0\160\0\163)
+ /Parent 28 0 R
+ /Prev 33 0 R
+ /Next 35 0 R
+ /A 19 0 R
+>> endobj
+35 0 obj
+<<
+ /Title (\376\377\0\67\0\40\0\125\0\163\0\145\0\143\0\141\0\163\0\145\0\163)
+ /Parent 28 0 R
+ /Prev 34 0 R
+ /A 21 0 R
+>> endobj
+36 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F3
+/BaseFont /Helvetica-Bold
+/Encoding /WinAnsiEncoding >>
+endobj
+37 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F5
+/BaseFont /Times-Roman
+/Encoding /WinAnsiEncoding >>
+endobj
+38 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F6
+/BaseFont /Times-Italic
+/Encoding /WinAnsiEncoding >>
+endobj
+39 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F1
+/BaseFont /Helvetica
+/Encoding /WinAnsiEncoding >>
+endobj
+40 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F9
+/BaseFont /Courier
+/Encoding /WinAnsiEncoding >>
+endobj
+41 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F2
+/BaseFont /Helvetica-Oblique
+/Encoding /WinAnsiEncoding >>
+endobj
+42 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 25 0 R ] >>
+endobj
+2 0 obj
+<< /Type /Catalog
+/Pages 1 0 R
+ /Outlines 28 0 R
+ /PageMode /UseOutlines
+ >>
+endobj
+3 0 obj
+<< 
+/Font << /F3 36 0 R /F5 37 0 R /F1 39 0 R /F6 38 0 R /F9 40 0 R /F2 41 0 R /F7 42 0 R >> 
+/ProcSet [ /PDF /ImageC /Text ] >> 
+endobj
+9 0 obj
+<<
+/S /GoTo
+/D [23 0 R /XYZ -5.0 731.0 null]
+>>
+endobj
+11 0 obj
+<<
+/S /GoTo
+/D [23 0 R /XYZ -5.0 327.106 null]
+>>
+endobj
+13 0 obj
+<<
+/S /GoTo
+/D [23 0 R /XYZ -5.0 142.772 null]
+>>
+endobj
+15 0 obj
+<<
+/S /GoTo
+/D [25 0 R /XYZ -5.0 701.42 null]
+>>
+endobj
+17 0 obj
+<<
+/S /GoTo
+/D [25 0 R /XYZ -5.0 626.026 null]
+>>
+endobj
+19 0 obj
+<<
+/S /GoTo
+/D [25 0 R /XYZ -5.0 493.172 null]
+>>
+endobj
+21 0 obj
+<<
+/S /GoTo
+/D [25 0 R /XYZ -5.0 366.998 null]
+>>
+endobj
+28 0 obj
+<<
+ /First 29 0 R
+ /Last 35 0 R
+>> endobj
+xref
+0 43
+0000000000 65535 f 
+0000009747 00000 n 
+0000009819 00000 n 
+0000009911 00000 n 
+0000000015 00000 n 
+0000000071 00000 n 
+0000000793 00000 n 
+0000000913 00000 n 
+0000000980 00000 n 
+0000010056 00000 n 
+0000001114 00000 n 
+0000010119 00000 n 
+0000001250 00000 n 
+0000010185 00000 n 
+0000001386 00000 n 
+0000010251 00000 n 
+0000001521 00000 n 
+0000010316 00000 n 
+0000001656 00000 n 
+0000010382 00000 n 
+0000001791 00000 n 
+0000010448 00000 n 
+0000001925 00000 n 
+0000004304 00000 n 
+0000004412 00000 n 
+0000007120 00000 n 
+0000007243 00000 n 
+0000007270 00000 n 
+0000010514 00000 n 
+0000007453 00000 n 
+0000007726 00000 n 
+0000008050 00000 n 
+0000008303 00000 n 
+0000008439 00000 n 
+0000008680 00000 n 
+0000008834 00000 n 
+0000008974 00000 n 
+0000009087 00000 n 
+0000009197 00000 n 
+0000009308 00000 n 
+0000009416 00000 n 
+0000009522 00000 n 
+0000009638 00000 n 
+trailer
+<<
+/Size 43
+/Root 2 0 R
+/Info 4 0 R
+>>
+startxref
+10565
+%%EOF

Added: lenya/site/images/live/usecase-framework-architecture.png
URL: http://svn.apache.org/viewcvs/lenya/site/images/live/usecase-framework-architecture.png?view=auto&rev=156422
==============================================================================
Binary file - no diff available.

Propchange: lenya/site/images/live/usecase-framework-architecture.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org