Author: marrs
Date: Thu Mar 29 16:32:22 2012
New Revision: 1306968

URL: http://svn.apache.org/viewvc?rev=1306968&view=rev
Log:
Moved some stuff around in the dev-doc folder. Added the first design document.

Added:
    ace/site/trunk/content/dev-doc/analysis/
    ace/site/trunk/content/dev-doc/analysis/index.mdtext
      - copied unchanged from r1306824, 
ace/site/trunk/content/dev-doc/analysis.mdtext
    ace/site/trunk/content/dev-doc/design/
    ace/site/trunk/content/dev-doc/design/index.mdtext
      - copied unchanged from r1306824, 
ace/site/trunk/content/dev-doc/design.mdtext
    ace/site/trunk/content/dev-doc/design/remote-interfaces.mdtext
    ace/site/trunk/content/dev-doc/design/remoteinterfaces-components.svg
    ace/site/trunk/content/dev-doc/design/src/
    
ace/site/trunk/content/dev-doc/design/src/remoteinterfaces-components.graffle
    ace/site/trunk/content/dev-doc/requirements/
    ace/site/trunk/content/dev-doc/requirements/index.mdtext
      - copied unchanged from r1306824, 
ace/site/trunk/content/dev-doc/requirements.mdtext
    ace/site/trunk/content/dev-doc/requirements/roles.mdtext
      - copied unchanged from r1306824, 
ace/site/trunk/content/dev-doc/roles.mdtext
    ace/site/trunk/content/dev-doc/requirements/use-cases/
      - copied from r1306824, ace/site/trunk/content/dev-doc/use-cases/
Removed:
    ace/site/trunk/content/dev-doc/analysis.mdtext
    ace/site/trunk/content/dev-doc/design.mdtext
    ace/site/trunk/content/dev-doc/requirements.mdtext
    ace/site/trunk/content/dev-doc/roles.mdtext
    ace/site/trunk/content/dev-doc/use-cases/
Modified:
    ace/site/trunk/templates/sidenav.html

