diff options
author | elmot <elmot@vaadin.com> | 2015-09-25 16:40:44 +0300 |
---|---|---|
committer | elmot <elmot@vaadin.com> | 2015-09-25 16:40:44 +0300 |
commit | a1b265c318dbda4a213cec930785b81e4c0f7d2b (patch) | |
tree | b149daf5a4f50b4f6446c906047cf86495fe0433 /documentation/portal | |
parent | b9743a48a1bd0394f19c54ee938c6395a80f3cd8 (diff) | |
download | vaadin-framework-a1b265c318dbda4a213cec930785b81e4c0f7d2b.tar.gz vaadin-framework-a1b265c318dbda4a213cec930785b81e4c0f7d2b.zip |
Framework documentation IN
Change-Id: I767477c1fc3745f9e1f58075fe30c9ac8da63581
Diffstat (limited to 'documentation/portal')
30 files changed, 4008 insertions, 0 deletions
diff --git a/documentation/portal/chapter-portal.asciidoc b/documentation/portal/chapter-portal.asciidoc new file mode 100644 index 0000000000..269a538419 --- /dev/null +++ b/documentation/portal/chapter-portal.asciidoc @@ -0,0 +1,19 @@ +[[portal]] +== Portal Integration + +((("portal integration", id="term.portal", range="startofrange"))) + + + +include::portal-overview.asciidoc[leveloffset=+2] + +include::portal-eclipse.asciidoc[leveloffset=+2] + +include::portal-liferay.asciidoc[leveloffset=+2] + +include::portal-ui.asciidoc[leveloffset=+2] + +include::portal-deployment.asciidoc[leveloffset=+2] + +include::portal-liferay-ipc.asciidoc[leveloffset=+2] +(((range="endofrange", startref="term.portal"))) diff --git a/documentation/portal/img/liferay-add-application.png b/documentation/portal/img/liferay-add-application.png Binary files differnew file mode 100644 index 0000000000..aca2ed3bf7 --- /dev/null +++ b/documentation/portal/img/liferay-add-application.png diff --git a/documentation/portal/img/liferay-display-hi.png b/documentation/portal/img/liferay-display-hi.png Binary files differnew file mode 100644 index 0000000000..a5633665e5 --- /dev/null +++ b/documentation/portal/img/liferay-display-hi.png diff --git a/documentation/portal/img/liferay-display-lo.png b/documentation/portal/img/liferay-display-lo.png Binary files differnew file mode 100644 index 0000000000..60b6c0e211 --- /dev/null +++ b/documentation/portal/img/liferay-display-lo.png diff --git a/documentation/portal/img/liferay-helloworld.png b/documentation/portal/img/liferay-helloworld.png Binary files differnew file mode 100644 index 0000000000..0ed995ba65 --- /dev/null +++ b/documentation/portal/img/liferay-helloworld.png diff --git a/documentation/portal/img/liferay-ipc-architecture-hi.png b/documentation/portal/img/liferay-ipc-architecture-hi.png Binary files differnew file mode 100644 index 0000000000..17d4823b9d --- /dev/null +++ b/documentation/portal/img/liferay-ipc-architecture-hi.png diff --git a/documentation/portal/img/liferay-ipc-architecture-lo.png b/documentation/portal/img/liferay-ipc-architecture-lo.png Binary files differnew file mode 100644 index 0000000000..5692f97fcb --- /dev/null +++ b/documentation/portal/img/liferay-ipc-architecture-lo.png diff --git a/documentation/portal/img/liferay-ipc-demo-annotated-hi.png b/documentation/portal/img/liferay-ipc-demo-annotated-hi.png Binary files differnew file mode 100644 index 0000000000..c705dbe895 --- /dev/null +++ b/documentation/portal/img/liferay-ipc-demo-annotated-hi.png diff --git a/documentation/portal/img/liferay-ipc-demo-annotated-lo.png b/documentation/portal/img/liferay-ipc-demo-annotated-lo.png Binary files differnew file mode 100644 index 0000000000..5d98c2c3d9 --- /dev/null +++ b/documentation/portal/img/liferay-ipc-demo-annotated-lo.png diff --git a/documentation/portal/img/liferay-ipc-demo.png b/documentation/portal/img/liferay-ipc-demo.png Binary files differnew file mode 100644 index 0000000000..d503ea928b --- /dev/null +++ b/documentation/portal/img/liferay-ipc-demo.png diff --git a/documentation/portal/img/liferay-maven-profile.png b/documentation/portal/img/liferay-maven-profile.png Binary files differnew file mode 100644 index 0000000000..f78f109c9a --- /dev/null +++ b/documentation/portal/img/liferay-maven-profile.png diff --git a/documentation/portal/img/liferay-maven-project.png b/documentation/portal/img/liferay-maven-project.png Binary files differnew file mode 100644 index 0000000000..d1669443cf --- /dev/null +++ b/documentation/portal/img/liferay-maven-project.png diff --git a/documentation/portal/img/liferay-project.png b/documentation/portal/img/liferay-project.png Binary files differnew file mode 100644 index 0000000000..6dbe2ae376 --- /dev/null +++ b/documentation/portal/img/liferay-project.png diff --git a/documentation/portal/img/portal-mode-edit.png b/documentation/portal/img/portal-mode-edit.png Binary files differnew file mode 100644 index 0000000000..e4c90d9708 --- /dev/null +++ b/documentation/portal/img/portal-mode-edit.png diff --git a/documentation/portal/img/portal-mode-help.png b/documentation/portal/img/portal-mode-help.png Binary files differnew file mode 100644 index 0000000000..d259329329 --- /dev/null +++ b/documentation/portal/img/portal-mode-help.png diff --git a/documentation/portal/img/portal-mode-view.png b/documentation/portal/img/portal-mode-view.png Binary files differnew file mode 100644 index 0000000000..e510a0f971 --- /dev/null +++ b/documentation/portal/img/portal-mode-view.png diff --git a/documentation/portal/img/wsrp-architecture-hi.png b/documentation/portal/img/wsrp-architecture-hi.png Binary files differnew file mode 100644 index 0000000000..9b23ccd842 --- /dev/null +++ b/documentation/portal/img/wsrp-architecture-hi.png diff --git a/documentation/portal/img/wsrp-architecture-lo.png b/documentation/portal/img/wsrp-architecture-lo.png Binary files differnew file mode 100644 index 0000000000..884c5d39a4 --- /dev/null +++ b/documentation/portal/img/wsrp-architecture-lo.png diff --git a/documentation/portal/img/wsrp-consumer-config.png b/documentation/portal/img/wsrp-consumer-config.png Binary files differnew file mode 100644 index 0000000000..925e9d76b6 --- /dev/null +++ b/documentation/portal/img/wsrp-consumer-config.png diff --git a/documentation/portal/img/wsrp-provider-config.png b/documentation/portal/img/wsrp-provider-config.png Binary files differnew file mode 100644 index 0000000000..200eed1c6f --- /dev/null +++ b/documentation/portal/img/wsrp-provider-config.png diff --git a/documentation/portal/original-drawings/liferay-display.svg b/documentation/portal/original-drawings/liferay-display.svg new file mode 100644 index 0000000000..15315e0354 --- /dev/null +++ b/documentation/portal/original-drawings/liferay-display.svg @@ -0,0 +1,213 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg1901"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="liferay-display.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs1903">
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mend"
+ style="overflow:visible;">
+ <path
+ id="path3333"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) rotate(180) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Send"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Send"
+ style="overflow:visible;">
+ <path
+ id="path3339"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.3) rotate(180) translate(-2.3,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ id="path3327"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(1,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective7" />
+ <inkscape:perspective
+ id="perspective2446"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath3287">
+ <rect
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.29999998;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3289"
+ width="265"
+ height="90"
+ x="-400"
+ y="752.36218"
+ ry="0"
+ clip-path="none" />
+ </clipPath>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath3292">
+ <rect
+ clip-path="none"
+ ry="0"
+ y="92.362183"
+ x="20.000019"
+ height="140"
+ width="268.57141"
+ id="rect3294"
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.29999998;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ </clipPath>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath3297">
+ <rect
+ clip-path="none"
+ ry="0"
+ y="412.36218"
+ x="420"
+ height="220"
+ width="270"
+ id="rect3299"
+ style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.29999998;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ </clipPath>
+ <inkscape:perspective
+ id="perspective6621"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.98994949"
+ inkscape:cx="1067.1427"
+ inkscape:cy="462.25637"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ gridtolerance="10000"
+ inkscape:window-width="2529"
+ inkscape:window-height="1019"
+ inkscape:window-x="350"
+ inkscape:window-y="0"
+ showgrid="true"
+ inkscape:snap-nodes="true"
+ guidetolerance="10000"
+ inkscape:snap-global="true"
+ inkscape:snap-bbox="true"
+ objecttolerance="10000"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2380"
+ visible="true"
+ enabled="true"
+ empspacing="10"
+ spacingx="10px"
+ spacingy="10px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata1906">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Taso 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ style="opacity:1">
+ <image
+ sodipodi:absref="/home/magi/itmill/book-7/manual/original-drawings/portal/../../img/portal/liferay-add-application.png"
+ xlink:href="../../img/portal/liferay-add-application.png"
+ width="262"
+ height="437"
+ id="image6623"
+ x="208"
+ y="375.36218" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 500,682.36218 C 450,682.36218 380,682.36218 380,682.36218"
+ id="path3301"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ x="504"
+ y="686.36218"
+ id="text6163"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan6165"
+ x="504"
+ y="686.36218">The Example Portlet</tspan></text>
+ <path
+ style="opacity:1;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 500,572.36218 C 450,572.36218 380,572.36218 380,572.36218"
+ id="path6567"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ x="504"
+ y="576.36218"
+ id="text6569"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan6571"
+ x="504"
+ y="576.36218">Portlet Category</tspan></text>
+ </g>
+</svg>
diff --git a/documentation/portal/original-drawings/liferay-ipc-architecture.svg b/documentation/portal/original-drawings/liferay-ipc-architecture.svg new file mode 100644 index 0000000000..4ba77455ba --- /dev/null +++ b/documentation/portal/original-drawings/liferay-ipc-architecture.svg @@ -0,0 +1,1141 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg1901"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="liferay-ipc-architecture.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs1903">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective206" />
+ <linearGradient
+ id="linearGradient11516">
+ <stop
+ id="stop11518"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop11520"
+ offset="1"
+ style="stop-color:#a090e7;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11508">
+ <stop
+ id="stop11510"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop11512"
+ offset="1"
+ style="stop-color:#e27979;stop-opacity:1" />
+ </linearGradient>
+ <marker
+ inkscape:stockid="DiamondL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="DiamondL"
+ style="overflow:visible">
+ <path
+ id="path4404"
+ d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.8)" />
+ </marker>
+ <marker
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="DiamondEmpty"
+ style="overflow:visible">
+ <path
+ id="path7"
+ d="M 0,-5 L -5,0 L 0,5 L 5,0 L 0,-5 z "
+ style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(1.0) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient3286">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop3288" />
+ <stop
+ style="stop-color:#79e291;stop-opacity:1;"
+ offset="1"
+ id="stop3290" />
+ </linearGradient>
+ <marker
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="EmptyArrow"
+ style="overflow:visible;">
+ <path
+ id="path9"
+ d="M 0.0,0.0 L 0.0,-5.0 L -12.5,0.0 L 0.0,5.0 L 0.0,0.0 z M -0.5,0.0 L -0.5,-4.5 L -12.0,0.0 L -0.5,4.5 L -0.5,0.0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(1.0) rotate(180) translate(10,0)" />
+ </marker>
+ <marker
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="EmptyArrow2"
+ style="overflow:visible;">
+ <path
+ id="path13"
+ d="M 0.0,0.0 L 0.0,-5.0 L -10.0,0.0 L 0.0,5.0 L 0.0,0.0 z"
+ style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(1.0) rotate(180) translate(10,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient19816">
+ <stop
+ id="stop19818"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop19820"
+ offset="1"
+ style="stop-color:#e7e790;stop-opacity:1;" />
+ </linearGradient>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ id="path16811"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(1,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lend"
+ style="overflow:visible;">
+ <path
+ id="path16829"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutM"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutM"
+ style="overflow:visible">
+ <path
+ id="path16731"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleInL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleInL"
+ style="overflow:visible">
+ <path
+ id="path16743"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(-0.8)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutL"
+ style="overflow:visible">
+ <path
+ id="path16734"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.8)" />
+ </marker>
+ <linearGradient
+ id="linearGradient9263">
+ <stop
+ style="stop-color:#000000;stop-opacity:0"
+ offset="0"
+ id="stop9265" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop9267" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7299">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop7301" />
+ <stop
+ style="stop-color:#a090e7;stop-opacity:1"
+ offset="1"
+ id="stop7303" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5349">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop5351" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop5353" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4152">
+ <stop
+ style="stop-color:#6b6bff;stop-opacity:1;"
+ offset="0"
+ id="stop4154" />
+ <stop
+ style="stop-color:#6b6bff;stop-opacity:0;"
+ offset="1"
+ id="stop4156" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5349"
+ id="linearGradient5355"
+ x1="96.085953"
+ y1="148.38934"
+ x2="389.01985"
+ y2="148.38934"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient12637"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9214039,2.3896193e-3,-2.166448e-3,0.5977017,265.61411,78.560061)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient15668"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9214039,2.3896193e-3,-2.166448e-3,0.5977017,262.24281,78.560061)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient17873"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9214039,2.3896193e-3,-2.166448e-3,0.5977017,541.12253,30.198804)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient17875"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient20832"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6000725,2.3808346e-3,-3.7621654e-3,0.5955044,664.61868,-4.8275956)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22790"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22806"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22822"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22838"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3286"
+ id="radialGradient2303"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6000725,2.3808346e-3,-3.7621654e-3,0.5955044,664.61868,-4.8275956)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient3306"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2251403,2.385383e-3,-2.8806072e-3,0.5966421,625.8055,-4.9637231)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient3307"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.634924,2.3804409e-3,-3.8441097e-3,0.5954059,670.96002,-4.81581)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient3327"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3286"
+ id="radialGradient8322"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6000725,2.3808346e-3,-3.7621654e-3,0.5955044,664.61868,-4.8275956)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient8338"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient8354"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient11393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2251403,2.385383e-3,-2.8806072e-3,0.5966421,625.8055,-4.9637231)"
+ cx="-145.65326"
+ cy="87.697487"
+ fx="-145.65326"
+ fy="87.697487"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient11490"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient11506"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11516"
+ id="linearGradient11514"
+ x1="402.58597"
+ y1="24.440832"
+ x2="535.59796"
+ y2="190.61652"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient11602"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient11604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11516"
+ id="linearGradient13616"
+ x1="174.35712"
+ y1="96.654701"
+ x2="220.02124"
+ y2="192.93446"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient14623"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9722636,1.8198108e-3,-2.2860317e-3,0.4551788,579.72294,2.0165387)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="linearGradient16644"
+ x1="160.84073"
+ y1="73.780838"
+ x2="239.77594"
+ y2="207.50426"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11516"
+ id="linearGradient18644"
+ x1="1036.6514"
+ y1="1185.2882"
+ x2="1076.5066"
+ y2="1351.074"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient19653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <marker
+ id="marker52016"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-3"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-8"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-6"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-3"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-2"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-7"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-2"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-2"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker3452"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g3454"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path3456"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path3458"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-29"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-0"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-28"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-38"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-2"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-4"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-7"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-9"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-1"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-9"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-6"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-2"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-0"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-7"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-3"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-1"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-6"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-98"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-1"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-3"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-3"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-79"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-8"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-6"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.8159691"
+ inkscape:cx="306.23869"
+ inkscape:cy="795.29855"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ gridtolerance="10000"
+ inkscape:window-width="1672"
+ inkscape:window-height="1019"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ showgrid="true"
+ showguides="false"
+ inkscape:connector-spacing="10"
+ inkscape:guide-bbox="true"
+ inkscape:window-maximized="0">
+ <sodipodi:guide
+ orientation="0,1"
+ position="31.938869,788.55965"
+ id="guide17449" />
+ <sodipodi:guide
+ orientation="1,0"
+ position="224.67342,882.17358"
+ id="guide17453" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="285.41744,976.57155"
+ id="guide23390" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="285.79781,806.73177"
+ id="guide23439" />
+ <sodipodi:guide
+ orientation="1,0"
+ position="561.68355,823.80254"
+ id="guide23441" />
+ <sodipodi:guide
+ orientation="1,0"
+ position="415.75596,833.7146"
+ id="guide23443" />
+ <sodipodi:guide
+ orientation="1,0"
+ position="61.675057,822.15053"
+ id="guide23607" />
+ <inkscape:grid
+ type="xygrid"
+ id="grid4485"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ spacingx="5px"
+ spacingy="5px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata1906">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Taso 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ style="opacity:1">
+ <rect
+ style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6642-43"
+ width="390"
+ height="215"
+ x="130"
+ y="217.36218"
+ ry="3.7880721" />
+ <g
+ id="g3412"
+ transform="translate(1.6520105,5)">
+ <rect
+ ry="3.7880721"
+ y="235.1693"
+ x="137.6749"
+ height="101.31999"
+ width="179.50377"
+ id="rect6642-4"
+ style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-671.85539,-822.33805)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="17.67767"
+ width="94.752312"
+ id="rect11365" /></flowRegion><flowPara
+ id="flowPara11367">Vaadin Portlet</flowPara></flowRoot> <g
+ id="g28403-3"
+ transform="translate(131.9976,81.929642)">
+ <rect
+ ry="3.7880721"
+ y="180.43254"
+ x="21.810513"
+ height="60.488556"
+ width="149.53987"
+ id="rect4680-7"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-782.52461,-874.63204)"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-6-1"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-2-0"><rect
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="42.457775"
+ width="136.60326"
+ id="rect11365-5-4" /></flowRegion><flowPara
+ id="flowPara17609">LiferayIPC</flowPara></flowRoot> </g>
+ </g>
+ <g
+ id="g3425"
+ transform="translate(-5.5067016,5)">
+ <rect
+ ry="3.7880721"
+ y="235.72"
+ x="338.66949"
+ height="181.64218"
+ width="176.8372"
+ id="rect6642-4-4"
+ style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-470.31012,-822.33804)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-7"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-6"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="17.67767"
+ width="94.752312"
+ id="rect11365-56" /></flowRegion><flowPara
+ id="flowPara11367-9">Vaadin Portlet</flowPara></flowRoot> <g
+ id="g28403-3-3"
+ transform="translate(332.12052,84.197633)">
+ <rect
+ ry="3.7880721"
+ y="178.16455"
+ x="23.386181"
+ height="60.488556"
+ width="149.53987"
+ id="rect4680-7-7"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-780.48882,-876.90003)"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-6-1-4"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-2-0-5"><rect
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="42.457775"
+ width="136.60326"
+ id="rect11365-5-4-2" /></flowRegion><flowPara
+ id="flowPara17609-5">LiferayIPC</flowPara></flowRoot> </g>
+ </g>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11369-1"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-680.19986,-843.98059)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11371-4"><rect
+ id="rect11373-9"
+ width="207.53137"
+ height="11.92172"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara11375-2">Liferay Portal</flowPara></flowRoot> <rect
+ style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:1.77199996;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6642-43-5"
+ width="390"
+ height="125"
+ x="130"
+ y="82.362183"
+ ry="3.7880721" />
+ <g
+ transform="translate(140.34646,-71.363951)"
+ id="g28403-3-0-2-9">
+ <rect
+ style="fill:#c8c8c8;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.772;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;stroke-miterlimit:4;stroke-dasharray:none"
+ id="rect4680-7-0-1-0"
+ width="370"
+ height="90"
+ x="-0.34646001"
+ y="178.72614"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-1-0-5"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-804.22146,-876.33845)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-64-5-6"><rect
+ id="rect11365-5-4-5-11-7"
+ width="304.99512"
+ height="20.681526"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara17609-3-8-7">Vaadin Client-Side Engine (Widget Set)</flowPara></flowRoot> </g>
+ <g
+ transform="translate(150.34646,-36.363951)"
+ id="g28403-3-0-2">
+ <rect
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4680-7-0-1"
+ width="150"
+ height="50.000004"
+ x="4.6535401"
+ y="173.72614"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-1-0"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-799.22146,-881.33845)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-64-5"><rect
+ id="rect11365-5-4-5-11"
+ width="136.60326"
+ height="42.457775"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara17609-3-8">LiferayIPC Widget</flowPara></flowRoot> </g>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11369-1-5"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-678.875,-976.17532)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11371-4-0"><rect
+ id="rect11373-9-6"
+ width="297.23941"
+ height="17.201656"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara11375-2-4">Web Browser</flowPara></flowRoot> <g
+ transform="translate(329.99847,165.28806)"
+ id="g28403-3-9-1-2">
+ <rect
+ style="fill:#f39300;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4680-7-1-2-5"
+ width="150"
+ height="64.999992"
+ x="20.00153"
+ y="182.07413"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-2-2-3"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-783.87347,-872.99046)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-6-9-4"><rect
+ id="rect11365-5-4-9-5-9"
+ width="142.10995"
+ height="56.224495"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara17650-4-2">Liferay IPC</flowPara><flowPara
+ id="flowPara5302">Event Listener</flowPara></flowRoot> </g>
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker18095)"
+ d="m 475,322.36218 0,35"
+ id="path4780-1"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker18095)"
+ d="m 285,272.36218 0,-95"
+ id="path4780-1-1"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <g
+ transform="translate(320.34646,-36.363951)"
+ id="g28403-3-0-2-7">
+ <rect
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4680-7-0-1-00"
+ width="150"
+ height="50"
+ x="29.65354"
+ y="173.72614"
+ ry="3.7880721" />
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot11361-6-1-1-0-3"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ transform="translate(-774.22146,-881.33845)"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><flowRegion
+ id="flowRegion11363-2-0-64-5-4"><rect
+ id="rect11365-5-4-5-11-9"
+ width="136.60326"
+ height="42.457775"
+ x="813.87988"
+ y="1064.3831"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold" /></flowRegion><flowPara
+ id="flowPara17609-3-8-2">LiferayIPC Widget</flowPara></flowRoot> </g>
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker18095)"
+ d="m 475,182.36218 0,95"
+ id="path4780-1-1-3"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker18095)"
+ d="m 300,172.36218 60,0"
+ id="path4780-1-1-7"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Varjot" />
+</svg>
diff --git a/documentation/portal/original-drawings/liferay-ipc-demo-annotated.svg b/documentation/portal/original-drawings/liferay-ipc-demo-annotated.svg new file mode 100644 index 0000000000..c0dca8ada5 --- /dev/null +++ b/documentation/portal/original-drawings/liferay-ipc-demo-annotated.svg @@ -0,0 +1,182 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448819"
+ height="1052.3622047"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="liferay-ipc-demo-annotated.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs4">
+ <marker
+ id="marker18095"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050"
+ d="M 370,508.65625 C 369.13933,508.715 368.39056,509.27755 368.09375,510.09375 C 367.82399,510.83551 368.03605,511.62868 368.53125,512.21875 L 366.78125,512.21875 C 366.73884,512.21408 366.69882,512.22093 366.65625,512.21875 L 366.65625,516.59375 L 366.78125,516.59375 L 368.53125,516.59375 C 367.85229,517.45345 367.83424,518.70924 368.625,519.5 C 369.47591,520.35091 370.89909,520.35091 371.75,519.5 L 375.09375,516.125 C 375.12672,516.09552 375.15802,516.06422 375.1875,516.03125 C 375.21972,516.01191 375.25101,515.99105 375.28125,515.96875 C 375.28162,515.96839 375.49976,515.68796 375.5,515.6875 C 375.50005,515.68741 375.49338,515.64282 375.5,515.625 C 375.5011,515.62203 375.53002,515.62832 375.53125,515.625 C 375.57039,515.57293 375.58228,515.57321 375.625,515.5 C 375.76199,515.26524 375.79184,515.12809 375.78125,515.15625 C 375.81807,515.06473 375.79977,515.04374 375.8125,515 C 375.82311,514.98978 375.83353,514.97936 375.84375,514.96875 C 375.90379,514.74477 375.93181,514.45186 375.90625,514.1875 C 375.89266,513.98387 375.84739,513.88985 375.84375,513.875 C 375.84389,513.86458 375.84389,513.85417 375.84375,513.84375 C 375.86975,513.94071 375.85901,513.85978 375.75,513.59375 C 375.69753,513.46336 375.66014,513.37439 375.625,513.3125 C 375.57262,513.22275 375.49154,513.05015 375.28125,512.84375 L 371.75,509.3125 C 371.29355,508.82579 370.66491,508.60087 370,508.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035"
+ d="M 366.65625,515.40625 L 371.28125,515.40625 L 369.46875,517.21875 C 369.0718,517.6157 369.0718,518.2593 369.46875,518.65625 C 369.8657,519.0532 370.5093,519.0532 370.90625,518.65625 L 374.34375,515.1875 L 374.4375,515.125 C 374.44343,515.11918 374.43171,515.09972 374.4375,515.09375 C 374.49291,515.03659 374.5526,514.97676 374.59375,514.90625 C 374.62239,514.85717 374.63663,514.80216 374.65625,514.75 C 374.66861,514.71928 374.67831,514.68783 374.6875,514.65625 C 374.71862,514.54015 374.73024,514.43132 374.71875,514.3125 C 374.71489,514.25466 374.70138,514.21285 374.6875,514.15625 C 374.6766,514.1156 374.67237,514.07059 374.65625,514.03125 C 374.63982,513.99042 374.61578,513.94505 374.59375,513.90625 C 374.5483,513.82838 374.50015,513.74899 374.4375,513.6875 L 370.90625,510.15625 C 370.69734,509.93349 370.39809,509.8184 370.09375,509.84375 C 369.69897,509.8707 369.35398,510.12813 369.21875,510.5 C 369.08351,510.87187 369.18349,511.28826 369.46875,511.5625 L 371.34375,513.40625 L 366.65625,513.40625"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012"
+ d="M 370,508.65625 C 369.13933,508.715 368.39056,509.27755 368.09375,510.09375 C 367.82399,510.83551 368.03605,511.62868 368.53125,512.21875 L 366.78125,512.21875 C 366.73884,512.21408 366.69882,512.22093 366.65625,512.21875 L 366.65625,516.59375 L 366.78125,516.59375 L 368.53125,516.59375 C 367.85229,517.45345 367.83424,518.70924 368.625,519.5 C 369.47591,520.35091 370.89909,520.35091 371.75,519.5 L 375.09375,516.125 C 375.12672,516.09552 375.15802,516.06422 375.1875,516.03125 C 375.21972,516.01191 375.25101,515.99105 375.28125,515.96875 C 375.28162,515.96839 375.49976,515.68796 375.5,515.6875 C 375.50005,515.68741 375.49338,515.64282 375.5,515.625 C 375.5011,515.62203 375.53002,515.62832 375.53125,515.625 C 375.57039,515.57293 375.58228,515.57321 375.625,515.5 C 375.76199,515.26524 375.79184,515.12809 375.78125,515.15625 C 375.81807,515.06473 375.79977,515.04374 375.8125,515 C 375.82311,514.98978 375.83353,514.97936 375.84375,514.96875 C 375.90379,514.74477 375.93181,514.45186 375.90625,514.1875 C 375.89266,513.98387 375.84739,513.88985 375.84375,513.875 C 375.84389,513.86458 375.84389,513.85417 375.84375,513.84375 C 375.86975,513.94071 375.85901,513.85978 375.75,513.59375 C 375.69753,513.46336 375.66014,513.37439 375.625,513.3125 C 375.57262,513.22275 375.49154,513.05015 375.28125,512.84375 L 371.75,509.3125 C 371.29355,508.82579 370.66491,508.60087 370,508.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014"
+ d="M 366.65625,515.40625 L 371.28125,515.40625 L 369.46875,517.21875 C 369.0718,517.6157 369.0718,518.2593 369.46875,518.65625 C 369.8657,519.0532 370.5093,519.0532 370.90625,518.65625 L 374.34375,515.1875 L 374.4375,515.125 C 374.44343,515.11918 374.43171,515.09972 374.4375,515.09375 C 374.49291,515.03659 374.5526,514.97676 374.59375,514.90625 C 374.62239,514.85717 374.63663,514.80216 374.65625,514.75 C 374.66861,514.71928 374.67831,514.68783 374.6875,514.65625 C 374.71862,514.54015 374.73024,514.43132 374.71875,514.3125 C 374.71489,514.25466 374.70138,514.21285 374.6875,514.15625 C 374.6766,514.1156 374.67237,514.07059 374.65625,514.03125 C 374.63982,513.99042 374.61578,513.94505 374.59375,513.90625 C 374.5483,513.82838 374.50015,513.74899 374.4375,513.6875 L 370.90625,510.15625 C 370.69734,509.93349 370.39809,509.8184 370.09375,509.84375 C 369.69897,509.8707 369.35398,510.12813 369.21875,510.5 C 369.08351,510.87187 369.18349,511.28826 369.46875,511.5625 L 371.34375,513.40625 L 366.65625,513.40625"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2481"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <marker
+ id="marker18095-8"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-5"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-0"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-9"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-0"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-4"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-1"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-0"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="391.82548"
+ inkscape:cy="881.70712"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1437"
+ inkscape:window-height="1005"
+ inkscape:window-x="186"
+ inkscape:window-y="30"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid4349"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ spacingx="5px"
+ spacingy="5px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <image
+ y="50.362183"
+ x="58"
+ id="image3092"
+ xlink:href="file:///home/magi/itmill/doc/manual/img/portal/liferay-ipc-demo.png"
+ height="302"
+ width="642" />
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker18095-8)"
+ d="m 150,247.36218 c 60,0 235,-70 235,-70"
+ id="path4386"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ </g>
+</svg>
diff --git a/documentation/portal/original-drawings/wsrp-architecture.svg b/documentation/portal/original-drawings/wsrp-architecture.svg new file mode 100644 index 0000000000..c73854b4c1 --- /dev/null +++ b/documentation/portal/original-drawings/wsrp-architecture.svg @@ -0,0 +1,1310 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg1901"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="wsrp-architecture.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs1903">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective206" />
+ <linearGradient
+ id="linearGradient11516">
+ <stop
+ id="stop11518"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop11520"
+ offset="1"
+ style="stop-color:#a090e7;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11508">
+ <stop
+ id="stop11510"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop11512"
+ offset="1"
+ style="stop-color:#e27979;stop-opacity:1" />
+ </linearGradient>
+ <marker
+ inkscape:stockid="DiamondL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="DiamondL"
+ style="overflow:visible">
+ <path
+ id="path4404"
+ d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.8)" />
+ </marker>
+ <marker
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="DiamondEmpty"
+ style="overflow:visible">
+ <path
+ id="path7"
+ d="M 0,-5 L -5,0 L 0,5 L 5,0 L 0,-5 z "
+ style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(1.0) translate(-5,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient3286">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop3288" />
+ <stop
+ style="stop-color:#79e291;stop-opacity:1;"
+ offset="1"
+ id="stop3290" />
+ </linearGradient>
+ <marker
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="EmptyArrow"
+ style="overflow:visible;">
+ <path
+ id="path9"
+ d="M 0.0,0.0 L 0.0,-5.0 L -12.5,0.0 L 0.0,5.0 L 0.0,0.0 z M -0.5,0.0 L -0.5,-4.5 L -12.0,0.0 L -0.5,4.5 L -0.5,0.0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(1.0) rotate(180) translate(10,0)" />
+ </marker>
+ <marker
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="EmptyArrow2"
+ style="overflow:visible;">
+ <path
+ id="path13"
+ d="M 0.0,0.0 L 0.0,-5.0 L -10.0,0.0 L 0.0,5.0 L 0.0,0.0 z"
+ style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(1.0) rotate(180) translate(10,0)" />
+ </marker>
+ <linearGradient
+ id="linearGradient19816">
+ <stop
+ id="stop19818"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop19820"
+ offset="1"
+ style="stop-color:#e7e790;stop-opacity:1;" />
+ </linearGradient>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ id="path16811"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(1,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lend"
+ style="overflow:visible;">
+ <path
+ id="path16829"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutM"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutM"
+ style="overflow:visible">
+ <path
+ id="path16731"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleInL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleInL"
+ style="overflow:visible">
+ <path
+ id="path16743"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(-0.8)" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutL"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="TriangleOutL"
+ style="overflow:visible">
+ <path
+ id="path16734"
+ d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.8)" />
+ </marker>
+ <linearGradient
+ id="linearGradient9263">
+ <stop
+ style="stop-color:#000000;stop-opacity:0"
+ offset="0"
+ id="stop9265" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop9267" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7299">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop7301" />
+ <stop
+ style="stop-color:#a090e7;stop-opacity:1"
+ offset="1"
+ id="stop7303" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5349">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop5351" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop5353" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4152">
+ <stop
+ style="stop-color:#6b6bff;stop-opacity:1;"
+ offset="0"
+ id="stop4154" />
+ <stop
+ style="stop-color:#6b6bff;stop-opacity:0;"
+ offset="1"
+ id="stop4156" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5349"
+ id="linearGradient5355"
+ x1="96.085953"
+ y1="148.38934"
+ x2="389.01985"
+ y2="148.38934"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient12637"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9214039,2.3896193e-3,-2.166448e-3,0.5977017,265.61411,78.560061)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient15668"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9214039,2.3896193e-3,-2.166448e-3,0.5977017,262.24281,78.560061)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient17873"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9214039,2.3896193e-3,-2.166448e-3,0.5977017,541.12253,30.198804)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient17875"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient20832"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6000725,2.3808346e-3,-3.7621654e-3,0.5955044,664.61868,-4.8275956)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22790"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22806"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22822"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient22838"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3286"
+ id="radialGradient2303"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6000725,2.3808346e-3,-3.7621654e-3,0.5955044,664.61868,-4.8275956)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient3306"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2251403,2.385383e-3,-2.8806072e-3,0.5966421,625.8055,-4.9637231)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient3307"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.634924,2.3804409e-3,-3.8441097e-3,0.5954059,670.96002,-4.81581)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient3327"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3286"
+ id="radialGradient8322"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6000725,2.3808346e-3,-3.7621654e-3,0.5955044,664.61868,-4.8275956)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient8338"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient8354"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient11393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2251403,2.385383e-3,-2.8806072e-3,0.5966421,625.8055,-4.9637231)"
+ cx="-145.65326"
+ cy="87.697487"
+ fx="-145.65326"
+ fy="87.697487"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient11490"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient11506"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11516"
+ id="linearGradient11514"
+ x1="402.58597"
+ y1="24.440832"
+ x2="535.59796"
+ y2="190.61652"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient11602"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient11604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11516"
+ id="linearGradient13616"
+ x1="174.35712"
+ y1="96.654701"
+ x2="220.02124"
+ y2="192.93446"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="radialGradient14623"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9722636,1.8198108e-3,-2.2860317e-3,0.4551788,579.72294,2.0165387)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7299"
+ id="linearGradient16644"
+ x1="160.84073"
+ y1="73.780838"
+ x2="239.77594"
+ y2="207.50426"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11516"
+ id="linearGradient18644"
+ x1="1036.6514"
+ y1="1185.2882"
+ x2="1076.5066"
+ y2="1351.074"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19816"
+ id="radialGradient19653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3208501,2.3843471e-3,-3.1056446e-3,0.596383,334.93437,78.721097)"
+ cx="-147.5"
+ cy="97.300964"
+ fx="-147.5"
+ fy="97.300964"
+ r="109.42857" />
+ <marker
+ id="marker52016"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-3"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-8"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-6"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-3"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-2"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-7"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-2"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-2"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker3452"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g3454"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path3456"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path3458"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker52016-29"
+ orient="auto"
+ markerHeight="5.7450786"
+ markerWidth="4.6297302">
+ <g
+ id="g52010-0"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path52012-28"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path52014-38"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-2"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-4"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-7"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-9"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-1"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-9"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-6"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-2"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-0"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-7"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-3"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-1"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-6"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-98"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-1"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-3"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-3"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-79"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-8"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-6"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-4"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-6"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-2"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-5"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-47"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-2"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-4"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-0"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-09"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-1"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-9"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-62"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker44971"
+ orient="auto"
+ markerHeight="5.7450781"
+ markerWidth="4.6297355">
+ <g
+ id="g18059"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path18061"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path18063"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#d9d9cd;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker44971-2"
+ orient="auto"
+ markerHeight="5.7450781"
+ markerWidth="4.6297355">
+ <g
+ id="g18059-6"
+ transform="matrix(0.5,0,0,0.5,-185.64299,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path18061-5"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path18063-2"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#d9d9cd;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ <marker
+ id="marker18095-04"
+ orient="auto"
+ markerHeight="5.7450776"
+ markerWidth="4.6297302">
+ <g
+ id="g11064-10"
+ transform="matrix(0.5,0,0,0.5,-185.64298,-257.19655)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="csccccccsccssssssssssssssccc"
+ id="path11050-48"
+ d="m 370,508.65625 c -0.86067,0.0587 -1.60944,0.6213 -1.90625,1.4375 -0.26976,0.74176 -0.0577,1.53493 0.4375,2.125 l -1.75,0 c -0.0424,-0.005 -0.0824,0.002 -0.125,0 l 0,4.375 0.125,0 1.75,0 c -0.67896,0.8597 -0.69701,2.11549 0.0937,2.90625 0.85091,0.85091 2.27409,0.85091 3.125,0 l 3.34375,-3.375 c 0.033,-0.0295 0.0643,-0.0608 0.0937,-0.0937 0.0322,-0.0193 0.0635,-0.0402 0.0937,-0.0625 3.7e-4,-3.6e-4 0.21851,-0.28079 0.21875,-0.28125 5e-5,-9e-5 -0.007,-0.0447 0,-0.0625 0.001,-0.003 0.03,0.003 0.0312,0 0.0391,-0.0521 0.051,-0.0518 0.0937,-0.125 0.13699,-0.23476 0.16684,-0.37191 0.15625,-0.34375 0.0368,-0.0915 0.0185,-0.11251 0.0312,-0.15625 0.0106,-0.0102 0.021,-0.0206 0.0312,-0.0312 0.06,-0.22398 0.0881,-0.51689 0.0625,-0.78125 -0.0136,-0.20363 -0.0589,-0.29765 -0.0625,-0.3125 1.4e-4,-0.0104 1.4e-4,-0.0208 0,-0.0312 0.026,0.097 0.0153,0.016 -0.0937,-0.25 -0.0525,-0.13039 -0.0899,-0.21936 -0.125,-0.28125 -0.0524,-0.0897 -0.13346,-0.26235 -0.34375,-0.46875 L 371.75,509.3125 c -0.45645,-0.48671 -1.08509,-0.71163 -1.75,-0.65625 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsssssssscccsccc"
+ id="path11035-7"
+ d="m 366.65625,515.40625 4.625,0 -1.8125,1.8125 c -0.39695,0.39695 -0.39695,1.04055 0,1.4375 0.39695,0.39695 1.04055,0.39695 1.4375,0 l 3.4375,-3.46875 0.0937,-0.0625 c 0.006,-0.006 -0.006,-0.0253 0,-0.0312 0.0554,-0.0572 0.1151,-0.11699 0.15625,-0.1875 0.0286,-0.0491 0.0429,-0.10409 0.0625,-0.15625 0.0124,-0.0307 0.0221,-0.0622 0.0312,-0.0937 0.0311,-0.1161 0.0427,-0.22493 0.0312,-0.34375 -0.004,-0.0578 -0.0174,-0.0996 -0.0312,-0.15625 -0.0109,-0.0407 -0.0151,-0.0857 -0.0312,-0.125 -0.0164,-0.0408 -0.0405,-0.0862 -0.0625,-0.125 -0.0455,-0.0779 -0.0936,-0.15726 -0.15625,-0.21875 l -3.53125,-3.53125 c -0.20891,-0.22276 -0.50816,-0.33785 -0.8125,-0.3125 -0.39478,0.0269 -0.73977,0.28438 -0.875,0.65625 -0.13524,0.37187 -0.0353,0.78826 0.25,1.0625 l 1.875,1.84375 -4.6875,0"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.5681681"
+ inkscape:cx="274.07458"
+ inkscape:cy="704.33931"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ gridtolerance="10000"
+ inkscape:window-width="1672"
+ inkscape:window-height="1019"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ showgrid="true"
+ showguides="false"
+ inkscape:connector-spacing="10"
+ inkscape:guide-bbox="true"
+ inkscape:window-maximized="0">
+ <sodipodi:guide
+ orientation="0,1"
+ position="31.938869,788.55965"
+ id="guide17449" />
+ <sodipodi:guide
+ orientation="1,0"
+ position="224.67342,882.17358"
+ id="guide17453" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="285.41744,976.57155"
+ id="guide23390" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="285.79781,806.73177"
+ id="guide23439" />
+ <sodipodi:guide
+ orientation="1,0"
+ position="561.68355,823.80254"
+ id="guide23441" />
+ <sodipodi:guide
+ orientation="1,0"
+ position="415.75596,833.7146"
+ id="guide23443" />
+ <sodipodi:guide
+ orientation="1,0"
+ position="61.675057,822.15053"
+ id="guide23607" />
+ <inkscape:grid
+ type="xygrid"
+ id="grid4485"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ spacingx="5px"
+ spacingy="5px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata1906">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Taso 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ style="opacity:1">
+ <g
+ id="g3412"
+ transform="translate(-7.6748962,-7.8071136)">
+ <rect
+ ry="3.7880721"
+ y="235.1693"
+ x="137.6749"
+ height="85"
+ width="179.50375"
+ id="rect6642-4"
+ style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-671.85539,-822.33805)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="13.12429"
+ width="115.65041"
+ id="rect11365" /></flowRegion><flowPara
+ id="flowPara11367">Consumer Portal</flowPara></flowRoot> <g
+ id="g28403-3"
+ transform="translate(131.9976,81.929642)">
+ <rect
+ ry="3.7880721"
+ y="180.43254"
+ x="21.810513"
+ height="30.488556"
+ width="74.539879"
+ id="rect4680-7"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 2;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-787.52461,-876.85286)"
+ style="font-size:11px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-6-1"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-2-0"><rect
+ style="font-size:11px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="42.457775"
+ width="136.60326"
+ id="rect11365-5-4" /></flowRegion><flowPara
+ id="flowPara17609">Portlet 1</flowPara></flowRoot> </g>
+ <g
+ id="g28403-3-4"
+ transform="translate(211.32451,99.248199)">
+ <rect
+ ry="3.7880721"
+ y="180.43254"
+ x="21.810513"
+ height="30.488556"
+ width="74.539879"
+ id="rect4680-7-44"
+ style="fill:#f39300;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 2;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-787.52461,-876.85286)"
+ style="font-size:11px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-6-1-47"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-2-0-6"><rect
+ style="font-size:11px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="42.457775"
+ width="136.60326"
+ id="rect11365-5-4-3" /></flowRegion><flowPara
+ id="flowPara17609-1">Portlet 2</flowPara></flowRoot> </g>
+ </g>
+ <g
+ id="g3169"
+ transform="translate(0,75)">
+ <rect
+ ry="3.7880721"
+ y="82.362183"
+ x="130"
+ height="55"
+ width="370"
+ id="rect6642-43-5"
+ style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:1.77199996;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-678.875,-976.17532)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11369-1-5"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11371-4-0"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="17.201656"
+ width="297.23941"
+ id="rect11373-9-6" /></flowRegion><flowPara
+ id="flowPara11375-2-4">Web Browser</flowPara></flowRoot> </g>
+ <g
+ id="g3412-1"
+ transform="translate(182.3251,-7.8071136)">
+ <rect
+ ry="3.7880721"
+ y="235.1693"
+ x="137.6749"
+ height="85"
+ width="179.50375"
+ id="rect6642-4-8"
+ style="fill:#c8c8c8;fill-opacity:1;stroke:#000000;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-671.85539,-822.33805)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-9"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-64"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="18.12429"
+ width="125.65041"
+ id="rect11365-3" /></flowRegion><flowPara
+ id="flowPara11367-3">Consumer Portal</flowPara></flowRoot> <g
+ id="g28403-3-38"
+ transform="translate(201.32451,84.248199)">
+ <rect
+ ry="3.7880721"
+ y="180.43254"
+ x="21.810513"
+ height="30.488556"
+ width="74.539879"
+ id="rect4680-7-6"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 2;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-787.52461,-876.85286)"
+ style="font-size:11px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-6-1-0"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-2-0-4"><rect
+ style="font-size:11px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="42.457775"
+ width="136.60326"
+ id="rect11365-5-4-8" /></flowRegion><flowPara
+ id="flowPara17609-8">Portlet 1</flowPara></flowRoot> </g>
+ </g>
+ <g
+ id="g3412-3"
+ transform="translate(-7.6748962,92.192886)">
+ <rect
+ ry="3.7880721"
+ y="235.1693"
+ x="137.6749"
+ height="75"
+ width="179.50375"
+ id="rect6642-4-0"
+ style="fill:#9b9b9b;fill-opacity:1;stroke:#000000;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-671.85539,-822.33805)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-3"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-0"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="13.12429"
+ width="115.65041"
+ id="rect11365-9" /></flowRegion><flowPara
+ id="flowPara11367-2">Producer Portal</flowPara></flowRoot> <g
+ id="g28403-3-5"
+ transform="translate(191.32451,89.2482)">
+ <rect
+ ry="3.7880721"
+ y="180.43254"
+ x="21.810513"
+ height="30.488556"
+ width="74.539879"
+ id="rect4680-7-4"
+ style="fill:#49c2f1;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-787.52461,-876.85286)"
+ style="font-size:11px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-6-1-05"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-2-0-9"><rect
+ style="font-size:11px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="42.457775"
+ width="136.60326"
+ id="rect11365-5-4-4" /></flowRegion><flowPara
+ id="flowPara17609-6">Portlet 1</flowPara></flowRoot> </g>
+ </g>
+ <g
+ id="g3412-3-2"
+ transform="translate(182.3251,92.192886)">
+ <rect
+ ry="3.7880721"
+ y="235.1693"
+ x="137.6749"
+ height="75"
+ width="179.50375"
+ id="rect6642-4-0-8"
+ style="fill:#9b9b9b;fill-opacity:1;stroke:#000000;stroke-width:1.77165353;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-671.85539,-822.33805)"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-3-9"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-0-3"><rect
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="13.12429"
+ width="115.65041"
+ id="rect11365-9-6" /></flowRegion><flowPara
+ id="flowPara11367-2-8">Producer Portal</flowPara></flowRoot> <g
+ id="g28403-3-4-9-1"
+ transform="translate(190.86439,88.56861)">
+ <rect
+ ry="3.7880721"
+ y="180.43254"
+ x="21.810513"
+ height="30.488556"
+ width="74.539879"
+ id="rect4680-7-44-2-0"
+ style="fill:#f39300;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <flowRoot
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/magi/itmill/toolkit5/doc/manual/img/intro/toolchain.png"
+ transform="translate(-787.52461,-876.85286)"
+ style="font-size:11px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ id="flowRoot11361-6-1-47-2-8"
+ xml:space="preserve"><flowRegion
+ id="flowRegion11363-2-0-6-4-5"><rect
+ style="font-size:11px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;font-family:Helvetica Rounded LT Std;-inkscape-font-specification:Helvetica Rounded LT Std Bold"
+ y="1064.3831"
+ x="813.87988"
+ height="42.457775"
+ width="136.60326"
+ id="rect11365-5-4-3-7-0" /></flowRegion><flowPara
+ id="flowPara17609-1-7-6">Portlet 2</flowPara></flowRoot> </g>
+ </g>
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker18095)"
+ d="m 265,322.36218 0,45.55067"
+ id="path4780-1-1-8"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
+ d="m 205,322.36218 215,0"
+ id="path4780-1-1-8-6"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
+ d="m 205,282.36218 0,40"
+ id="path4780-1-1-8-6-0"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#49c2f1;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
+ d="m 420,282.36218 0,40"
+ id="path4780-1-1-8-6-0-4"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#e6e6e6;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker44971)"
+ d="m 295,207.36218 0,25"
+ id="path4780-1-1-8-5"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#e6e6e6;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker44971)"
+ d="m 485,207.36218 0,25"
+ id="path4780-1-1-8-5-6"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#f39300;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
+ d="m 290,317.36218 165,0"
+ id="path4780-1-1-8-6-9"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#f39300;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker52016-29)"
+ d="m 455,317.36218 0,50"
+ id="path4780-1-1-8-0"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#f39300;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
+ d="m 290,297.36218 0,20"
+ id="path4780-1-1-8-6-9-7"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Varjot" />
+</svg>
diff --git a/documentation/portal/portal-deployment.asciidoc b/documentation/portal/portal-deployment.asciidoc new file mode 100644 index 0000000000..dc3cf49e00 --- /dev/null +++ b/documentation/portal/portal-deployment.asciidoc @@ -0,0 +1,305 @@ +--- +title: Deploying to a Portal +order: 5 +layout: page +--- + +[[portal.deployment]] += Deploying to a Portal + +To deploy a portlet WAR in a portal, you need to provide a +[filename]#portlet.xml# descriptor specified in the Java Portlet API 2.0 +standard (JSR-286). In addition, you may need to include possible portal vendor +specific deployment descriptors. The ones required by Liferay are described +below. + +Deploying a Vaadin UI as a portlet is essentially just as easy as deploying a +regular application to an application server. You do not need to make any +changes to the UI itself, but only the following: + +[options="compact"] +* Application packaged as a WAR + +[options="compact"] +** [filename]#WEB-INF/portlet.xml# descriptor + +** [filename]#WEB-INF/liferay-portlet.xml# descriptor for Liferay + +** [filename]#WEB-INF/liferay-display.xml# descriptor for Liferay + +** [filename]#WEB-INF/liferay-plugin-package.properties# for Liferay + + +* Widget set installed to portal (optional) +* Themes installed to portal (optional) +* Vaadin libraries installed to portal (optional) +* Portal configuration settings (optional) + +The Vaadin Plugin for Eclipse creates these files for you, when you create a +portlet project as described in +<<dummy/../../../framework/portal/portal-eclipse#portal.eclipse,"Creating a +Generic Portlet in Eclipse">>. + +Installing the widget set and themes to the portal is required for running two +or more Vaadin portlets simultaneously in a single portal page. As this +situation occurs quite easily, we recommend installing them in any case. +Instructions for Liferay are given in +<<dummy/../../../framework/portal/portal-liferay#portal.liferay,"Developing +Vaadin Portlets for Liferay">> and the procedure is similar for other portals. + +In addition to the Vaadin libraries, you will need to have the +[filename]#portlet.jar# in your project classpath. However, notice that you must +__not__ put the [filename]#portlet.jar# in the same [filename]#WEB-INF/lib# +directory as the Vaadin JAR or otherwise include it in the WAR to be deployed, +because it would create a conflict with the internal portlet library of the +portal. The conflict would cause errors such as " +[literal]#++ClassCastException: ...VaadinPortlet cannot be cast to +javax.portlet.Portlet++#". + +[[portal.deployment.descriptor]] +== Portlet Deployment Descriptor + +The portlet WAR must include a portlet descriptor located at +[filename]#WEB-INF/portlet.xml#. A portlet definition includes the portlet name, +mapping to a servlet, modes supported by the portlet, and other configuration. +Below is an example of a simple portlet definition in [filename]#portlet.xml# +descriptor. + +[subs="normal"] +---- +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<portlet-app + xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + version="2.0" + xsi:schemaLocation= + "http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd + http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"> + + <portlet> + <portlet-name>**Portlet Example portlet**</portlet-name> + <display-name>**Vaadin Portlet Example**</display-name> + + <!-- Map portlet to a servlet. --> + <portlet-class> + com.vaadin.server.VaadinPortlet + </portlet-class> + <init-param> + <name>UI</name> + + <!-- The application class with package name. --> + <value>**com.example.myportlet.MyportletUI**</value> + </init-param> + + <!-- Supported portlet modes and content types. --> + <supports> + <mime-type>text/html</mime-type> + <portlet-mode>view</portlet-mode> + <portlet-mode>edit</portlet-mode> + <portlet-mode>help</portlet-mode> + </supports> + + <!-- Not always required but Liferay requires these. --> + <portlet-info> + <title>**Vaadin Portlet Example**</title> + <short-title>**Portlet Example**</short-title> + </portlet-info> + </portlet> +</portlet-app> +---- +Listing supported portlet modes in [filename]#portlet.xml# enables the +corresponding portlet controls in the portal user interface that allow changing +the mode, as described later. + + +[[portal.deployment.liferay]] +== Liferay Portlet Descriptor + +((("Liferay", "portlet descriptor", id="term.portal.liferay.descriptor.liferay-portlet.liferay", range="startofrange"))) + + +Liferay requires a special [filename]#liferay-portlet.xml# descriptor file that +defines Liferay-specific parameters. Especially, Vaadin portlets must be defined +as " __instanceable__", but not " __ajaxable__". + +Below is an example descriptor for the earlier portlet example: + +[subs="normal"] +---- +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE liferay-portlet-app PUBLIC + "-//Liferay//DTD Portlet Application 4.3.0//EN" + "http://www.liferay.com/dtd/liferay-portlet-app_4_3_0.dtd"> + +<liferay-portlet-app> + <portlet> + <!-- Matches definition in portlet.xml. --> + <!-- Note: Must not be the same as servlet name. --> + <portlet-name>**Portlet Example portlet**</portlet-name> + + <instanceable>true</instanceable> + <ajaxable>false</ajaxable> + </portlet> +</liferay-portlet-app> +---- +See Liferay documentation for further details on the +[filename]#liferay-portlet.xml# deployment descriptor. + +(((range="endofrange", startref="term.portal.liferay.descriptor.liferay-portlet.liferay"))) + +[[portal.deployment.liferay-display]] +== Liferay Display Descriptor + +((("[filename]#liferay-display.xml#", id="term.portal.liferay.descriptor.liferay-display", range="startofrange"))) + + +((("Liferay", "display descriptor", id="term.portal.liferay.descriptor.liferay-display.liferay", range="startofrange"))) + + +The [filename]#WEB-INF/liferay-display.xml# file defines the portlet category +under which portlets are located in the [guilabel]#Add Application# window in +Liferay. Without this definition, portlets will be organized under the +"Undefined" category. + +The following display configuration, which is included in the demo WAR, puts the +Vaadin portlets under the "Vaadin" category, as shown in +<<figure.portal.liferay.descriptor.display>>. + + +---- +<?xml version="1.0"?> +<!DOCTYPE display PUBLIC + "-//Liferay//DTD Display 4.0.0//EN" + "http://www.liferay.com/dtd/liferay-display_4_0_0.dtd"> + +<display> + <category name="Vaadin"> + <portlet id="Portlet Example portlet" /> + </category> +</display> +---- + +[[figure.portal.liferay.descriptor.display]] +.Portlet Categories in Add Application Window +image::img/liferay-display-hi.png[] + +See Liferay documentation for further details on how to configure the categories +in the [filename]#liferay-display.xml# deployment descriptor. + +(((range="endofrange", startref="term.portal.liferay.descriptor.liferay-display"))) +(((range="endofrange", startref="term.portal.liferay.descriptor.liferay-display.liferay"))) + +[[portal.deployment.liferay-plugin]] +== Liferay Plugin Package Properties + +((("[filename]#liferay-plugin-package.xml#", id="term.portal.liferay.descriptor.liferay-plugin", range="startofrange"))) + + +((("Liferay", "plugin properties", id="term.portal.liferay.descriptor.liferay-plugin.liferay", range="startofrange"))) + + +The [filename]#liferay-plugin-package.properties# file defines a number of +settings for the portlet, most importantly the Vaadin JAR to be used. + +[subs="normal"] +---- +name=**Portlet Example portlet** +short-description=**myportlet** +module-group-id=**Vaadin** +module-incremental-version=1 +#change-log= +#page-uri= +#author= +license=Proprietary +portal-dependency-jars=\ + **vaadin.jar** +---- +[parameter]#name#:: The plugin name must match the portlet name. + +[parameter]#short-description#:: A short description of the plugin. This is by default the project name. + +[parameter]#module-group-id#:: The application group, same as the category id defined in +[filename]#liferay-display.xml#. + +[parameter]#license#:: The plugin license type; "proprietary" by default. + +[parameter]#portal-dependency-jars#:: The JAR libraries on which this portlet depends. This should have value +[filename]#vaadin.jar#, unless you need to use a specific version. The JAR must +be installed in the portal, for example, in Liferay bundled with Tomcat to +[filename]#tomcat-x.x.x/webapps/ROOT/WEB-INF/lib/vaadin.jar#. + + + +(((range="endofrange", startref="term.portal.liferay.descriptor.liferay-plugin"))) +(((range="endofrange", startref="term.portal.liferay.descriptor.liferay-plugin.liferay"))) + +[[portal.deployment.widgetset]] +== Using a Single Widget Set + +If you have just one Vaadin application that you ever need to run in your +portal, you can just deploy the WAR as described above and that's it. However, +if you have multiple applications, especially ones that use different custom +widget sets, you run into problems, because a portal window can load only a +single Vaadin widget set at a time. You can solve this problem by combining all +the different widget sets in your different applications into a single widget +set using inheritance or composition. + +For example, if using the default widget set for portlets, you should have the +following for all portlets so that they will all use the same widget set: + + +---- +<portlet> + ... + <!-- Use the portal default widget set for all portal demos. --> + <init-param> + <name>widgetset</name> + <value>com.vaadin.portal.PortalDefaultWidgetSet</value> + </init-param> + ... +---- + +The [classname]#PortalDefaultWidgetSet# extends [classname]#SamplerWidgetSet#, +which extends the [classname]#DefaultWidgetSet#. The +[classname]#DefaultWidgetSet# is therefore essentially a subset of +[classname]#PortalDefaultWidgetSet#, which contains also the widgets required by +the Sampler demo. Other applications that would otherwise require only the +regular [classname]#DefaultWidgetSet#, and do not define their own widgets, can +just as well use the larger set, making them compatible with the demos. The +[classname]#PortalDefaultWidgetSet# will also be the default Vaadin widgetset +bundled in Liferay 5.3 and later. + +If your portlets are contained in multiple WARs, which can happen quite +typically, you need to install the widget set and theme portal-wide so that all +the portlets can use them. See +<<dummy/../../../framework/portal/portal-liferay#portal.liferay,"Developing +Vaadin Portlets for Liferay">> on configuring the widget sets in the portal +itself. + + +[[portal.deployment.war]] +== Building the WAR Package + +To deploy the portlet, you need to build a WAR package. For production +deployment, you probably want to either use Maven or an Ant script to build the +package. In Eclipse, you can right-click on the project and select "Export > +WAR". Choose a name for the package and a target. If you have installed Vaadin +in the portal as described in +<<dummy/../../../framework/portal/portal-liferay#portal.liferay,"Developing +Vaadin Portlets for Liferay">>, you should exclude all the Vaadin libraries, as +well as widget set and themes from the WAR. + + +[[portal.deployment.deploy]] +== Deploying the WAR Package + +How you actually deploy a WAR package depends on the portal. In Liferay, you +simply drop it to the [filename]#deploy# subdirectory under the Liferay +installation directory. The deployment depends on the application server under +which Liferay runs; for example, if you use Liferay bundled with Tomcat, you +will find the extracted package in the [filename]#webapps# directory under the +Tomcat installation directory included in Liferay. + + + + diff --git a/documentation/portal/portal-eclipse.asciidoc b/documentation/portal/portal-eclipse.asciidoc new file mode 100644 index 0000000000..32d50e5a9d --- /dev/null +++ b/documentation/portal/portal-eclipse.asciidoc @@ -0,0 +1,98 @@ +--- +title: Creating a Generic Portlet in Eclipse +order: 2 +layout: page +--- + +[[portal.eclipse]] += Creating a Generic Portlet in Eclipse + +Here we describe the creation of a generic portlet project in Eclipse. You can +use the Maven archetypes also in other IDEs or without an IDE. + +For Liferay portlet development, you may instead want to use the Maven archetype +or Liferay IDE to create the project, as described in +<<dummy/../../../framework/portal/portal-liferay#portal.liferay,"Developing +Vaadin Portlets for Liferay">>. + +[[portal.eclipse.vaadin]] +== Creating a Project with Vaadin Plugin + +The Vaadin Plugin for Eclipse has a wizard for easy creation of generic portlet +projects. It creates a UI class and all the necessary descriptor files. + +Creating a portlet project is almost identical to the creation of a regular +Vaadin servlet application project. For a full treatment of the New Project +Wizard and the possible options, please see +<<dummy/../../../framework/getting-started/getting-started-first-project#getting-started.first-project.creation,"Creating +the Project">>. + +. Start creating a new project by selecting from the menu "File > New > Project..."+ +//TODO Use ellipsis + +//<?dbfo-need height="8cm" ?> +. In the [guilabel]#New Project# window that opens, select "Web > Vaadin 7 Project" and click [guibutton]#Next#. +//<?dbfo-need height="10cm" ?> +. In the [guilabel]#Vaadin Project# step, you need to set the basic web project +settings. You need to give at least the project name, the runtime, select +[guilabel]#Generic Portlet# for the [guilabel]#Deployment configuration#; the +default values should be good for the other settings. + +ifdef::web[] ++ +image::img/project-new-portlet-1.png[] +endif::web[] + ++ +You can click [guibutton]#Finish# here to use the defaults for the rest of the +settings, or click [guibutton]#Next#. + +. The settings in the [guilabel]#Web Module# step define the basic servlet-related +settings and the structure of the web application project. All the settings are +pre-filled, and you should normally accept them as they are and click +[guibutton]#Next#. + +. The [guilabel]#Vaadin project# step page has various Vaadin-specific application +settings. These are largely the same as for regular applications. Setting them +here is easiest - later some of the changes require changes in several different +files. The [guilabel]#Create portlet template# option should be automatically +selected. You can give another portlet title of you want. You can change most of +the settings afterward. + ++ +image::img/project-new-portlet-3.png[] + +[guilabel]#Create project template#:: Creates a UI class and all the needed portlet deployment descriptors. + +[guilabel]#Application name#:: The application name is used in the title of the browser window, which is +usually invisible in portlets, and as an identifier, either as is or with a +suffix, in various deployment descriptors. + +[guilabel]#Base package name#:: Java package for the UI class. + +[guilabel]#Application class name#:: Name of the UI class. The default is derived from the project name. + +[guilabel]#Theme name#:: Name of the custom portlet theme to use. + +[guilabel]#Portlet version#:: Same as in the project settings. + +[guilabel]#Portlet title#:: The portlet title, defined in [filename]#portlet.xml#, can be used as the +display name of the portlet (at least in Liferay). The default value is the +project name. The title is also used as a short description in +[filename]#liferay-plugin-package.properties#. + +[guilabel]#Vaadin version#:: Same as in the project settings. + + + ++ +Finally, click [guibutton]#Finish# to create the project. + +. Eclipse may ask you to switch to J2EE perspective. A Dynamic Web Project uses an +external web server and the J2EE perspective provides tools to control the +server and manage application deployment. Click [guibutton]#Yes#. + + + + + diff --git a/documentation/portal/portal-liferay-ipc.asciidoc b/documentation/portal/portal-liferay-ipc.asciidoc new file mode 100644 index 0000000000..f60ff58bf5 --- /dev/null +++ b/documentation/portal/portal-liferay-ipc.asciidoc @@ -0,0 +1,361 @@ +--- +title: Vaadin IPC for Liferay +order: 6 +layout: page +--- + +[[portal.liferay-ipc]] += Vaadin IPC for Liferay + +((("IPC add-on", id="term.portal.liferay-ipc", range="startofrange"))) + + +Portlets rarely live alone. A page can contain multiple portlets and when the +user interacts with one portlet, you may need to have the other portlets react +to the change immediately. This is not normally possible with Vaadin portlets, +as Vaadin applications need to get an Ajax request from the client-side to +change their user interface. On the other hand, the regular inter-portlet +communication (IPC) mechanism in Portlet 2.0 Specification requires a complete +page reload, but that is not appropriate with Vaadin or in general Ajax +applications, which do not require a page reload. One solution is to communicate +between the portlets on the server-side and then use a server-push mechanism to +update the client-side. + +The Vaadin IPC for Liferay Add-on takes another approach by communicating +between the portlets through the client-side. Events (messages) are sent through +the [classname]#LiferayIPC# component and the client-side widget relays them to +the other portlets, as illustrated in +<<figure.portal.liferay-ipc.architecture>>. + +[[figure.portal.liferay-ipc.architecture]] +.Vaadin IPC for Liferay Architecture +image::img/liferay-ipc-architecture-hi.png[] + +Vaadin IPC for Liferay uses the Liferay JavaScript event API for client-side +inter-portlet communication, so you can communicate just as easily with other +Liferay portlets. + +Notice that you can use this communication only between portlets on the same +page. + +<<figure.portal.liferay-ipc.demo>> shows Vaadin IPC for Liferay in action. +Entering a new item in one portlet is updated interactively in the other. + +[[figure.portal.liferay-ipc.demo]] +.Vaadin IPC Add-on Demo with Two Portlets +image::img/liferay-ipc-demo-annotated-lo.png[] + +[[portal.liferay-ipc.installation]] +== Installing the Add-on + +The Vaadin IPC for Liferay add-on is available from the Vaadin Directory as well +as from a Maven repository. To download the installation package or find out the +Maven or Ivy dependency, see the +link:https://vaadin.com/directory#addon/vaadin-ipc-for-liferay[add-on page at +Vaadin Directory], and install the add-on as described in +<<dummy/../../../framework/addons/addons-overview.asciidoc#addons.overview,"Using +Vaadin Add-ons">>. + +The contents of the installation package are as follows: + +[filename]#vaadin-ipc-for-liferay-x.x.x.jar#:: The add-on JAR in the installation package must be installed in the [filename]#WEB-INF/lib# directory under the root context. The location depends on the server - for example in Liferay running in Tomcat it is located under the [filename]#webapps/ROOT# folder of the server. +[filename]#doc#:: The documentation folder includes a [filename]#README.TXT# file that describes the contents of the installation package briefly, and [filename]#licensing.txt# and [filename]#license-asl-2.0.txt#, which describe the licensing under the Apache License 2.0. Under the [filename]#doc/api# folder is included the complete JavaDoc API documentation for the add-on. +[filename]#vaadin-ipc-for-liferay-x.x.x-demo.war#:: A WAR containing demo portlets. After installing the add-on library and compiling the widget set, as described below, you can deploy the WAR to Liferay and add the two demo portlets to a page, as shown in <<figure.portal.liferay-ipc.demo>>. The source of the demo is available at link:http://dev.vaadin.com/svn/addons/IPCforLiferay/trunk/demo/src/com/vaadin/addon/ipcforliferay/demo/[dev.vaadin.com/svn/addons/IPCforLiferay/trunk/]. + + +The add-on contains a widget set, which you must compile into the Vaadin widget +set installed in the portal. + + +[[portal.liferay-ipc.communication]] +== Basic Communication + +[classname]#LiferayIPC# is an invisible user interface component that can be +used to send messages between two or more Vaadin portlets. You add it to an +application layout as you would any regular user interface component. + + +---- +LiferayIPC liferayipc = new LiferayIPC(); +layout.addComponent(liferayipc); +---- + +You should be careful not to remove the invisible component from the portlet +later if you modify the layout of the portlet. + +The component can be used both for sending and receiving messages, as described +next. + +[[portal.liferay-ipc.communication.sending]] +=== Sending Events + +You can send an event (a message) with the [methodname]#sendEvent()# method, +which takes an event ID and the message data as parameters. The event is +broadcast to all listening portlets. The event ID is a string that can be used +to identify the recipient of an event or the event type. + + +---- +liferayipc.sendEvent("hello", "This is Data"); +---- + +If you need to send more complex data, you need to format or serialize it to a +string representation as described in <<portal.liferay-ipc.serialization>>. + + +[[portal.liferay-ipc.communication.receiving]] +=== Receiving Events + +A portlet wishing to receive events (messages) from other portlets needs to +register a listener in the component with [methodname]#addListener()#. The +listener receives the messages in a [classname]#LiferayIPCEvent# object. +Filtering events by the ID is built in into the listener handler, you give the +listened event ID as the first parameter for the [methodname]#addListener()#. +The actual message data is held in the [parameter]#data# property, which you can +read with [methodname]#getData()#. + + +---- +liferayipc.addListener("hello", new LiferayIPCEventListener() { + public void eventReceived(LiferayIPCEvent event) { + // Do something with the message data + String data = event.getData(); + Notification.show("Received hello: " + data); + } +}); +---- + +A listener added to a [classname]#LiferayIPC# can be removed with +[methodname]#removeListener()#. + + + +[[portal.liferay-ipc.concerns]] +== Considerations + +Both security and efficiency should be considered with inter-portlet +communications when using the Vaadin IPC for Liferay. + +[[portal.liferay-ipc.concerns.security]] +=== Browser Security + +As the message data is passed through the client-side (browser), any code +running in the browser has access to the data. You should be careful not to +expose any security-critical data in client-side messaging. Also, malicious code +running in the browser could alter or fake messages. Sanitization can help with +the latter problem and encryption to solve the both issues. You can also share +the sensitive data through session attributes or a database and use the +client-side IPC only to notify that the data is available. + + +[[portal.liferay-ipc.concerns.efficiency]] +=== Efficiency + +Sending data through the browser requires loading and sending it in HTTP +requests. The data is held in the memory space of the browser, and handling +large data in the client-side JavaScript code can take time. Noticeably large +message data can therefore reduce the responsiveness of the application and +could, in extreme cases, go over browser limits for memory consumption or +JavaScript execution time. + + + +[[portal.liferay-ipc.attributes]] +== Communication Through Session Attributes + +In many cases, such as when considering security or efficiency, it is better to +pass the bulk data on the server-side and use the client-side IPC only for +notifying the other portlet(s) that the data is available. Session attributes +are a conveninent way of sharing data on the server-side. You can also share +objects through them, not just strings. + +The session variables have a __scope__, which should be +[parameter]#APPLICATION_SCOPE#. The "application" refers to the scope of the +Java web application (WAR) that contains the portlets. + +If the communicating portlets are in the same Java web application (WAR), no +special configuration is needed. You can also communicate between portlets in +different WARs, in which case you need to disable the +[parameter]#private-session-attributes# parameter in +[filename]#liferay-portlet.xml# by setting it to [literal]#++false++#. Please +see Liferay documentation for more information regarding the configuration. + +You can also share Java objects between the portlets in the same WAR, not just +strings. If the portlets are in different WARs, they normally have different +class loaders, which could cause incompatibilities, so you can only communicate +with strings and any object data needs to be serialized. + +Session attributes are accessible through the [classname]#PortletSession# +object, which you can access through the portlet context from the Vaadin +[classname]#Application# class. + + +---- +Person person = new Person(firstname, lastname, age); +... + +PortletSession session = + ((PortletApplicationContext2)getContext()). + getPortletSession(); + +// Share the object +String key = "IPCDEMO_person"; +session.setAttribute(key, person, + PortletSession.APPLICATION_SCOPE); + +// Notify that it's available +liferayipc.sendEvent("ipc_demodata_available", key); +---- + +You can then receive the attribute in a [classname]#LiferayIPCEventListener# as +follows: + + +---- +public void eventReceived(LiferayIPCEvent event) { + String key = event.getData(); + + PortletSession session = + ((PortletApplicationContext2)getContext()). + getPortletSession(); + + // Get the object reference + Person person = (Person) session.getAttribute(key); + + // We can now use the object in our application + BeanItem<Person> item = new BeanItem<Person> (person); + form.setItemDataSource(item); +} +---- + +Notice that changes to a shared object bound to a user interface component are +not updated automatically if it is changed in another portlet. The issue is the +same as with double-binding in general. + + +[[portal.liferay-ipc.serialization]] +== Serializing and Encoding Data + +The IPC events support transmitting only plain strings, so if you have object or +other non-string data, you need to format or serialize it to a string +representation. For example, the demo application formats the trivial data model +as a semicolon-separated list as follows: + + +---- +private void sendPersonViaClient(String firstName, + String lastName, int age) { + liferayIPC_1.sendEvent("newPerson", firstName + ";" + + lastName + ";" + age); +} +---- + +You can use standard Java serialization for any classes that implement the +[interfacename]#Serializable# interface. The transmitted data may not include +any control characters, so you also need to encode the string, for example by +using Base64 encoding. + + +---- +// Some serializable object +MyBean mybean = new MyBean(); +... + +// Serialize +ByteArrayOutputStream baostr = new ByteArrayOutputStream(); +ObjectOutputStream oostr; +try { + oostr = new ObjectOutputStream(baostr); + oostr.writeObject(mybean); // Serialize the object + oostr.close(); +} catch (IOException e) { + Notification.show("IO PAN!"); // Complain +} + +// Encode +BASE64Encoder encoder = new BASE64Encoder(); +String encoded = encoder.encode(baostr.toByteArray()); + +// Send the IPC event to other portlet(s) +liferayipc.sendEvent("mybeanforyou", encoded); +---- + +You can then deserialize such a message at the receiving end as follows: + + +---- +public void eventReceived(LiferayIPCEvent event) { + String encoded = event.getData(); + + // Decode and deserialize it + BASE64Decoder decoder = new BASE64Decoder(); + try { + byte[] data = decoder.decodeBuffer(encoded); + ObjectInputStream ois = + new ObjectInputStream( + new ByteArrayInputStream(data)); + + // The deserialized bean + MyBean deserialized = (MyBean) ois.readObject(); + ois.close(); + + ... do something with the bean ... + + } catch (IOException e) { + e.printStackTrace(); // Handle somehow + } catch (ClassNotFoundException e) { + e.printStackTrace(); // Handle somehow + } +} +---- + + +[[portal.liferay-ipc.nonvaadin]] +== Communicating with Non-Vaadin Portlets + +You can use the Vaadin IPC for Liferay to communicate also between a Vaadin +application and other portlets, such as JSP portlets. The add-on passes the +events as regular Liferay JavaScript events. The demo WAR includes two JSP +portlets that demonstrate the communication. + +When sending events from non-Vaadin portlet, fire the event using the JavaScript +[methodname]#Liferay.fire()# method with an event ID and message. For example, +in JSP you could have: + + +---- +<%@ taglib uri="http://java.sun.com/portlet_2_0" + prefix="portlet" %> +<portlet:defineObjects /> + +<script> +function send_message() { + Liferay.fire('hello', "Hello, I'm here!"); +} +</script> + +<input type="button" value="Send message" + onclick="send_message()" /> +---- + +You can receive events using a Liferay JavaScript event handler. You define the +handler with the [methodname]#on()# method in the Liferay object. It takes the +event ID and a callback function as its parameters. Again in JSP you could have: + + +---- +<%@ taglib uri="http://java.sun.com/portlet_2_0" + prefix="portlet" %> +<portlet:defineObjects /> + +<script> +Liferay.on('hello', function(event, data) { + alert("Hello: " + data); +}); +</script> +---- + + +(((range="endofrange", startref="term.portal.liferay-ipc"))) + + diff --git a/documentation/portal/portal-liferay.asciidoc b/documentation/portal/portal-liferay.asciidoc new file mode 100644 index 0000000000..4081422fad --- /dev/null +++ b/documentation/portal/portal-liferay.asciidoc @@ -0,0 +1,274 @@ +--- +title: Developing Vaadin Portlets for Liferay +order: 3 +layout: page +--- + +[[portal.liferay]] += Developing Vaadin Portlets for Liferay + +A Vaadin portlet requires resources such as the server-side Vaadin libraries, a +theme, and a widget set. You have two basic ways to deploy these: either +globally in Liferay, so that the resources are shared between all Vaadin +portlets, or as self-contained WARs, where each portlet carries their own +resources. + +The self-contained way is easier and more flexible to start with, as the +different portlets may have different versions of the resources. Currently, the +latest Maven archetypes support the self-contained portlets, while with portlets +created with the Vaadin Plugin for Eclipse only support globally deployed +resources. + +Using shared resources is more efficient when you have multiple Vaadin portlets +on the same page, as they can share the common resources. However, they must use +exactly same Vaadin version. This is recommended for production environments, +where you can even serve the theme and widget set from a front-end server. You +can install the shared resources as described in <<portal.liferay.install>>. + +At the time of writing, the latest Liferay release 6.2 is bundled with a version +of Vaadin release 6. If you want to use Vaadin 7 portlets with shared resources, +you first need to remove the old ones as described in <<portal.liferay.remove>>. + +[[portal.liferay.profile]] +== Defining Liferay Profile for Maven + +When creating a Liferay portlet project with a Maven archetype or the Liferay +IDE, you need to define a Liferay profile. With the Liferay IDE, you can create +it when you create the project, as described in <<portal.liferay.ide>>, but for +creating a project from the Maven archetype, you need to define in manually. + +[[portal.liferay.profile.settings]] +=== Defining Profile in [filename]#settings.xml# + +Liferay profile can be defined either in the user or in the global +[filename]#settings.xml# file for Maven. The global settings file is located in +[filename]#${MAVEN_HOME}/conf/settings.xml# and the user settings file in +[filename]#${USER_HOME}/.m2/settings.xml#. To create a user settings file, copy +at least the relevant headers and root element from the global settings file. + +[subs="normal"] +---- +... +<profile> + <id>**liferay**</id> + <properties> + <liferayinstall>**/opt/liferay-portal-6.2-ce-ga2** + </liferayinstall> + <plugin.type>portlet</plugin.type> + <liferay.version>**6.2.1**</liferay.version> + <liferay.maven.plugin.version>**6.2.1** + </liferay.maven.plugin.version> + <liferay.auto.deploy.dir>${liferayinstall}/**deploy** + </liferay.auto.deploy.dir> + + <!-- Application server version - here for Tomcat --> + <liferay.tomcat.version>**7.0.42**</liferay.tomcat.version> + <liferay.tomcat.dir> + ${liferayinstall}/tomcat-${liferay.tomcat.version} + </liferay.tomcat.dir> + + <liferay.app.server.deploy.dir>**${liferay.tomcat.dir}/webapps** + </liferay.app.server.deploy.dir> + <liferay.app.server.lib.global.dir>**${liferay.tomcat.dir}/lib/ext** + </liferay.app.server.lib.global.dir> + <liferay.app.server.portal.dir>**${liferay.tomcat.dir}/webapps/ROOT** + </liferay.app.server.portal.dir> + </properties> +</profile> +---- +The parameters are as follows: + +liferayinstall:: Full (absolute) path to the Liferay installation directory. +liferay.version:: Liferay version by the Maven version numbering scheme. The first two (major and minor) numbers are same as in the installation package. The third (maintenance) number starts from 0 with first GA (general availability) release. +liferay.maven.plugin.version:: This is usually the same as the Liferay version. +liferay.auto.deploy.dir:: The Liferay auto-deployment directory. It is by default [filename]#deploy# under the Liferay installation path. +liferay.tomcat.version(optional):: If using Tomcat, its version number. +liferay.tomcat.dir:: Full (absolute) path to Tomcat installation directory. For Tomcat bundled with Liferay, this is under the Liferay installation directory. +liferay.app.server.deploy.dir:: Directory where portlets are deployed in the application server used for Liferay. This depends on the server - for Tomcat it is the [filename]#webapps# directory under the Tomcat installation directory. +liferay.app.server.lib.global.dir:: Library path where libraries globally accessible in the application server should be installed. +liferay.app.server.portal.dir:: Deployment directory for static resources served by the application server, under the root path of the server. + + +If you modify the settings after the project is created, you need to touch the +POM file in the project to have the settings reloaded. + + +[[portal.liferay.profile.properties]] +=== Activating the Maven Profile + +The Maven 2 Plugin for Eclipse (m2e) must know which Maven profiles you use in a +project. This is configured in the [menuchoice]#Maven# section of the project +properties. In the [guilabel]#Active Maven Profiles# field, enter the profile ID +defined in the [filename]#settings.xml# file, as illustrated in +<<figure.portal.liferay.profile.properties>>. + +[[figure.portal.liferay.profile.properties]] +.Activating Maven Liferay Profile +image::img/liferay-maven-profile.png[] + + + +[[portal.liferay.project]] +== Creating a Portlet Project with Maven + +Creation of Vaadin a Maven project is described in +<<dummy/../../../framework/getting-started/getting-started-maven#getting-started.maven,"Using +Vaadin with Maven">>. For a Liferay project, you should use the +[literal]#++vaadin-archetype-liferay-portlet++#. + +[[portal.liferay.project.archetype-parameters]] +=== Archetype Parameters + +The archetype has a number of parameters. If you use Maven Plugin for Eclipse +(m2e) to create the project, you get to enter the parameters after selecting the +archetype, as shown in <<figure.portal.liferay.project.archetype-parameters>>. + +Minimally, you just need to enter the artifact ID. To activate the Maven profile +created as described earlier in <<portal.liferay.profile>>, you need to specify +the profile in the [guilabel]#Profiles# field under the [guilabel]#Advanced# +section. + +[[figure.portal.liferay.project.archetype-parameters]] +.Liferay Project Archetype Parameters +image::img/liferay-maven-project.png[] + +The other parameters are the following: + +vaadinVersion:: Vaadin release version for the Maven dependency. +uiClassName:: Class name of the UI class stub to be created. +theme:: Theme to use. You can use either a project theme, which must be compiled before deployment, or use the [literal]#++liferay++# theme. +portletTitle:: Title shown in the portlet title bar. +portletShortTitle:: Title shown in contexts where a shorter title is preferred. +portletKeywords:: Keywords for finding the portlet in Liferay. +portletDescription:: A description of the portlet. +portletName:: Identifier for the portlet, used for identifying it in the configuration files. +portletDisplayName:: Name of the portlet for contexts where it is displayed. + + + + +[[portal.liferay.ide]] +== Creating a Portlet Project in Liferay IDE + +Liferay IDE, which you install in Eclipse as plugins just like the Vaadin +plugin, enables a development environment for Liferay portlets. Liferay IDE +allows integrated deployment of portlets to Liferay, just like you would deploy +servlets to a server in Eclipse. The project creation wizard supports creation +of Vaadin portlets. + + +Loading widget sets, themes, and the Vaadin JAR from a portlet is possible as +long as you have a single portlet, but causes a problem if you have multiple +portlets. To solve this, Vaadin portlets need to use a globally installed widget +set, theme, and Vaadin libraries. + +__Liferay 6.2, which is the latest Liferay version at the time of publication of +this book, comes bundled with an older Vaadin 6 version. If you want to use +Vaadin 7, you need to remove the bundled version and install the newer one +manually as described in this chapter.__ + +In these instructions, we assume that you use Liferay bundled with Apache +Tomcat, although you can use almost any other application server with Liferay +just as well. The Tomcat installation is included in the Liferay installation +package, under the [filename]#tomcat-x.x.x# directory. + +[[portal.liferay.remove]] +== Removing the Bundled Installation + +Before installing a new Vaadin version, you need to remove the version bundled +with Liferay. You need to remove the Vaadin library JAR from the library +directory of the portal and the [filename]#VAADIN# directory from under the root +context. For example, with Liferay bundled with Tomcat, they are usually located +as follows: + +* [filename]#tomcat-x.x.x/webapps/ROOT/html/VAADIN# +* [filename]#tomcat-x.x.x/webapps/ROOT/WEB-INF/lib/vaadin.jar# + + +[[portal.liferay.install]] +== Installing Vaadin Resources + +To use common resources needed by multiple Vaadin portlets, you can install them +globally as shared resources as described in the following. + +If you are installing Vaadin in a Liferay version that comes bundled with an +older version of Vaadin, you first need to remove the resources as described in +<<portal.liferay.remove>>. + +In the following, we assume that you use only the built-in "liferay" theme in +Vaadin and the default widget set. + +. Get the Vaadin installation package from the Vaadin download page +. Extract the following Vaadin JARs from the installation package: [filename]#vaadin-server.jar# and [filename]#vaadin-shared.jar#, as well as the [filename]#vaadin-shared-deps.jar# and [filename]#jsoup.jar# dependencies from the [filename]#lib# folder +. Rename the JAR files as they were listed above, without the version number +. Put the libraries in [filename]#tomcat-x.x.x/webapps/ROOT/WEB-INF/lib/# +. Extract the [filename]#VAADIN# folders from [filename]#vaadin-server.jar#, +[filename]#vaadin-themes.jar#, and [filename]#vaadin-client-compiled.jar# and +copy their contents to [filename]#tomcat-x.x.x/webapps/ROOT/html/VAADIN#. + + ++ +[subs="normal"] +---- +[prompt]#$# [command]#cd# tomcat-x.x.x/webapps/ROOT/html +---- + ++ +[subs="normal"] +---- +[prompt]#$# [command]#unzip# path-to/vaadin-server-7.1.0.jar 'VAADIN/*' +---- + ++ +[subs="normal"] +---- +[prompt]#$# [command]#unzip# path-to/vaadin-themes-7.1.0.jar 'VAADIN/*' +---- + ++ +[subs="normal"] +---- +[prompt]#$# [command]#unzip# path-to/vaadin-client-compiled-7.1.0.jar 'VAADIN/*' +---- + + +You need to define the widget set, the theme, and the JAR in the +[filename]#portal-ext.properties# configuration file for Liferay, as described +earlier. The file should normally be placed in the Liferay installation +directory. See Liferay documentation for details on the configuration file. + +Below is an example of a [filename]#portal-ext.properties# file: + + +---- +# Path under which the VAADIN directory is located. +# (/html is the default so it is not needed.) +# vaadin.resources.path=/html + +# Portal-wide widget set +vaadin.widgetset=com.vaadin.server.DefaultWidgetSet + +# Theme to use +vaadin.theme=liferay +---- + +The allowed parameters are: + +[parameter]#vaadin.resources.path#:: Specifies the resource root path under the portal context. This is +[filename]#/html# by default. Its actual location depends on the portal and the +application server; in Liferay with Tomcat it would be located at +[filename]#webapps/ROOT/html# under the Tomcat installation directory. + +[parameter]#vaadin.widgetset#:: The widget set class to use. Give the full path to the class name in the dot +notation. If the parameter is not given, the default widget set is used. + +[parameter]#vaadin.theme#:: Name of the theme to use. If the parameter is not given, the default theme is +used, which is [literal]#++reindeer++# in Vaadin 6. + + + +You will need to restart Liferay after creating or modifying the +[filename]#portal-ext.properties# file. + + + diff --git a/documentation/portal/portal-overview.asciidoc b/documentation/portal/portal-overview.asciidoc new file mode 100644 index 0000000000..8368de1fe2 --- /dev/null +++ b/documentation/portal/portal-overview.asciidoc @@ -0,0 +1,27 @@ +--- +title: Overview +order: 1 +layout: page +--- + +[[portal.overview]] += Overview + +Vaadin supports running UIs as portlets in a portal, as defined in the JSR-286 +(Java Portlet API 2.0) standard. A portlet UI is defined just as a regular UI, +but deploying to a portal is somewhat different from deployment of regular web +applications, requiring special portlet descriptors, etc. Creating the portlet +project with the Vaadin Plugin for Eclipse or a Maven archetype automatically +generates the necessary descriptors. + +In addition to providing user interface through the Vaadin UI, portlets can +integrate with the portal to switch between portlet modes and process special +portal requests, such as actions and events. + +While providing generic support for all portals implementing the standard, +Vaadin especially supports the Liferay portal and the needed portal-specific +configuration in this chapter is given for Liferay. Vaadin also has a special +Liferay IPC add-on to enable communication between portlets. + + + diff --git a/documentation/portal/portal-ui.asciidoc b/documentation/portal/portal-ui.asciidoc new file mode 100644 index 0000000000..69c6cc3b58 --- /dev/null +++ b/documentation/portal/portal-ui.asciidoc @@ -0,0 +1,78 @@ +--- +title: Portlet UI +order: 4 +layout: page +--- + +[[portal.ui]] += Portlet UI + +A portlet UI is just like in a regular Vaadin application, a class that extends +[classname]#com.vaadin.ui.UI#. + + +---- +@Theme("myportlet") +public class MyportletUI extends UI { + @Override + protected void init(VaadinRequest request) { + final VerticalLayout layout = new VerticalLayout(); + layout.setMargin(true); + setContent(layout); + + Button button = new Button("Click Me"); + button.addClickListener(new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + layout.addComponent( + new Label("Thank you for clicking")); + } + }); + layout.addComponent(button); + } +} +---- + +If you created the project as a Servlet 3.0 project, the generated UI stub +includes a static servlet class annotated with [classname]#@WebServlet#, as +described in +<<dummy/../../../framework/getting-started/getting-started-first-project#getting-started.first-project.exploring,"Exploring +the Project">>. + + +---- + @WebServlet(value = "/*", asyncSupported = true) + @VaadinServletConfiguration(productionMode = false, + ui = MyportletUI.class) + public static class Servlet extends VaadinServlet { + } +---- + +This enables running the portlet UI in a servlet container while developing it, +which may be easier than deploying to a portal. For Servlet 2.4 projects, a +[filename]#web.xml# is created. + +The portlet theme is defined with the [classname]#@Theme# annotation as usual. +The theme for the UI must match a theme installed in the portal. You can use any +of the built-in themes in Vaadin. For Liferay theme compatibility, there is a +special [literal]#++liferay++# theme. If you use a custom theme, you need to +compile it to CSS with the theme compiler and install it in the portal under the +[filename]#VAADIN/themes# context to be served statically. + +In addition to the UI class, you need the portlet descriptor files, Vaadin +libraries, and other files as described later. +<<figure.portal.helloworld.project>> shows the complete project structure under +Eclipse. + +[[figure.portal.helloworld.project]] +.Portlet Project Structure in Eclipse +image::img/liferay-project.png[] + +Installed as a portlet in Liferay from the [guilabel]#Add Application# menu, the +application will show as illustrated in <<figure.portal.helloworld>>. + +[[figure.portal.helloworld]] +.Hello World Portlet +image::img/liferay-helloworld.png[] + + + |