Added: ace/site/trunk/content/dev-doc/design/remote-interfaces.mdtext
URL: 
http://svn.apache.org/viewvc/ace/site/trunk/content/dev-doc/design/remote-interfaces.mdtext?rev=1306968&view=auto
==============================================================================
--- ace/site/trunk/content/dev-doc/design/remote-interfaces.mdtext (added)
+++ ace/site/trunk/content/dev-doc/design/remote-interfaces.mdtext Thu Mar 29 
16:32:22 2012
@@ -0,0 +1,81 @@
+Title: Remote Interfaces Design
+
+Summary
+=======
+
+This document describes the generic design of the remote interfaces that can 
be used to access a system within the ACE topology. The design can be divided 
into three separate logical components: the connectors, the protocol adapters 
and session management.
+
+The connectors provide the interfaces to the system. In general, you can have 
more than one, for example in ACE we can define a client connector that allows 
us to talk to the ACE server.
+
+The protocol adapters expose interfaces through a specific protocol. A REST 
adapter provides access through the HTTP protocol, and specific UI adapters can 
be used to interact with a user using a specific web or desktop framework. In 
future extensions, adapters can also implement JMX management for example.
+
+Session management is responsible for managing authentication and 
authorization across all protocol adapters. This makes sessions a first class 
citizen in the design and abstracts them away from protocol specific sessions.
+
+Design
+======
+
+The design is based on the 4+1 View, which means we look at the logical view, 
process view, use case design, implementation view and deployment view to 
arrive at the full design.
+
+### Logical View
+
+<object data="remote-interfaces-components.svg" type="image/svg+xml" 
class="span12"></object>
+
+The design is split into three components:
+
+1. Protocol Adapters. For every protocol that we support, we have to create a 
protocol adapter, whose responsibility it is to expose connector interfaces. 
Connectors are discovered by leveraging the service registry using the 
whiteboard pattern. The protocol adapter talks to the session manager for 
managing sessions and making sure certain permissions have been given to the 
authenticated user. If the protocol itself also supports the notion of 
sessions, it's the adapters responsibility to ensure that the life cycle of the 
protocol specific session is aligned with our own sessions.
+
+2. Connectors. Each connector, which is implemented as a collection of one or 
more OSGi services, provides a specific API to talk to a system. An example is 
the client API. Which services make up a connector is specified in the design 
of a component.
+
+3. Session Manager. Responsible for managing sessions and the authentication 
and authorization of actors that use them. The session manager will be invoked 
by protocol adapters. It leverages the OSGi User Admin service to provide users 
with credentials, roles and permissions. The session manager is allowed to 
expire sessions if it needs to, so protocol adapters should always check if a 
session is still open.
+
+### Process View
+
+Incoming calls arrive at a protocol implementation. As soon as they reach one 
of our adapters, the adapter should synchronously talk to the session manager, 
because it needs to check for the proper authentication and authorization 
before it can continue.
+
+A session manager is allowed to spawn a background thread for session 
expiration purposes, but implementations can also decide to leverage Java 
features such as "weak" references, or use synchronous expiration as a side 
effect of incoming calls.
+
+### Use Case Design
+
+There are two major use cases that are designed explicitly here:
+
+1. Register Connector Services
+2. Invoke Operation
+
+#### Register Connector Services
+
+##### Normal Flow
+
+1. A component registers a service in the OSGi service registry.
+2. The protocol adapter, listening whiteboard style, is notified and validates 
the service.
+3. The protocol adapter hands over the service to a protocol specific factory 
that creates an adapter.
+4. The protocol adapter registers the created adapter with the protocol 
implementation.
+
+#### Invoke Operation
+
+##### Normal Flow
+
+1. An actor invokes an operation on a service.
+2. The invocation arrives at the protocol adapter, who looks up or creates the 
session with the session manager.
+3. The protocol adapter checks if the actor is authenticated and authorized to 
invoke this operation.
+4. The protocol adapter invokes the operation on the connector associated with 
this adapter.
+
+### Implementation View
+
+The implementation views for the different connectors and protocol adapters 
can be found in the designs of these components.
+
+The implementation view for the session manager consists of:
+
+* o.a.a.client.repository.SessionFactory - the interface for a factory that 
can be used to create and destroy sessions;
+* o.a.a.client.repository.impl.Activator - the implementation of the session 
factory.
+
+Note that this current implementation is specific to the client, because for 
now that is the only place where we have sessions (the other connectors are 
essentially stateless).
+
+### Deployment View
+
+The connectors and protocol adapters are deployed as different bundles:
+
+* o.a.a.client.repository.api - contains the API for the client connector and 
session manager;
+* o.a.a.client.repository.impl- contains the implementation for the session 
manager and client connector
+* o.a.a.client.repository.* - various bundles that also contain parts of the 
implementation of the client connector;
+* o.a.a.client.rest - protocol adapter for the REST client API;
+* o.a.a.webui.vaadin - protocol adapter for the Vaadin based web UI.

Added: ace/site/trunk/content/dev-doc/design/remoteinterfaces-components.svg
URL: 
http://svn.apache.org/viewvc/ace/site/trunk/content/dev-doc/design/remoteinterfaces-components.svg?rev=1306968&view=auto
==============================================================================
--- ace/site/trunk/content/dev-doc/design/remoteinterfaces-components.svg 
(added)
+++ ace/site/trunk/content/dev-doc/design/remoteinterfaces-components.svg Thu 
Mar 29 16:32:22 2012
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";>
+<svg xmlns="http://www.w3.org/2000/svg"; 
xmlns:xl="http://www.w3.org/1999/xlink"; version="1.1" viewBox="1 -2 524 194" 
width="524pt" height="194pt"><metadata 
xmlns:dc="http://purl.org/dc/elements/1.1/";><dc:date>2012-03-29 
15:58Z</dc:date><!-- Produced by OmniGraffle Professional 5.3.6 
--></metadata><defs><font-face font-family="Helvetica" font-size="12" 
units-per-em="1000" underline-position="-75.683594" 
underline-thickness="49.316406" slope="0" x-height="522.94922" 
cap-height="717.28516" ascent="770.01953" descent="-229.98047" 
font-weight="500"><font-face-src><font-face-name 
name="Helvetica"/></font-face-src></font-face><marker orient="auto" 
overflow="visible" markerUnits="strokeWidth" id="StickArrow_Marker" viewBox="-1 
-4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M 8 0 L 0 
0 M 0 -3 L 8 0 L 0 3" fill="none" stroke="currentColor" 
stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" 
stroke-dasharray="none" fill="none" fill-opacity="1
 "><title>Canvas 1</title><g><title>Layer 1</title><rect x="34.615372" y="15" 
width="124.38464" height="55.43802" fill="white"/><rect x="34.615372" y="15" 
width="124.38464" height="55.43802" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="1"/><text transform="translate(39.615376 
35.71901)" fill="black"><tspan font-family="Helvetica" font-size="12" 
font-weight="500" x="35.846619" y="11" 
textLength="42.691406">protocol</tspan></text><rect x="12.000019" y="26.43959" 
width="37.6923" height="10.559624" fill="white"/><rect x="12.000019" 
y="26.43959" width="37.6923" height="10.559624" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect 
x="12.000019" y="48.438797" width="37.6923" height="10.559624" 
fill="white"/><rect x="12.000019" y="48.438797" width="37.6923" 
height="10.559624" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="1"/><rect x="207.61539" y="15" 
width="124.38464" height="55.43802" fi
 ll="white"/><rect x="207.61539" y="15" width="124.38464" height="55.43802" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="1"/><text transform="translate(212.61539 35.71901)" 
fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" 
x="13.830017" y="11" textLength="86.72461">protocol adapter</tspan></text><rect 
x="185.00003" y="26.43959" width="37.692291" height="10.559624" 
fill="white"/><rect x="185.00003" y="26.43959" width="37.692291" 
height="10.559624" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="1"/><rect x="185.00003" y="48.438797" 
width="37.692291" height="10.559624" fill="white"/><rect x="185.00003" 
y="48.438797" width="37.692291" height="10.559624" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect 
x="207.61536" y="112" width="124.38464" height="55.43802" fill="white"/><rect 
x="207.61536" y="112" width="124.38464" height="55.43802" stroke="black" 
stroke-l
 inecap="round" stroke-linejoin="round" stroke-width="1"/><text 
transform="translate(212.61536 132.71901)" fill="black"><tspan 
font-family="Helvetica" font-size="12" font-weight="500" x="11.5009155" y="11" 
textLength="91.38281">session manager</tspan></text><rect x="185" y="123.43959" 
width="37.692291" height="10.5596313" fill="white"/><rect x="185" y="123.43959" 
width="37.692291" height="10.5596313" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="1"/><rect x="185" y="145.43881" 
width="37.692291" height="10.5596313" fill="white"/><rect x="185" y="145.43881" 
width="37.692291" height="10.5596313" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="1"/><rect x="380.61539" y="14.999985" 
width="124.38464" height="55.43802" fill="white"/><rect x="380.61539" 
y="14.999985" width="124.38464" height="55.43802" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text 
transform="translate(385.61539 35.718994
 )" fill="black"><tspan font-family="Helvetica" font-size="12" 
font-weight="500" x="30.842712" y="11" 
textLength="52.69922">connector</tspan></text><rect x="358.00003" y="26.43959" 
width="37.692322" height="10.559624" fill="white"/><rect x="358.00003" 
y="26.43959" width="37.692322" height="10.559624" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect 
x="358.00003" y="48.438797" width="37.692322" height="10.559624" 
fill="white"/><rect x="358.00003" y="48.438797" width="37.692322" 
height="10.559624" stroke="black" stroke-linecap="round" 
stroke-linejoin="round" stroke-width="1"/><line x1="159" y1="42.71901" 
x2="197.71539" y2="42.71901" marker-end="url(#StickArrow_Marker)" 
stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" 
stroke-dasharray="4,4"/><line x1="332.00006" y1="42.71901" x2="370.71536" 
y2="42.718998" marker-end="url(#StickArrow_Marker)" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-wid
 th="1" stroke-dasharray="4,4"/><line x1="269.80771" y1="70.438026" 
x2="269.80768" y2="102.1" marker-end="url(#StickArrow_Marker)" stroke="black" 
stroke-linecap="round" stroke-linejoin="round" stroke-width="1" 
stroke-dasharray="4,4"/></g></g></svg>

Added: 
ace/site/trunk/content/dev-doc/design/src/remoteinterfaces-components.graffle
URL: 
http://svn.apache.org/viewvc/ace/site/trunk/content/dev-doc/design/src/remoteinterfaces-components.graffle?rev=1306968&view=auto
==============================================================================
--- 
ace/site/trunk/content/dev-doc/design/src/remoteinterfaces-components.graffle 
(added)
+++ 
ace/site/trunk/content/dev-doc/design/src/remoteinterfaces-components.graffle 
Thu Mar 29 16:32:22 2012
@@ -0,0 +1,619 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
+<plist version="1.0">
+<dict>
+       <key>ActiveLayerIndex</key>
+       <integer>0</integer>
+       <key>ApplicationVersion</key>
+       <array>
+               <string>com.omnigroup.OmniGrafflePro</string>
+               <string>138.33.0.157554</string>
+       </array>
+       <key>AutoAdjust</key>
+       <true/>
+       <key>BackgroundGraphic</key>
+       <dict>
+               <key>Bounds</key>
+               <string>{{0, 0}, {559, 783}}</string>
+               <key>Class</key>
+               <string>SolidGraphic</string>
+               <key>ID</key>
+               <integer>2</integer>
+               <key>Style</key>
+               <dict>
+                       <key>shadow</key>
+                       <dict>
+                               <key>Draws</key>
+                               <string>NO</string>
+                       </dict>
+                       <key>stroke</key>
+                       <dict>
+                               <key>Draws</key>
+                               <string>NO</string>
+                       </dict>
+               </dict>
+       </dict>
+       <key>CanvasOrigin</key>
+       <string>{0, 0}</string>
+       <key>ColumnAlign</key>
+       <integer>1</integer>
+       <key>ColumnSpacing</key>
+       <real>36</real>
+       <key>CreationDate</key>
+       <string>2012-03-29 15:54:32 +0000</string>
+       <key>Creator</key>
+       <string>Marcel Offermans</string>
+       <key>DisplayScale</key>
+       <string>1 0/72 in = 1 0/72 in</string>
+       <key>GraphDocumentVersion</key>
+       <integer>8</integer>
+       <key>GraphicsList</key>
+       <array>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>33</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>40</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{269.80771, 70.438026}</string>
+                               <string>{269.80768, 112}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>StickArrow</string>
+                                       <key>Pattern</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>29</integer>
+                               <key>Info</key>
+                               <integer>1</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>37</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>39</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{332.00006, 42.719009}</string>
+                               <string>{380.61536, 42.718994}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>StickArrow</string>
+                                       <key>Pattern</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>29</integer>
+                               <key>Info</key>
+                               <integer>3</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>29</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>38</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{159.00002, 42.719009}</string>
+                               <string>{207.61539, 42.719009}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>StickArrow</string>
+                                       <key>Pattern</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>25</integer>
+                               <key>Info</key>
+                               <integer>3</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>Group</string>
+                       <key>Graphics</key>
+                       <array>
+                               <dict>
+                                       <key>Bounds</key>
+                                       <string>{{358.00003, 48.438797}, 
{37.692299, 10.559624}}</string>
+                                       <key>Class</key>
+                                       <string>ShapedGraphic</string>
+                                       <key>ID</key>
+                                       <integer>35</integer>
+                                       <key>Shape</key>
+                                       <string>Rectangle</string>
+                                       <key>Style</key>
+                                       <dict>
+                                               <key>shadow</key>
+                                               <dict>
+                                                       <key>Draws</key>
+                                                       <string>NO</string>
+                                               </dict>
+                                       </dict>
+                               </dict>
+                               <dict>
+                                       <key>Bounds</key>
+                                       <string>{{358.00003, 26.43959}, 
{37.692299, 10.559624}}</string>
+                                       <key>Class</key>
+                                       <string>ShapedGraphic</string>
+                                       <key>ID</key>
+                                       <integer>36</integer>
+                                       <key>Shape</key>
+                                       <string>Rectangle</string>
+                                       <key>Style</key>
+                                       <dict>
+                                               <key>shadow</key>
+                                               <dict>
+                                                       <key>Draws</key>
+                                                       <string>NO</string>
+                                               </dict>
+                                       </dict>
+                               </dict>
+                               <dict>
+                                       <key>Bounds</key>
+                                       <string>{{380.61539, 14.999985}, 
{124.38464, 55.438019}}</string>
+                                       <key>Class</key>
+                                       <string>ShapedGraphic</string>
+                                       <key>ID</key>
+                                       <integer>37</integer>
+                                       <key>Magnets</key>
+                                       <array>
+                                               <string>{0, 1}</string>
+                                               <string>{0, -1}</string>
+                                               <string>{1, 0}</string>
+                                               <string>{-1, 0}</string>
+                                       </array>
+                                       <key>Shape</key>
+                                       <string>Rectangle</string>
+                                       <key>Style</key>
+                                       <dict/>
+                                       <key>Text</key>
+                                       <dict>
+                                               <key>Text</key>
+                                               
<string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\fs24 \cf0 connector}</string>
+                                               <key>VerticalPad</key>
+                                               <integer>0</integer>
+                                       </dict>
+                               </dict>
+                       </array>
+                       <key>ID</key>
+                       <integer>34</integer>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>Group</string>
+                       <key>Graphics</key>
+                       <array>
+                               <dict>
+                                       <key>Bounds</key>
+                                       <string>{{185, 145.43881}, {37.692299, 
10.559624}}</string>
+                                       <key>Class</key>
+                                       <string>ShapedGraphic</string>
+                                       <key>ID</key>
+                                       <integer>31</integer>
+                                       <key>Shape</key>
+                                       <string>Rectangle</string>
+                                       <key>Style</key>
+                                       <dict>
+                                               <key>shadow</key>
+                                               <dict>
+                                                       <key>Draws</key>
+                                                       <string>NO</string>
+                                               </dict>
+                                       </dict>
+                               </dict>
+                               <dict>
+                                       <key>Bounds</key>
+                                       <string>{{185, 123.43959}, {37.692299, 
10.559624}}</string>
+                                       <key>Class</key>
+                                       <string>ShapedGraphic</string>
+                                       <key>ID</key>
+                                       <integer>32</integer>
+                                       <key>Shape</key>
+                                       <string>Rectangle</string>
+                                       <key>Style</key>
+                                       <dict>
+                                               <key>shadow</key>
+                                               <dict>
+                                                       <key>Draws</key>
+                                                       <string>NO</string>
+                                               </dict>
+                                       </dict>
+                               </dict>
+                               <dict>
+                                       <key>Bounds</key>
+                                       <string>{{207.61536, 112}, {124.38464, 
55.438019}}</string>
+                                       <key>Class</key>
+                                       <string>ShapedGraphic</string>
+                                       <key>ID</key>
+                                       <integer>33</integer>
+                                       <key>Magnets</key>
+                                       <array>
+                                               <string>{0, 1}</string>
+                                               <string>{0, -1}</string>
+                                               <string>{1, 0}</string>
+                                               <string>{-1, 0}</string>
+                                       </array>
+                                       <key>Shape</key>
+                                       <string>Rectangle</string>
+                                       <key>Style</key>
+                                       <dict/>
+                                       <key>Text</key>
+                                       <dict>
+                                               <key>Text</key>
+                                               
<string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\fs24 \cf0 session manager}</string>
+                                               <key>VerticalPad</key>
+                                               <integer>0</integer>
+                                       </dict>
+                               </dict>
+                       </array>
+                       <key>ID</key>
+                       <integer>30</integer>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>Group</string>
+                       <key>Graphics</key>
+                       <array>
+                               <dict>
+                                       <key>Bounds</key>
+                                       <string>{{185.00003, 48.438797}, 
{37.692299, 10.559624}}</string>
+                                       <key>Class</key>
+                                       <string>ShapedGraphic</string>
+                                       <key>ID</key>
+                                       <integer>27</integer>
+                                       <key>Shape</key>
+                                       <string>Rectangle</string>
+                                       <key>Style</key>
+                                       <dict>
+                                               <key>shadow</key>
+                                               <dict>
+                                                       <key>Draws</key>
+                                                       <string>NO</string>
+                                               </dict>
+                                       </dict>
+                               </dict>
+                               <dict>
+                                       <key>Bounds</key>
+                                       <string>{{185.00003, 26.43959}, 
{37.692299, 10.559624}}</string>
+                                       <key>Class</key>
+                                       <string>ShapedGraphic</string>
+                                       <key>ID</key>
+                                       <integer>28</integer>
+                                       <key>Shape</key>
+                                       <string>Rectangle</string>
+                                       <key>Style</key>
+                                       <dict>
+                                               <key>shadow</key>
+                                               <dict>
+                                                       <key>Draws</key>
+                                                       <string>NO</string>
+                                               </dict>
+                                       </dict>
+                               </dict>
+                               <dict>
+                                       <key>Bounds</key>
+                                       <string>{{207.61539, 15}, {124.38464, 
55.438019}}</string>
+                                       <key>Class</key>
+                                       <string>ShapedGraphic</string>
+                                       <key>ID</key>
+                                       <integer>29</integer>
+                                       <key>Magnets</key>
+                                       <array>
+                                               <string>{0, 1}</string>
+                                               <string>{0, -1}</string>
+                                               <string>{1, 0}</string>
+                                               <string>{-1, 0}</string>
+                                       </array>
+                                       <key>Shape</key>
+                                       <string>Rectangle</string>
+                                       <key>Style</key>
+                                       <dict/>
+                                       <key>Text</key>
+                                       <dict>
+                                               <key>Text</key>
+                                               
<string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\fs24 \cf0 protocol adapter}</string>
+                                               <key>VerticalPad</key>
+                                               <integer>0</integer>
+                                       </dict>
+                               </dict>
+                       </array>
+                       <key>ID</key>
+                       <integer>26</integer>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>Group</string>
+                       <key>Graphics</key>
+                       <array>
+                               <dict>
+                                       <key>Bounds</key>
+                                       <string>{{12.000019, 48.438797}, 
{37.692299, 10.559624}}</string>
+                                       <key>Class</key>
+                                       <string>ShapedGraphic</string>
+                                       <key>ID</key>
+                                       <integer>23</integer>
+                                       <key>Shape</key>
+                                       <string>Rectangle</string>
+                                       <key>Style</key>
+                                       <dict>
+                                               <key>shadow</key>
+                                               <dict>
+                                                       <key>Draws</key>
+                                                       <string>NO</string>
+                                               </dict>
+                                       </dict>
+                               </dict>
+                               <dict>
+                                       <key>Bounds</key>
+                                       <string>{{12.000019, 26.43959}, 
{37.692299, 10.559624}}</string>
+                                       <key>Class</key>
+                                       <string>ShapedGraphic</string>
+                                       <key>ID</key>
+                                       <integer>24</integer>
+                                       <key>Shape</key>
+                                       <string>Rectangle</string>
+                                       <key>Style</key>
+                                       <dict>
+                                               <key>shadow</key>
+                                               <dict>
+                                                       <key>Draws</key>
+                                                       <string>NO</string>
+                                               </dict>
+                                       </dict>
+                               </dict>
+                               <dict>
+                                       <key>Bounds</key>
+                                       <string>{{34.615376, 15}, {124.38464, 
55.438019}}</string>
+                                       <key>Class</key>
+                                       <string>ShapedGraphic</string>
+                                       <key>ID</key>
+                                       <integer>25</integer>
+                                       <key>Magnets</key>
+                                       <array>
+                                               <string>{0, 1}</string>
+                                               <string>{0, -1}</string>
+                                               <string>{1, 0}</string>
+                                               <string>{-1, 0}</string>
+                                       </array>
+                                       <key>Shape</key>
+                                       <string>Rectangle</string>
+                                       <key>Style</key>
+                                       <dict/>
+                                       <key>Text</key>
+                                       <dict>
+                                               <key>Text</key>
+                                               
<string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
+
+\f0\fs24 \cf0 protocol}</string>
+                                               <key>VerticalPad</key>
+                                               <integer>0</integer>
+                                       </dict>
+                               </dict>
+                       </array>
+                       <key>ID</key>
+                       <integer>22</integer>
+               </dict>
+       </array>
+       <key>GridInfo</key>
+       <dict/>
+       <key>GuidesLocked</key>
+       <string>NO</string>
+       <key>GuidesVisible</key>
+       <string>YES</string>
+       <key>HPages</key>
+       <integer>1</integer>
+       <key>ImageCounter</key>
+       <integer>1</integer>
+       <key>KeepToScale</key>
+       <false/>
+       <key>Layers</key>
+       <array>
+               <dict>
+                       <key>Lock</key>
+                       <string>NO</string>
+                       <key>Name</key>
+                       <string>Layer 1</string>
+                       <key>Print</key>
+                       <string>YES</string>
+                       <key>View</key>
+                       <string>YES</string>
+               </dict>
+       </array>
+       <key>LayoutInfo</key>
+       <dict>
+               <key>Animate</key>
+               <string>NO</string>
+               <key>circoMinDist</key>
+               <real>18</real>
+               <key>circoSeparation</key>
+               <real>0.0</real>
+               <key>layoutEngine</key>
+               <string>dot</string>
+               <key>neatoSeparation</key>
+               <real>0.0</real>
+               <key>twopiSeparation</key>
+               <real>0.0</real>
+       </dict>
+       <key>LinksVisible</key>
+       <string>NO</string>
+       <key>MagnetsVisible</key>
+       <string>NO</string>
+       <key>MasterSheets</key>
+       <array/>
+       <key>ModificationDate</key>
+       <string>2012-03-29 15:58:41 +0000</string>
+       <key>Modifier</key>
+       <string>Marcel Offermans</string>
+       <key>NotesVisible</key>
+       <string>NO</string>
+       <key>Orientation</key>
+       <integer>2</integer>
+       <key>OriginVisible</key>
+       <string>NO</string>
+       <key>PageBreaks</key>
+       <string>YES</string>
+       <key>PrintInfo</key>
+       <dict>
+               <key>NSBottomMargin</key>
+               <array>
+                       <string>float</string>
+                       <string>41</string>
+               </array>
+               <key>NSHorizonalPagination</key>
+               <array>
+                       <string>int</string>
+                       <string>0</string>
+               </array>
+               <key>NSLeftMargin</key>
+               <array>
+                       <string>float</string>
+                       <string>18</string>
+               </array>
+               <key>NSPaperSize</key>
+               <array>
+                       <string>coded</string>
+                       
<string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAx7X05TU2l6ZT1mZn2WgVMCgUoDhg==</string>
+               </array>
+               <key>NSPrintReverseOrientation</key>
+               <array>
+                       <string>int</string>
+                       <string>0</string>
+               </array>
+               <key>NSRightMargin</key>
+               <array>
+                       <string>float</string>
+                       <string>18</string>
+               </array>
+               <key>NSTopMargin</key>
+               <array>
+                       <string>float</string>
+                       <string>18</string>
+               </array>
+       </dict>
+       <key>PrintOnePage</key>
+       <false/>
+       <key>ReadOnly</key>
+       <string>NO</string>
+       <key>RowAlign</key>
+       <integer>1</integer>
+       <key>RowSpacing</key>
+       <real>36</real>
+       <key>SheetTitle</key>
+       <string>Canvas 1</string>
+       <key>SmartAlignmentGuidesActive</key>
+       <string>YES</string>
+       <key>SmartDistanceGuidesActive</key>
+       <string>YES</string>
+       <key>UniqueID</key>
+       <integer>1</integer>
+       <key>UseEntirePage</key>
+       <false/>
+       <key>VPages</key>
+       <integer>1</integer>
+       <key>WindowInfo</key>
+       <dict>
+               <key>CurrentSheet</key>
+               <integer>0</integer>
+               <key>ExpandedCanvases</key>
+               <array>
+                       <dict>
+                               <key>name</key>
+                               <string>Canvas 1</string>
+                       </dict>
+               </array>
+               <key>Frame</key>
+               <string>{{946, 240}, {693, 938}}</string>
+               <key>ListView</key>
+               <true/>
+               <key>OutlineWidth</key>
+               <integer>142</integer>
+               <key>RightSidebar</key>
+               <false/>
+               <key>ShowRuler</key>
+               <true/>
+               <key>Sidebar</key>
+               <true/>
+               <key>SidebarWidth</key>
+               <integer>120</integer>
+               <key>VisibleRegion</key>
+               <string>{{0, 0}, {558, 783}}</string>
+               <key>Zoom</key>
+               <real>1</real>
+               <key>ZoomValues</key>
+               <array>
+                       <array>
+                               <string>Canvas 1</string>
+                               <real>1</real>
+                               <real>1</real>
+                       </array>
+               </array>
+       </dict>
+       <key>saveQuickLookFiles</key>
+       <string>YES</string>
+</dict>
+</plist>

Modified: ace/site/trunk/templates/sidenav.html
URL: 
http://svn.apache.org/viewvc/ace/site/trunk/templates/sidenav.html?rev=1306968&r1=1306967&r2=1306968&view=diff
==============================================================================
--- ace/site/trunk/templates/sidenav.html (original)
+++ ace/site/trunk/templates/sidenav.html Thu Mar 29 16:32:22 2012
@@ -37,16 +37,16 @@
     <a href="#" class="dropdown-toggle" data-toggle="dropdown">Developer 
Documentation <b class="caret"></b></a>
     <ul class="dropdown-menu">
       <li>
-        <a href="/dev-doc/requirements.html">Requirements</a>
+        <a href="/dev-doc/requirements/">Requirements</a>
       </li>
       <li>
         <a href="/dev-doc/architecture.html">Architecture</a>
       </li>
       <li>
-        <a href="/dev-doc/analysis.html">Analysis</a>
+        <a href="/dev-doc/analysis/">Analysis</a>
       </li>
       <li>
-        <a href="/dev-doc/design.html">Design</a>
+        <a href="/dev-doc/design/">Design</a>
       </li>
       <li>
         <a href="/dev-doc/coding-standards.html">Coding Standards</a>


Reply via email to